Commit Graph

42519 Commits

Author SHA1 Message Date
Neil Booth
87ed109f1f cppexp.c (lex): Update to use state.skip_eval.
* cppexp.c (lex): Update to use state.skip_eval.
	(struct op): Remove prio and flags members.
	(FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
	SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
	(LEFT_ASSOC): New macro.
	(optab): New table of operator priorities and flags.
	(SHIFT): Update.
	(_cpp_parse_expr): Clean up logic.  Return bool.  Use a
	malloc-ed parser stack.
	(reduce): New; reduce the operator stack.
	(_cpp_expand_op_stack): Expand the operator stack as necessary.
	* cpphash.h (struct op): Predeclare.
	(struct cpp_reader): New members op_stack, op_limit.
	(struct lexer_state): New member skip_eval.
	(_cpp_parse_expr): Update.
	(_cpp_expand_op_stack): New.
	* cpplib.c (do_if): Update.
	* cppinit.c (cpp_create_reader): Create op stack.
	(cpp_destroy): And destroy it.
	* cpplib.h (CPP_LAST_CPP_OP): Correct.
	(TTYPE_TABLE): Correct.
testsuite:
	* gcc.dg/cpp/if-mop.c: Update.
	* gcc.dg/cpp/if-mpar.c: Add test.
	* gcc.dg/cpp/if-oppr.c: Update.

From-SVN: r52853
2002-04-28 19:42:54 +00:00
Mark Mitchell
14dbfa7008 * .cvsignore: Remove files that are present in CVS.
From-SVN: r52845
2002-04-28 18:41:51 +00:00
Franz Sirl
45806a3fd4 re PR c/6343 (attribute((weak)) not working on second declaration)
2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	PR c/6343
	* c-decl.c (duplicate_decls): Call merge_weak.
	* c-pragma.c (apply_pragma_weak): Warn about misuse.
	* output.h (merge_weak): Prototype merge_weak.
	* varasm.c (merge_weak): New function.
	(declare_weak): Make sure we don't give an error on VAR_DECLs.
	Mark RTL with SYMBOL_REF_WEAK.

cp:
	* decl.c (duplicate_decls): Call merge_weak.

testsuite:
	* gcc.dg/weak-[2-7].c: New tests.

From-SVN: r52844
2002-04-28 18:31:34 +00:00
Paolo Carlini
32c8d10081 [multiple changes]
2002-04-28  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/ext/stl_hashtable.h: Import __iterator_category

2002-04-28  Paolo Carlini  <pcarlini@unitus.it>
            Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* testsuite/ext/hash_set.cc: New testfile.

From-SVN: r52843
2002-04-28 16:21:32 +00:00
GCC Administrator
ba29591d2f Daily bump.
From-SVN: r52842
2002-04-28 07:17:18 +00:00
Benjamin Kosnik
82f637d15d os_defines.h: Remove _G_USING_THUNKS.
2002-04-27  Benjamin Kosnik  <bkoz@redhat.com>

	* config/os/solaris/solaris2.5/bits/os_defines.h: Remove
	_G_USING_THUNKS.
	* config/os/solaris/solaris2.6/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.7/bits/os_defines.h: Same.

From-SVN: r52838
2002-04-28 00:42:12 +00:00
Tom Tromey
0a32c5ea4a For PR java/6382:
* parse.y (string_convert_int_cst): New function.
	(merge_string_cste): Use it.

From-SVN: r52835
2002-04-27 20:31:42 +00:00
Kurt Garloff
a62271540b tree-inline.c (inlinable_function_p): Improve heuristics by using a smoother function to cut down allowable inlinable...
* tree-inline.c (inlinable_function_p): Improve heuristics
        by using a smoother function to cut down allowable inlinable size.
        * param.def: Add parameters max-inline-insns-single,
        max-inline-slope, min-inline-insns that determine the exact
        shape of the above function.
        * param.h: Likewise.

From-SVN: r52832
2002-04-27 11:59:40 -07:00
GCC Administrator
c3a6afe78d Daily bump.
From-SVN: r52831
2002-04-27 07:17:23 +00:00
Richard Henderson
94a5039703 c-parse.in (malloced_yyss, [...]): New.
* c-parse.in (malloced_yyss, malloced_yyvs): New.
        (yyoverflow): Re-add.  Set them.
        (free_parser_stacks): New.
        * c-common.h: Declare it.
        * c-lex.c (c_common_parse_file): Call it.

        * parse.y (malloced_yyss, malloced_yyvs): New.
        (yyoverflow): Re-add.  Set them.
        (free_parser_stacks): New.

From-SVN: r52827
2002-04-26 23:53:07 -07:00
Richard Henderson
9c0a0632bc cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn for fallthru search.
* cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
        for fallthru search.

From-SVN: r52826
2002-04-26 23:41:38 -07:00
Eric Christopher
b875d2eec1 re PR rtl-optimization/3700 (ISSUE_RATE not defined for mips target)
2002-04-26  Eric Christopher  <echristo@redhat.com>

	PR optimization/3700
	* config/mips/mips.c (mips_issue_rate): Define.  New function.
	(TARGET_SCHED_ISSUE_RATE): Use.

From-SVN: r52825
2002-04-27 02:33:37 +00:00
Mark Mitchell
cf6a5491cb re PR bootstrap/6445 (ICE bootstrapping objc for i386-rtems)
PR bootstrap/6445
	* config/i386/i386.md (untyped_call): Return the value in a float
	register if TARGET_FLOAT_RETURNS_IN_80387, not just if
	TARGET_80387.

From-SVN: r52824
2002-04-27 00:26:36 +00:00
David S. Miller
1db828df54 re PR target/6422 (libjava failures on sparc-linux)
2002-04-25  David S. Miller  <davem@redhat.com>

	PR target/6422
	* reorg.c (optimize_skip): Do not allow exception causing
	instructions to be considered for delay slots.
	(fill_simply_delay_slots, fill_slots_from_thread): Likewise.
	(relax_delay_slots): Do not try to consider exception causing
	instructions as redundant.

From-SVN: r52822
2002-04-26 17:07:16 -07:00
David S. Miller
6ea531707a re PR target/6422 (libjava failures on sparc-linux)
2002-04-25  David S. Miller  <davem@redhat.com>

	PR target/6422
	* include/dwarf2-signal.h (MAKE_THROW_FRAME for sparc*): Set
	program counter to next program counter minus 8.  Update
	comments in this macro to explain why.

From-SVN: r52820
2002-04-26 17:04:14 -07:00
Alexandre Oliva
51ccaeb904 * gcc.dg/enum1.c: New test.
From-SVN: r52815
2002-04-26 23:44:46 +00:00
Tom Tromey
b446a5f169 verify.cc (construct_primitive_array_type): New case.
* verify.cc (construct_primitive_array_type) [void_type]: New
	case.
	(branch_prepass): Added dummy entries for unused instruction
	values.
	(verify_instructions_0): Likewise.
	* interpret.cc (continue1): Comment fix.
	* include/java-insns.h (op_xxxunusedxxx1): Removed.
	* Makefile.in: Rebuilt.
	* Makefile.am: Added -Wswitch-enum.

From-SVN: r52814
2002-04-26 22:39:29 +00:00
Joel Sherrill
9e84766671 configure.in (h8300*-*-rtems*): Disable libf2c and libgcj.
2002-04-26	Joel Sherrill <joel@OARcorp.com>

	* configure.in (h8300*-*-rtems*): Disable libf2c and libgcj.
	(sparc-*-elf*, sparc64-*-elf*): Disable libgcj.

From-SVN: r52813
2002-04-26 22:30:19 +00:00
Richard Henderson
ae5d234e11 c-typeck.c (build_unary_op): Invoke non_lvalue.
* c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
	* gcc.dg/lvalue1.c: New.

From-SVN: r52812
2002-04-26 14:56:55 -07:00
Mark Mitchell
7d793e9b25 re PR bootstrap/6445 (ICE bootstrapping objc for i386-rtems)
PR bootstrap/6445
	* config/i386/i386.md (untyped_call): Return the value in a float
	register if TARGET_FLOAT_RETURNS_IN_80387, not just if
	TARGET_80387.

	PR c++/6497
	* method.c (do_build_assign_ref): Pass a derivation to
	build_method_call when calling base class assignment operators.

	PR c++/6497
	* g++.dg/inherit/access2.C: New test.

	PR bootstrap/6445
	* gcc.dg/20020426-1.c: New test.

From-SVN: r52809
2002-04-26 21:28:47 +00:00
Alexandre Oliva
48ba95387d * g++.dg/abi/enum1.C: New test.
From-SVN: r52804
2002-04-26 20:09:56 +00:00
Alexandre Oliva
b13ab42c86 tree.c (tree_int_cst_lt): Compare constants whose types differ in unsigned-ness correctly.
* tree.c (tree_int_cst_lt): Compare constants whose types differ
in unsigned-ness correctly.

From-SVN: r52802
2002-04-26 19:35:33 +00:00
John David Anglin
5e56f90934 pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the portable runtime model.
* pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
	portable runtime model.

From-SVN: r52800
2002-04-26 18:58:16 +00:00
Paolo Carlini
adf2e3e668 basic_string.h (replace(__pos, __n1, __s, __n2): Fix and tighten __throw_length_error check.
2002-04-26  Paolo Carlini  <pcarlini@unitus.it>

	* include/bits/basic_string.h (replace(__pos, __n1, __s, __n2):
	Fix and tighten __throw_length_error check.
	* testsuite/21_strings/replace.cc (test05): New.
	* testsuite/21_strings/replace.cc (test02, test03, test04): Tweak.

From-SVN: r52797
2002-04-26 18:21:32 +00:00
Richard Henderson
bde3c0c07d c-parse.in (yyoverflow): Revert.
* c-parse.in (yyoverflow): Revert.
        * parse.y (yyoverflow): Revert.

From-SVN: r52794
2002-04-26 10:04:37 -07:00
David Edelsohn
5276df1857 rs6000.md (sCC pattern): Remove clobber and use result as temporary value.
* config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
        result as temporary value.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r52793
2002-04-26 11:23:26 -04:00
Richard Henderson
b84a387434 c-common.c (fix_string_type): Split out of ...
* c-common.c (fix_string_type): Split out of ...
        (combine_strings): ... here.  Take a varray, not a tree list.
        (c_expand_builtin_printf): Use fix_string_type.
        * c-common.h: Update decls.
        * c-parse.in (string): Remove.  Update all uses to use STRING
        instead, and not call combine_strings.
        (yylexstring): New.
        (_yylex): Use it.
        * c-typeck.c (simple_asm_stmt): Don't call combine_strings.
        (build_asm_stmt): Likewise.
        * objc/objc-act.c (my_build_string): Use fix_string_type.
        (build_objc_string_object): Build varray for combine_strings.

        * parse.y (string): Remove.  Update all uses to use STRING
        instead, and not call combine_strings.
        * rtti.c (tinfo_name): Use fix_string_type.
        * semantics.c (finish_asm_stmt): Don't call combine_strings.
        * spew.c (yylexstring): New.
        (read_token): Use it.

	* g++.dg/parse/concat1.C: New.
	* gcc.dg/concat2.c: New.

From-SVN: r52790
2002-04-26 00:40:12 -07:00
Richard Henderson
4d7ea4fc78 * gcc.dg/c99-bool-1.c: Expect always true warning.
From-SVN: r52787
2002-04-26 00:24:39 -07:00
GCC Administrator
7ba47445b3 Daily bump.
From-SVN: r52786
2002-04-26 07:17:49 +00:00
Bo Thorsen
d8ae8cd480 linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for x86-64.
2002-04-26  Bo Thorsen  <bo@suse.co.uk>

	* config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
	x86-64.

From-SVN: r52781
2002-04-26 09:05:56 +02:00
Neil Booth
f8b954fcdc cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
* cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
	(HAVE_NO_R_OPERAND): Remove.
	(HAVE_VALUE): Remove.
	(op_to_prio): Update.
	(UNARY): Don't alter flags.
	(_cpp_parse_expr): want_value used to indicate whether
	a number or unary operator is expected next.  Distinguish
	unary and binary +/-.
	(op_as_text): Update for unary operators.

From-SVN: r52780
2002-04-26 06:32:50 +00:00
Richard Henderson
6052bef039 c-parse.in (yyoverflow): New.
* c-parse.in (yyoverflow): New.
	* cp/parse.y (yyoverflow): New.
	* g++.dg/parse/stack1.C: New.
	* gcc.dg/20020425-1.c: New.

From-SVN: r52779
2002-04-25 22:35:13 -07:00
Richard Henderson
5c5b228389 re PR c/2098 (compare with unsigned variable - no error reporting)
PR c/2098
        * c-common.c (shorten_compare): Simplfy conditions leading to
        the generation of a warning.

	* gcc.dg/compare6.c: New.

From-SVN: r52778
2002-04-25 19:15:52 -07:00
Richard Henderson
28ce94d46b re PR c/2035 (ICE in extract_bit_field, at expmed.c:1115)
PR c/2035
        * expmed.c (extract_bit_field): Fall through to generic code rather
        than aborting on subreg special case.

From-SVN: r52777
2002-04-25 19:09:21 -07:00
David S. Miller
6bfd0c63fe sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check for DECL being NULL.
2002-04-25  David S. Miller  <davem@redhat.com>

	* config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
	for DECL being NULL.

From-SVN: r52776
2002-04-25 19:05:08 -07:00
Steve Christiansen
7a430e3be4 md.texi (Machine Constraints): Add IA-64 constraints.
2002-04-25  Steve Christiansen  <smc@us.ibm.com>
	* doc/md.texi (Machine Constraints): Add IA-64 constraints.

From-SVN: r52774
2002-04-25 17:24:41 -07:00
Eric Botcazou
45c42d7db5 c-decl.c (grokdeclarator): Remove outdated ??? note on invalid declaration of flexible array members.
* c-decl.c (grokdeclarator): Remove outdated ??? note
        on invalid declaration of flexible array members.

From-SVN: r52772
2002-04-25 17:22:23 -07:00
Roger Sayle
07d81318b6 * gcc.dg/i386-memset-1.c: New test case for PR target/6456.
From-SVN: r52771
2002-04-26 00:09:43 +00:00
Richard Henderson
eb7715a482 * doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
From-SVN: r52769
2002-04-25 15:31:31 -07:00
Ulrich Weigand
cf5ee7207d s390.c (s390_emit_epilogue): Always restore registers needed by the compiler...
* config/s390/s390.c (s390_emit_epilogue): Always restore registers
needed by the compiler, even if they are used as global regs.

From-SVN: r52768
2002-04-25 21:26:04 +00:00
Matt Hiller
d604bca364 mips.c (mips_class_max_nregs, [...]): New functions.
2002-04-24  Matt Hiller  <hiller@redhat.com>

	* mips.c (mips_class_max_nregs, mips_register_move_cost): New
	functions.
	* mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
	of the corresponding functions.
	* mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
	New prototypes.

2002-04-24  Matt Hiller  <hiller@redhat.com>

	* config/mips/mips.h (mips_sw_reg_names): Declare as extern.

	(ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
	(FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
	registers, adjust comment accordingly.
	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
	reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
	DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
	for coprocessor registers.
	(ADDITIONAL_REGISTER_NAMES): Include
	ALL_COP_ADDITIONAL_REGISTER_NAMES.

	(COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
	COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
	COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
	COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
	COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.

	(mips_char_to_class): Adjust comment to include coprocessor
	constraint letters.

	* config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
	New functions.
	(mips_reg_names, mips_regno_to_class): Include coprocessor
	information.
	(mips_sw_reg_names): Ditto, make non-static.
	(mips_move_1word): Handle moves to and from coprocessor registers.
	(mips_move_2words): Handle moves to and from coprocessor
	registers.
	(mips_class_max_nregs, mips_register_move_cost): Handle
	coprocessor register classes.
	(override_options): Initialize mips_char_to_class and
	mips_hard_regno_mode_ok properly for coprocessor registers.

	* config/mips/mips.md (movdi_internal, movdi_internal2,
	movsi_internal1, movsi_internal2): Add constraint-sets for
	coprocessor registers.
	* testsuite/gcc.c-torture/mipscop-1.c: New testcase.
	* testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
	isn't mips.
	* testsuite/gcc.c-torture/mipscop-2.c: New testcase.
	* testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
	isn't mips.
	* testsuite/gcc.c-torture/mipscop-3.c: New testcase.
	* testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
	isn't mips.
	* testsuite/gcc.c-torture/mipscop-4.c: New testcase.
	* testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
	isn't mips.

	* doc/tm.texi: Document feature.

From-SVN: r52765
2002-04-25 19:31:45 +00:00
Neil Booth
b9a26d0920 integrate.c (function_attribute_inlinable_p): Simplify.
* integrate.c (function_attribute_inlinable_p): Simplify.
	Check the table pointer is not NULL.

From-SVN: r52763
2002-04-25 18:55:48 +00:00
Kaveh R. Ghazi
bf882c20d7 20020227-1.x: New file, xfail on 64-bit targets.
* gcc.c-torture/execute/20020227-1.x: New file, xfail on 64-bit
	targets.

From-SVN: r52762
2002-04-25 18:49:02 +00:00
Jason Merrill
8d1f0f67e8 re PR c++/5607 (No pointer adjustment in covariant return types)
PR c++/5607
        * search.c (check_final_overrider): No longer static.
        * class.c (update_vtable_entry_for_fn): Call it.
        * cp-tree.h: Adjust.

From-SVN: r52760
2002-04-25 14:04:50 -04:00
Steven Bosscher
ab5973b753 * doc/c-tree.texi: Fix typo in introduction.
From-SVN: r52758
2002-04-25 09:30:11 +00:00
GCC Administrator
0f2fd6a867 Daily bump.
From-SVN: r52757
2002-04-25 07:17:29 +00:00
Neil Booth
ff45c01ef4 c-common.h (c_common_parse_file): Update.
* c-common.h (c_common_parse_file): Update.
	* c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
	* c-lex.c (YYDEBUG): Get from c-lex.h.
	(c_common_parse_file): Update.
	* c-lex.h (YYDEBUG, yydebug): New.
	* c-parse.in (YYDEBUG): Get from c-lex.h.
	(c_set_yydebug): Remove.
	* c-tree.h (c_set_yydebug): Remove.
	* langhooks-def.h (lhd_do_nothing_i): New.
	(lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
	(LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
	* langhooks.c  (lhd_do_nothing_i): New.
	(lhd_set_yydebug): Remove.
	* langhooks.h (struct lang_hooks): Update.
	* toplev.c (set_yydebug): New.
	(compile_file): Update call to parse_file hook.
	(decode_d_option): Update.
ada:
	* misc.c (gnat_parse_file): Update.
cp:
	* cp-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
	* cp-tree.h (cxx_set_yydebug): Die.
	* lex.c (YYDEBUG): Get from c-lex.h.
	(cxx_set_yydebug): Remove.
	* parse.y: Include c-lex.h.
	(YYDEBUG): Get from c-lex.h.
f:
	* com.h (ffe_parse_file): Update.
	* lex.c (ffe_parse_file): Update.
java:
	* java-tree.h (java_parse_file): Update.
	(java_set_yydebug): Remove.
	* jcf-parse.c (yydebug): Remove.
	(java_set_yydebug): Die.
	(java_parse_file): Update.
	* lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
objc:
	* objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.

From-SVN: r52753
2002-04-25 06:24:41 +00:00
Tom Tromey
9127b2da1b For PR java/6425:
* parse.y (qualify_ambiguous_name) [case CALL_EXPR]: Always choose
	EXPR_WFL_QUALIFICATION of qual_wfl.

From-SVN: r52751
2002-04-25 01:09:47 +00:00
Mark Mitchell
b970a21d1d mangle.c (write_type): Don't use TYPE_MAIN_VARIANT when writing out an array type.
* mangle.c (write_type): Don't use TYPE_MAIN_VARIANT when writing
	out an array type.
	(write_CV_qualifiers_for_type): Use TYPE_QUALS, not cp_type_quals,
	to determine qualifiers.

From-SVN: r52749
2002-04-25 01:05:25 +00:00
Jason Merrill
a49cfba81b typeck.c (build_modify_expr): The pedwarn for array assignment is now unconditional.
* typeck.c (build_modify_expr): The pedwarn for array assignment is
        now unconditional.
        * tree.c (build_cplus_array_type_1): Still process simple array types
        normally in templates.

From-SVN: r52746
2002-04-24 20:13:45 -04:00