Mark Mitchell [Wed, 6 Dec 2006 05:12:46 +0000 (05:12 +0000)]
re PR c++/29729 (ICE with template class in template function)
PR c++/29729
* decl2.c (check_member_template): Move check for member
templates in local classes to ...
* parser.c (cp_parser_template_declaration_after_export):
... here.
PR c++/29729
* g++.dg/template/crash63.C: New test.
From-SVN: r119575
Jan Hubicka [Wed, 6 Dec 2006 01:37:38 +0000 (02:37 +0100)]
statistics.h (ALONE_PASS_MEM_STAT, [...]): New macros.
* statistics.h (ALONE_PASS_MEM_STAT, ALONE_MEM_STAT_INFO,
ALONE_MEM_STAT_DECL): New macros.
* bitmap.h: Include statistics.h
(struct bitmap_head_def): Add variant with pointer to bitmap descriptor.
(bitmap_initialize_stat): Rename from bitmap_initialize; add statistics.
(bitmap_obstack_alloc_stat, bitmap_gc_alloc_stat): Declare.
* bitmap.c: Include hashtab.h
(bitmap_descriptor): New.
(bitmap_hash): New static variable
(hash_descriptor, eq_descriptor, bitmap_descriptor, register_overhead):
New static functions.
(bitmap_register): New.
(bitmap_element_free, bitmap_element_allocate, bitmap_elt_clear_from,
bitmap_obstack_release): Do accounting.
(bitmap_obstack_alloc_stat): Rename from bitmap_obstack_alloc ; do
accounting.
(bitmap_gc_alloc_stat): Likewise.
(bitmap_obstack_free, bitmap_find_bit): Do statictics.
(print_statistics, dump_bitmap_statistics): New functions.
* toplev.c (finalize): Dump bitmap statistics.
From-SVN: r119573
Bernd Schmidt [Wed, 6 Dec 2006 00:25:29 +0000 (00:25 +0000)]
reload1.c (delete_output_reload): Count occurrences in CALL_INSN_FUNCTION_USAGE.
* reload1.c (delete_output_reload): Count occurrences in
CALL_INSN_FUNCTION_USAGE.
* rtlanal.c (count_occurrences): Handle EXPR_LIST nodes without
crashing at the end of the list.
From-SVN: r119571
GCC Administrator [Wed, 6 Dec 2006 00:17:45 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r119569
Daniel Berlin [Tue, 5 Dec 2006 23:51:59 +0000 (23:51 +0000)]
Missed commit
From-SVN: r119564
Daniel Berlin [Tue, 5 Dec 2006 23:46:28 +0000 (23:46 +0000)]
tree-ssa-structalias.c (set_used_smts): Re-fix pr29156.
2006-12-05 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-structalias.c (set_used_smts): Re-fix pr29156.
Optimize to avoid marking more SMT's as used when they aren't.
From-SVN: r119562
Benjamin Kosnik [Tue, 5 Dec 2006 23:24:07 +0000 (23:24 +0000)]
localefwd.h: Consistent @file placement...
2006-12-05 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/localefwd.h: Consistent @file placement, use
include/ as part of the path for files that have shadows instead of no
name.
* include/bits/valarray_after.h: Same.
* include/bits/gslice_array.h: Same.
* include/bits/gslice.h: Same.
* include/bits/locale_classes.h: Same.
* include/bits/locale_facets.h: Same.
* include/bits/indirect_array.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/postypes.h: Same.
* include/bits/codecvt.h: Same.
* include/bits/mask_array.h: Same.
* include/bits/slice_array.h: Same.
* include/bits/boost_concept_check.h: Same.
* include/bits/char_traits.h: Same.
* include/bits/stringfwd.h: Same.
* include/bits/c++config: Same.
* include/bits/valarray_array.h: Same.
* include/bits/valarray_before.h: Same.
* include/bits/cpp_type_traits.h: Same.
* include/c/std_cerrno.h: Same.
* include/precompiled/extc++.h: Same.
* include/precompiled/stdtr1c++.h: Same.
* include/precompiled/stdc++.h: Same.
* include/tr1/cinttypes: Same.
* include/tr1/fenv.h: Same.
* include/tr1/mu_iterate.h: Same.
* include/tr1/cstdio: Same.
* include/tr1/limits.h: Same.
* include/tr1/ctgmath: Same.
* include/tr1/cstdarg: Same.
* include/tr1/tuple: Same.
* include/tr1/float.h: Same.
* include/tr1/stdint.h: Same.
* include/tr1/tuple_iterate.h: Same.
* include/tr1/type_traits_fwd.h: Same.
* include/tr1/hashtable_policy.h: Same.
* include/tr1/cfenv: Same.
* include/tr1/wctype.h: Same.
* include/tr1/ref_fwd.h: Same.
* include/tr1/bind_repeat.h: Same.
* include/tr1/utility: Same.
* include/tr1/climits: Same.
* include/tr1/type_traits: Same.
* include/tr1/stdlib.h: Same.
* include/tr1/cwchar: Same.
* include/tr1/stdio.h: Same.
* include/tr1/ref_wrap_iterate.h: Same.
* include/tr1/cstdint: Same.
* include/tr1/memory: Same.
* include/tr1/cstdbool: Same.
* include/tr1/cwctype: Same.
* include/tr1/bind_iterate.h: Same.
* include/tr1/math.h: Same.
* include/tr1/random: Same.
* include/tr1/tuple_defs.h: Same.
* include/tr1/cstdlib: Same.
* include/tr1/unordered_map: Same.
* include/tr1/boost_shared_ptr.h: Same.
* include/tr1/cctype: Same.
* include/tr1/random.tcc: Same.
* include/tr1/wchar.h: Same.
* include/tr1/hashtable: Same.
* include/tr1/cmath: Same.
* include/tr1/stdbool.h: Same.
* include/tr1/ctime: Same.
* include/tr1/functional: Same.
* include/tr1/unordered_set: Same.
* include/tr1/inttypes.h: Same.
* include/tr1/functional_iterate.h: Same.
* include/tr1/repeat.h: Same.
* include/tr1/complex: Same.
* include/tr1/cfloat: Same.
* include/tr1/ctype.h: Same.
* include/tr1/stdarg.h: Same.
* include/tr1/tgmath.h: Same.
* include/tr1/array: Same.
* include/tr1/common.h: Same.
* include/std/std_valarray.h: Same.
* include/std/std_iostream.h: Same.
* include/std/std_queue.h: Same.
* include/std/std_algorithm.h: Same.
* include/std/std_streambuf.h: Same.
* include/std/std_iterator.h: Same.
* include/std/std_ios.h: Same.
* include/std/std_bitset.h: Same.
* include/std/std_iosfwd.h: Same.
* include/std/std_set.h: Same.
* include/std/std_iomanip.h: Same.
* include/std/std_fstream.h: Same.
* include/std/std_functional.h: Same.
* include/std/std_numeric.h: Same.
* include/std/std_vector.h: Same.
* include/std/std_deque.h: Same.
* include/std/std_stdexcept.h: Same.
* include/std/std_utility.h: Same.
* include/std/std_stack.h: Same.
* include/std/std_string.h: Same.
* include/std/std_complex.h: Same.
* include/std/std_memory.h: Same.
* include/std/std_ostream.h: Same.
* include/std/std_list.h: Same.
* include/std/std_map.h: Same.
* include/std/std_sstream.h: Same.
* include/c_std/std_csignal.h: Same.
* include/c_std/std_cstdlib.h: Same.
* include/c_std/std_cstdio.h: Same.
* include/c_std/std_cstdarg.h: Same.
* include/c_std/std_cctype.h: Same.
* include/c_std/std_cerrno.h: Same.
* include/c_std/std_cmath.h: Same.
* include/c_std/std_ctime.h: Same.
* include/c_std/std_clocale.h: Same.
* include/c_std/std_climits.h: Same.
* include/c_std/std_cassert.h: Same.
* include/c_std/cmath.tcc
* include/c_std/std_csetjmp.h: Same.
* include/c_std/std_cwchar.h: Same.
* include/c_std/std_cfloat.h: Same.
* include/c_std/std_cstring.h: Same.
* include/c_std/std_cstddef.h: Same.
* include/c_std/std_cwctype.h: Same.
* config/locale/gnu/c_locale.h: Namespace scope in all files.
* config/locale/gnu/messages_members.h: Same.
* config/locale/gnu/c++locale_internal.h: Same.
* config/locale/gnu/time_members.h: Same.
* config/locale/ieee_1003.1-2001/c_locale.h: Same.
* config/locale/ieee_1003.1-2001/messages_members.h: Same.
* config/locale/generic/c_locale.h: Same.
* config/locale/generic/messages_members.h: Same.
* config/locale/generic/time_members.h: Same.
* config/allocator/mt_allocator_base.h: Same.
* config/allocator/malloc_allocator_base.h: Same.
* config/allocator/new_allocator_base.h: Same.
* config/allocator/pool_allocator_base.h: Same.
* config/allocator/bitmap_allocator_base.h: Same.
* config/os/windiss/ctype_noninline.h: Same.
* config/os/windiss/os_defines.h: Same.
* config/os/windiss/ctype_inline.h: Same.
* config/os/newlib/ctype_noninline.h: Same.
* config/os/newlib/os_defines.h: Same.
* config/os/newlib/ctype_inline.h: Same.
* config/os/aix/ctype_noninline.h: Same.
* config/os/aix/os_defines.h: Same.
* config/os/aix/ctype_inline.h: Same.
* config/os/vxworks/ctype_noninline.h: Same.
* config/os/vxworks/os_defines.h: Same.
* config/os/vxworks/ctype_inline.h: Same.
* config/os/hpux/ctype_noninline.h: Same.
* config/os/hpux/os_defines.h: Same.
* config/os/hpux/ctype_inline.h: Same.
* config/os/mingw32/ctype_noninline.h: Same.
* config/os/mingw32/os_defines.h: Same.
* config/os/mingw32/ctype_inline.h: Same.
* config/os/gnu-linux/ctype_noninline.h: Same.
* config/os/gnu-linux/os_defines.h: Same.
* config/os/gnu-linux/ctype_inline.h: Same.
* config/os/tpf/ctype_noninline.h: Same.
* config/os/tpf/os_defines.h: Same.
* config/os/tpf/ctype_inline.h: Same.
* config/os/uclibc/ctype_noninline.h: Same.
* config/os/uclibc/os_defines.h: Same.
* config/os/uclibc/ctype_inline.h: Same.
* config/os/djgpp/ctype_noninline.h: Same.
* config/os/djgpp/os_defines.h: Same.
* config/os/djgpp/ctype_inline.h: Same.
* config/os/qnx/qnx6.1/ctype_noninline.h: Same.
* config/os/qnx/qnx6.1/ctype_inline.h: Same.
* config/os/bsd/netbsd/ctype_noninline.h: Same.
* config/os/bsd/netbsd/ctype_inline.h: Same.
* config/os/bsd/darwin/ctype_noninline.h: Same.
* config/os/bsd/darwin/ctype_inline.h: Same.
* config/os/bsd/freebsd/ctype_noninline.h: Same.
* config/os/bsd/freebsd/ctype_inline.h: Same.
* config/os/irix/irix5.2/ctype_noninline.h: Same.
* config/os/irix/irix5.2/ctype_inline.h: Same.
* config/os/irix/irix6.5/ctype_noninline.h: Same.
* config/os/irix/irix6.5/ctype_inline.h: Same.
* config/os/solaris/solaris2.5/ctype_noninline.h: Same.
* config/os/solaris/solaris2.5/ctype_inline.h: Same.
* config/os/solaris/solaris2.6/ctype_noninline.h: Same.
* config/os/solaris/solaris2.6/ctype_inline.h: Same.
* config/os/solaris/solaris2.7/ctype_noninline.h: Same.
* config/os/solaris/solaris2.7/ctype_inline.h: Same.
* config/os/generic/ctype_noninline.h: Same.
* config/os/generic/os_defines.h: Same.
* config/os/generic/ctype_inline.h: Same.
* config/cpu/arm/cxxabi_tweaks.h: Same.
* config/cpu/powerpc/cpu_defines.h: Same.
* config/cpu/generic/cxxabi_tweaks.h: Same.
* config/cpu/generic/cpu_defines.h: Same.
* config/cpu/generic/atomic_word.h: Same.
* config/io/c_io_stdio.h: Same.
* config/abi/compatibility.h: Same.
* docs/doxygen/user.cfg.in: Adjust file list.
From-SVN: r119561
Eric Christopher [Tue, 5 Dec 2006 22:35:13 +0000 (22:35 +0000)]
i386.c (x86_output_aligned_bss): Move out of COMMON_ASM_OP ifdef.
2006-12-05 Eric Christopher <echristo@apple.com>
* config/i386/i386.c (x86_output_aligned_bss): Move out
of COMMON_ASM_OP ifdef.
From-SVN: r119560
Mark Mitchell [Tue, 5 Dec 2006 21:33:20 +0000 (21:33 +0000)]
re PR c++/29728 (ICE on invalid initializer in template function)
PR c++/29728
* decl.c (check_array_designated_initializer): New function.
(maybe_deduce_size_from_array_init): Use it.
(reshape_init_array): Likewise.
PR c++/29728
* g++.dg/template/crash62.C: New test.
From-SVN: r119558
Paul Thomas [Tue, 5 Dec 2006 19:45:25 +0000 (19:45 +0000)]
re PR fortran/30003 ([4.1 only] Expressions with side effects in array references)
2006-12-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30003
* trans-array.c (gfc_trans_create_temp_array): Set the section
ends to zero.
(gfc_conv_array_transpose): Likewise.
(gfc_conv_section_startstride): Declare an expression for end,
set it from a the array reference and evaluate it for the info
structure. Zero the ends in the ss structure and set end, used
in the bounds check, from the info structure.
trans.h: Add and end array to the gfc_ss_info structure.
2006-12-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/30003
* gfortran.dg/allocatable_function_1.f90: Increase the number
of expected calls of free to 10; the lhs section reference is
now evaluated so there is another call to bar. Change the
comment appropriately.
* gfortran.dg/array_section_1.f90: New test.
From-SVN: r119556
Eric Christopher [Tue, 5 Dec 2006 19:40:54 +0000 (19:40 +0000)]
darwin.h (DARWIN_EXTRA_SPECS): New.
2006-12-05 Eric Christopher <echristo@apple.com>
* config/darwin.h (DARWIN_EXTRA_SPECS): New.
(STARTFILE_SPEC): Use.
(DARWIN_DYLIB1_SPEC): New.
(DARWIN_CRT1_SPEC): New.
* config/i386/darwin64.h (SUBTARGET_EXTRA_SPECS): Use
DARWIN_EXTRA_SPECS.
* config/i386/darwin.h: Ditto.
* config/rs6000/darwin.h: Ditto.
From-SVN: r119555
Paul Thomas [Tue, 5 Dec 2006 19:32:59 +0000 (19:32 +0000)]
re PR fortran/29912 ([4.1 only] Gfortran: string array functions behaving incorrectly...)
2006-12-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29912
* trans-expr.c (gfc_trans_arrayfunc_assign): Return NULL if the
lhs and rhs character lengths are not constant and equal for
character array valued functions.
2006-12-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29912
* gfortran.dg/char_result_12.f90: New test.
From-SVN: r119554
Daniel Berlin [Tue, 5 Dec 2006 19:31:51 +0000 (19:31 +0000)]
Commit missing changelog entry
From-SVN: r119553
Paolo Carlini [Tue, 5 Dec 2006 19:25:48 +0000 (19:25 +0000)]
DR 543, [Ready].
2006-12-05 Paolo Carlini <pcarlini@suse.de>
DR 543, [Ready].
* include/bits/slice_array.h (slice::slice()): Implement the
resolution.
* include/bits/gslice.h (gslice::_Indexer::_Indexer()): Add.
(gslice::gslice()): Use it.
* testsuite/26_numerics/valarray/dr543.cc: New.
* docs/html/ext/howto.html: Add an entry for DR 543.
From-SVN: r119552
Brooks Moses [Tue, 5 Dec 2006 18:50:57 +0000 (18:50 +0000)]
* doc/include/texinfo.tex: Update to version 2006-11-08.17.
From-SVN: r119551
Daniel Berlin [Tue, 5 Dec 2006 18:39:13 +0000 (18:39 +0000)]
tree-vrp.c (pass_vrp): Remove PROP_smt_usage.
2006-12-05 Daniel Berlin <dberlin@dberlin.org>
* tree-vrp.c (pass_vrp): Remove PROP_smt_usage.
* tree-complex.c (pass_lower_complex): Ditto.
* tree-ssa-ccp.c (pass_ccp): Ditto.
(pass_store_ccp): Ditto.
* tree-ssa-dom.c (pass_dominator): Ditto.
(pass_phi_only_cprop): Ditto.
* tree-sra.c (pass_sra): Ditto.
* tree-ssa-forwprop.c (pass_forwprop): Ditto.
* tree-flow.h (updating_used_alone): Remove.
(updating_used_alone): Ditto.
* tree-ssa-alias.c (updating_used_alone): Remove variable.
(lhs_may_store_to): Remove function.
(recalculate_used_alone): Ditto.
(compute_may_aliases): Remove used_alone calculation.
* tree.h (struct tree_memory_tag): Remove is_used_alone and
old_used_alone. Remove SMT_USED_ALONE and SMT_OLD_USED_ALONE.
* tree-pass.h (PROP_smt_usage): Remove.
* passes.c (execute_todo): Remove used alone recalculation.
(execute_one_pass): Ditto.
* tree-ssa-operands.c (add_virtual_operand): Remove used_alone
stuff.
From-SVN: r119550
Zdenek Dvorak [Tue, 5 Dec 2006 18:26:20 +0000 (19:26 +0100)]
re PR tree-optimization/14784 ([Tree-ssa] alias analysis deficiency)
PR tree-optimization/14784
* tree-ssa-operands.c (access_can_touch_variable): Unrevert the fix.
From-SVN: r119549
Aldy Hernandez [Tue, 5 Dec 2006 17:53:35 +0000 (17:53 +0000)]
Revert accidental change.
From-SVN: r119547
Aldy Hernandez [Tue, 5 Dec 2006 17:26:05 +0000 (17:26 +0000)]
Merge gimple-tuples-branch into mainline.
From-SVN: r119546
H.J. Lu [Tue, 5 Dec 2006 16:04:35 +0000 (16:04 +0000)]
config.host: Remove extra blank line.
2006-12-05 H.J. Lu <hongjiu.lu@intel.com>
* config.host: Remove extra blank line.
From-SVN: r119544
Bernd Schmidt [Tue, 5 Dec 2006 15:45:51 +0000 (15:45 +0000)]
config.host (i[34567]86-*-*, x86-64-*-*): Use driver-i386.o only if target is also an x86 variant.
* config.host (i[34567]86-*-*, x86-64-*-*): Use driver-i386.o only if
target is also an x86 variant.
From-SVN: r119543
Richard Guenther [Tue, 5 Dec 2006 15:42:54 +0000 (15:42 +0000)]
i386.c (ix86_builtin_vectorized_function): Declare.
2006-12-05 Richard Guenther <rguenther@suse.de>
* config/i386/i386.c (ix86_builtin_vectorized_function): Declare.
(TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Define.
(ix86_builtin_vectorized_function): New function to vectorize
sqrt.
* gcc.dg/vect/vect.exp: Add support for -fno-math-errno tests.
* gcc.dg/vect/vect-pow-2.c: Rename to ...
* gcc.dg/vect/no-math-errno-vect-pow-1.c: ... this. Require
vect_double, xfail for spu*-*-*.
From-SVN: r119542
Benjamin Kosnik [Tue, 5 Dec 2006 10:57:09 +0000 (10:57 +0000)]
tuple: Consistent include guards.
2006-12-05 Benjamin Kosnik <bkoz@redhat.com>
* include/tr1/tuple: Consistent include guards.
* include/tr1/type_traits: Same.
* include/tr1/array: Same.
From-SVN: r119539
Bernd Schmidt [Tue, 5 Dec 2006 10:35:36 +0000 (10:35 +0000)]
bfin.c (output_file_start): Fix comment which referred to ia64_override_options.
* config/bfin/bfin.c (output_file_start): Fix comment which referred to
ia64_override_options.
From-SVN: r119536
Jan Hubicka [Tue, 5 Dec 2006 10:15:28 +0000 (11:15 +0100)]
cfgexpand.c (expand_one_var): Guard expand_one_stack_var by really_expand.
* cfgexpand.c (expand_one_var): Guard expand_one_stack_var by
really_expand.
From-SVN: r119535
Bernd Schmidt [Tue, 5 Dec 2006 08:49:56 +0000 (08:49 +0000)]
rtlanal.c (note_uses): Deal with SEQUENCEs.
* rtlanal.c (note_uses): Deal with SEQUENCEs.
* config/bfin/bfin.c: Include "timevar.h".
(bfin_flag_schedule_insns2, splitting_for_sched,
bfin_flag_var_tracking): New variables.
(print_operand): Handle '%!'.
(override_options): Disable normal sched2 pass, instead set
bfin_flag_schedule_insns2 for reorg to handle it.
(output_file_start): Likewise for var-tracking.
(bfin_optimize_loop): Take some care not to stumble over SEQUENCEs.
(gen_one_bundle, bfin_gen_bundles, type_for_anomaly, trapping_loads_p):
New functions.
(bfin_reorg): Do second scheduling pass here, and call
bfin_gen_bundles. Use type_for_anomaly and trapping_loads_p instead
of examining insns directly. If bfin_flag_var_tracking, call
var-tracking pass when done with everything else.
* config/bfin/bfin.h (PRINT_OPERAND_PUNCT_VALID_P): '!' is valid.
* config/bfin/bfin.md (UNSPEC_32BIT): New constant.
(movsi_insn32): New pattern, with two new splits to create it
before the final scheduling pass.
(neghi2): Not a dsp32 insn, rather alu0.
(movbi, pushsi_insn, popsi_insn, movsi_insn, movv2hi_insn, movhi_insn,
movqi_insn, movsf_insn, movsi_insv, extendhisi2, zero_extendhisi2,
extendqihi2, extendqisi2, zero_extendqihi2, zero_extendqisi2,
mulhisi3, umulhisi3, ssadsi3, sssubsi3, smaxsi3, sminsi3, abssi2,
ssnegsi2, signbitssi2, smaxhi3, sminhi3, abshi2, ssneghi2, signbitshi2,
movhi_low2high, movhi_high2high, movhi_low2low, movhi_high2low,
movhiv2hi_low, movhiv2hi_high, composev2hi, packv2hi, movv2hi_hi,
ssaddhi3, sssubhi3, addv2hi3, ssaddv2hi3, subv2hi3, sssubv2hi3,
addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3, sublohiv2hi3,
subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3, addlohiv2hi3,
addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3, sminv2hi3, smaxv2hi3,
flag_mulhi, flag_mulhisi, flag_mulhisi_parts, flag_machi,
flag_machi_acconly, flag_macinithi, flag_macinit1hi, mulv2hi3,
flag_mulv2hi, flag_mulv2hi_parts, flag_macv2hi_parts,
flag_macv2hi_parts_acconly, flag_macinitv2hi_parts,
flag_macinit1v2hi_parts, mulhisi_ll, mulhisi_lh, mulhisi_hl,
mulhisi_hh, ssnegv2hi2, absv2hi2, ssashiftv2hi3, ssashifthi3,
lshiftv2hi3, lshifthi3): Use '%!' to terminate all dsp32/load/store
variants instead of ';'.
(ror_one, rol_one): Likewise. Make them dsp32 insns.
(ashlsi3_insn, ashrsi3, lshrsi3): Add dsp32 variants.
(align8, align16, align24): Now named patterns; also using '%!'.
(mnop): New insn.
From-SVN: r119534
Kazu Hirata [Tue, 5 Dec 2006 08:27:27 +0000 (08:27 +0000)]
darwin.h, [...]: Fix comment typos.
* config/i386/darwin.h, config/spu/spu.c, tree-ssa-live.c,
tree-vect-generic.c, tree-vect-transform.c: Fix comment typos.
From-SVN: r119533
Trevor Smigiel [Tue, 5 Dec 2006 03:55:38 +0000 (03:55 +0000)]
spu-protos.c (spu_split_address): Add.
* config/spu/spu-protos.c (spu_split_address): Add.
* config/spu/spu.c (spu_split_address): Add.
(print_operand): Handle HIGH.
(spu_legitimate_address): Don't test for aligned CONST.
(spu_expand_mov): Don't split addresses here.
* config/spu/constraints.md (A): Don't test legitimate_const.
* config/spu/spu.md: Add split of movsi patterns for PIC mode.
(ceq_di): Use correct predicates.
From-SVN: r119532
Eric Christopher [Tue, 5 Dec 2006 02:23:18 +0000 (02:23 +0000)]
darwin.h: Update copyright notice.
2006-12-04 Eric Christopher <echristo@apple.com>
* config/darwin.h: Update copyright notice.
* config/i386/darwin.h: Ditto.
From-SVN: r119531
Jerry DeLisle [Tue, 5 Dec 2006 00:51:26 +0000 (00:51 +0000)]
re PR libfortran/30005 (Open errors (not/already exists etc.): show also the file name)
2006-12-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/30005
* io/open.c: Add errno.h include.
(new_unit): Add new error messages with file name for file open.
From-SVN: r119530
Daniel Berlin [Tue, 5 Dec 2006 00:44:24 +0000 (00:44 +0000)]
tree-ssa-alias.c (compute_flow_sensitive_aliasing): Call set_used_smts.
2006-12-04 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-alias.c (compute_flow_sensitive_aliasing): Call
set_used_smts.
* tree-ssa-structalias.c (set_used_smts): Export.
(find_what_p_points_to): Don't call set_used_smts here.
* tree-ssa-structalias.h (set_used_smts): Add prototype.
From-SVN: r119528
GCC Administrator [Tue, 5 Dec 2006 00:18:00 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r119524
Jan Hubicka [Mon, 4 Dec 2006 22:51:42 +0000 (23:51 +0100)]
cp-objcp-common.c (cp_expr_size): Return NULL in the case size is undefined.
* cp-objcp-common.c (cp_expr_size): Return NULL in the case
size is undefined.
* builtins.c (fold_builtin_memory_op): Check that expr_size match.
* explow.c (expr_size, int_expr_size): Assert that size is non_NULL.
From-SVN: r119515
Richard Guenther [Mon, 4 Dec 2006 22:29:46 +0000 (22:29 +0000)]
MAINTAINERS (Non-Algorithmic Maintainers): New section.
2006-12-04 Richard Guenther <rguenther@suse.de>
* MAINTAINERS (Non-Algorithmic Maintainers): New section.
(Non-Algorithmic Maintainers): Move over non-algorithmic
loop optimizer maintainers, add myself as a non-algorithmic
middle-end maintainer.
From-SVN: r119514
Daniel Franke [Mon, 4 Dec 2006 21:35:19 +0000 (16:35 -0500)]
re PR libgomp/29949 (implement argument checking for user accessable runtime routines)
PR libgomp/29949
* env.c (omp_set_num_threads): Set illegal thread count to 1.
From-SVN: r119511
Paolo Carlini [Mon, 4 Dec 2006 21:11:52 +0000 (21:11 +0000)]
PR libstdc++/29989 (again)
2006-12-04 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/29989 (again)
* include/bits/c++config: #undef min and max.
* testsuite/18_support/numeric_limits/29989.cc: New.
From-SVN: r119510
Daniel Franke [Mon, 4 Dec 2006 20:45:41 +0000 (15:45 -0500)]
MAINTAINERS (Write After Approval): Add myself.
2006-12-04 Daniel Franke <franke.daniel@gmail.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r119509
Tobias Burnus [Mon, 4 Dec 2006 20:02:43 +0000 (21:02 +0100)]
re PR fortran/29962 (Initialization expressions)
fortran/
2006-12-04 Tobias Burnus <burnus@net-b.de>
PR fortran/29962
* expr.c (check_intrinsic_op): Allow noninteger exponents for F2003.
testsuite/
2006-12-04 Tobias Burnus <burnus@net-b.de>
PR fortran/29962
* initialization_4.f90: Test noninteger exponents (-std=f95).
* initialization_5.f90: New test for noninteger exponents with -std=f2003
From-SVN: r119505
Paul Thomas [Mon, 4 Dec 2006 19:30:33 +0000 (19:30 +0000)]
[multiple changes]
2006-12-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29821
* resolve.c (resolve_operator): Only return result of
gfc_simplify_expr if expression is constant.
2006-12-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29821
* gfortran.dg/parameter_array_section_1.f90: New test.
From-SVN: r119504
Daniel Berlin [Mon, 4 Dec 2006 19:07:05 +0000 (19:07 +0000)]
tree-ssa-alias.c (compute_may_aliases): Compute flow sensitive before flow insensitive.
2006-12-04 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-alias.c (compute_may_aliases):
Compute flow sensitive before flow insensitive.
(compute_flow_sensitive_aliasing): Don't try to add
a symbol memory tag to itself.
* alias.h (alias_set_subset_of): New prototype.
* alias.c (alias_set_subset_of): New function.
* tree-ssa-structalias.c: Update comments.
(struct variable_info): Add finished_solution.
(new_varinfo): Set finished solution to NULL.
(var_escaped_vars): Remove.
(escaped_vars_tree): Remove.
(escaped_vars_id): Remove.
(nonlocal_vars_id): Remove.
(constraint_expr_type): Add INCLUDES.
(graph_size): Removed.
(dump_constraint): Support INCLUDES.
(build_constraint_graph): Ditto.
(collapse_nodes): Add merge_solutions argument.
Don't merge attributes.
(process_unification_queue): Just use collapse_nodes.
(perform_var_substitution): Update call to collapse_nodes.
(get_constraint_exp_from_ssa_var): Use INCLUDES.
(process_constraint): Fix non-field sensitive handling
Handle includes.
(get_constraint_for): Use INCLUDES.
(make_constraint_from_anything): Renamed from
make_constraint_from_escaped.
(make_constraint_to_escaped): Removed.
(find_global_initializers): Removed.
(create_variable_info_for): Do not make constraints to escaped
vars anymore.
(dump_solution_for_var): Don't print out the equivalent points-to
sets, just use the name of the variable it shares it with.
(intra_create_variable_infos): Use INCLUDES.
Change nonlocal variable sets to anything sets.
(init_base_vars): Remove escaped_vars and nonlocal_var
initialization.
(find_escape_constraints): Removed.
(delete_points_to_sets): Remove dead code.
(used_smt_calculated): New variable.
(set_used_smts): New function.
(merge_smts_into): New function.
(find_what_p_points_to): Modify to use SMTs.
(create_nonlocal_var): Remove.
* tree-ssa-operands.c (access_can_touch_variable): Remove
reference to nonlocal_all.
* tree-ssa.c (verify_name_tags): Remove.
From-SVN: r119502
Mark Mitchell [Mon, 4 Dec 2006 18:08:11 +0000 (18:08 +0000)]
re PR c++/29733 (ICE on initialization of function type)
PR c++/29733
* pt.c (tsubst_decl): Disallow variables of function type.
PR c++/29733
* g++.dg/template/crash61.C: New test.
From-SVN: r119500
Mark Mitchell [Mon, 4 Dec 2006 18:00:32 +0000 (18:00 +0000)]
re PR c++/29632 (ICE on invalid code: regenerate_decl_from_template, at cp/pt.c:10969)
PR c++/29632
* call.c (add_builtin_candidate): Do not permit NULL pointer
constants to be compared with template parameters.
PR c++/29632
* g++.dg/template/error23.C: New test.
From-SVN: r119499
Carlos O'Donell [Mon, 4 Dec 2006 17:25:36 +0000 (17:25 +0000)]
unwind-arm.c: Adjust __cxa_type_match declaration.
gcc/
2006-12-04 Carlos O'Donell <carlos@codesourcery.com>
* config/arm/unwind-arm.c: Adjust __cxa_type_match declaration.
(__gnu_unwind_pr_common): Pass is_reference to __cxa_type_match.
From-SVN: r119498
Andrew MacLeod [Mon, 4 Dec 2006 14:26:37 +0000 (14:26 +0000)]
Switch live on entry to a per block basis from per variable.
* tree-outof-ssa.c (coalesce_ssa_name): Use calculate_live_ranges.
* tree-ssa-live.c (new_tree_live_info, delete_tree_live_info): Update.
(add_livein_if_notdef): Delete.
(loe_visit_block): New. Propogate live on entry info for a block into
each predecessor. If it changes, make sure it is visited again.
(live_worklist): Visit every block and update the live on entry info
for preds. Iterate over any that changed.
(set_var_live_on_entry): Populate the live on entry blocks with bits
based on the immediate uses of a var.
(calculate_live_on_entry): Remove.
(calculate_live_on_exit): Calculate live on exit based on the newly
oriented live on entry bits.
(calculate_live_ranges): Build live on entry and exit vectors.
(dump_live_info): Use new orientation of live on entry bitmaps.
(verify_live_on_entry): New. Split out verification code from old
calculate_live_on_entry routine.
* tree-ssa-live.h (struct tree_live_info_d): Add Working stack.
(live_entry_blocks): Rename to live_on_entry and return bitmap for a
basic_block instead of for a partition.
(live_merge_and_clear): Add asserts.
(make_live_on_entry): Set partition bit in basic block vector.
From-SVN: r119495
Uros Bizjak [Mon, 4 Dec 2006 12:59:11 +0000 (13:59 +0100)]
sse-18.c: Pass if CPU has no SSE2 support.
* gcc.target/i386/sse-18.c: Pass if CPU has no SSE2 support.
From-SVN: r119493
Paul Thomas [Mon, 4 Dec 2006 11:16:12 +0000 (11:16 +0000)]
re PR fortran/29916 ([4.1 only] Dimension of a function result as host association does not work)
fortran/
2006-12-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29916
* resolve.c (resolve_symbol): Allow host-associated variables
in the specification expression of an array-valued function.
* expr.c (check_restricted): Accept host-associated dummy
array indices.
testsuite/
2006-12-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29916
* gfortran.dg/host_dummy_index_1.f90: Added additional test.
From-SVN: r119489
Eric Botcazou [Mon, 4 Dec 2006 11:10:38 +0000 (12:10 +0100)]
tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking if static linking doesn't even work.
config/
* tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking
if static linking doesn't even work.
libgomp/
* configure: Regenerate.
libmudflap/
* configure: Regenerate.
libjava/
* configure: Regenerate.
libstdc++-v3/
* configure: Regenerate.
From-SVN: r119487
Jakub Jelinek [Mon, 4 Dec 2006 10:26:00 +0000 (11:26 +0100)]
re PR middle-end/29947 (OpenMP parallel for fails for reversed loop range)
PR libgomp/29947
* omp-low.c (expand_omp_for_static_nochunk,
expand_omp_for_static_chunk): Do all arithmetics in signed rather than
unsigned type.
* loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
start if there shouldn't be any loop iterations.
(gomp_loop_ordered_static_start): Remove start == end test.
* testsuite/libgomp.c/pr29947-1.c: New test.
* testsuite/libgomp.c/pr29947-2.c: New test.
From-SVN: r119485
Jakub Jelinek [Mon, 4 Dec 2006 10:20:51 +0000 (11:20 +0100)]
re PR middle-end/29965 (OpenMP vs always throw in a loop)
PR middle-end/29965
* omp-low.c (determine_parallel_type): Don't try to optimize combined
parallels if region->exit or region->inner->exit is NULL.
(expand_omp_parallel): Handle NULL region->exit even if cfg is already
built.
(expand_omp_for_generic): Handle NULL region->cond and region->exit.
(expand_omp_for): Use expand_omp_for_generic if either region->cond
or region->exit is NULL.
(expand_omp_sections): Handle NULL region->cond or region->exit.
(expand_omp_synch):
* gcc.dg/gomp/pr29965-1.c: New test.
* gcc.dg/gomp/pr29965-2.c: New test.
* gcc.dg/gomp/pr29965-3.c: New test.
* gcc.dg/gomp/pr29965-4.c: New test.
* gcc.dg/gomp/pr29965-5.c: New test.
* gcc.dg/gomp/pr29965-6.c: New test.
* g++.dg/gomp/pr29965-1.C: New test.
* g++.dg/gomp/pr29965-2.C: New test.
* g++.dg/gomp/pr29965-3.C: New test.
* g++.dg/gomp/pr29965-4.C: New test.
* g++.dg/gomp/pr29965-5.C: New test.
* g++.dg/gomp/pr29965-6.C: New test.
* g++.dg/gomp/pr29965-7.C: New test.
* g++.dg/gomp/pr29965-8.C: New test.
* g++.dg/gomp/pr29965-9.C: New test.
* g++.dg/gomp/pr29965-10.C: New test.
From-SVN: r119483
Eric Botcazou [Mon, 4 Dec 2006 09:31:48 +0000 (10:31 +0100)]
sp64-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Delete.
* config/sparc/sp64-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Delete.
* config/sparc/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
From-SVN: r119482
Eric Botcazou [Mon, 4 Dec 2006 07:47:32 +0000 (07:47 +0000)]
tree.c (walk_type_fields): Do not handle TYPE_MIN_VALUE and TYPE_MAX_VALUE for scalar types here but...
* tree.c (walk_type_fields): Do not handle TYPE_MIN_VALUE and
TYPE_MAX_VALUE for scalar types here but...
(walk_tree): ...there instead. Return NULL_TREE if the TYPE_DECL
is attached an error mark, and the return value of the callback
if it is not NULL_TREE.
cp/
* pt.c (for_each_template_parm_r) <INTEGER_TYPE>: New case.
Call for_each_template_parm on TYPE_MIN_VALUE and TYPE_MAX_VALUE.
testsuite/
* gnat.dg/pointer_variable_bounds.adb: New test.
* gnat.dg/pointer_variable_bounds.ads: Likewise.
* gnat.dg/pointer_variable_bounds_q.ads: Likewise.
From-SVN: r119481
Eric Christopher [Mon, 4 Dec 2006 06:35:33 +0000 (06:35 +0000)]
stack-prot-kernel.c: Skip for x86_64-*-darwin.
2006-12-03 Eric Christopher <echristo@apple.com>
* gcc.target/i386/stack-prot-kernel.c: Skip for x86_64-*-darwin.
From-SVN: r119480
Ben Elliston [Mon, 4 Dec 2006 05:38:21 +0000 (05:38 +0000)]
* config/spu/spu.md (_mulv4si3): Remove unused local variables.
From-SVN: r119479
Richard Henderson [Mon, 4 Dec 2006 02:24:42 +0000 (18:24 -0800)]
re PR c++/14329 ([4.1 only] badly formatted warnings for SRA replacements used uninitialized)
2006-12-03 Richard Henderson <rth@redhat.com>
Andrew Pinski <pinskia@gmail.com>
PR C++/14329
* error.c (cp_printer) <'D'>: Handle DECL_DEBUG_EXPR.
2006-12-03 Richard Henderson <rth@redhat.com>
Andrew Pinski <pinskia@gmail.com>
PR C++/14329
* g++.dg/warn/unit-1.C: New test.
Co-Authored-By: Andrew Pinski <pinskia@gmail.com>
From-SVN: r119478
Eric Christopher [Mon, 4 Dec 2006 02:10:10 +0000 (02:10 +0000)]
re PR target/24598 (Need to support odcctools and its ablity to use --prefix and libtool)
2006-12-03 Eric Christopher <echristo@apple.com>
PR target/24598
* config/t-slibgcc-darwin: Pass -install_name.
* config/darwin.h (LINK_COMMAND_SPEC): Remove use of
libtool. Only pass through options that the linker recognizes.
(LINK_SPEC): Update comment. Translate options.
(STARTFILE_SPEC): Add dylib1.o for shared libraries.
* config/darwin9.h (LINK_COMMAND_SPEC): Ditto above.
From-SVN: r119477
GCC Administrator [Mon, 4 Dec 2006 00:18:04 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r119475
Uros Bizjak [Sun, 3 Dec 2006 20:19:15 +0000 (21:19 +0100)]
visibility-11.c: Compile with -mstringop-strategy=libcall.
* gcc.dg/visibility-11.c: Compile with -mstringop-strategy=libcall.
From-SVN: r119470
Dorit Nuzman [Sun, 3 Dec 2006 20:05:31 +0000 (20:05 +0000)]
vect.exp: Enable tests to run on spu.
* g++.dg/vect/vect.exp: Enable tests to run on spu.
* gcc.dg/vect/vect.exp: Enable tests to run on spu.
* gcc.dg/vect/no-section-anchors-vect-69.c: Reduce array size.
* gcc.dg/vect/vect-70.c: Reduce array size.
* gcc.dg/vect/fast-math-vect-reduc-7.c: Xfail for
vect_no_compaer_double targets.
* lib/target-supports.exp: Add spu to vect_no_align, no_vect_int_max,
vect_float, vect_double, and vect_int.
* config/spu/spu.md (smaxv4sf3, sminv4sf3): New.
From-SVN: r119469
Uros Bizjak [Sun, 3 Dec 2006 19:40:06 +0000 (20:40 +0100)]
re PR target/30041 (FAIL: gcc.target/i386/sse3-movddup.c (internal compiler error))
PR target/30041
* config/i386/sse.md ("*sse3_movddup"): Use operands[0] and
operands[1] in insn constraint. Correct type attribute to sselog1.
From-SVN: r119468
Paolo Carlini [Sun, 3 Dec 2006 17:15:46 +0000 (17:15 +0000)]
re PR libstdc++/29989 (missed #undef min/max in <limits>)
2006-12-03 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/29989
* include/bits/stl_algobase.h: Remove min and max #undefs.
From-SVN: r119467
Dorit Nuzman [Sun, 3 Dec 2006 15:56:34 +0000 (15:56 +0000)]
pr16105.c: Remove xfail on vect_no_align targets.
* gcc.dg/vect/pr16105.c: Remove xfail on vect_no_align targets. Add
test for loop versioning on vect_no_align targets.
* gcc.dg/vect/pr20122.c: Likewise.
* gcc.dg/vect/vect-105.c: Likewise.
* gcc.dg/vect/vect-42.c: Likewise.
* gcc.dg/vect/vect-43.c: Likewise.
* gcc.dg/vect/vect-74.c: Likewise.
* gcc.dg/vect/vect-75.c: Likewise.
* gcc.dg/vect/vect-multitypes-3.c: Likewise.
* gcc.dg/vect/vect-multitypes-6.c: Likewise.
* gcc.dg/vect/vect-8.c: Remove xfail on vect_no_align targets.
* gcc.dg/vect/vect-30.c: Remove xfail on vect_no_align targets.
From-SVN: r119466
Kaveh R. Ghazi [Sun, 3 Dec 2006 14:37:06 +0000 (14:37 +0000)]
configure.in: Update error message for missing GMP/MPFR.
* configure.in: Update error message for missing GMP/MPFR.
* configure: Regenerate.
From-SVN: r119465
Paul Thomas [Sun, 3 Dec 2006 07:18:22 +0000 (07:18 +0000)]
re PR fortran/29642 (Fortran 2003: VALUE Attribute (call by value not call by reference for actual arguments))
2006-12-03 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29642
* trans-expr.c (gfc_conv_variable): A character expression with
the VALUE attribute needs an address expression; otherwise all
other expressions with this attribute must not be dereferenced.
(gfc_conv_function_call): Pass expressions with the VALUE
attribute by value, using gfc_conv_expr.
* symbol.c (check_conflict): Add strings for INTENT OUT, INOUT
and VALUE. Apply all the constraints associated with the VALUE
attribute.
(gfc_add_value): New function.
(gfc_copy_attr): Call it for VALUE attribute.
* decl.c (match_attr_spec): Include the VALUE attribute.
(gfc_match_value): New function.
* dump-parse-tree.c (gfc_show_attr): Include VALUE.
* gfortran.h : Add value to the symbol_attribute structure and
add a prototype for gfc_add_value
* module.c (mio_internal_string): Include AB_VALUE in enum.
(attr_bits): Provide the VALUE string for it.
(mio_symbol_attribute): Read or apply the VLUE attribute.
* trans-types.c (gfc_sym_type): Variables with the VLAUE
attribute are not passed by reference!
* resolve.c (was_declared): Add value to those that return 1.
(resolve_symbol): Value attribute requires dummy attribute.
* match.h : Add prototype for gfc_match_public.
* parse.c (decode_statement): Try to match a VALUE statement.
2006-12-03 Paul Thomas <pault@gcc.gnu.org>
PR fortran/29642
* gfortran.dg/value_1.f90 : New test.
* gfortran.dg/value_2.f90 : New test.
* gfortran.dg/value_3.f90 : New test.
* gfortran.dg/value_4.f90 : New test.
* gfortran.dg/value_4.c : Called from value_4.f90.
From-SVN: r119461
GCC Administrator [Sun, 3 Dec 2006 00:17:51 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r119459
H.J. Lu [Sat, 2 Dec 2006 22:18:25 +0000 (22:18 +0000)]
re PR target/30040 (-mtune=native is wrong for Core 2 Duo and Core Duo)
2006-12-02 H.J. Lu <hongjiu.lu@intel.com>
PR target/30040
* config/i386/driver-i386.c: Include "coretypes.h" and "tm.h".
(bit_SSSE3): New.
(host_detect_local_cpu): Check -mtune= vs. -march=. Rewrite
processor detection.
* config/i386/i386.h (CC1_CPU_SPEC): Add -mtune=native for
-march=native if there is no -mtune=*.
* config/i386/x-i386 (driver-i386.o): Also depend on $(TM_H)
coretypes.h.
From-SVN: r119454
Eric Botcazou [Sat, 2 Dec 2006 20:01:34 +0000 (21:01 +0100)]
configure.tgt: Force initial-exec TLS model on Linux only.
* configure.tgt: Force initial-exec TLS model on Linux only.
From-SVN: r119452
Howard Hinnant [Sat, 2 Dec 2006 17:06:57 +0000 (17:06 +0000)]
acinclude.m4: Allow OPTIMIZE_CXXFLAGS to be set by configure.host.
2006-12-02 Howard Hinnant <hhinnant@apple.com>
* acinclude.m4: Allow OPTIMIZE_CXXFLAGS to be set by configure.host.
* configure.host: Set OPTIMIZE_CXXFLAGS to -fvisibility-inlines-hidden
for x86/darwin.
* configure: Regenerate.
From-SVN: r119450
Andrew Pinski [Sat, 2 Dec 2006 17:01:04 +0000 (09:01 -0800)]
re PR c++/30033 (ICE on valid with --std=c++0x (static_assert))
2006-12-02 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/30033
* decl.c (cp_tree_node_structure): Handle STATIC_ASSERT.
2006-12-02 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/30033
* g++.dg/cpp0x/static_assert4.C: New testcase.
From-SVN: r119449
Lee Millward [Sat, 2 Dec 2006 16:54:35 +0000 (16:54 +0000)]
fix testcase from previous commit
From-SVN: r119448
Kaveh R. Ghazi [Sat, 2 Dec 2006 16:52:15 +0000 (16:52 +0000)]
configure.in: Update MPFR version in error message.
* configure.in: Update MPFR version in error message.
* configure: Regenerate.
gcc:
* doc/install.texi: Update recommended MPFR version. Remove
obsolete reference to cumulative patch.
gcc/testsuite:
* gcc.dg/torture/builtin-sin-mpfr-1.c: Update MPFR comment.
From-SVN: r119447
Lee Millward [Sat, 2 Dec 2006 16:34:26 +0000 (16:34 +0000)]
re PR c/27953 (ICE with invalid function definitions)
PR c/27953
* c-decl.c (store_parm_decls_oldstyle): Robustify
* gcc.dg/pr27953.c: New test.
From-SVN: r119446
Jan Hubicka [Sat, 2 Dec 2006 13:16:27 +0000 (14:16 +0100)]
i386.c (pentium4_cost, [...]): Update 32bit memcpy/memset decriptors.
* config/i386/i386.c (pentium4_cost, nocona_cost): Update
32bit memcpy/memset decriptors.
(decide_alg): With -minline-all-stringops and sizes that are best
to be copied via libcall still work hard enough to pick non-libcall
strategy.
Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>
From-SVN: r119445
Kazu Hirata [Sat, 2 Dec 2006 02:47:07 +0000 (02:47 +0000)]
* config/i386/i386.c: Fix a comment typo.
From-SVN: r119443
Kazu Hirata [Sat, 2 Dec 2006 02:26:04 +0000 (02:26 +0000)]
builtins.c, [...]: Fix comment typos.
* builtins.c, cfgloop.h, cgraph.h, config/arm/arm.c,
config/i386/i386.c, config/i386/i386.h, config/mips/mips.h,
config/rs6000/cell.md, config/rs6000/rs6000.c, config/sh/sh.c,
config/sh/sh4-300.md, config/spu/spu-builtins.def,
config/spu/spu-c.c, config/spu/spu-modes.def,
config/spu/spu.c, config/spu/spu.md,
config/spu/spu_internals.h, config/spu/vmx2spu.h,
fold-const.c, fwprop.c, predict.c, tree-data-ref.h,
tree-flow.h, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
tree-ssa-pre.c, tree-vect-analyze.c, tree-vect-transform.c,
tree-vectorizer.c, tree-vrp.c: Fix comment typos. Follow
spelling conventions.
From-SVN: r119442
Kazu Hirata [Sat, 2 Dec 2006 02:06:52 +0000 (02:06 +0000)]
* doc/extend.texi, doc/invoke.texi, doc/md.texi: Fix typos.
From-SVN: r119441
Kazu Hirata [Sat, 2 Dec 2006 01:44:17 +0000 (01:44 +0000)]
* name-lookup.c: Follow spelling conventions.
From-SVN: r119440
Kazu Hirata [Sat, 2 Dec 2006 01:03:11 +0000 (01:03 +0000)]
Makefile.in, [...]: Fix comment typos.
* Makefile.in, mingw32.h, trans.c: Fix comment typos.
* gnat_rm.texi, gnat_ugn.texi: Follow spelling conventions.
Fix typos.
From-SVN: r119437
Paolo Carlini [Sat, 2 Dec 2006 00:31:34 +0000 (00:31 +0000)]
mt_allocator.h (__pool_base::_M_get_align): Remove redundant const qualifier on the return type.
2006-12-01 Paolo Carlini <pcarlini@suse.de>
* include/ext/mt_allocator.h (__pool_base::_M_get_align): Remove
redundant const qualifier on the return type.
From-SVN: r119435
GCC Administrator [Sat, 2 Dec 2006 00:17:43 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r119433
Geoffrey Keating [Fri, 1 Dec 2006 23:01:05 +0000 (23:01 +0000)]
decl.c (poplevel): Check DECL_INITIAL invariant.
* decl.c (poplevel): Check DECL_INITIAL invariant.
(duplicate_decls): Preserve DECL_INITIAL when eliminating
a new definition in favour of an old declaration.
(start_preparsed_function): Define and document value of
DECL_INITIAL before and after routine.
(finish_function): Check DECL_INITIAL invariant.
* parser.c
(cp_parser_function_definition_from_specifiers_and_declarator):
Skip duplicate function definitions.
From-SVN: r119427
Trevor Smigiel [Fri, 1 Dec 2006 22:51:06 +0000 (22:51 +0000)]
spu.c (spu_immediate): Remove trailing comma.
* config/spu/spu.c (spu_immediate): Remove trailing comma.
(reloc_diagnostic): Call warning when -mwarn-reloc is specified.
* config/spu/spu.md: (zero_extendhisi2): Expand instead of split for
better optimization.
(floatv4siv4sf2): New.
(fix_truncv4sfv4si2): New.
(floatunsv4siv4sf2): New.
(fixuns_truncv4sfv4si2): New.
(addv16qi3): New.
(subv16qi3): New.
(negv16qi2): New.
(mulv8hi3): New.
(mulsi3): Remove.
(mul<mode>3): New.
(_mulv4si3): New.
(cmp<mode>): Don't accept constant arguments for DI, TI and SF.
* config/spu/spu_internals.h: Handle overloaded intrinsics in C++ with
spu_resolve_overloaded_builtin instead of static inline functions.
From-SVN: r119424
Eric Botcazou [Fri, 1 Dec 2006 22:46:45 +0000 (22:46 +0000)]
fold-const.c (fold_binary): Use the precision of the type instead of the size of its mode to compute the...
* fold-const.c (fold_binary) <LT_EXPR>: Use the precision of the
type instead of the size of its mode to compute the highest and
lowest possible values. Still check the size of the mode before
flipping the signedness of the comparison.
From-SVN: r119422
Trevor Smigiel [Fri, 1 Dec 2006 22:43:18 +0000 (22:43 +0000)]
predicates.md (spu_mov_operand): Add.
* config/spu/predicates.md (spu_mov_operand): Add.
* config/spu/spu.c (spu_expand_extv): Remove unused code.
(print_operand_address, print_operand): Handle addresses containing AND.
(spu_split_load, spu_split_store): Use updated movti pattern.
* config/spu/spu.md: (_mov<mode>, _movdi, _movti): Handle loads and
stores in mov patterns for correct operation of reload.
(lq, lq_<mode>, stq, stq_<mode>): Remove.
From-SVN: r119421
Volker Reichelt [Fri, 1 Dec 2006 21:35:25 +0000 (21:35 +0000)]
re PR c++/30022 (ICE on vector operand in division)
PR c++/30022
* typeck.c (type_after_usual_arithmetic_conversions):
Fix assertion for vector types.
(build_binary_op): Use temporary for inner type of vector types.
* g++.dg/ext/vector5.C: New test.
From-SVN: r119416
Volker Reichelt [Fri, 1 Dec 2006 21:28:35 +0000 (21:28 +0000)]
re PR c++/30021 (ICE on invalid parameter for main)
PR c++/30021
* c-common.c (check_main_parameter_types): Check for error_mark_node.
* g++.dg/other/main1.C: New test.
From-SVN: r119415
Thomas Koenig [Fri, 1 Dec 2006 21:04:38 +0000 (21:04 +0000)]
re PR libfortran/29568 (implement unformatted files with subrecords (Intel style))
2006-12-01 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/29568
* gfortran.dg/convert_implied_open.f90: Change to
new default record length.
* gfortran.dg/unf_short_record_1.f90: Adapt to
new error message.
* gfortran.dg/unformatted_subrecords_1.f90: New test.
2006-12-01 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/29568
* gfortran.h (gfc_option_t): Add max_subrecord_length.
(top level): Define MAX_SUBRECORD_LENGTH.
* lang.opt: Add option -fmax-subrecord-length=.
* trans-decl.c: Add new function set_max_subrecord_length.
(gfc_generate_function_code): If we are within the main
program and max_subrecord_length has been set, call
set_max_subrecord_length.
* options.c (gfc_init_options): Add defaults for
max_subrecord_lenght, convert and record_marker.
(gfc_handle_option): Add handling for
-fmax_subrecord_length.
* invoke.texi: Document the new default for
-frecord-marker=<n>.
2006-12-01 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/29568
* libgfortran/libgfortran.h (compile_options_t): Add
record_marker. (top level): Define GFC_MAX_SUBRECORD_LENGTH.
* runtime/compile_options.c (set_record_marker): Change
default to four-byte record marker.
(set_max_subrecord_length): New function.
* runtime/error.c (translate_error): Change error message
for short record on unformatted read.
* io/io.h (gfc_unit): Add recl_subrecord, bytes_left_subrecord
and continued.
* io/file_pos.c (unformatted_backspace): Change default of record
marker size to four bytes. Loop over subrecords.
* io/open.c: Default recl is max_offset. If
compile_options.max_subrecord_length has been set, set set
u->recl_subrecord to its value, to the maximum value otherwise.
* io/transfer.c (top level): Add prototypes for us_read, us_write,
next_record_r_unf and next_record_w_unf.
(read_block_direct): Separate codepaths for unformatted direct
and unformatted sequential. If a recl has been set by the
user, use the number of bytes left for the record if it is smaller
than the read request. Loop over subrecords. Set an error if the
user has set a recl and the read was short.
(write_buf): Separate codepaths for unformatted direct and
unformatted sequential. If a recl has been set by the
user, use the number of bytes left for the record if it is smaller
than the read request. Loop over subrecords. Set an error if the
user has set a recl and the read was short.
(us_read): Add parameter continued (to indicate that bytes_left
should not be intialized). Change default of record marker size
to four bytes. Use subrecord. If the subrecord length is smaller than
zero, this indicates a continuation.
(us_write): Add parameter continued (to indicate that the continued
flag should be set). Use subrecord.
(pre_position): Use 0 for continued on us_write and us_read calls.
(skip_record): New function.
(next_record_r_unf): New function.
(next_record_r): Use next_record_r_unf.
(write_us_marker): Default size for record markers is four bytes.
(next_record_w_unf): New function.
(next_record_w): Use next_record_w_unf.
From-SVN: r119412
Andrew MacLeod [Fri, 1 Dec 2006 19:53:29 +0000 (19:53 +0000)]
common.opt (ftree-combine-temps): Remove.
* common.opt (ftree-combine-temps): Remove.
* tree-outof-ssa.c (SSANORM_COMBINE_TEMPS): Remove.
(coalesce_ssa_name): Don't check for combine-temps.
(coalesce_vars): Remove.
(check_replaceable): Use num_imm_uses.
(remove_ssa_form, insert_backedge_copies, rewrite_out_of_ssa): Don't
check for combine-temps.
(rewrite_out_of_ssa): Never create a ref_count in the var_map.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Change parms
to register_ssa_partition calls.
* tree-ssa-live.c (register_ssa_partition): Remove prototype.
(init_var_map, delete_var_map): remove refernces to ref_count.
(create_ssa_var_map): Never calculate a ref count.
(type_var_init): Remove.
* tree-ssa-live.h (typedef struct _var_map): Remove ref_count.
(SSA_VAR_MAP_REF_COUNT): Delete.
(create_ssa_var_map): Change Prototype to have no parameters.
(version_ref_count): Delete.
(register_ssa_partition): Remove 'is_use' paramater and don't set the
ref_count vector.
(type_var_num, type_var, type_var_first_partition,
type_var_next_partition, type_var_dump, type_var_delete,
type_var_remove_partition, type_var_find, type_var_compact,
type_var_decompact): Remove.
* gcc.dg/max-1.c: Remove reference to -fno-tree-lrs option.
From-SVN: r119409
Bernd Schmidt [Fri, 1 Dec 2006 17:53:42 +0000 (17:53 +0000)]
bfin.md (pushsi_insn, popsi_insn): Set correct addrtype attribute.
* config/bfin/bfin.md (pushsi_insn, popsi_insn): Set correct addrtype
attribute.
From-SVN: r119408
Richard Guenther [Fri, 1 Dec 2006 16:37:38 +0000 (16:37 +0000)]
re PR c++/29433 (using boost::MPL requires lots of memory)
2006-12-01 Richard Guenther <rguenther@suse.de>
PR c++/29433
* dwarf2out.c (struct pubname_struct): Make name const.
(add_pubtype): Do not xstrdup identifiers.
From-SVN: r119404
Ryan Mansfield [Fri, 1 Dec 2006 15:55:11 +0000 (15:55 +0000)]
re PR c++/29066 (ptrmemfunc_vbit_in_delta is broken)
2006-12-01 Ryan Mansfield <rmansfield@qnx.com>
PR c++/29066
* typeck.c (build_binary_op): Fix pointer to member function
comparison for ptrmemfunc_vbit_in_delta targets.
2006-12-01 Ryan Mansfield <rmansfield@qnx.com>
PR c++/29066
* g++.dg/expr/pr29066.c: New.
From-SVN: r119403
Bernd Schmidt [Fri, 1 Dec 2006 15:49:55 +0000 (15:49 +0000)]
bfin.c (bfin_valid_add): Fix the logic that ensures multiword accesses are in range.
* config/bfin/bfin.c (bfin_valid_add): Fix the logic that ensures
multiword accesses are in range.
From-SVN: r119402
H.J. Lu [Fri, 1 Dec 2006 14:49:15 +0000 (06:49 -0800)]
[multiple changes]
2006-12-01 Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/29921
* tree-ssa-ccp.c (canonicalize_float_value): New function.
(set_lattice_value): Use canonicalize_float_value.
2006-12-01 H.J. Lu <hongjiu.lu@intel.com>
Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/29921
* gcc.dg/pr29921-2.c: New test.
From-SVN: r119401
Andrew Pinski [Fri, 1 Dec 2006 02:38:47 +0000 (02:38 +0000)]
spu.c (spu_builtin_range): Move from spu-c.c
2006-11-30 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/spu/spu.c (spu_builtin_range): Move from spu-c.c
(TARGET_RESOLVE_OVERLOADED_BUILTIN): Delete.
(spu_cpu_cpp_builtins): Remove.
(spu_override_options): Don't set warn_main.
(spu_force_reg): Move from spu-c.c.
(spu_check_builtin_parm): Likewise.
(expand_builtin_args): Likewise.
(spu_expand_builtin_1): Likewise.
(spu_expand_builtin): Likewise.
* config/spu/spu.h (REGISTER_TARGET_PRAGMAS): Define, set
warn_main and targetm.resolve_overloaded_builtin.
* config/spu/spu-c.c (spu_builtin_range): Remove.
(spu_check_builtin_parm): Remove.
(expand_builtin_args): Remove.
(spu_expand_builtin_1): Remove.
(spu_expand_builtin): Remove.
(spu_cpu_cpp_builtins): Moved from spu.c
(spu_force_reg): Remove.
From-SVN: r119397
Joseph Myers [Fri, 1 Dec 2006 02:25:22 +0000 (02:25 +0000)]
re PR target/24036 ([e500] ICE in subreg_offset_representable_p, at rtlanal.c:3143)
2006-12-01 Joseph Myers <joseph@codesourcery.com>
David Edelsohn <edelsohn@gnu.org>
PR target/24036
* doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING,
HARD_REGNO_NREGS_WITH_PADDING): Document new target macros.
* defaults.h (HARD_REGNO_NREGS_HAS_PADDING,
HARD_REGNO_NREGS_WITH_PADDING): Define.
* config/i386/i386.h (HARD_REGNO_NREGS_HAS_PADDING,
HARD_REGNO_NREGS_WITH_PADDING): Define.
* rtlanal.c (subreg_regno_offset, subreg_offset_representable_p):
Use new macros to detect modes with holes; do not look at integer
units.
(subreg_offset_representable_p): Check for and disallow cases
where the modes use different numbers of bits from registers.
* config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode
constant for soft-float.
(rs6000_hard_regno_nregs): Use UNITS_PER_FP_WORD for e500 GPRs
containing doubles.
(rs6000_split_multireg_move): Use DFmode reg_mode for TFmode moves
in E500 double case.
* config/rs6000/rs6000.md (movtf): Allow soft-float.
(movtf_softfloat): New.
Co-Authored-By: David Edelsohn <edelsohn@gnu.org>
From-SVN: r119395
H.J. Lu [Fri, 1 Dec 2006 00:29:08 +0000 (00:29 +0000)]
i386-cpuid.h (bit_SSE3): New.
2006-11-30 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/i386-cpuid.h (bit_SSE3): New.
(i386_get_cpuid): New function.
(i386_cpuid_ecx): Likewise.
(i386_cpuid_edx): Likewise.
(i386_cpuid): Updated to call i386_cpuid_edx.
* gcc.target/i386/sse3-addsubpd.c: New file.
* gcc.target/i386/sse3-addsubps.c: Likewise.
* gcc.target/i386/sse3-haddpd.c: Likewise.
* gcc.target/i386/sse3-haddps.c: Likewise.
* gcc.target/i386/sse3-hsubpd.c: Likewise.
* gcc.target/i386/sse3-hsubps.c: Likewise.
* gcc.target/i386/sse3-lddqu.c: Likewise.
* gcc.target/i386/sse3-movddup.c: Likewise.
* gcc.target/i386/sse3-movshdup.c: Likewise.
* gcc.target/i386/sse3-movsldup.c: Likewise.
From-SVN: r119390
GCC Administrator [Fri, 1 Dec 2006 00:17:52 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r119388
Dirk Mueller [Thu, 30 Nov 2006 23:08:27 +0000 (23:08 +0000)]
re PR c++/18313 (Missing warning for superfluous const's in return types)
2006-12-01 Dirk Mueller <dmueller@suse.de>
PR c++/18313
* decl.c (grokdeclarator): Warn for type qualifiers on return
type for non-dependent types.
* pt.c (tsubst_function_type): Warn for type qualifiers on
return type for dependent types.
* g++.dg/warn/Wreturn-type-4.C: New testcase.
From-SVN: r119382
Richard Sandiford [Thu, 30 Nov 2006 21:54:20 +0000 (21:54 +0000)]
simplify-rtx.c (simplify_rtx): Use simplify_subreg rather than simplify_gen_subreg.
gcc/
* simplify-rtx.c (simplify_rtx): Use simplify_subreg rather than
simplify_gen_subreg.
From-SVN: r119380
Geoffrey Keating [Thu, 30 Nov 2006 21:53:57 +0000 (21:53 +0000)]
rtti.c (get_tinfo_decl): Handle return value from pushdecl_top_level_and_finish.
* rtti.c (get_tinfo_decl): Handle return value from
pushdecl_top_level_and_finish.
From-SVN: r119379
Andrew MacLeod [Thu, 30 Nov 2006 21:36:32 +0000 (21:36 +0000)]
Implement coalesce list with hash table instead of linked list.
* tree-ssa-live.c (create_coalesce_list): Create a hash table.
(COALESCE_HASH_FN): New. Define hash function.
(partition_pair_map_hash): New. Hash value for a partition pair.
(partition_pair_map_eq): New. Equality for hash pairs.
(create_coalesce_list): Create hash table.
(delete_coalesce_list): Free hash table.
(find_partition_pair): Find/create pairs in hash table.
(compare_pairs): Sort pairs in ascending order now.
(num_coalesce_pairs): New. Number of pairs in hash table.
(struct partition_pair_iterator): Iterator struct for pair table.
(first_partition_pair): Iterator function for first pair.
(end_partition_pair_p): Iterator function for end of iteration.
(next_partition_pair): Iterator function for next pair.
(FOR_EACH_PARTITION_PAIR): Macro for iterating over pairs.
(sort_coalesce_list): Sort pairs from hash table into an array.
(pop_best_coalesce): Take pairs from the array.
(dump_coalesce_list): Update to use hash table or sorted array.
* tree-ssa-live.h (struct partition_pair_d): Remove next field.
(struct coalesce_list_d): Add hash table related fields.
From-SVN: r119378