aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2004-12-25Revert 2004-12-08 Makefile changes.David Edelsohn4-6/+4
From-SVN: r92609
2004-12-25re PR rtl-optimization/19078 (Poor quality code after loop unrolling.)Zdenek Dvorak2-4/+38
PR rtl-optimization/19078 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_generic, determine_use_iv_cost_outer): Fix computing of cost for the original bivs. (dump_use): Handle case related_cands == NULL. From-SVN: r92608
2004-12-25re PR target/19059 (Atmel AVR Tiny13 and Tiny2313 support corrupted)Marek Michalkiewicz4-7/+15
PR target/19059 * config/avr/avr.c (avr_mcu_types): Move attiny{13,2313} from avr4 to avr2. * config/avr/avr.h (LINK_SPEC): Ditto. * config/avr/t-avr (MULTILIB_MATCHES): Ditto. From-SVN: r92607
2004-12-25pr17055-1.c (dg-options): Add -fno-common to options on hppa*-*-hpux*.John David Anglin7-2/+24
* gcc.dg/pr17055-1.c (dg-options): Add -fno-common to options on hppa*-*-hpux*. * gcc.dg/pr17957.c (dg-options): Likewise. * gcc.dg/struct-ret-1.c: Add prototype for abort. * gcc.dg/tree-ssa/asm-2.c, gcc.dg/tree-ssa/asm-3.c: Use register 1 instead of 0 on __hppa__. * gcc.dg/tree-ssa/loop-1.c (dg-final): Check for five instances of "foo,%r" on hppa*-*-*. From-SVN: r92606
2004-12-25type_traits (is_enum): Minor tweak.Paolo Carlini2-1/+5
2004-12-25 Paolo Carlini <pcarlini@suse.de> * include/tr1/type_traits (is_enum): Minor tweak. From-SVN: r92605
2004-12-25type_traits: Implement is_enum (usual caveats about the nasty consequences ↵Paolo Carlini7-6/+252
of c++/19076...). 2004-12-25 Paolo Carlini <pcarlini@suse.de> * include/tr1/type_traits: Implement is_enum (usual caveats about the nasty consequences of c++/19076...). * testsuite/testsuite_tr1.h: Add ConvType. * testsuite/tr1/4_metaprogramming/composite_type_traits/ is_scalar/is_scalar.cc: New. * testsuite/tr1/4_metaprogramming/composite_type_traits/ is_scalar/typedefs.cc: Likewise. * testsuite/tr1/4_metaprogramming/primary_type_categories/ is_enum/is_enum.cc: Likewise. * testsuite/tr1/4_metaprogramming/primary_type_categories/ is_enum/typedefs.cc: Likewise. From-SVN: r92604
2004-12-25re PR target/19137 (ICE with load of TImode constant)Alan Modra2-33/+42
PR target/19137 * config/rs6000/rs6000.md (movti_power, movti_string): Relax operand[1] predicate to input_operand, and add r<-n alternative. Move TImode const_double_operand splitter to where it belongs. From-SVN: r92603
2004-12-25ffi64.c (struct register_args): Rename from stackLayout.Richard Henderson3-640/+592
* src/x86/ffi64.c (struct register_args): Rename from stackLayout. (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS. (merge_classes): Check for it. (SSE_CLASS_P): New. (classify_argument): Pass byte_offset by value; perform all updates inside struct case. (examine_argument): Add classes argument; handle X86_64_COMPLEX_X87_CLASS. (ffi_prep_args): Merge into ... (ffi_call): ... here. Share stack frame with ffi_call_unix64. (ffi_prep_cif_machdep): Setup cif->flags for proper structure return. (ffi_fill_return_value): Remove. (ffi_prep_closure): Remove dead assert. (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner. Rewrite to use struct register_args instead of va_list. Create flags for handling structure returns. * src/x86/unix64.S: Remove dead strings. (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share stack frame with ffi_call. Handle structure returns properly. (float2sse, floatfloat2sse, double2sse): Remove. (sse2float, sse2double, sse2floatfloat): Remove. (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite to handle structure returns properly. From-SVN: r92602
2004-12-25Daily bump.GCC Administrator2-2/+2
From-SVN: r92600
2004-12-24type_traits: Add missing undef.Paolo Carlini2-0/+5
2004-12-24 Paolo Carlini <pcarlini@suse.de> * include/tr1/type_traits: Add missing undef. From-SVN: r92597
2004-12-25re PR target/19147 (invalid rlwinm patterns)Alan Modra2-54/+5
PR target/19147 * config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete. From-SVN: r92594
2004-12-24type_traits: Implement is_member_object_pointer, is_member_function_pointer.Paolo Carlini8-34/+370
2004-12-24 Paolo Carlini <pcarlini@suse.de> * include/tr1/type_traits: Implement is_member_object_pointer, is_member_function_pointer. N.B. Due to c++/19076, the latter doesn't really work at the moment (a rather ugly work around will be provided in case the front-end bug doesn't get fixed soon); generalize and extend the _DEFINE_SPEC macros. * testsuite/tr1/4_metaprogramming/composite_type_traits/ is_member_pointer/is_member_pointer.cc: New. * testsuite/tr1/4_metaprogramming/composite_type_traits/ is_member_pointer/typedefs.cc: Likewise. * testsuite/tr1/4_metaprogramming/primary_type_categories/ is_member_function_pointer/is_member_function_pointer.cc: Likewise. * testsuite/tr1/4_metaprogramming/primary_type_categories/ is_member_function_pointer/typedefs.cc: Likewise. * testsuite/tr1/4_metaprogramming/primary_type_categories/ is_member_object_pointer/is_member_object_pointer.cc: Likewise. * testsuite/tr1/4_metaprogramming/primary_type_categories/ is_member_object_pointer/typedefs.cc: Likewise. From-SVN: r92593
2004-12-24i386.md (*fix_trunc{d,s,h}i_1): Rename to *fix_trunc{d,s,h}i_i387.Uros Bizjak2-6/+12
* config/i386/i386.md (*fix_trunc{d,s,h}i_1): Rename to *fix_trunc{d,s,h}i_i387. (fix_trunc{d,s}fdi2): Reorder tests. From-SVN: r92586
2004-12-24re PR tree-optimization/14638 (Variables disappear from debug info at -O1)Daniel Berlin5-7/+41
2004-12-24 Daniel Berlin <dberlin@dberlin.org> Fix PR debug/14638 * tree.h (DECL_DEBUG_ALIAS_OF): New macro. * var-tracking.c (track_expr_p): Don't disqualify tracking of variables that are aliases of variables we want to track, unless the original variable is also ignored for debugging purposes. (VARIABLE_HASH_VAL): Use DECL_UID, so that this is deterministic. * tree-outof-ssa.c (create_temp): Note who we are a debug alias of. * dwarf2out.c (dwarf2out_var_location): Add us to the location of the decl we are an alias of. From-SVN: r92585
2004-12-24complex_write.f90: removed extraneous comma.Bud Davis1-1/+1
2004-12-23 Bud Davis <bdavis9659@comcast.net> * gfortran.dg/complex_write.f90: removed extraneous comma. From-SVN: r92584
2004-12-24re PR target/19142 (ppc-darwin no longer builds)Alan Modra2-1/+8
PR target/19142 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow DFmode for 32-bit again. From-SVN: r92583
2004-12-24re PR libfortran/19071 (complex formatted output has too many items)Bud Davis4-8/+34
2004-12-23 Bud Davis <bdavis9659@comcast.net> PR fortran/19071 * io/tranfer.c (formatted_transfer): moved check for format reversion inside the processing loop. * gfortran.dg/complex_write.f90: New test. From-SVN: r92582
2004-12-24Daily bump.GCC Administrator2-2/+2
From-SVN: r92580
2004-12-23gfortran.texi: Fix typo.Steven G. Kargl2-1/+5
2004-12-23 Steven G. Kargl <kargls@comcast.net> * gfortran.texi: Fix typo. From-SVN: r92575
2004-12-23reload.c (regno_clobbered_p): Add a gcc_assert that regno refers to a hard ↵Roger Sayle2-2/+12
register. * reload.c (regno_clobbered_p): Add a gcc_assert that regno refers to a hard register. From-SVN: r92574
2004-12-23re PR c++/17595 (Unfriendly error message/rejects legal #pragmas in the ↵Mark Mitchell2-0/+11
middle of a parameter list) PR c++/17595 * parser.c (cp_parser_error): Issue better messages about #pragma in locations where it is not permitted. PR c++/17595 * g++.dg/parse/pragma2.C: New test. From-SVN: r92573
2004-12-23re PR c++/17595 (Unfriendly error message/rejects legal #pragmas in the ↵Mark Mitchell2-0/+10
middle of a parameter list) PR c++/17595 * parser.c (cp_parser_error): Issue better messages about #pragma in locations where it is not permitted. From-SVN: r92572
2004-12-23gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p.Mark Mitchell4-2/+15
* gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p. * g++.dg/opt/temp1.C: Make memcpy actually copy bytes. From-SVN: r92571
2004-12-23Fixed incorrect PR number.Alexandre Oliva1-1/+1
From-SVN: r92569
2004-12-23* gcc.dg/empty2.c: Add missing dg-warning.Alexandre Oliva2-1/+5
From-SVN: r92566
2004-12-23genrecog.c (did_you_mean_codes): New.DJ Delorie2-0/+24
* genrecog.c (did_you_mean_codes): New. (compute_predicate_codes): Fail unmatched codes. From-SVN: r92565
2004-12-23re PR c++/17413 (local classes as template argument)Mark Mitchell5-4/+20
PR c++/17413 * pt.c (check_instantiated_args): Remove bogus SFINAE code. PR c++/17413 * g++.dg/template/local4.C: New test. * g++.dg/template/crash19.C: Add dg-error marker. From-SVN: r92562
2004-12-23mips.h (TARGET_CPU_CPP_BUILTINS): Add assert for machine=mips for !TARGET_IRIX.Eric Christopher5-4/+13
2004-12-23 Eric Christopher <echristo@redhat.com> * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add assert for machine=mips for !TARGET_IRIX. * config/mips/linux.h: Remove machine=mips assert. * config/mips/netbsd.h: Ditto. * config/mips/openbsd.h: Ditto. From-SVN: r92561
2004-12-23Fix ChangeLog entry from 2004-12-22 from 'dg-xfail-if' to 'dg-skip-if'Janis Johnson1-1/+1
From-SVN: r92558
2004-12-23* g++.dg/template/crash31.C: Correct embedded PR number.Mark Mitchell3-2/+6
From-SVN: r92557
2004-12-23* cvt.c (convert_to_void): Fix typo in comment.Mark Mitchell2-1/+5
From-SVN: r92556
2004-12-23re PR c++/16405 (Temporary aggregate copy not elided)Mark Mitchell2-0/+6
PR c++/16405 * gimplify.c (gimplify_modify_expr_rhs): Handle INDIRECT_REF/ADDR_EXPR combinations. From-SVN: r92555
2004-12-23tree.c (iterative_hash_expr): Canonicalize builtins.Dale Johannesen2-1/+17
2004-12-23 Dale Johannesen <dalej@apple.com> * tree.c (iterative_hash_expr): Canonicalize builtins. From-SVN: r92553
2004-12-23re PR c++/18962 (specialization of template class with inner template ↵Alexandre Oliva4-0/+37
members and parameter) gcc/cp/ChangeLog: PR c++/18962 * pt.c (check_explicit_specialization): Use the argument list from the definition in a template function specialization definition. gcc/testsuite/ChangeLog: * g++.dg/template/spec19.C: New. From-SVN: r92552
2004-12-23re PR target/16819 (ICE with empty struct as arg)Alexandre Oliva4-2/+28
gcc/ChangeLog: PR target/16819 * calls.c (load_register_parameters): Don't call use_regs when nregs is zero. gcc/testsuite/ChangeLog: PR target/16891 * gcc.dg/empty2.c: New. From-SVN: r92551
2004-12-23re PR middle-end/17746 (ICE when building the Ada RTS)Eric Botcazou2-2/+3
PR middle-end/17746 * expr.c (get_inner_reference): Add 'keep_aligning' parameter. Break on aligning VIEW_CONVERT_EXPR nodes on STRICT_ALIGNMENT platforms only if keep_aligning is true. (expand_assignment): Adjust call to get_inner_reference. (expand_expr_addr_expr_1): Likewise. (expand_expr_real_1): Likewise. * dojump.c (do_jump): Likewise. * dwarf2out.c (loc_descriptor_from_tree_1): Likewise. * fold-const.c (optimize_bit_field_compare): Likewise. (decode_field_reference): Likewise. (split_address_to_core_and_offset): Likewise. * tree-ssa-loop-ivopts.c (split_address_cost): Likewise. * tree.h (get_inner_reference): Adjust prototype. ada/ * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference. * utils2.c (build_unary_op): Likewise. From-SVN: r92550
2004-12-23re PR middle-end/17746 (ICE when building the Ada RTS)Eric Botcazou9-20/+58
PR middle-end/17746 * expr.c (get_inner_reference): Add 'keep_aligning' parameter. Break on aligning VIEW_CONVERT_EXPR nodes on STRICT_ALIGNMENT platforms only if keep_aligning is true. (expand_assignment): Adjust call to get_inner_reference. (expand_expr_addr_expr_1): Likewise. (expand_expr_real_1): Likewise. * dojump.c (do_jump): Likewise. * dwarf2out.c (loc_descriptor_from_tree_1): Likewise. * fold-const.c (optimize_bit_field_compare): Likewise. (decode_field_reference): Likewise. (split_address_to_core_and_offset): Likewise. * tree-ssa-loop-ivopts.c (split_address_cost): Likewise. * expr.h (get_inner_reference): Adjust prototype. ada/ * trans.c (Attribute_to_gnu): Adjust call to get_inner_reference. * utils2.c (build_unary_op): Likewise. From-SVN: r92549
2004-12-23i386.c (override_options): Revert last change wrt fancy 387 math.Richard Henderson2-2/+6
* config/i386/i386.c (override_options): Revert last change wrt fancy 387 math. From-SVN: r92547
2004-12-23alpha.md (one_cmpl<mode>2, [...]): New macroized vector operate patterns.Richard Henderson2-0/+61
* config/alpha/alpha.md (one_cmpl<mode>2, and<mode>3, andnot<mode>3, ior<mode>3, iornot<mode>3, xor<mode>3, xornot<mode>3): New macroized vector operate patterns. From-SVN: r92545
2004-12-23target-supports.exp (check_effective_target_vect_no_align): Remove i?86 and ↵Richard Henderson2-3/+6
x86-64. * lib/target-supports.exp (check_effective_target_vect_no_align): Remove i?86 and x86-64. From-SVN: r92544
2004-12-23i386.c (ix86_expand_vector_move): Tidy.Richard Henderson4-33/+175
* config/i386/i386.c (ix86_expand_vector_move): Tidy. (ix86_expand_vector_move_misalign): New. (ix86_misaligned_mem_ok): Remove. (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. * config/i386/i386-protos.h: Update. * config/i386/i386.md (SSEMODEI): Rename from SSEINT16. (MMXMODEI): Rename from MMXINT8. (SSEMODE, MMXMODE, movmisalign<mode>): New. From-SVN: r92543
2004-12-23re PR c++/16405 (Temporary aggregate copy not elided)Mark Mitchell4-0/+77
PR c++/16405 * gimplify.c (gimplify_modify_expr_rhs): Handle INDIRECT_REF/ADDR_EXPR combinations. PR c++/16405 * g++.dg/opt/temp1.C: New test. From-SVN: r92539
2004-12-23alpha.c (alpha_expand_mov): Split out ...Richard Henderson4-119/+63
* config/alpha/alpha.c (alpha_expand_mov): Split out ... (alpha_expand_movmisalign): ... misaligned vector support. (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. * config/alpha/alpha-protos.h: Update. * config/alpha/alpha.md (VEC): New macro. (movv8qi, movv4hi, movv2si): Compress with VEC. (movv8qi_fix, movv4hi_fix, movv2si_fix): Likewise. (movv8qi_nofix, movv4hi_nofix, movv2si_nofix): Likewise. (movmisalign<mode>): New. From-SVN: r92538
2004-12-22optabs.h (OTI_movmisalign, [...]): New.Richard Henderson11-34/+59
* optabs.h (OTI_movmisalign, movmisalign_optab): New. * optabs.c (init_optabs): Create it. * genopinit.c (optabs): Initialize it. * expr.c (expand_expr_real_1) <MISALIGNED_INDIRECT_REF>: Use it. * tree-vectorizer.c (vect_supportable_dr_alignment): Likewise. * target-def.h (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. * target.h (vectorize.misaligned_mem_ok): Remove. * targhooks.c (default_vect_misaligned_mem_ok): Remove. * doc/md.texi (movmisalign): New. * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove. From-SVN: r92537
2004-12-22emmintrin.h (_mm_loadh_pd): Don't cast pointer arg to __v2si.Richard Henderson4-73/+165
* config/i386/emmintrin.h (_mm_loadh_pd): Don't cast pointer arg to __v2si. (_mm_storeh_pd, _mm_loadl_pd, _mm_storel_pd): Likewise. * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use double* or const double* for __builtin_ia32_loadhpd, __builtin_ia32_loadlpd, __builtin_ia32_storehpd, __builtin_ia32_storelpd. (ix86_expand_builtin): Update to match. (ix86_expand_vector_init): Use sse2_loadlpd. * config/i386/i386.md (vec_setv2df): Use sse2_loadlpd, sse2_loadhpd. (vec_extractv2df): Use sse2_storelpd, sse2_storehpd. (sse2_storehpd, sse2_loadhpd, sse2_storelpd, sse2_loadlpd): New. (sse2_movhpd): Remove. From-SVN: r92536
2004-12-23re PR target/18751 (ICE in expr.c:5083, profiledbootstrap)Alan Modra2-1/+8
PR target/18751 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Return false for anything larger than 32 bits in 32-bit code. From-SVN: r92535
2004-12-22i386.md (btsq, btrq, btcq): Fix modes.Richard Henderson2-12/+15
* config/i386/i386.md (btsq, btrq, btcq): Fix modes. (bt peepholes): Likewise. From-SVN: r92534
2004-12-22* varasm.c (force_const_mem): Call set_mem_align.Richard Henderson2-0/+5
From-SVN: r92533
2004-12-22predicates.md (sse_comparison_operator): Fix typo in ieee test.Richard Henderson2-3/+9
* config/i386/predicates.md (sse_comparison_operator): Fix typo in ieee test. (arith_or_logical_operator): Downcase codes. From-SVN: r92532
2004-12-23re PR target/18511 (cc1plus segfaults when compiling ↵Kaz Kojima3-2/+11
libstdc++-v3/src/localename.cc) PR target/18511 * reload1.c (emit_output_reload_insns): Check if OLD is a hard register before calling regno_clobbered_p. * reload.c: Update comment for regno_clobbered_p. From-SVN: r92531