Tobias Schlüter [Mon, 27 Dec 2004 16:43:47 +0000 (17:43 +0100)]
Fix typo in ChangeLog
From-SVN: r92643
Tobias Schlüter [Mon, 27 Dec 2004 16:43:25 +0000 (17:43 +0100)]
trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to logicalshift.
gcc/fortran/
* trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to
logicalshift. Call fold. Remove 0-bit shift shortcut.
(gfc_conv_intrinsic_ishftc): Convert first argument to at least
4 bytes bits. Convert 2nd and 3rd argument to 4 bytes. Convert
result if width(arg 1) < 4 bytes. Call fold.
libgfortran/
* libgfortran/libgfortran.h (GFC_UINTEGER_1, GFC_UINTEGER_2):
Define.
* intrinsics/ishftc.c: Update copyright years.
(ishftc8): Change 'shift' and 'size' to GFC_INTEGER_4.
* intrinsics/mvbits.c: Correcty non-ASCII character in my name.
Add implementations for GFC_INTEGER_1 and GFC_INTEGER_2.
gcc/testsuite/
* gfortran.dg/g77/f90-intrinsic-bit.f: New.
From-SVN: r92642
Mark Mitchell [Mon, 27 Dec 2004 16:13:45 +0000 (16:13 +0000)]
re PR c++/19148 (ICE: gimplification failed)
PR c++/19148
* g++.dg/expr/cond7.C: New test.
From-SVN: r92641
Mark Mitchell [Mon, 27 Dec 2004 16:06:13 +0000 (16:06 +0000)]
re PR c++/19148 (ICE: gimplification failed)
PR c++/19148
* gimplify.c (gimplify_cond_expr): Add post_p parameter.
(gimplify_modify_expr_rhs): Adjust call to gimplify_cond_expr.
(gimplify_expr): Likewise.
From-SVN: r92640
Paul Brook [Mon, 27 Dec 2004 15:29:14 +0000 (15:29 +0000)]
* gfortran.dg/g77/select_no_compile.f: Remove.
From-SVN: r92639
Richard Henderson [Mon, 27 Dec 2004 09:35:54 +0000 (01:35 -0800)]
i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.
* config/i386/i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.
* gcc.dg/vect/vect-27a.c, gcc.dg/vect/vect-29a.c,
gcc.dg/vect/vect-48a.c, gcc.dg/vect/vect-56a.c,
gcc.dg/vect/vect-72a.c, gcc.dg/vect/vect-77a.c: Remove.
From-SVN: r92637
Richard Henderson [Mon, 27 Dec 2004 09:20:10 +0000 (01:20 -0800)]
* src/x86/unix64.S: Fix typo in unwind info.
From-SVN: r92636
Richard Henderson [Mon, 27 Dec 2004 04:27:09 +0000 (20:27 -0800)]
compat-common.h (CINT, CDBL): Use multiplication by 1i instead of token pasting.
* gcc.dg/compat/compat-common.h (CINT, CDBL): Use multiplication
by 1i instead of token pasting.
From-SVN: r92635
Richard Henderson [Mon, 27 Dec 2004 03:50:51 +0000 (19:50 -0800)]
i386.md (mov<MMXMODEI>_internal_rex64): New.
* config/i386/i386.md (mov<MMXMODEI>_internal_rex64): New.
(movv2sf_internal_rex64): New.
(mov<MMXMODEI>_internal): Use no register preferences at all.
(movv2sf_internal): Likewise.
From-SVN: r92634
Richard Henderson [Mon, 27 Dec 2004 03:50:27 +0000 (19:50 -0800)]
i386.c (ix86_gimplify_va_arg): Also pass the result of type_natural_mode to examine_argument.
* config/i386/i386.c (ix86_gimplify_va_arg): Also pass the result
of type_natural_mode to examine_argument.
From-SVN: r92633
Richard Henderson [Mon, 27 Dec 2004 03:31:49 +0000 (19:31 -0800)]
simplify-rtx.c (simplify_relational_operation_1): Don't simplify plus/minus across EQ for floating-point.
* simplify-rtx.c (simplify_relational_operation_1): Don't simplify
plus/minus across EQ for floating-point.
From-SVN: r92631
John David Anglin [Mon, 27 Dec 2004 01:08:09 +0000 (01:08 +0000)]
re PR target/17643 (ICE in propagate_one_insn, at flow.c:1582)
PR target/17643
* pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when
generating code for the portable runtime.
From-SVN: r92629
GCC Administrator [Mon, 27 Dec 2004 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r92626
John David Anglin [Sun, 26 Dec 2004 20:49:14 +0000 (20:49 +0000)]
re PR tree-optimization/17578 (Missed optimization--failure of gcc.c-torture/execute/ieee/compare-fp-3.c at -O1 and above)
PR tree-optimization/17578
* gcc.c-torture/execute/ieee/compare-fp-3.x: Append -fno-trapping-math
to additional_flags.
* gcc.c-torture/execute/ieee/compare-fp-4.x: Likewise.
From-SVN: r92623
Paolo Carlini [Sun, 26 Dec 2004 19:05:47 +0000 (19:05 +0000)]
type_traits (__is_enum_helper): Slightly simplify, make __convert non template.
2004-12-26 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits (__is_enum_helper): Slightly simplify,
make __convert non template.
From-SVN: r92622
Paolo Carlini [Sun, 26 Dec 2004 11:08:47 +0000 (11:08 +0000)]
type_traits: Implement is_pod, has_trivial_constructor, and has_trivial_destructor.
2004-12-26 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Implement is_pod, has_trivial_constructor,
and has_trivial_destructor.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_constructor/has_trivial_constructor.cc: New.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_constructor/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_destructor/has_trivial_destructor.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
has_trivial_destructor/typedefs.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
is_pod/is_pod.cc: Likewise.
* testsuite/tr1/4_metaprogramming/type_properties/
is_pod/typedefs.cc: Likewise.
From-SVN: r92618
Richard Henderson [Sun, 26 Dec 2004 03:59:28 +0000 (19:59 -0800)]
expr.c (clear_storage): Validate CONST0_RTX extant.
* expr.c (clear_storage): Validate CONST0_RTX extant. Special case
complex modes.
From-SVN: r92615
Richard Henderson [Sun, 26 Dec 2004 03:57:04 +0000 (19:57 -0800)]
target-supports.exp (check_effective_target_vect_no_bitwise): Remove Alpha.
* lib/target-supports.exp (check_effective_target_vect_no_bitwise):
Remove Alpha.
From-SVN: r92614
GCC Administrator [Sun, 26 Dec 2004 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r92612
David Edelsohn [Sun, 26 Dec 2004 00:07:54 +0000 (00:07 +0000)]
Revert 2004-12-08 Makefile changes.
From-SVN: r92609
Zdenek Dvorak [Sat, 25 Dec 2004 22:53:54 +0000 (23:53 +0100)]
re PR rtl-optimization/19078 (Poor quality code after loop unrolling.)
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
Marek Michalkiewicz [Sat, 25 Dec 2004 22:20:04 +0000 (23:20 +0100)]
re PR target/19059 (Atmel AVR Tiny13 and Tiny2313 support corrupted)
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
John David Anglin [Sat, 25 Dec 2004 17:01:52 +0000 (17:01 +0000)]
pr17055-1.c (dg-options): Add -fno-common to options on hppa*-*-hpux*.
* 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
Paolo Carlini [Sat, 25 Dec 2004 15:39:43 +0000 (15:39 +0000)]
type_traits (is_enum): Minor tweak.
2004-12-25 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits (is_enum): Minor tweak.
From-SVN: r92605
Paolo Carlini [Sat, 25 Dec 2004 15:24:36 +0000 (15:24 +0000)]
type_traits: Implement is_enum (usual caveats about the nasty consequences 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
Alan Modra [Sat, 25 Dec 2004 12:41:02 +0000 (12:41 +0000)]
re PR target/19137 (ICE with load of TImode constant)
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
Richard Henderson [Sat, 25 Dec 2004 09:54:40 +0000 (01:54 -0800)]
ffi64.c (struct register_args): Rename from stackLayout.
* 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
GCC Administrator [Sat, 25 Dec 2004 00:16:31 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r92600
Paolo Carlini [Fri, 24 Dec 2004 23:38:27 +0000 (23:38 +0000)]
type_traits: Add missing undef.
2004-12-24 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits: Add missing undef.
From-SVN: r92597
Alan Modra [Fri, 24 Dec 2004 23:00:08 +0000 (23:00 +0000)]
re PR target/19147 (invalid rlwinm patterns)
PR target/19147
* config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete.
From-SVN: r92594
Paolo Carlini [Fri, 24 Dec 2004 20:33:56 +0000 (20:33 +0000)]
type_traits: Implement is_member_object_pointer, is_member_function_pointer.
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
Uros Bizjak [Fri, 24 Dec 2004 06:49:34 +0000 (07:49 +0100)]
i386.md (*fix_trunc{d,s,h}i_1): Rename to *fix_trunc{d,s,h}i_i387.
* 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
Daniel Berlin [Fri, 24 Dec 2004 05:23:10 +0000 (05:23 +0000)]
re PR tree-optimization/14638 (Variables disappear from debug info at -O1)
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
Bud Davis [Fri, 24 Dec 2004 03:17:13 +0000 (03:17 +0000)]
complex_write.f90: removed extraneous comma.
2004-12-23 Bud Davis <bdavis9659@comcast.net>
* gfortran.dg/complex_write.f90: removed extraneous comma.
From-SVN: r92584
Alan Modra [Fri, 24 Dec 2004 01:51:04 +0000 (01:51 +0000)]
re PR target/19142 (ppc-darwin no longer builds)
PR target/19142
* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow
DFmode for 32-bit again.
From-SVN: r92583
Bud Davis [Fri, 24 Dec 2004 00:29:07 +0000 (00:29 +0000)]
re PR libfortran/19071 (complex formatted output has too many items)
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
GCC Administrator [Fri, 24 Dec 2004 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r92580
Steven G. Kargl [Thu, 23 Dec 2004 23:14:23 +0000 (23:14 +0000)]
gfortran.texi: Fix typo.
2004-12-23 Steven G. Kargl <kargls@comcast.net>
* gfortran.texi: Fix typo.
From-SVN: r92575
Roger Sayle [Thu, 23 Dec 2004 22:48:51 +0000 (22:48 +0000)]
reload.c (regno_clobbered_p): Add a gcc_assert that regno refers to a hard register.
* reload.c (regno_clobbered_p): Add a gcc_assert that regno
refers to a hard register.
From-SVN: r92574
Mark Mitchell [Thu, 23 Dec 2004 22:19:54 +0000 (22:19 +0000)]
re PR c++/17595 (Unfriendly error message/rejects legal #pragmas in the 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
Mark Mitchell [Thu, 23 Dec 2004 22:07:01 +0000 (22:07 +0000)]
re PR c++/17595 (Unfriendly error message/rejects legal #pragmas in the 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
Mark Mitchell [Thu, 23 Dec 2004 21:55:12 +0000 (21:55 +0000)]
gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p.
* gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p.
* g++.dg/opt/temp1.C: Make memcpy actually copy bytes.
From-SVN: r92571
Alexandre Oliva [Thu, 23 Dec 2004 21:39:25 +0000 (21:39 +0000)]
Fixed incorrect PR number.
From-SVN: r92569
Alexandre Oliva [Thu, 23 Dec 2004 21:31:55 +0000 (21:31 +0000)]
* gcc.dg/empty2.c: Add missing dg-warning.
From-SVN: r92566
DJ Delorie [Thu, 23 Dec 2004 20:21:08 +0000 (15:21 -0500)]
genrecog.c (did_you_mean_codes): New.
* genrecog.c (did_you_mean_codes): New.
(compute_predicate_codes): Fail unmatched codes.
From-SVN: r92565
Mark Mitchell [Thu, 23 Dec 2004 19:54:09 +0000 (19:54 +0000)]
re PR c++/17413 (local classes as template argument)
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
Eric Christopher [Thu, 23 Dec 2004 19:39:31 +0000 (19:39 +0000)]
mips.h (TARGET_CPU_CPP_BUILTINS): Add assert for machine=mips for !TARGET_IRIX.
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
Janis Johnson [Thu, 23 Dec 2004 16:55:34 +0000 (16:55 +0000)]
Fix ChangeLog entry from 2004-12-22 from 'dg-xfail-if' to 'dg-skip-if'
From-SVN: r92558
Mark Mitchell [Thu, 23 Dec 2004 16:47:19 +0000 (16:47 +0000)]
* g++.dg/template/crash31.C: Correct embedded PR number.
From-SVN: r92557
Mark Mitchell [Thu, 23 Dec 2004 16:31:16 +0000 (16:31 +0000)]
* cvt.c (convert_to_void): Fix typo in comment.
From-SVN: r92556
Mark Mitchell [Thu, 23 Dec 2004 16:27:11 +0000 (16:27 +0000)]
re PR c++/16405 (Temporary aggregate copy not elided)
PR c++/16405
* gimplify.c (gimplify_modify_expr_rhs): Handle
INDIRECT_REF/ADDR_EXPR combinations.
From-SVN: r92555
Dale Johannesen [Thu, 23 Dec 2004 16:21:31 +0000 (16:21 +0000)]
tree.c (iterative_hash_expr): Canonicalize builtins.
2004-12-23 Dale Johannesen <dalej@apple.com>
* tree.c (iterative_hash_expr): Canonicalize builtins.
From-SVN: r92553
Alexandre Oliva [Thu, 23 Dec 2004 16:12:57 +0000 (16:12 +0000)]
re PR c++/18962 (specialization of template class with inner template 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
Alexandre Oliva [Thu, 23 Dec 2004 16:09:01 +0000 (16:09 +0000)]
re PR target/16819 (ICE with empty struct as arg)
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
Eric Botcazou [Thu, 23 Dec 2004 13:05:50 +0000 (14:05 +0100)]
re PR middle-end/17746 (ICE when building the Ada RTS)
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
Eric Botcazou [Thu, 23 Dec 2004 13:02:33 +0000 (14:02 +0100)]
re PR middle-end/17746 (ICE when building the Ada RTS)
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
Richard Henderson [Thu, 23 Dec 2004 10:38:14 +0000 (02:38 -0800)]
i386.c (override_options): Revert last change wrt fancy 387 math.
* config/i386/i386.c (override_options): Revert last change
wrt fancy 387 math.
From-SVN: r92547
Richard Henderson [Thu, 23 Dec 2004 10:32:42 +0000 (02:32 -0800)]
alpha.md (one_cmpl<mode>2, [...]): New macroized vector operate patterns.
* 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
Richard Henderson [Thu, 23 Dec 2004 10:25:45 +0000 (02:25 -0800)]
target-supports.exp (check_effective_target_vect_no_align): Remove i?86 and x86-64.
* lib/target-supports.exp (check_effective_target_vect_no_align):
Remove i?86 and x86-64.
From-SVN: r92544
Richard Henderson [Thu, 23 Dec 2004 10:20:04 +0000 (02:20 -0800)]
i386.c (ix86_expand_vector_move): Tidy.
* 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
Mark Mitchell [Thu, 23 Dec 2004 08:14:33 +0000 (08:14 +0000)]
re PR c++/16405 (Temporary aggregate copy not elided)
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
Richard Henderson [Thu, 23 Dec 2004 08:08:59 +0000 (00:08 -0800)]
alpha.c (alpha_expand_mov): Split out ...
* 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
Richard Henderson [Thu, 23 Dec 2004 07:58:41 +0000 (23:58 -0800)]
optabs.h (OTI_movmisalign, [...]): New.
* 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
Richard Henderson [Thu, 23 Dec 2004 07:49:24 +0000 (23:49 -0800)]
emmintrin.h (_mm_loadh_pd): Don't cast pointer arg to __v2si.
* 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
Alan Modra [Thu, 23 Dec 2004 07:34:45 +0000 (07:34 +0000)]
re PR target/18751 (ICE in expr.c:5083, profiledbootstrap)
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
Richard Henderson [Thu, 23 Dec 2004 07:23:31 +0000 (23:23 -0800)]
i386.md (btsq, btrq, btcq): Fix modes.
* config/i386/i386.md (btsq, btrq, btcq): Fix modes.
(bt peepholes): Likewise.
From-SVN: r92534
Richard Henderson [Thu, 23 Dec 2004 07:13:05 +0000 (23:13 -0800)]
* varasm.c (force_const_mem): Call set_mem_align.
From-SVN: r92533
Richard Henderson [Thu, 23 Dec 2004 06:18:22 +0000 (22:18 -0800)]
predicates.md (sse_comparison_operator): Fix typo in ieee test.
* config/i386/predicates.md (sse_comparison_operator): Fix
typo in ieee test.
(arith_or_logical_operator): Downcase codes.
From-SVN: r92532
Kaz Kojima [Thu, 23 Dec 2004 04:53:48 +0000 (04:53 +0000)]
re PR target/18511 (cc1plus segfaults when compiling 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
Richard Henderson [Thu, 23 Dec 2004 03:49:04 +0000 (19:49 -0800)]
i386.c (override_options): Respect user disable of fancy 387 math, sse, mmx.
* config/i386/i386.c (override_options): Respect user disable of
fancy 387 math, sse, mmx.
(construct_container): Generate error if we need an sse regster
and sse has been disabled.
* config/i386/i386.h (TARGET_SWITCHES): Disabling sse also disables
later sse generations. Disabling mmx also disables 3dnow.
From-SVN: r92530
Daniel Berlin [Thu, 23 Dec 2004 02:50:24 +0000 (02:50 +0000)]
tree-inline.c (struct inline_data): Remove inlined_fns.
2004-12-22 Daniel Berlin <dberlin@dberlin.org>
* tree-inline.c (struct inline_data): Remove inlined_fns.
(expand_call_inline): Remove dead code setting
inlined_fns.
(optimize_inline_calls): Remove dead code setting DECL_INLINED_FNS.
* tree.h (struct tree_decl): Remove inlined_fns.
From-SVN: r92529
Giovanni Bajo [Thu, 23 Dec 2004 01:49:39 +0000 (01:49 +0000)]
re PR c++/18733 (friend rejected)
PR c++/18733
* pt.c (check_explicit_specialization): Use special logic to validate
befriended specializations.
PR c++/18733
* g++.dg/template/friend33.C: New testcase.
From-SVN: r92527
Roger Sayle [Thu, 23 Dec 2004 01:22:18 +0000 (01:22 +0000)]
* tree-browser.c: Remove obsolete #ifdef HOST_EBCDIC code.
From-SVN: r92525
GCC Administrator [Thu, 23 Dec 2004 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r92523
Alan Modra [Thu, 23 Dec 2004 00:15:17 +0000 (10:45 +1030)]
fix overlong line
From-SVN: r92520
Alan Modra [Thu, 23 Dec 2004 00:10:45 +0000 (00:10 +0000)]
re PR target/18896 (addressing split complex parm)
PR target/18896
* function.c (split_complex_args): Set DECL_ARTIFICIAL and DECL_IGNORED_P
for real and imaginary parts if the parm is addressable.
(assign_parms_unsplit_complex): If parm addressable, save real
and imaginary parts to a stack temp. Pass assign_parm_data_all.
(assign_parms): Adjust assign_parms_unsplit_complex call.
From-SVN: r92519
Daniel Berlin [Wed, 22 Dec 2004 22:32:15 +0000 (22:32 +0000)]
tree.h (DECL_PTA_ALIASVAR): Dead.
2004-12-22 Daniel Berlin <dberlin@dberlin.org>
* tree.h (DECL_PTA_ALIASVAR): Dead.
(struct tree_decl): Remove alias_var field.
From-SVN: r92515
Nathan Sidwell [Wed, 22 Dec 2004 22:06:35 +0000 (22:06 +0000)]
system.h (IN_RANGE): Restore HOST_WIDE_INT cast.
* system.h (IN_RANGE): Restore HOST_WIDE_INT cast.
* tree.h (IS_EXPR_CODE_CLASS): Do not use IN_RANGE.
From-SVN: r92511
Mark Mitchell [Wed, 22 Dec 2004 21:32:33 +0000 (21:32 +0000)]
* rtti.c (emit_support_tinfos): Avoid using C99 semantics.
From-SVN: r92504
Richard Henderson [Wed, 22 Dec 2004 19:07:44 +0000 (11:07 -0800)]
i386.md (truncdfsf2): Don't create stack temp when using sse math only.
* config/i386/i386.md (truncdfsf2): Don't create stack temp when
using sse math only. Use truncdfsf2_with_temp.
(truncdfsf2_with_temp): New.
(truncdfsf_fast_i387): Rename from truncdfsf2_noop. Add memory
output alternative.
(truncdfsf_mixed): Rename from truncdfsf2_1_sse. Compress duplicate
alternatives.
(truncdfsf_fast_sse): Rename from truncdfsf2_2. Remove f alternative.
(truncdfsf2_3, truncdfsf2_sse_only): Remove.
(truncdfsf_i387): Rename from truncdfsf2_1. Compress duplicates.
(truncdfsf_fast_mixed): New.
(truncdfsf splitters): Remove all except the 387 load/store split.
(truncxfsf2_1, truncxfdf2_1): Unify enable constraint with
respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH and
TARGET_MIX_SSE_I387.
(*truncxf{s,d}f2_1): Rename to *truncxf{s,d}f2_mixed.
(truncxf{s,d}f2_noop) Rename to truncxf{d,s}f2_i387_noop.
(*truncxf{s,d}f2_i387): New patterns.
(*truncxf{s,d}f2_2): Rename to *truncxf{s,d}f2_i387_1.
(truncxf{s,d}f2, fmod{s,d}f3, drem{s,d}f3, log1p{s,d}f2,
rint{s,d}f2, floor{s,d}f2, ceil{s,d}f2, btrunc{s,d}f2,
nearbyint{s,d}f2): Use renamed patterns.
Co-Authored-By: Uros Bizjak <uros@kss-loka.si>
From-SVN: r92498
Richard Henderson [Wed, 22 Dec 2004 18:51:24 +0000 (10:51 -0800)]
[multiple changes]
2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* trans.c (mark_visited): Set TYPE_SIZES_GIMPLIFIED.
2004-12-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* tree.h (TYPE_SIZES_GIMPLIFIED): New.
* function.c (gimplify_parm_type): Don't gimplify type if already done.
* gimplify.c (gimplify_decl_expr): Likewise.
(gimplify_type_sizes): Set TYPE_SIZES_GIMPLIFIED. Examine nested
array types.
2004-12-22 Richard Henderson <rth@redhat.com>
* gimplify.c (eval_save_expr): Remove.
(gimplify_one_sizepos): Unshare expr before gimplifying.
* stor-layout.c (variable_size): Revert 2004-12-19 change.
(layout_decl): Revert 2004-12-18 change.
(layout_type): Revert 2004-12-21 change.
From-SVN: r92495
Richard Kenner [Wed, 22 Dec 2004 18:43:44 +0000 (18:43 +0000)]
* tree-sra.c (type_can_be_decomposed_p): Reject variable sized types.
From-SVN: r92494
Paolo Carlini [Wed, 22 Dec 2004 18:40:52 +0000 (18:40 +0000)]
type_traits_fwd.h: New, forward declarations.
2004-12-22 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits_fwd.h: New, forward declarations.
* include/tr1/type_traits: Clean-up.
* include/Makefile.am: Add.
* include/Makefile.in: Regenerate.
From-SVN: r92493
Mark Mitchell [Wed, 22 Dec 2004 18:00:39 +0000 (18:00 +0000)]
re PR c++/18464 (error message about "non-lvalue in unary '&'" when using ?: operator)
PR c++/18464
* call.c (build_this): In templates, do not bother with
build_unary_op.
* typeck.c (unary_complex_lvalue): In a template, always refuse
simplifications.
PR c++/18492
* cp-gimplify.c (cp_genericize): Relax assertion.
PR c++/11224
* cvt.c (convert_to_void): Warn about unused values.
PR c++/18257
* rtti.c (emit_support_tinfos): On systems without weak symbols,
emit the runtime library type-info objects as non-COMDAT.
PR c++/18464
* g++.dg/template/cond5.C: New test.
PR c++/18492
* g++.dg/inherit/thunk3.C: New test.
PR c++/11224
* g++.dg/warn/Wunused-9.C: New test.
From-SVN: r92491
Janis Johnson [Wed, 22 Dec 2004 17:51:01 +0000 (17:51 +0000)]
* lib/gcc-dg.exp (dg-xfail-if): Fix the flags compared against.
From-SVN: r92490
Mark Mitchell [Wed, 22 Dec 2004 17:22:59 +0000 (17:22 +0000)]
Makefile.in (install-common): Remove special-case code for when SPECS is defined.
* Makefile.in (install-common): Remove special-case code for when
SPECS is defined.
From-SVN: r92489
Jan Beulich [Wed, 22 Dec 2004 08:41:43 +0000 (08:41 +0000)]
config.gcc: Add dbxelf.h to NetWare's tm_file.
gcc/
2004-12-22 Jan Beulich <jbeulich@novell.com>
* config.gcc: Add dbxelf.h to NetWare's tm_file.
* config/i386/netware-crt0.c: Prototype __init_environment and
__deinit_environment prior to their definition.
(__init_environment): Correct invokation of constructor function.
* config/i386/netware.h (TARGET_OS_CPP_BUILTINS): Use
builtin_define_std rather than builtin_define on IAPX386.
* config/i386/nwld.h: Disable stabs debugging info with the linker
this file supports.
* config/i386/t-nwld (SHLIB_LINK): Do not use a temporary file for
the output. Add -posix to the options as that is the more compatible
mode.
* gthr-nks.h: Formatting.
(__gthread_mutex_init_function): Kill the dubious use of
NX_MUTEX_RECURSIVE as it is now clear that the traditional mutexes
were not meant to be recursive.
(__gthread_recursive_mutex_t, __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION,
__gthread_recursive_mutex_init_function,
__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
__gthread_recursive_mutex_unlock): New.
gcc/testsuite/
2004-12-22 Jan Beulich <jbeulich@novell.com>
* gcc.dg/
20040813-1.c: Skip for *-*-netware*.
From-SVN: r92488
Alexandre Oliva [Wed, 22 Dec 2004 06:02:15 +0000 (06:02 +0000)]
t-linux64: Remove code that messed with $(SPECS).
* config/mips/t-linux64: Remove code that messed with $(SPECS).
(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Move
n32 to the front.
(MULTILIB_EXTRA_OPTS, CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S):
Removed.
* config/mips/linux64.h (DRIVER_SELF_SPECS): Don't handle
-mabi-fake-default.
(SUBTARGET_TARGET_SWITCHES): Likewise.
From-SVN: r92487
Mark Mitchell [Wed, 22 Dec 2004 03:34:55 +0000 (03:34 +0000)]
re PR c++/18378 (ICE when returning a copy of a packed member)
PR c++/18378
* call.c (convert_like_real): Do not permit the use of a copy
constructor to copy a packed field.
PR c++/17413
* decl.c (grokdeclarator): Return error_mark_node, not
void_type_node, to indicate errors.
* parser.c (cp_parser_template_parameter_list): Robustify.
(cp_parser_template_parameter): Likewise.
PR c++/19034
* tree.c (cp_tree_equal): Handle OVERLOAD.
PR c++/18378
* g++.dg/ext/packed8.C: New test.
PR c++/13268
* g++.dg/template/crash31.C: New test.
PR c++/19034
* g++.dg/template/crash30.C: New test.
From-SVN: r92486
Volker Reichelt [Wed, 22 Dec 2004 02:38:15 +0000 (02:38 +0000)]
decl.c (define_label): Use POP_TIMEVAR_AND_RETURN.
* decl.c (define_label): Use POP_TIMEVAR_AND_RETURN.
* name-lookup.c (pushdecl_class_level): Likewise.
From-SVN: r92485
Volker Reichelt [Wed, 22 Dec 2004 02:11:35 +0000 (02:11 +0000)]
* name-lookup.c (pushtag): Add missing POP_TIMEVAR_AND_RETURN.
From-SVN: r92484
GCC Administrator [Wed, 22 Dec 2004 00:16:16 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r92479
Andrew Pinski [Tue, 21 Dec 2004 21:20:02 +0000 (21:20 +0000)]
re PR c++/18984 (ICE in check_pointer_types_r)
2004-12-21 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/18984
* pointer-set.c (pointer_set_contains): Add back.
* pointer-set.h (pointer_set_contains): Add back.
2004-12-21 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/18984
* cp-gimplify.c (cp_genericize_r): Don't insert first but instead
check to see if contains the pointer. Insert the statement before
returning.
2004-12-21 Andrew Pinski <pinskia@physics.uc.edu>
PR C++/18984
* g++.dg/eh/ctor3.C: New test.
From-SVN: r92470
Eric Botcazou [Tue, 21 Dec 2004 21:02:05 +0000 (22:02 +0100)]
stabs-1.m: Allow section name to be quoted and assembly label to begin with '.LL'.
* objc.dg/stabs-1.m: Allow section name to be quoted and
assembly label to begin with '.LL'.
From-SVN: r92469
Richard Henderson [Tue, 21 Dec 2004 19:27:08 +0000 (11:27 -0800)]
gimplify.c (eval_save_expr): New.
* gimplify.c (eval_save_expr): New.
(gimplify_one_sizepos): Use it.
* stor-layout.c (layout_type): Unshare TYPE_MIN/MAX_VALUE.
From-SVN: r92468
Janis Johnson [Tue, 21 Dec 2004 18:05:36 +0000 (18:05 +0000)]
* gcc.dg/vect/vect.exp
(check_effective_target_lp64_or_vect_no_align): New.
* gcc.dg/vect/vect-77.c: Use it.
* gcc.dg/vect/vect-78.c: Use it.
From-SVN: r92467
Janis Johnson [Tue, 21 Dec 2004 18:03:31 +0000 (18:03 +0000)]
target-supports.exp (check_effective_target_vect_no_max, [...]): New.
* lib/target-supports.exp
(check_effective_target_vect_no_max,
check_effective_target_vect_no_bitwise,
check_effective_target_vect_no_align): New.
* gcc.dg/vect/vect-13.c: Use them.
* gcc.dg/vect/vect-17.c: Ditto.
* gcc.dg/vect/vect-18.c: Ditto.
* gcc.dg/vect/vect-19.c: Ditto.
* gcc.dg/vect/vect-20.c: Ditto.
* gcc.dg/vect/vect-27.c: Ditto.
* gcc.dg/vect/vect-29.c: Ditto.
* gcc.dg/vect/vect-44.c: Ditto.
* gcc.dg/vect/vect-48.c: Ditto.
* gcc.dg/vect/vect-50.c: Ditto.
* gcc.dg/vect/vect-52.c: Ditto.
* gcc.dg/vect/vect-54.c: Ditto.
* gcc.dg/vect/vect-56.c: Ditto.
* gcc.dg/vect/vect-58.c: Ditto.
* gcc.dg/vect/vect-60.c: Ditto.
* gcc.dg/vect/vect-72.c: Ditto.
* gcc.dg/vect/vect-80.c: Ditto.
From-SVN: r92466
Nathan Sidwell [Tue, 21 Dec 2004 17:54:25 +0000 (17:54 +0000)]
re PR c++/14075 (("foo") accepted as char[] initializer)
cp:
PR c++/14075
* decl.c (check_initializer): Check string initializer of array is
not parenthesized.
* cp-tree.h (PAREN_STRING_LITERAL_P): New.
* semantics.c (finish_parenthesized_expr): Mark a STRING_CST.
* error.c (dump_expr): <STRING_CST case> Add parens, if needed.
testsuite:
PR c++/14075
* g++.dg/init/string1.C: New.
From-SVN: r92464
Nathan Sidwell [Tue, 21 Dec 2004 17:43:27 +0000 (17:43 +0000)]
system.c (IN_RANGE): Use plain unsigned, not unsigned HOST_WIDE_INT.
* system.c (IN_RANGE): Use plain unsigned, not unsigned
HOST_WIDE_INT.
* tree.def (VOID_TYPE, INTEGER_TYPE, REAL_TYPE, COMPLEX_TYPE,
VECTOR_TYPE, OFFSET_TYPE, ENUMERAL_TYPE, BOOLEAN_TYPE, CHAR_TYPE,
POINTER_TYPE, REFERENCE_TYPE, METHOD_TYPE, FUNCTION_TYPE,
FILE_TYPE, ARRAY_TYPE, RECORD_TYPE, UNION_TYPE,
QUAL_UNION_TYPE): Reorder for better code efficiency.
(CONST_DECL, TYPE_DECL, VAR_DECL, FIELD_DECL, PARM_DECL): Likewise.
(INDIRECT_REF, ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF): Likewise.
* tree.h (INDIRECT_REF_P): Reorder checks for better optimization.
(IS_EXPR_CODE_CLASS): Use IN_RANGE.
(INTEGRAL_TYPE_P, FLOAT_TYPE_P): Reorder checks for better
optimization.
* cp/cp-tree.def (TEMPLATE_TYPE_PARM,
BOUND_TEMPLATE_TEMPLATE_PARM, TYPE_OF_TYPE, TYPENAME_TYPE): Reorder
for better code efficiency.
* cp/cp-tree.h (CLASS_TYPE_P): Short circuit IS_AGGR_TYPE check.
(CAN_HAVE_FULL_LANG_DECL_P): Reorder for better optimization.
(INTEGRAL_CODE_P, CP_INTEGRAL_TYPE_P,
INTEGRAL_OR_ENUMERATION_TYPE_P, SCALAR_TYPE_P,
CP_AGGREGATE_TYPE_P, TYPE_PTROB_P, TYPE_REF_OBJ_P,
TYPE_PTROBV_P): Likewise.
From-SVN: r92463
David O'Brien [Tue, 21 Dec 2004 17:34:18 +0000 (17:34 +0000)]
freebsd-spec.h: Use KSE pthread lib for -pthread.
2004-12-21 David O'Brien <obrien@FreeBSD.org>
* config/freebsd-spec.h: Use KSE pthread lib for -pthread.
From-SVN: r92462