1. 27 Feb, 2002 1 commit
    • c-common.c, [...]: Delete code implementing -traditional mode. · f458d1d5
      	* c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
      	c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
      	cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
      	builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
      	gcc.c, toplev.c: Delete code implementing -traditional mode.
      
      	* ada/misc.c, ch/ch-tree.h, ch/decl.c, cp/decl2.c, f/com.c,
      	f/lex.c, f/top.c, java/builtins.c, java/decl.c: Delete
      	traditional-mode-related code copied from the C front end
      	but not used, or used only to permit the compiler to link.
      
      	* doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
      	doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
      	Document removal of -traditional mode for compilation, and
      	remove documentation only relevant to that mode.
      
      	* config/nextstep.h, config/ptx4.h, config/svr4.h,
      	config/convex/convex.h, config/d30v/d30v.h,
      	config/i386/dgux.h, config/i386/osf1elf.h,
      	config/i386/osfelf.h, config/i386/osfrose.h,
      	config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
      	config/m68k/hp310.h, config/m88k/dgux.h,
      	config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
      	config/m88k/m88k.h, config/m88k/openbsd.h,
      	config/mips/abi64.h, config/mips/osfrose.h,
      	config/mips/svr4-5.h, config/mips/svr4-t.h,
      	config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
      	config/stormy16/stormy16.h: Remove all references to
      	-traditional from target specs.  Delete all mention of the
      	no-longer-necessary TRADITIONAL_RETURN_FLOAT macro.  Also
      	delete a couple of commented-out definitions of
      	DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
      	to -traditional.
      
      	* system.h: Poison TRADITIONAL_RETURN_FLOAT.
      	* doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
      
      	* testsuite/gcc.c-torture/execute/920730-1t.c,
      	testsuite/gcc.c-torture/execute/920730-1t.x,
      	testsuite/gcc.dg/ext-glob.c: Delete test cases, only relevant
      	to -traditional.
      
      From-SVN: r50110
      Zack Weinberg committed
  2. 08 Feb, 2002 1 commit
    • c-common.c (c_expand_expr): Revert 2002-02-06 patch. · 1cf537c5
      	* c-common.c (c_expand_expr): Revert 2002-02-06 patch.
      	* c-parse.in (compstmt): Clear last_expr_type.
      
      	* parse.y (primary, primary_no_id): Use compstmt_or_stmtexpr
      	instead of compstmt.
      	(compstmt_or_stmtexpr): Renamed from compstmt.
      	(compstmt): In addition to compstmt_or_stmtexpr clear last_expr_type.
      
      	* gcc.c-torture/execute/20020206-1.c: Test whether nesting 2
      	expression statements work instead.
      	* gcc.dg/noncompile/20020207-1.c: New test.
      
      From-SVN: r49609
      Jakub Jelinek committed
  3. 24 Jan, 2002 1 commit
  4. 04 Jan, 2002 1 commit
    • c-common.c (c_expand_start_cond): Expect the IF_STMT node to be passed in, do not build it. · c1e14513
              * c-common.c (c_expand_start_cond): Expect the IF_STMT node to
              be passed in, do not build it.
              (c_begin_if_stmt): New function.
              (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
              * c-common.h (c_expand_start_cond): Update prototype.
              (c_begin_if_stmt): Prototype new function.
              (c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
              * c-parse.in (if_prefix): Use c_begin_if_stmt,
              c_begin_while_stmt and c_finish_while_stmt_cond.
      
      From-SVN: r48539
      Jeff Law committed
  5. 21 Dec, 2001 1 commit
  6. 15 Dec, 2001 1 commit
  7. 11 Dec, 2001 1 commit
  8. 10 Dec, 2001 1 commit
  9. 08 Dec, 2001 3 commits
    • c-common.h (rid): Add RID_CHOOSE_EXPR and RID_TYPES_COMPATIBLE_P. · ecbcf7b3
      	* c-common.h (rid): Add RID_CHOOSE_EXPR and
              RID_TYPES_COMPATIBLE_P.
      
              * c-parse.in (reswords): Add __builtin_choose_expr.
              Add __builtin_types_compatible_p.
              Add CHOOSE_EXPR token.
      	Add TYPES_COMPATIBLE_P token.
              Add production for CHOOSE_EXPR.
              Add production for TYPES_COMPATIBLE_P.
      
              * doc/extend.texi (__builtin_choose_expr): Add documentation.
              (__builtin_types_compatible_p): Likewise.
      
      From-SVN: r47798
      Aldy Hernandez committed
    • c-parse.in: Take string literals in assembler constructs, not expressions. · 78e78537
      	* c-parse.in: Take string literals in assembler constructs,
      	not expressions.
      	* c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
      	check the strings are STRING_CSTs.
      
      From-SVN: r47795
      Neil Booth committed
    • c-lex.c (c_lex): Peek a token ahead for a string to concatenate... · cb97d97d
      	* c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
      	using combine_strings to do the concatenation.
      	* c-parse.in: Replace uses of the string non-terminal with STRING.
      	Don't attempt string concatenation.
      	(OBJC_STRING): New terminal.
      	(string): Remove non-terminal.
      	(_yylex): Call combine_strings on function names.  Generate
      	OBJC_STRING terminals; don't pass '@' on to yacc.
      	* c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
      	(build_asm_stmt): Similarly.
      cp:
      	* parse.y: Replace uses of the string non-terminal with STRING.
      	Don't perform string concatentaion here.
      	(string): Remove non-terminal.
      	* semantics.c (finish_asm_stmt): Don't concatenate strings here.
      
      From-SVN: r47792
      Neil Booth committed
  10. 04 Dec, 2001 1 commit
    • re PR c/4787 (Different anonymous variables declared but only one allocated when… · db3acfa5
      re PR c/4787 (Different anonymous variables declared but only one allocated when the initialization is the same)
      
      	* c-common.def (COMPOUND_LITERAL_EXPR): New.
      	* c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
      	(c_staticp): New function.
      	* c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
      	(c_staticp): Declare.
      	* c-typeck.c (default_function_array_conversion, build_unary_op):
      	Don't handle CONSTRUCTOR specially.
      	(lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
      	* c-decl.c (build_compound_literal): New function.
      	* c-tree.h (build_compound_literal): Declare.
      	* c-parse.in (primary): Use build_compound_literal.
      	* c-lang.c (LANG_HOOKS_STATICP): Define.
      	* objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
      	* doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
      	* doc/extend.texi: Update documentation of compound literals.
      	Fixes PR c/4787.
      
      testsuite:
      	* gcc.c-torture/execute/20000722-1.x,
      	gcc.c-torture/execute/20010123-1.x: Remove.
      	* gcc.c-torture/compile/init-3.c: Don't use a compound literal.
      	* gcc.dg/c90-complit-1.c, gcc.dg/c99-complit-1.c,
      	gcc.dg/c99-complit-2.c: New tests.
      
      From-SVN: r47629
      Joseph Myers committed
  11. 02 Dec, 2001 1 commit
    • c-decl.c (duplicate_decls, [...]): Remove leading capital from diagnostics. · 1f978f5f
      	* c-decl.c (duplicate_decls, push_parm_decl): Remove leading
      	capital from diagnostics.
      	* c-lex.c (cb_file_change): Similarly.
      	* c-parse.in : Similarly.
      	* cfgrtl.c (verify_flow_info): Similarly.
      	* collect2.c: Similarly.
      	* cppfiles.c (find_include_file): Similarly.
      	* cppinit.c (cpp_handle_option): Similarly.
      	* cpplex.c (cpp_spell_token): Similarly.
      	* cppmain.c (do_preprocessing): Similarly.
      	* gcc.c (translate_options, process_command, do_spec1,
      	main, pfatal_execute): Similarly.
      	* genattr.c (main): Similarly.
      	* genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
      	write_test_expr, main): Similarly.
      	* gencodes.c (main): Similarly.
      	* genconfig.c (main): Similarly.
      	* genconstants.c (main): Similarly.
      	* genemit.c (main): Similarly.
      	* genextract.c (main): Similarly.
      	* genflags.c (main): Similarly.
      	* genopinit.c (main): Similarly.
      	* genoutput.c (process_template, main): Similarly.
      	* genpeep.c (main): Similarly.
      	* genrecog.c (main): Similarly.
      	* gensupport.c (is_predicable, identify_predicable_attribute,
      	alter_predicate_for_insn, init_md_reader_args, main): Similarly.
      	* ggc-page.c (alloc_anon): Similarly.
      	* mips-tfile.c (add_string, add_procedure, add_file, read_line,
      	parse_begin, parse_bend, parse_def, parse_end, parse_file,
      	parse_stabs_common, parse_stabs, write_varray, write_object,
      	read_seek, copy_object, main, error): Similarly.
      	* profile.c (compute_branch_probabilities): Similarly.
      	* reg-stack.c (check_asm_stack_operands): Similarly.
      	* reload.c (find_reloads): Similarly.
      	* reload1.c (spill_failure, failed_reload): Similarly.
      	* rtl-error.c (_fatal_insn_not_found): Similarly.
      	* toplev.c (read_integral_parameter, crash_signal,
      	decode_f_option, set_target_switch, parse_options_and_default_flags)
      	: Similarly.
      	* tradcif.y (parse_number, yylex): Similarly.
      	* tradcpp.c (main, fancy_abort): Similarly.
      	* tree.c (tree_check_failed): Similarly.
      	* varray.c (varray_check_failed): Similarly.
      	* xcoffout.c (xcoff_output_standard_types): Similarly.
      cp:
      	* call.c (build_java_interface_fn_ref): Similarly.
      	* except.c (is_admissible_throw_operand): Similarly.
      	* init.c (build_java_class_ref): Similarly.
      	* xref.c (open_xref_file): Similarly.
      objc:
      	* objc-act.c (get_object_ref, lookup_and_install_protocols,
      	build_objc_string_object, objc_declare_alias, build_ivar_chain,
      	finish_message_expr, build_protocol_expr, is_public,
      	start_class): Similarly.
      testsuite:
      	* objc.dg/alias.m: Update.
      	* objc.dg/class-1.m: Update.
      	* objc.dg/const-str-1.m: Update.
      	* objc.dg/fwd-proto-1.m: Update.
      	* objc.dg/id-1.m: Update.
      	* objc.dg/super-class-1.m: Update.
      
      From-SVN: r47518
      Neil Booth committed
  12. 01 Dec, 2001 1 commit
    • c-decl.c (duplicate_decls, [...]): Remove trailing period from diagnostics. · 357351e5
      	* c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
      	trailing period from diagnostics.
      	* c-lex.c (cb_file_change): Similarly.
      	* cppmacro.c (check_trad_stringification): Similarly.
      	* gcc.c (do_spec_1): Similarly.
      	* genattr.c (main): Similarly.
      	* genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
      	* gencodes.c (main): Similarly.
      	* genconfig.c (main): Similarly.
      	* genconstants.c (main): Similarly.
      	* genemit.c (main): Similarly.
      	* genextract.c (main): Similarly.
      	* genopinit.c (main): Similarly.
      	* genoutput.c (main): Similarly.
      	* genpeep.c (main): Similarly.
      	* genrecog.c (main): Similarly.
      	* mips-tfile.c (add_file, error): Similarly.
      	* profile.c (init_branch_prob): Similarly.
      	* reload1.c (spill_failure): Similarly.
      	* stmt.c (parse_output_constraint): Similarly.
      	* varasm.c (assemble_variable): Similarly.
      cp:
      	* class.c (finish_struct): Similarly.
      	* decl.c (check_tag_decl): Similarly.
      	* lex.c (cxx_set_yydebug): Similarly.
      	* typeck2.c (friendly_abort): Similarly.
      java:
      	* expr.c (expand_byte_code): Similarly.
      	* jcf-parse.c (load_class, jcf_parse): Similarly.
      	* jcf-write.c (generate_classfile): Similarly.
      	* lex.c (java_lex): Similarly.
      
      From-SVN: r47517
      Neil Booth committed
  13. 18 Nov, 2001 1 commit
    • Makefile.in (c-parse.o, c-common.o): Update dependencies. · 22703ccc
      	* Makefile.in (c-parse.o, c-common.o): Update dependencies.
      	* c-common.c: Include diagnostic.h.
      	(c_common_finish): New.
      	* c-common.h (c_common_finish): New.
      	* c-lang.c (LANG_HOOKS_FINISH): Override.
      	* c-parse.in: Don't include diagnostic.h.
      	(finish_parse): Remove.
      	* langhooks.h: Update comments.
      	* toplev.c (lang_dependent_init): New prototype.
      	(finalize): New.
      	(compile_file): Split cleanup code out to finalize.
      	(lang_dependent_init): Stop if lang_hooks.init fails.
      	(toplev_main): Update.
      	* tree.h (finish_parse): Remove.
      
      ada:	* misc.c (gnat_decode_option, gnat_init_options): Make definitions
      	static too.
      	(gnat_init): Don't return NULL.
      	(finish_parse): Remove.
      cp:	* lex.c (cxx_finish): Call c_common_finish.
      	(finish_parse): Remove.
      f:	* com.c (finish_parse): Remove.
      	(ffe_finish): Move body of finish_parse.
      java:	* lang.c (finish_parse): Rename to java_finish.
      	(LANG_HOOKS_FINISH, java_finish): New.
      objc:	* objc-act.c (LANG_HOOKS_FINISH): Override.
      
      From-SVN: r47141
      Neil Booth committed
  14. 15 Nov, 2001 1 commit
    • c-common.c: Include c-lex.h. · f5e99456
      	* c-common.c: Include c-lex.h.
      	(c_common_lang_init): Change prototype.  Call init_c_lex and
      	init_pragma from here.
      	* c-common.h (c_common_lang_init): Change prototype.
      	* c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
      	* c-lang.c (c_init): Change prototype.  Update.
      	(c_init_options): Update.
      	* c-lex.c (cpp_filename): Remove.
      	(init_c_lex): Update.  Read the main file, and get the original
      	file name.
      	(yyparse): Finish the command line options.
      	* c-parse.in (c_parse_init): Call init_reswords here.
      	(init_parse): Remove.
      	* c-tree.h (c_init_decl_processing): New.
      	* cpphash.c (_cpp_init_hashtable): After initializing the hash
      	table, populate it.
      	* cppinit.c (read_original_filename, cpp_finish_options): New.
      	(cpp_create_reader): New prototype. Defer hash table initialization.
      	(cpp_start_read): Rename cpp_read_main_file.  Initialize the
      	hash table.  Get the original filename.
      	* cpplib.h (cpp_create_reader): Update.
      	(cpp_start_read): Remove.
      	(cpp_read_main_file, cpp_finish_options): New.
      	* cppmain.c (main, do_preprocessing): Update.
      	* langhooks.h (struct langhooks): Update init prototype.
      	* toplev.c (general_init, parse_options_and_default_flags,
      	process_options, lang_indpendent_init, lang_dependent_init,
      	init_asm_output): New; perform the bulk of initialization.
      	(compile_file): Move most of initialization to above functions.
      	(debug_hooks): Initialize statically.
      	(set_Wunused): Relocate.
      	(toplev_main): Move most of initialization to other init functions.
      	Have a clear logic flow.
      	* tree.h (init_parse, init_decl_processing): Remove.
      ada:
      	* misc.c (gnat_init): Change prototype.  Include the
      	functionality of the old init_parse and init_decl_processing.
      	(gnat_init_decl_processing): New prototype.
      	(init_parse): Remove.
      	* utils.c (init_decl_processing): Rename gnat_init_decl_processing.
      cp:	* cp-tree.h (init_reswords, cxx_init_decl_processing): New.
      	(cxx_init): Update prototype.
      	* decl.c (init_decl_processing): Rename.  Move null node init
      	to its creation time.
      	* lex.c (cxx_init_options): Update.
      	(cxx_init): Combine with old init_parse; also call
      	cxx_init_decl_processing.
      f:	* com.c (ffecom_init_decl_processing): Renamed from
      	init_decl_processing.
      	(init_parse): Move contents to ffe_init.
      	(ffe_init): Update prototype.
      java:	* decl.c (init_decl_processing): Rename java_init_decl_processing.
      	* java-tree.h: New prototype.
      	* lang.c (java_init): Update prototype.  Combine with old init_parse.
      objc:	* objc-act.c (objc_init): Update prototype, combine with old
      	init_parse.
      	(objc_init_options): Update.
      
      From-SVN: r47046
      Neil Booth committed
  15. 09 Nov, 2001 2 commits
    • Makefile.in: Update. · 5d69f816
      	* Makefile.in: Update.
      	* c-decl.c (print_lang_decl, print_lang_type): Remove.
      	(print_lang_identifier): Rename c_print_identifier.
      	* c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
      	(print_lang_statistics, lang_print_xnode): Remove.
      	* c-parse.in (set_yydebug): Rename c_set_yydebug.
      	* c-tree.h (c_set_yydebug, c_print_identifier): New.
      	* langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
      	LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
      	LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
      	LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
      	(LANG_HOOKS_INITIALIZER): Update.
      	* langhooks.h (struct lang_hooks): New members.
      	(lang_print_tree_hook): New.
      	* langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
      	* print-tree.c: Include langhooks.h.
      	(print_node): Update.
      	* toplev.c (decode_d_option): Update.
      	* tree.c: Include langhooks.h.
      	(dump_tree_statistics): Update.
      	* tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
      	print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
      ada:
      	* misc.c (gnat_print_decl, gnat_print_type): Renamed.
      	(LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override.
      	(print_lang_statistics, lang_print_xnode, print_lang_identifier,
      	set_yydebug): Remove.
      cp:
      	* cp-lang.c (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
      	LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
      	LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): Override.
      	* cp-tree.h (print_class_statistics): Remove.
      	(cxx_print_statistics, cxx_print_xnode, cxx_print_decl, cxx_print_type,
      	cxx_print_identifier, cxx_set_yydebug): New.
      	* lex.c (set_yydebug): Rename c_set_yydebug.
      	* ptree.c (print_lang_decl, print_lang_type, print_lang_identifier,
      	lang_print_xnode): Rename.
      	* tree.c (print_lang_statistics): Rename.
      f:
      	* com.c (ffe_print_identifier): Rename.
      	(LANG_HOOKS_PRINT_IDENTIFIER): Override.
      	(lang_print_xnode, print_lang_decl, print_lang_statistics,
      	print_lang_type, set_yydebug): Remove.
      java:
      	* java-tree.h (java_set_yydebug): New.
      	* jcf-parse.c (set_yydebug): Rename java_set_yydebug.
      	* lang.c (LANG_HOOKS_SET_YYDEBUG): Override.
      	(print_lang_decl, print_lang_type, print_lang_identifier,
      	print_lang_statistics, lang_print_xnode): Remove.
      objc:
      	* objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
      	LANG_HOOKS_SET_YYDEBUG): Override.
      	(lang_print_xnode, print_lang_statistics): Remove.
      
      From-SVN: r46907
      Neil Booth committed
    • c-lang.c (LANG_HOOKS_NAME): New. · 3ac88239
      	* c-lang.c (LANG_HOOKS_NAME): New.
      	(lang_hooks): Constify.
      	(c_init_options): Update.
      	(lang_identify): Remove.
      	* c-parse.in (language_string): Remove.
      	* dbxout.c: Include langhooks.h.
      	(dbxout_symbol_location): Update.
      	* dwarf2out.c: Include langhooks.h.
      	(gen_compile_unit_die): Update.
      	* dwarfout.c: Include langhooks.h.
      	(prototyped_attribute, output_compile_unit_die): Update.
      	* langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
      	(LANG_HOOKS_INITIALIZER): Update.
      	* langhooks.h (struct lang_hooks): New members.  Constify.
      	* stringpool.c: Don't include toplev.h.
      	(set_identifier_size): Remove.
      	* toplev.c (toplev_main): Initialize identifier size.
      	(print_version): Update.
      	* tree.h (language_string, init_lex, lang_identify,
      	set_identifier_size): Remove.
      	* Makefile.in: Update dependencies.
      	* config/darwin.c: Include langhooks.h.
      	(func_name_maybe_scoped): Update.
      	* config/darwin.h (ASM_END_FILE): Update.
      	* config/nextstep.h (ASM_END_FILE): Update.
      	* config/nextstep21.h (ASM_END_FILE): Update.
      	* config/i386/sun386.h (ASM_END_FILE): Update.
      	* config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
      	(rs6000_output_function_epilogue): Update.
      ada:
      	* misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override.
      	(struct lang_hooks): Constify.
      	(language_string, lang_identify): Remove.
      	* utils.c (init_decl_processing): Update.
      cp:
      	* cp-lang.c (LANG_HOOKS_NAME): Override.
      	(struct lang_hooks): Constify.
      	* lex.c (cxx_init_options): Update.
      	(lang_identify): Remove.
      	* parse.y (language_string): Remove.
      f:
      	* com.c (language_string, lang_identify): Remove.
      	(struct lang_hooks): Constify.
      	(LANG_HOOKS_NAME): Override.
      	(init_parse): Update.
      java:
      	* jcf-parse.c (init_lex): Remove.
      	* lang.c (language_string, lang_identify): Remove.
      	(struct lang_hooks): Constify.
      	(LANG_HOOKS_NAME): Override.
      	(init_parse): Update.
      objc:
      	* objc-act.c (LANG_HOOKS_NAME): Override.
      	(struct lang_hooks): Constify.
      	(objc_init_options): Update.
      	(lang_identify): Remove.
      
      From-SVN: r46874
      Neil Booth committed
  16. 29 Oct, 2001 1 commit
  17. 28 Oct, 2001 1 commit
    • ChangeLog.0, [...]: Fix spelling errors. · ff7cc307
      	* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
      	ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
      	c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
      	configure, configure.in, except.c, except.h, flow.c, function.c,
      	gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
      	predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
      	sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
      	unroll.c: Fix spelling errors.
      
      From-SVN: r46595
      Joseph Myers committed
  18. 11 Oct, 2001 1 commit
    • c-parse.in (asm_operand): Allow named operands. · 84b72302
              * c-parse.in (asm_operand): Allow named operands.
              * genconfig.c (max_recog_operands): Set to 29.
              * local-alloc.c (requires_inout): Skip multiple digits.
              * recog.c (asm_operand_ok): Likewise.
              (preprocess_constraints): Use strtoul for matching constraints.
              (constrain_operands): Likewise.
              * regmove.c (find_matches): Likewise.
              * reload.c (find_reloads): Likewise.
              * stmt.c (parse_output_constraint): Don't reject in-out
              constraint on operands > 9.  Reject '[' in constraint.
              (expand_asm_operands): Handle named operands.  Use strtoul
              for matching constraints.
              (check_operand_nalternatives): Split out from expand_asm_operands.
              (check_unique_operand_names): New.
              (resolve_operand_names, resolve_operand_name_1): New.
      
              * doc/extend.texi (Extended Asm): Document named operands.
              * doc/md.texi (Simple Constraints): Document matching constraints
              on operands > 9.
      
              * parse.y (asm_operand): Allow named operands.
              * semantics.c (finish_asm_stmt): Tweek for changed location
              of the operand constrant.
      
      From-SVN: r46179
      Richard Henderson committed
  19. 03 Oct, 2001 1 commit
    • c-parse.in (objc_inherit_code, [...]): Make static. · 8607f1bc
      2001-10-03  Ziemowit Laski  <zlaski@apple.com>
      
              * c-parse.in (objc_inherit_code, objc_pq_context,
              objc_public_flag): Make static.
              (objc_interface_context, objc_implementation_context,
              objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
              global tree array in objc/objc-act.[ch].
              (methoddef): Remove unnecessary code.
      
              * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
              Hoist struct definitions to objc-act.h.
              (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
              cat_count): Place declaration in objc-act.h.
              (objc_tree_index): Move enumeration to objc-act.h.
              (objc_global_trees): Place declaration and macro accessors in
              objc-act.h.
              (implementation_context): Remove duplicate; use
              objc_implementation_context instead:
              (method_context): Remove duplicate; use objc_method_context
              instead.
              (objc_ellipsis_node, objc_method_prototype_template,
              implemented_classes, function_type): Move global vars to
              objc_global_trees.
              (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
              (build_message_expr): Move actual construction of ObjC message
              send nodes to finish_message_expr.
              (finish_message_expr): New routine, contains code formerly in
              build_message_expr.
              * objc/objc-act.h (finish_message_expr): New prototype.
              (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
              declarations; these vars are now part of objc_global_trees.
              (objc_tree_index, objc_global_trees): Move definitions from
              objc-act.c.
              * objc/objc-tree.def: Update copyright info.
      
      From-SVN: r46000
      Ziemowit Laski committed
  20. 21 Sep, 2001 1 commit
    • Table-driven attributes. · 91d231cb
      	* c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
      	config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
      	config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
      	config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
      	config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
      	config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
      	doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
      	tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
      	* tree.h (struct tree_decl): Change machine_attributes to
      	attributes.
      	* doc/c-tree.texi: Document that all attributes are now attached
      	to decls and types.
      	* c-common.c (add_attribute, attrtab, attrtab_idx,
      	default_valid_lang_attribute, valid_lang_attribute): Remove.
      	(attribute_tables, attributes_initialized,
      	c_common_attribute_table, default_lang_attribute_table): New
      	variables.
      	(handle_packed_attribute, handle_nocommon_attribute,
      	handle_common_attribute, handle_noreturn_attribute,
      	handle_unused_attribute, handle_const_attribute,
      	handle_transparent_union_attribute, handle_constructor_attribute,
      	handle_destructor_attribute, handle_mode_attribute,
      	handle_section_attribute, handle_aligned_attribute,
      	handle_weak_attribute, handle_alias_attribute,
      	handle_no_instrument_function_attribute,
      	handle_no_check_memory_usage_attribute, handle_malloc_attribute,
      	handle_no_limit_stack_attribute, handle_pure_attribute): New
      	functions.
      	(init_attributes, decl_attributes): Rewrite to implement
      	table-driven attributes.
      	* c-common.h (enum attribute_flags): Move to tree.h.
      	* c-format.c (decl_handle_format_attribute,
      	decl_handle_format_arg_attribute): Rename to
      	handle_format_attribute and handle_format_arg_attribute.  Update
      	for table-driven attributes.
      	* c-common.h (decl_handle_format_attribute,
      	decl_handle_format_arg_attribute): Remove prototypes.
      	(handle_format_attribute, handle_format_arg_attribute): Add
      	prototypes.
      	* c-decl.c (grokdeclarator): Handle attributes nested inside
      	declarators.
      	* c-parse.in (setattrs, maybe_setattrs): Remove.
      	(maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
      	Update to handle nested attributes properly.
      	(maybe_resetattrs, after_type_declarator,
      	parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
      	absdcl1_ea, direct_absdcl1): Update to handle nested attributes
      	properly.
      	(make_pointer_declarator): Update to handle nested attributes
      	properly.
      	* doc/extend.texi: Update documentation of limits of attributes
      	syntax.  Warn about problems with attribute semantics in C++.
      	* target.h (struct target): Remove valid_decl_attribute and
      	valid_type_attribute.  Add attribute_table and
      	function_attribute_inlinable_p.
      	* target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
      	TARGET_VALID_TYPE_ATTRIBUTE): Remove.
      	(TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
      	Add.
      	(TARGET_INITIALIZER): Update.
      	* integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
      	definition.
      	(function_attribute_inlinable_p): New function.  Check for the
      	presence of any machine attributes before using
      	targetm.function_attribute_inlinable_p.
      	(function_cannot_inline_p): Update.
      	* Makefile.in (integrate.o): Update dependencies.
      	* doc/tm.texi: Update documentation of target attributes and
      	example definition of TARGET_VALID_TYPE_ATTRIBUTE.
      	* tree.c (default_valid_attribute_p, valid_machine_attribute):
      	Remove.
      	(default_target_attribute_table,
      	default_function_attribute_inlinable_p): New.
      	(lookup_attribute): Update comment to clarify handling of multiple
      	attributes with the same name.
      	(merge_attributes, attribute_list_contained): Allow multiple
      	attributes with the same name but different arguments to appear in
      	the same attribute list.
      	* tree.h (default_valid_attribute_p): Remove prototype.
      	(struct attribute_spec): New.
      	(default_target_attribute_table): Declare.
      	(enum attribute_flags): Move from c-common.h.  Add
      	ATTR_FLAG_TYPE_IN_PLACE.
      	(default_function_attribute_inlinable_p): Declare.
      	* config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
      	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(vms_attribute_table): New.
      	* config/arc/arc.c (arc_valid_decl_attribute): Remove.
      	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(arc_attribute_table, arc_handle_interrupt_attribute): New.
      	* config/arm/arm.c (arm_valid_type_attribute_p,
      	arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
      	Remove.
      	(TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
      	define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(arm_attribute_table, arm_handle_fndecl_attribute,
      	arm_handle_isr_attribute): New.
      	* config/avr/avr.c (avr_valid_type_attribute,
      	avr_valid_decl_attribute): Remove.
      	(TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
      	define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(avr_attribute_table, avr_handle_progmem_attribute,
      	avr_handle_fndecl_attribute): New.
      	* config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
      	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(c4x_attribute_table, c4x_handle_fntype_attribute): New.
      	* config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
      	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(h8300_attribute_table, h8300_handle_fndecl_attribute,
      	h8300_handle_eightbit_data_attribute,
      	h8300_handle_tiny_data_attribute): New.
      	* config/i386/i386-protos.h (ix86_valid_type_attribute_p,
      	i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
      	Remove prototypes.
      	(ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
      	declarations.
      	* config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
      	(TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
      	define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(ix86_attribute_table, ix86_handle_cdecl_attribute,
      	ix86_handle_regparm_attribute): New.
      	* config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
      	i386_pe_valid_type_attribute_p): Remove.
      	(ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
      	* config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
      	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(ia64_attribute_table): New.
      	* config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
      	interrupt_ident2, model_ident1, model_ident2): Remove.
      	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(init_idents): Update.
      	(m32r_attribute_table, m32r_handle_model_attribute): New.
      	* config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
      	Remove.
      	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
      	* config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
      	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(mcore_attribute_table, mcore_handle_naked_attribute): New.
      	* config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
      	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
      	* config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
      	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
      	* config/sh/sh.c (sh_valid_decl_attribute): Remove.
      	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(sh_attribute_table, sh_handle_interrupt_handler_attribute,
      	sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
      	New.
      	* config/stormy16/stormy16.c (stormy16_valid_type_attribute):
      	Remove.
      	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(stormy16_attribute_table, stormy16_handle_interrupt_attribute):
      	New.
      	* config/v850/v850.c (v850_valid_decl_attribute): Remove.
      	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
      	(TARGET_ATTRIBUTE_TABLE): Define.
      	(v850_attribute_table, v850_handle_interrupt_attribute,
      	v850_handle_data_area_attribute): New.
      	* config/v850/v850-c.c (mark_current_function_as_interrupt):
      	Return void.  Call decl_attributes instead of
      	valid_machine_attribute.
      
      cp:
      	Table-driven attributes.
      	* decl.c: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
      	* decl2.c (cplus_decl_attributes): Only take one attributes
      	parameter.
      	* cp-tree.c (cplus_decl_attributes): Update prototype.
      	* class.c (finish_struct), decl.c (start_decl, start_function),
      	decl2.c (grokfield), friend.c (do_friend), parse.y
      	(parse_bitfield): Update calls to cplus_decl_attributes.
      	* decl.c (grokdeclarator): Take a pointer to a single ordinary
      	attribute list.
      	* decl.h (grokdeclarator): Update prototype.
      	* decl2.c (grokfield): Take a single ordinary attribute list.
      	* friend.c (do_friend): Likewise.
      	* decl.c (shadow_tag, groktypename, start_decl,
      	start_handler_parms, grokdeclarator, grokparms, start_function,
      	start_method), decl2.c (grokfield, grokbitfield, grokoptypename),
      	parse.y (parse_field, parse_bitfield, component_decl_1), pt.c
      	(process_template_parm, do_decl_instantiation): Pass single
      	ordinary attribute lists around.
      	* decl.c (grokdeclarator): Correct handling of nested attributes.
      	Revert the patch
      	1998-10-18  Jason Merrill  <jason@yorick.cygnus.com>
      		* decl.c (grokdeclarator): Embedded attrs bind to the right,
      		not the left.
      	.
      	* cp-tree.h (cp_valid_lang_attribute): Remove declaration
      	(cp_attribute_table): Declare.
      	* decl.c (valid_lang_attribute): Don't define.
      	(lang_attribute_table): Define.
      	(init_decl_processing): Initialize lang_attribute_table instead of
      	valid_lang_attribute.
      	* tree.c (cp_valid_lang_attribute): Remove.
      	(handle_java_interface_attribute, handle_com_interface_attribute,
      	handle_init_priority_attribute): New functions.
      	(cp_attribute_table): New array.
      	* decl2.c (import_export_class): Don't use
      	targetm.valid_type_attribute.
      
      testsuite:
      	Table-driven attributes.
      	* g++.dg/ext/attrib1.C: New test.
      
      From-SVN: r45718
      Joseph Myers committed
  21. 13 Sep, 2001 2 commits
    • c-parse.in (_yylex): Use _cpp_backup_tokens. · bdcbe496
      	* c-parse.in (_yylex): Use _cpp_backup_tokens.
      	* cpphash.h (struct tokenrun): Add prev.
      	(struct lexer_state): Remove bol.
      	(struct cpp_reader): Remove old lookahead stuff, add lookaheads.
      	(_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
      	: Remove.
      	* cppinit.c (cpp_create_reader): Don't set bol.
      	(cpp_destroy): Don't free lookaheads.
      	* cpplex.c (lex_directive): Remove.
      	(next_tokenrun): Update.
      	(_cpp_lex_token): Clean up logic.
      	(lex_token): Update to return a pointer to lexed token, since it
      	can move to the start of the buffer.  Simpify newline handling.
      	* cpplib.c (SEEN_EOL): Update.
      	(skip_rest_of_line): Remove lookahead stuff.
      	(end_directive): Line numbers are already incremented.  Revert
      	to start of lexed token buffer if we can.
      	(_cpp_handle_directive, do_pragma, do_pragma_dependency,
      	parse_answer): Use _cpp_backup_tokens.
      	(run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
      	instead.  Don't check for EOL.
      	(do_include_common, do_line, do_pragma_system_header): Use
      	skip_rest_of_line.
      	* cpplib.h (BOL, _cpp_backup_tokens): New.
      	* cppmacro.c (save_lookahead_token, take_lookahead_token,
      	alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
      	cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
      	(builtin_macro): Don't use cpp_get_line.
      	(cpp_get_line): Short term kludge.
      	(parse_arg): Handle directives in arguments here.  Back up when
      	appropriate.  Store EOF at end of argument list.
      	(funlike_invocation_p): Use _cpp_backup_tokens.
      	(push_arg_context): Account for EOF at end of list.
      	(cpp_get_token): Remove lookahead stuff.  Update.
      
      	* gcc.dg/cpp/directiv.c: Update.
      	* gcc.dg/cpp/undef1.c: Update.
      
      From-SVN: r45582
      Neil Booth committed
    • c-parse.in (yyerror): Const-ification and/or static-ization. · 83182544
      	* c-parse.in (yyerror): Const-ification and/or static-ization.
      	* c-typeck.c (push_member_name): Likewise.
      	* collect2.c (main): Likewise.
      	* dbxout.c (dbxout_parms): Likewise.
      	* diagnostic.c (format_with_decl): Likewise.
      	* dwarf2out.c (output_ranges): Likewise.
      	* dwarfout.c (fundamental_type_code): Likewise.
      	* except.c (dw2_output_call_site_table): Likewise.
      	* gcc.c (do_spec_1): Likewise.
      	* genopinit.c (optabs): Likewise.
      	* objc/objc-act.c (synth_id_with_class_suffix, start_class,
      	gen_declaration_1, handle_impent): Likewise.
      	* protoize.c (default_include, in_system_include_dir, abspath):
      	Likewise.
      	* sched-vis.c (visualize_stall_cycles): Likewise.
      	* sdbout.c (plain_type_1, sdbout_end_function,
      	sdbout_end_epilogue): Likewise.
      	* varasm.c (decode_reg_name): Likewise.
      
      	* 1750a.c (mod_regno_adjust): Likewise.
      	* alpha.c (alpha_write_one_linkage,
      	unicosmk_output_default_externs): Likewise.
      	* arm.c (arm_condition_codes): Likewise.
      	* arm.h (arm_condition_codes): Likewise.
      	* avr.c (output_movsisf, encode_section_info): Likewise.
      	* darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
      	Likewise.
      	* i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
      	* i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
      	* m88k.c (output_function_profiler): Likewise.
      	* mips.c (mips_output_conditional_branch): Likewise.
      	* ns32k.c (ns32k_out_reg_names): Likewise.
      	* ns32k.h (ns32k_out_reg_names): Likewise.
      	* pj.c (pj_output_rval): Likewise.
      	* rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
      	* sparc.c (sparc_flat_function_prologue,
      	sparc_flat_function_epilogue): Likewise.
      
      cp:
      	* decl.c (warn_extern_redeclared_static, cp_make_fname_decl):
      	Const-ification.
      	* pt.c (tsubst_decl): Likewise.
      
      f:
      	* bad.c (ffebad_finish): Const-ification and/or static-ization.
      	* intrin.c (ffeintrin_cmp_name_): Likewise.
      	* stc.c (ffestc_R904): Likewise.
      
      java:
      	* expr.c (expand_invoke): Const-ification.
      	* parse.y (patch_method_invocation): Likewise.
      
      From-SVN: r45581
      Kaveh R. Ghazi committed
  22. 22 Aug, 2001 1 commit
    • Makefile.in, [...]: replace "GNU CC" with "GCC". · 1322177d
      	* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
      	bitmap.h, builtin-types.def, builtins.c, builtins.def,
      	c-aux-info.c, c-common.c, c-common.def, c-common.h,
      	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
      	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
      	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
      	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
      	conditions.h, config.gcc, configure.frag, configure.in,
      	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
      	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
      	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
      	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
      	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
      	emit-rtl.c, errors.c, errors.h, except.c, except.h,
      	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
      	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
      	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
      	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
      	gencheck.c, gencodes.c, genconfig.c, genemit.c,
      	genextract.c, genflags.c, gengenrtl.c, genmultilib,
      	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
      	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
      	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
      	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
      	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
      	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
      	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
      	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
      	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
      	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
      	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
      	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
      	params.h, predict.c, predict.def, predict.h, prefix.c,
      	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
      	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
      	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
      	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
      	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
      	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
      	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
      	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
      	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
      	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
      	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
      	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
      	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
      	xcoffout.h: replace "GNU CC" with "GCC".
      
      From-SVN: r45105
      Lars Brinkhoff committed
  23. 12 Aug, 2001 1 commit
    • toplev.c (set_float_handler): Make static. · 94aca342
      	* toplev.c (set_float_handler): Make static.
      	* toplev.h: Don't prototype set_float_handler.
      
      	* simplify-rtx.c: Don't include setjmp.h.
      	(simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
      	New functions.
      	(simplify_unary_operation, simplify_binary_operation): Use them,
      	via do_float_handler.
      
      	* fold-const.c: Don't include setjmp.h.
      	(exact_real_inverse_1): New function.
      	(exact_real_inverse): Use it, via do_float_handler.
      
      	* varasm.c: Don't include setjmp.h.
      	(assemble_real_1): New function.
      	(assemble_real): Use it, via do_float_handler.
      	Call internal_error if we get a trap here.
      
      	* c-parse.in, cse.c, cselib.c, ch/lex.c, config/i386/i386.c,
      	config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
      
      	* java/lex.h: Don't include setjmp.h.  Don't define
      	SET_FLOAT_HANDLER or prototype set_float_handler.
      
      From-SVN: r44815
      Zack Weinberg committed
  24. 04 Aug, 2001 1 commit
    • Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h are also on line-map.h. · ef6e958a
      	* Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
      	are also on line-map.h.
      	* cppfiles.c (stack_include_file): Update.
      	* cpphash.h (struct cpp_buffer): New member return_at_eof.
      	(_cpp_pop_buffer): New.
      	* cppinit.c (cpp_destroy, cpp_finish): Update.
      	(do_includes): Mark each buffer to return at EOF.
      	* cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
      	return as requested.
      	* cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
      	(cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
      	* cpplib.h (cpp_pop_buffer): Remove.
      	(cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
      	* cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
      	buffers.
      	* cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
      	to pop buffers.
      	(do_preprocessing): Update.
      	* fix-header.c (read_scan_file): Update.  No need to pop buffers.
      	* c-parse.in (_yylex): Similarly.
      	* scan-decls.c (scan_decls): Similarly.
      	* line-map.h: Update comments.
      
      	* cp/spew.c (read_token): No need to pop buffers.
      
      	* objc/Make-lang.in (objc-act.o): Update dependencies.
      
      From-SVN: r44634
      Neil Booth committed
  25. 01 Aug, 2001 1 commit
    • c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for contextualizing… · f2e6e530
      c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for contextualizing Objective-C class name lookup by the...
      
      2001-08-01  Ziemowit Laski  <zlaski@apple.com>
      
              * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
      	contextualizing Objective-C class name lookup by the lexer.
      	(typespec_reserved_nonattr): Disable ObjC class name lookup after
      	seeing a TYPESPEC.
      	(protocoldef): Add support for forward @protocol declarations.
      	(yylexname): Suppress ObjC class name lookup in certain contexts;
      	re-enable after lookup is complete.
      	(_yylex): Re-enable ObjC class name lookup when certain
      	punctuation marks are seen.
      
      	* objc/objc-act.c (check_protocol_recursively): New function used
      	for finding circular dependencies in protocols.
      	(objc_declare_protocols): New function for handling forward
      	@protocol declarations.
      	(receiver_is_class_object): Detect the case when 'self' is used
      	inside of a class method.
      	(build_message_expr): Issue a warning if class method is desired
      	but instance method is found instead.
      	(conforms_to_protocol): Streamline.
      	(objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
      	protocol Foo, even if 'Bar foo' does not.
      	(check_protocols): Streamline.
      	(start_protocol): Add checks for circular and duplicate protocol
      	definitions.
      	(encode_aggregate_within): For typedefs of structs, encode the
      	underlying struct.
      	* objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
      	(objc_declare_protocols): New prototype.
      
      From-SVN: r44536
      Ziemowit Laski committed
  26. 19 Jul, 2001 1 commit
    • c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases. · c60e94a7
      	* c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
      	* c-parse.in (yyerror, _yylex): Similarly.
      	* cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
      	Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
      	Update comments.
      	* cpplib.h (CPP_INT, CPP_FLOAT): Remove.
      	* cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
      
      From-SVN: r44144
      Neil Booth committed
  27. 17 Jul, 2001 1 commit
    • c-parse.in (all_prefix_attributes): New variable. · 4b01f8d8
      	* c-parse.in (all_prefix_attributes): New variable.
      	(PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
      	(maybe_resetattrs): New production.
      	(c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
      	maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
      	notype_initdcl, nested_function, notype_nested_function,
      	component_decl, components, components_notype,
      	component_declarator, component_notype_declarator,
      	absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
      	ivars, mydecl, myparm): Update.  Avoid prefix attributes just
      	after a comma being applied to more than one declarator.
      	* doc/extend.texi (Attribute Syntax): Update.  Remove
      	documentation of bugs that are no longer present.
      
      testsuite:
      	* gcc.c-torture/compile/20010714-1.c, gcc.dg/format/attr-4.c: New
      	tests.
      
      From-SVN: r44070
      Joseph Myers committed
  28. 13 Jul, 2001 1 commit
    • c-common.c (decl_attributes): Take a pointer to the node to which attributes are to be attached... · 59387d2e
      	* c-common.c (decl_attributes): Take a pointer to the node to
      	which attributes are to be attached, and a flags argument.
      	* c-common.h (enum attribute_flags): New.
      	(decl_attributes): Update prototype.
      	* c-decl.c (start_decl, push_parm_decl, finish_struct,
      	finish_enum, start_function): Update calls to decl_attributes.
      	* c-parse.in (component_declarator, component_notype_declarator,
      	label): Update calls to decl_attributes.
      
      cp:
      	* decl2.c (cplus_decl_attributes): Take a pointer to the node to
      	which attributes are to be attached, and a flags argument.  Update
      	call to decl_attributes.
      	(grokfield): Update call to decl_attributes.
      	* class.c (finish_struct): Update call to cplus_decl_attributes.
      	* cp-tree.h (cplus_decl_attributes): Update prototype.
      	* decl.c (start_decl, grokdeclarator, start_function): Update
      	calls to decl_attributes and cplus_decl_attributes.
      	* friend.c (do_friend): Update call to cplus_decl_attributes.
      	* parse.y (parse_bitfield): Update call to cplus_decl_attributes.
      
      From-SVN: r43995
      Joseph Myers committed
  29. 08 Jul, 2001 1 commit
    • c-common.c (decl_attributes): Only take a single attributes parameter. · f7a4cec0
      	* c-common.c (decl_attributes): Only take a single attributes
      	parameter.
      	* c-common.h (decl_attributes): Update prototype.
      	* c-decl.c (start_decl, start_function): Only take a single
      	attributes parameter.  Update calls to decl_attributes.
      	(finish_struct, finish_enum): Update calls to decl_attributes.
      	(push_parm_decl): Expect unified list of attributes.  Update call
      	to decl_attributes.
      	* c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
      	notype_nested_function, component_declarator,
      	component_notype_declarator, label): Update calls to
      	decl_attributes.
      	(absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
      	lists that are passed to push_parm_decl.
      	* c-tree.h (start_function, start_decl): Update prototypes.
      	* config/sh/sh-protos.h, config/sh/sh.c
      	(sh_pragma_insert_attributes): Only take a single attributes
      	parameter.
      	* config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
      	* doc/tm.texi (INSERT_ATTRIBUTES): Update.
      	* objc/objc-act.c (define_decl, generate_objc_symtab_decl,
      	build_module_descriptor, generate_static_references,
      	generate_strings, build_selector_translation_table,
      	generate_descriptor_table, generate_protocols,
      	generate_ivars_list, generate_dispatch_table,
      	generate_protocol_list, generate_category,
      	generate_shared_structures, really_start_method, add_objc_decls,
      	generate_classref_translation_entry): Update calls to start_decl
      	and start_function.
      	(build_tmp_function_decl, start_method_def): Unify attribute lists
      	that are passed to push_parm_decl.
      
      cp:
      	* decl.c (grokdeclarator), decl2.c (cplus_decl_attributes): Update
      	calls to decl_attributes.
      
      testsuite:
      	* gcc.c-torture/compile/20010701-1.c,
      	g++.old-deja/g++.ext/attrib6.C: New tests.
      
      From-SVN: r43850
      Joseph Myers committed
  30. 01 Jul, 2001 1 commit
    • c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT, RID_LAST_PQ. · b8363a24
      	* c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
      	RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
      	enumerators.
      	(OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
      
      	* c-parse.in (OBJC_STRING): Kill.
      	(objc_string): Decompose to [objc_string] '@' STRING.
      	(reswords): Take the leading '@' off all the Objective C keywords.
      	(objc_rid_sans_at): Kill.
      	(init_reswords): Don't initialize it.
      	(yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
      	(_yylex): Kill reconsider label.  Look ahead one token after
      	an '@'; if we get an identifier, check whether it's an
      	Objective C @-keyword.  If so, return the keyword.  Otherwise,
      	put back the token and return the '@' as a terminal.
      
      	* cpplib.c (lex_macro_node): Remove unnecessary check for
      	leading '@' on identifier.  Clarify control flow and commentary.
      
      From-SVN: r43674
      Zack Weinberg committed
  31. 10 Jun, 2001 1 commit
    • Makefile.in (c-parse.o): Depend on diagnostic.h · 2a2b2d43
      gcc/
      
      2001-06-10  Mark Mitchell <mark@codesourcery.com>
      	    Gabriel Dos Reis  <gdr@codesourcery.com>
      
      	* Makefile.in (c-parse.o): Depend on diagnostic.h
      	(dwarf2out.o): Likewise.
      
      	* dwarf2out.c: #include diagnostic.h
      
      	* toplev.h (warningcount, errorcount, sorrycount): Remove
      	declarations.
      
      	* toplev.c (warningcount, errorcount, sorrycount): Remove
      	definitions.
      
      	* diagnostic.h (struct output_buffer): Reorder fields.
      	(diagnostic_kind_count): New macro.
      	(errorcount, warningcount, sorrycount): Define as macros.
      	(diagnostic_report_warnings_p): New macro.
      	(output_state): Add diagnostic_count field.
      
      	* diagnostic.c (warningcount, errorcount, inhibit_warnings):
      	Remove tentative declaration.
      	(count_error): Use diagnostic_report_warnings_p.
      
      	* c-parse.in: #include diagnostic.h
      
      ch/
      
      2001-06-10  Gabriel Dos Reis  <gdr@codesourcery.com>
      
      	* decl.c: #include diagnostic.h
      	* actions.c: #include diagnostic.h
      	* Makefile.in (actions.o): Depend on diagnostic.h
      	(decl.o): Depend on diagnostic.h
      
      cp/
      
      2001-06-10  Mark Mitchell <mark@codesourcery.com>
      	    Gabriel Dos Reis  <gdr@codesourcery.com>
      
      	* Make-lang.in (cp/call.o): Depend on diagnostic.h
      	(cp/typeck.o): Depend on diagnostic.h
      	(cp/typeck2.o): Depend on diagnostic.h
      	(cp/repo.o): Depend on dignostic.h
      	* typeck.c: #include diagnostic.h
      	(convert_for_initialization): Remove extern declaration for
      	warningcount and errorcount.
      
      	* call.c: #include diagnostic.h
      	(convert_like_real): Remove extern declaration for warnincount and
      	errorcount.
      
      	* repo.c: #include diagnostic.h
      	* typeck2.c: #include diagnostic.h
      
      From-SVN: r43140
      Gabriel Dos Reis committed
  32. 25 May, 2001 2 commits
    • * c-parse.in (notype_initdcl): Remove redundant line. · d3c733f9
      From-SVN: r42581
      Neil Booth committed
    • c-parse.in (array_declarator): New. · 0e03329a
      	* c-parse.in (array_declarator): New.  Handle C99 constructs.
      	Don't restrict [*] declarators to C only.
      	(after_type_declarator, parm_declarator_starttypename,
      	parm_declarator_nostarttypename, notype_declarator,
      	direct_absdcl1): Use it.
      	* c-decl.c (build_array_declarator, set_array_declarator_type):
      	New functions.  Warn that [*] isn't properly implemented; pedwarn
      	for [*] outside C99 mode if pedantic rather than giving a hard
      	error.
      	(grokdeclarator): Handle static and type qualifiers in parameter
      	array declarators.
      	* c-tree.h (build_array_declarator, set_array_declarator_type):
      	Declare.
      	* extend.texi (Attribute Syntax): Document attributes in parameter
      	array declarators.
      
      testsuite:
      	* gcc.dg/c90-arraydecl-1.c, gcc.dg/c99-arraydecl-1.c: New tests.
      
      From-SVN: r42574
      Joseph Myers committed
  33. 19 May, 2001 1 commit
    • re PR c/166 (C syntax problem in gcc) · 97d24516
      	* c-parse.in (parm_declarator): Split into
      	parm_declarator_starttypename and parm_declarator_nostarttypename.
      	(parm_declarator_starttypename, parm_declarator_nostarttypename):
      	New.  Allow parenthesised sub-declarators which don't begin with a
      	TYPENAME.  Fixes PR c/166.
      
      testsuite:
      	* gcc.c-torture/compile/20010114-1.x: Remove.
      
      From-SVN: r42315
      Joseph Myers committed
  34. 16 May, 2001 2 commits
    • c-parse.in (methodtype): New production. · 0b1cdaf2
      	* c-parse.in (methodtype): New production.
      	(methoddef, methodproto): Collapse separate '-' and '+'
      	handlers into 1.
      
      From-SVN: r42133
      Neil Booth committed
    • c-common.h (RID_FIRST_PQ): New. · 4c521bad
      	* c-common.h (RID_FIRST_PQ): New.
      	* c-parse.in (objc_pq_context): New.
      	(objc parser): Set objc_pq_context rather than calling
      	remember_protocol_qualifiers and forget_protocol_qualifiers.
      	Don't call save_and_forget_protocol_qualifiers.
      	(yylexname): Handle objc protocol qualifiers here.
      	* stringpool.c (struct str_header): Replace with sp_hashnode.
      	(SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
      	(alloc_string): Rename alloc_ident.  Use the SP_ accessors.
      	Allocate an IDENTIFIER_NODE for each identifier.
      	(FORALL_STRINGS, set_identifier): Delete.
      	(FORALL_IDS, expand_string_table, stringpool_statistics): Update.
      	(ggc_alloc_string): Use an obstack.
      	(get_identifier, maybe_get_identifier, mark_string_hash): Update.
      	* tree.h: Update comments.
      	(set_identifier): Delete.
      	* objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
      	save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
      	remember_protocol_qualifiers): Delete.
      
      From-SVN: r42132
      Neil Booth committed