Richard Henderson
9690a82122
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
2004-12-23 02:38:14 -08:00
Richard Henderson
e26b63b29f
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
2004-12-23 02:32:42 -08:00
Richard Henderson
3e8aba3481
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
2004-12-23 02:25:45 -08:00
Richard Henderson
c38573a8d0
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
2004-12-23 02:20:04 -08:00
Mark Mitchell
f98625f6a5
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
2004-12-23 08:14:33 +00:00
Richard Henderson
ad78a663e8
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
2004-12-23 00:08:59 -08:00
Richard Henderson
1e0598e25c
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
2004-12-22 23:58:41 -08:00
Richard Henderson
1c47af84a3
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
2004-12-22 23:49:24 -08:00
Alan Modra
5e5f01b969
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
2004-12-23 18:04:45 +10:30
Richard Henderson
ad4f9e7ebb
i386.md (btsq, btrq, btcq): Fix modes.
...
* config/i386/i386.md (btsq, btrq, btcq): Fix modes.
(bt peepholes): Likewise.
From-SVN: r92534
2004-12-22 23:23:31 -08:00
Richard Henderson
d5606ec91f
* varasm.c (force_const_mem): Call set_mem_align.
...
From-SVN: r92533
2004-12-22 23:13:05 -08:00
Richard Henderson
513618db0a
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
2004-12-22 22:18:22 -08:00
Kaz Kojima
2ca396208c
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
2004-12-23 04:53:48 +00:00
Richard Henderson
a5370cf0e6
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
2004-12-22 19:49:04 -08:00
Daniel Berlin
b9cd7e9d86
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
2004-12-23 02:50:24 +00:00
Giovanni Bajo
f65b7de376
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
2004-12-23 01:49:39 +00:00
Roger Sayle
4ca551d190
* tree-browser.c: Remove obsolete #ifdef HOST_EBCDIC code.
...
From-SVN: r92525
2004-12-23 01:22:18 +00:00
GCC Administrator
a1df694e93
Daily bump.
...
From-SVN: r92523
2004-12-23 00:16:26 +00:00
Alan Modra
07b7380ef7
fix overlong line
...
From-SVN: r92520
2004-12-23 10:45:17 +10:30
Alan Modra
6ccd356e0d
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
2004-12-23 10:40:45 +10:30
Daniel Berlin
4407522029
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
2004-12-22 22:32:15 +00:00
Nathan Sidwell
938802033e
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
2004-12-22 22:06:35 +00:00
Mark Mitchell
5e001b48af
* rtti.c (emit_support_tinfos): Avoid using C99 semantics.
...
From-SVN: r92504
2004-12-22 21:32:33 +00:00
Richard Henderson
5b1f1e63f9
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
2004-12-22 11:07:44 -08:00
Richard Henderson
ad50bc8d80
[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
2004-12-22 10:51:24 -08:00
Richard Kenner
ba9ce455bb
* tree-sra.c (type_can_be_decomposed_p): Reject variable sized types.
...
From-SVN: r92494
2004-12-22 10:43:44 -08:00
Paolo Carlini
821c5063f9
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
2004-12-22 18:40:52 +00:00
Mark Mitchell
dfb5c52315
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
2004-12-22 18:00:39 +00:00
Janis Johnson
606145e4e0
* lib/gcc-dg.exp (dg-xfail-if): Fix the flags compared against.
...
From-SVN: r92490
2004-12-22 17:51:01 +00:00
Mark Mitchell
e90f1b9de7
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
2004-12-22 17:22:59 +00:00
Jan Beulich
f199d860ae
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
2004-12-22 08:41:43 +00:00
Alexandre Oliva
340beeb5c2
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
2004-12-22 06:02:15 +00:00
Mark Mitchell
943e3eded2
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
2004-12-22 03:34:55 +00:00
Volker Reichelt
be99edf883
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
2004-12-22 02:38:15 +00:00
Volker Reichelt
a90f8ad5fb
* name-lookup.c (pushtag): Add missing POP_TIMEVAR_AND_RETURN.
...
From-SVN: r92484
2004-12-22 02:11:35 +00:00
GCC Administrator
df35e33cd5
Daily bump.
...
From-SVN: r92479
2004-12-22 00:16:16 +00:00
Andrew Pinski
af76441ffa
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
2004-12-21 13:20:02 -08:00
Eric Botcazou
697290b71d
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
2004-12-21 21:02:05 +00:00
Richard Henderson
b4830636f8
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
2004-12-21 11:27:08 -08:00
Janis Johnson
1126bfdd6b
* 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
2004-12-21 18:05:36 +00:00
Janis Johnson
eeea13c2cd
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
2004-12-21 18:03:31 +00:00
Nathan Sidwell
7a8380aebb
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
2004-12-21 17:54:25 +00:00
Nathan Sidwell
38b3627d6f
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
2004-12-21 17:43:27 +00:00
David O'Brien
1763d00076
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
2004-12-21 17:34:18 +00:00
Nathan Sidwell
fd749a603d
re PR c++/18975 (Copying objects with mutable non-static data members)
...
cp:
PR c++/18975
* method.c (do_build_copy_constructor): Refactor. Don't const
qualify a mutable field.
(do_build_assign_ref): Likewise.
testsuite:
PR c++/18975
* g++.dg/other/synth1.C: New.
From-SVN: r92461
2004-12-21 17:28:35 +00:00
James A. Morrison
ebef4d3044
re PR c/18963 (static and nested declarations cause an ice)
...
2004-12-21 James A. Morrison <phython@gcc.gnu.org>
PR c/18963
* c-decl.c (pushdecl): Remove block trying to merge static function
declarations at block scope to file scope declarations.
testsuite:
PR c/18963
* gcc.dg/pr18963-1.c: New test.
From-SVN: r92460
2004-12-21 17:07:06 +00:00
James A. Morrison
6f17bbcf05
re PR c/18596 (ICE in make_decl_rtl)
...
2004-12-19 James A. Morrison <phython@gcc.gnu.org>
PR c/18596
* c-parse.in (initdcl): Don't process a declaration if start_decl fails.
(notype_initdcl): Don't process a declaration if start_decl fails.
* c-decl.c (start_decl): Fail if grokdeclarator fails.
(grokdeclarator): Fail if a function definition has an invalid storage
class.
* c-typeck.c (start_init): Treat error_mark_node the same as 0.
testsuite:
PR c/18596
* gcc.dg/funcdef-storage-1.c (foo): Remove.
* gcc.dg/pr18596-1.c: Use dg-error.
(dg-options): Use -fno-unit-at-a-time.
* gcc.dg/pr18596-2.c: New test.
* gcc.dg/pr18596-3.c: New test.
From-SVN: r92459
2004-12-21 17:01:08 +00:00
Richard Henderson
41afe4ef3e
i386.c (x86_sse_split_regs): Rename from x86_sse_partial_regs.
...
* config/i386/i386.c (x86_sse_split_regs): Rename from
x86_sse_partial_regs.
* config/i386/i386.h (x86_sse_split_regs): Likewise.
(TARGET_SSE_SPLIT_REGS): Rename from TARGET_SSE_PARTIAL_REGS.
* config/i386/i386.md (*): Update to match. Remove two
floatsisf splitters that use it.
From-SVN: r92458
2004-12-21 08:46:04 -08:00
Richard Henderson
1db70317b3
i386.c (x86_sse_partial_regs_for_cvtsd2ss): Remove.
...
* config/i386/i386.c (x86_sse_partial_regs_for_cvtsd2ss): Remove.
* config/i386/i386.h (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): Remove.
* config/i386/i386.md (truncdfsf2_1_sse): Don't test it.
(truncdfsf2_2, truncdfsf2_sse_only): Likewise.
(truncdfsf2_1_sse_nooverlap, truncdfsf2_2_nooverlap): Remove.
(truncdfsf2_sse_only_nooverlap): Remove.
From-SVN: r92457
2004-12-21 08:06:50 -08:00
Richard Henderson
944c6ecc79
* config/i386/i386.h (TARGET_SSE_TYPELESS_LOAD0): Remove.
...
From-SVN: r92456
2004-12-21 07:45:05 -08:00