aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-decl.c
AgeCommit message (Collapse)AuthorFilesLines
2002-03-22c-pragma.c (maybe_apply_renaming_pragma): New.Richard Henderson1-0/+2
* c-pragma.c (maybe_apply_renaming_pragma): New. (handle_pragma_redefine_extname, pending_redefine_extname): New. (handle_pragma_extern_prefix, pragma_extern_prefix): New. (init_pragma): Register them. * c-pragma.h (maybe_apply_renaming_pragma): Declare. * c-decl.c (finish_decl): Call it. * cp/decl.c (cp_finish_decl): Likewise. * doc/extend.texi: Document the new pragmas. * config/alpha/osf.h (CPP_SUBTARGET_SPEC): Add __EXTERN_PREFIX. (HANDLE_PRAGMA_EXTERN_PREFIX): New. * config/i386/sol2.h (CPP_PREDEFINES): Add __PRAGMA_REDEFINE_EXTNAME. (HANDLE_PRAGMA_REDEFINE_EXTNAME): New. * config/sparc/sol2.h: Likewise. * g++.dg/other/pragma-re-1.C: New. * g++.dg/other/pragma-ep-1.C: New. * gcc.dg/pragma-re-1.c, gcc.dg/pragma-re-2.c: New. * gcc.dg/pragma-ep-1.c, gcc.dg/pragma-ep-2.c: New. * gcc.dg/pragma-ep-3.c: New. From-SVN: r51200
2002-03-14c-decl.c: Include c-pragma.h.Richard Henderson1-3/+15
* c-decl.c: Include c-pragma.h. (start_decl, start_function): Invoke maybe_apply_pragma_weak. (finish_function): Tidy. * c-pragma.c: Include c-common.h. (pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New. (handle_pragma_weak): Use them. (init_pragma): Register pending_weaks. * c-pragma.h (maybe_apply_pragma_weak): Declare. * print-tree.c (print_node): Print DECL_WEAK. * varasm.c (mark_weak_decls): Remove. (remove_from_pending_weak_list): Remove. (add_weak): Remove. (asm_emit_uninitialised): Call globalize_decl for weak commons. (weak_decls): Make a tree_list. (declare_weak): Cons weak_decls directly. (globalize_decl): Remove weak_decls elements directly. (weak_finish): Simplify weak_decls walk. Don't weaken unused symbols. Don't pretend to handle aliases. (init_varasm_once): Update weak_decls registry. * Makefile.in: Update dependencies. * cp/decl.c: Include c-pragma.h. (start_decl, start_function): Invoke maybe_apply_pragma_weak. * cp/Make-lang.in: Update dependencies. * gcc.dg/weak-1.c: New. From-SVN: r50797
2002-03-05toplev.c (documented_lang_options): Document more language-specific options.Geoffrey Keating1-143/+64
* toplev.c (documented_lang_options): Document more language-specific options. * doc/invoke.texi (Warning Options): Correct documentation for -Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers. * c-decl.c (c_decode_option): Use a table to handle warning options. From-SVN: r50299
2002-03-03* c-decl.c (start_decl): Initialized variables are not common.Richard Henderson1-1/+1
From-SVN: r50250
2002-02-28c-decl.c (finish_function): Only warn about missing return statement with ↵Jason Merrill1-3/+4
-Wreturn-type. * c-decl.c (finish_function): Only warn about missing return statement with -Wreturn-type. * cp/decl.c (finish_function): Only warn about missing return statement with -Wreturn-type. From-SVN: r50132
2002-02-28Makefile.in (integrate.o): Update.Neil Booth1-2/+2
* Makefile.in (integrate.o): Update. * c-decl.c (copy_lang_decl): Rename. * c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine. * integrate.c: Include langhooks.h. (copy_decl_for_inlining): Update to use langhook. * langhooks-def.h (lhd_do_nothing_t, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New. (LANG_HOOKS_INITIALIZER): Update. * langhooks.c (lhd_do_nothing_t): New. * langhooks.h (struct lang_hooks): Add dup_lang_specific_decl. * tree.h (copy_lang_decl): Remove. ada: * misc.c (copy_lang_decl): Remove. cp: * class.c (build_clone): Update. * cp-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine. * cp-tree.h (cxx_dup_lang_specific_decl): New. * lex.c (copy_lang_decl): Rename cxx_dup_lang_specific_decl. (copy_decl): Update. * method.c (make_thunk): Update. f: * com.c (copy_lang_decl): Delete. java: * decl.c (copy_lang_decl): Rename java_dup_lang_specific_decl. * java-tree.h (java_dup_lang_specific_decl): New. * lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine. objc: * objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine. From-SVN: r50122
2002-02-27c-common.c, [...]: Delete code implementing -traditional mode.Zack Weinberg1-145/+16
* 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
2002-02-20c-decl.c (pushdecl): If no global declaration is found for an extern ↵Alexandre Oliva1-3/+5
declaration in block scope... * c-decl.c (pushdecl): If no global declaration is found for an extern declaration in block scope, try a limbo one. From-SVN: r49917
2002-02-20re PR c++/5713 (Redeclaration causes ice in in make_decl_rtl, at varasm.c:835)Jakub Jelinek1-0/+1
PR c++/5713 * c-decl.c (duplicate_decls): Return 0 if issued error about redeclaration. * decl.c (duplicate_decls): Return 0 if issued error about redeclaration. * gcc.dg/noncompile/20020220-1.c: New test. From-SVN: r49915
2002-02-15* c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.Richard Sandiford1-2/+2
From-SVN: r49791
2002-02-14re PR c/5503 (GCC ignores prototype)Jakub Jelinek1-0/+16
PR c/5503: * c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL, use arguments from newtype. * gcc.dg/noncompile/20020213-1.c: New test. From-SVN: r49763
2002-02-06c-decl.c (finish_function): Warn about a non-void function with no return ↵Jason Merrill1-0/+31
statement and no abnormal exit. * c-decl.c (finish_function): Warn about a non-void function with no return statement and no abnormal exit. (current_function_returns_abnormally): New variable. (start_function): Clear it. (struct c_language_function): Add returns_abnormally. (push_c_function_context): Save it. (pop_c_function_context): Restore it. (builtin_function): Set TREE_THIS_VOLATILE on return fns. (grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without an explicit return type. * c-tree.h: Declare current_function_returns_abnormally. (C_FUNCTION_IMPLICIT_INT): New macro. * c-typeck.c (build_function_call): Set it. (c_expand_return): Set current_function_returns_value even if the value is erroneous. From-SVN: r49551
2002-02-05target.h (struct gcc_target): Added ms_bitfield_layout_p.Alexandre Oliva1-1/+2
* target.h (struct gcc_target): Added ms_bitfield_layout_p. * target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New. Added to... (TARGET_INITIALIZER): this. * doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document. (BITFIELD_NBYTES_LIMITED): Markup fix. * tree.h (default_ms_bitfield_layout_p): Declare. (record_layout_info): Added prev_field. * tree.c (default_ms_bitfield_layout_p): New fn. * c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout. * stor-layout.c: Include target.h. (start_record_layout): Initialize prev_field. (place_field): Handle MS bit-field layout, and disregard EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and PCC_BITFIELD_TYPE_MATTERS in this case. Update prev_field. * Makefile.in (stor-layout.o): Adjust dependencies. From-SVN: r49526
2002-02-02c-decl.c, [...]: Revert bitfield patch.Neil Booth1-137/+114
* c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield patch. * gcc.dg/bitfld-1.c: Update. * gcc.dg/bitfld-2.c: Update. * gcc.c-torture/execute/bitfld-1.x: New. From-SVN: r49420
2002-02-01c-lex.c (yyparse): Call debug_hooks->start_source_file for the primary ↵Zack Weinberg1-0/+1
source file... * c-lex.c (yyparse): Call debug_hooks->start_source_file for the primary source file; this has not been done yet. * c-decl.c (c_expand_body): Reset input_filename from DECL_SOURCE_FILE (fndecl) before calling init_function_start. From-SVN: r49383
2002-01-31c-decl.c (grokdeclarator): Handle type being a typedef for an invalid type.Joseph Myers1-3/+8
* c-decl.c (grokdeclarator): Handle type being a typedef for an invalid type. testsuite: * gcc.dg/noncompile/20020130-1.c: New test. From-SVN: r49352
2002-01-29re PR c/3325 (cast of bit-field to same type gets discarded)Neil Booth1-114/+137
PR c/3325 * c-decl.c (enum_decl_context): Remove BITFIELD. (grokdeclarator): Take bitfield width as an input. Ensure bitfields are given the correct type. Perform bitfield width validation with build_bitfield_integer_type rather than waiting for finish_struct. (grok_typename, grok_typename_in_parm_context, start_decl, push_parmdecl, grokfield, start_function): Update calls to grokdeclarator. (build_bitfield_integer_type): New function. (finish_struct): Move bitfield validation to grokdeclarator and build_bitfield_integer_type. * tree.c (build_nonstandard_integer_type): New function. * tree.h (build_nonstandard_integer_type): New prototype. objc: * objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge. testsuite: * gcc.c-torture/compile/20000224-1.c: Update. * gcc.c-torture/execute/bitfld-1.c: New tests. * gcc.dg/bitfld-1.c, bitfld-2.c: Diagnostic tests. * gcc.dg/uninit-A.c: Update. From-SVN: r49321
2002-01-29re PR other/1502 (Nonexistent -W options not diagnosed)Jakub Jelinek1-1/+1
PR other/1502: * cppinit.c (cpp_handle_option): Add ignore argument, if it is zero, don't ignore unrecognized -W* options. (cpp_handle_options): Pass 1 as last argument to cpp_handle_option. * cpplib.h (cpp_handle_option): Adjust prototype. * c-decl.c (c_decode_options): Pass 0 as last argument to cpp_handle_option. PR c/2896: * gcc.c (cpp_unique_options): Split from cpp_options. (cpp_options): Source cpp_unique_options. (default_compilers): Use cpp_unique_options instead of cpp_options when used together with cc1_options. (static_specs): Add cpp_unique_options. * objc/lang-specs.h: Use cpp_unique_options instead of cpp_options when used together with cc1_options. * decl2.c (cxx_decode_option): Pass 0 as last argument to cpp_handle_option. * lang-specs.h: Use cpp_unique_options instead of cpp_options when used together with cc1_options. From-SVN: r49315
2002-01-25builtins.c (expand_builtin_strncpy): Use integer_zerop instead of ↵Richard Kenner1-6/+5
compare_tree_int. * builtins.c (expand_builtin_strncpy): Use integer_zerop instead of compare_tree_int. (expand_builtin_strncat): Likewise. * c-decl.c (finish_struct): Use tree_low_cst. * tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT. * tree.c (compare_tree_int): Likewise. From-SVN: r49222
2002-01-10Added __attribute__((deprecated)) patches.Ira Ruben1-2/+31
From-SVN: r48743
2002-01-05c-decl.c (c_expand_body): Don't call outlining_inline_function.Richard Henderson1-5/+0
* c-decl.c (c_expand_body): Don't call outlining_inline_function. * integrate.c (output_inline_function): Likewise. * toplev.c (rest_of_compilation): Do it here instead. Move call to remove_unnecessary_notes after emitting abstract instance. Force an emitted nested function to have its parent emited as well. * dwarf2out.c (loc_descriptor_from_tree): Read mode after checking for null. (rtl_for_decl_location): Do not look at reload data structures before reload has run. * semantics.c (expand_body): Revert last change. From-SVN: r48572
2002-01-02c-decl.c (c_expand_body): Call outlining_inline_function when emitting an ↵Jason Merrill1-1/+6
inline function out of line. * c-decl.c (c_expand_body): Call outlining_inline_function when emitting an inline function out of line. * semantics.c (expand_body): Call outlining_inline_function when emitting an inline function out of line. From-SVN: r48479
2001-12-24re PR debug/5163 (Internal compiler error in add_abstract_origin_attribute, ↵Richard Henderson1-15/+34
at dwarf2out.c:9296) PR c/5163: * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when we have a function body associated. Minor cleanups. (grokdeclarator): Do not set DECL_INLINE without a function body. * gcc.dg/20011223-1.c: New. * gcc.dg/inline-1.c: New. From-SVN: r48302
2001-12-17re PR c/5105 (compound literal patch broken with inlining)Joseph Myers1-1/+3
* c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not a DECL directly. * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New. (COMPOUND_LITERAL_EXPR_DECL): Adjust definition. * c-decl.c (build_compound_literal): Put the decl inside a DECL_STMT. * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation. Fixes PR c/5105. testsuite: * gcc.c-torture/compile/20011217-1.c: New test. From-SVN: r48085
2001-12-15c-parse.in (typename): Do not split attributes.Aldy Hernandez1-3/+11
* c-parse.in (typename): Do not split attributes. Remove unsupported attributes warning. * c-decl.c (groktypename): Apply attributes. From-SVN: r48032
2001-12-07* c-decl.c (c_language): Remove duplicate.Richard Henderson1-4/+0
From-SVN: r47776
2001-12-05c-common.c (shadow_warning): New function, moved from cp/decl.c.Neil Booth1-45/+72
* c-common.c (shadow_warning): New function, moved from cp/decl.c. * c-common.h (shadow_warning): New. * c-decl.c: Include c-common.h. (warn_if_shadowing): New, broken out of pushdecl. (pushdecl): Use warn_if_shadowing. (store_parm_decls): Prevent duplicate -Wshadow warnings. cp: * decl.c: Include c-common.h. (shadow_warning): Move to c-common.c. testsuite: * gcc.dg/Wshadow-1.c: New test. From-SVN: r47701
2001-12-05attribs.c (handle_no_check_memory_usage_atribute): Deleted.Richard Kenner1-5/+1
* attribs.c (handle_no_check_memory_usage_atribute): Deleted. (c_com): Delete its reference. * builtins.c: Delete memory checking code. * calls.c, expr.c, function.c, stmt.c: Likewise. * builtins.c (expand_builtin_arg_info): Remove reference to EXPAND_MEMORY_USE_* modifiers. * explow.c (expr_size): Likewise. * expr.c (expand_expr, expand_increment): Likewise. * expr.h (ARGS_SIZE_RTX): Likewise. * function.c (assign_parms, expand_pending_sizeso): Likewise. * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE. * expr.c (in_check_memory_usage): Delete. (get_push_address, get_memory_usage_from_modifier): Delete. (expand_assigment): Use EXPAND_WRITE on destination. (expand_expr): Delete ro_modifier. * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and add EXPAND_WRITE. (memory_use_mode): Delete. * flags.h (flag_check_memory_usage): Deleted. (flag_prefix_function_name): Likewise. * function.c (expand_function_start): Don't set current_function_check_memory_usage. * function.h (check_memory_usage): Delete. * libfuncs.h, optabs.c: Delete chkr_* stuff. * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to EXPAND_WRITE. * toplev.c (flag_check_memory_usage): Deleted. (flag_prefix_function_name): Likewise. (f_options, process_options): Delete references to above. * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted. * varasm.c (CHKR_PREFIX): Deleted. (make_decl_rtl): Remove flag_prefix_function_name handling. (assemble_name): Likewise. * doc/extend.texi: Remove no_check_memory_usage attribute. * doc/invoke.texi: Remove -fcheck-memory-usage and -fprefix-function-name. * cp/decl.c (duplicate_decls): Don't copy DECL_NO_CHECK_MEMORY_USAGE. From-SVN: r47697
2001-12-05c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's type is ↵Jakub Jelinek1-3/+24
RECORD_TYPE... * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof. (finish_struct): Break the loop if n_incomplete went to 0. For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too. * gcc.c-torture/compile/20011130-1.c: New test. From-SVN: r47671
2001-12-04re PR c/4787 (Different anonymous variables declared but only one allocated ↵Joseph Myers1-0/+53
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
2001-12-04c-decl.c (duplicate_decls): Revert rth's patch.Alexandre Oliva1-5/+6
* c-decl.c (duplicate_decls): Revert rth's patch. If newdecl is in a different binding level, get its abstract origin to be olddecl. * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity check earlier. * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if DECL_INITIAL is NULL. From-SVN: r47610
2001-12-03c-decl.c (grokdeclarator): Use ISO word.Neil Booth1-1/+1
* c-decl.c (grokdeclarator): Use ISO word. * cppinit.c: Remove leading capital from diagnostic messages, as per GNU coding standards. * diagnostic.c: Similarly. * emit-rtl.c: Similarly. * final.c: Similarly. * gcc.c: Similarly. * tradcpp.c: Similarly. * config/arm/arm.c: Similarly. * config/arm/arm.h: Similarly. * config/avr/avr.c: Similarly. * config/avr/avr.h: Similarly. * config/c4x/c4x.c: Similarly. * config/cris/cris.c: Similarly. * config/cris/cris.h: Similarly. * config/d30v/d30v.c: Similarly. * config/dsp16xx/dsp16xx.c: Similarly. * config/dsp16xx/dsp16xx.h: Similarly. * config/h8300/h8300.c: Similarly. * config/i386/i386.c: Similarly. * config/i386/xm-djgpp.h: Similarly. * config/i960/i960.h: Similarly. * config/m32r/m32r.c: Similarly. * config/m68hc11/m68hc11.c: Similarly. * config/m88k/m88k.c: Similarly. * config/m88k/m88k.h: Similarly. * config/mcore/mcore.c: Similarly. * config/mcore/mcore.h: Similarly. * config/mips/mips.c: Similarly. * config/mmix/mmix.c: Similarly. * config/pa/pa.c: Similarly. * config/rs6000/rs6000.c: Similarly. * config/rs6000/sysv4.h: Similarly. * config/s390/s390.c: Similarly. * config/sparc/sparc.c: Similarly. * config/v850/v850-c.c: Similarly. * config/v850/v850.c: Similarly. ch: * actions.c: Remove leading capital from diagnostic messages, as per GNU coding standards. * decl.c: Similarly. * expr.c: Similarly. * inout.c: Similarly. * lang.c: Similarly. * loop.c: Similarly. * nloop.c: Similarly. * parse.c: Similarly. * satisfy.c: Similarly. * tasking.c: Similarly. * tree.c: Similarly. * typeck.c: Similarly. cp: * typeck2.c: Remove leading capital from diagnostic messages, as per GNU coding standards. f: * com.c: Remove leading capital from diagnostic messages, as per GNU coding standards. * g77spec.c: Similarly. * lex.c: Similarly. java: * expr.c: Remove leading capital from diagnostic messages, as per GNU coding standards. * jcf-io.c: Similarly. * jcf-parse.c: Similarly. * jv-scan.c: Similarly. * jvspec.c: Similarly. * mangle.c: Similarly. From-SVN: r47558
2001-12-02* c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.Richard Henderson1-2/+4
From-SVN: r47535
2001-12-02c-decl.c (duplicate_decls, [...]): Remove leading capital from diagnostics.Neil Booth1-3/+3
* 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
2001-12-01c-decl.c (duplicate_decls, [...]): Remove trailing period from diagnostics.Neil Booth1-3/+3
* 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
2001-11-30* c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.Richard Henderson1-0/+1
From-SVN: r47494
2001-11-23ChangeLog.0, [...]: Fix spelling errors.Joseph Myers1-1/+1
* ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog, FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c, cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c, dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h, explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c, sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors. From-SVN: r47279
2001-11-21c-decl.c (c_expand_deferred_function): Only call c_expand_body if fndecl is ↵Jakub Jelinek1-2/+7
still DECL_INLINE and has DECL_RESULT. * c-decl.c (c_expand_deferred_function): Only call c_expand_body if fndecl is still DECL_INLINE and has DECL_RESULT. * gcc.c-torture/compile/20011119-1.c: New test. * gcc.c-torture/compile/20011119-2.c: New test. From-SVN: r47240
2001-11-18c-decl.c (c_decode_option): Give deprecation warning for -traditional.Joseph Myers1-0/+1
* c-decl.c (c_decode_option): Give deprecation warning for -traditional. * doc/invoke.texi (-traditional): Note that this option is deprecated. testsuite: * gcc.dg/cpp/assert_trad1.c, gcc.dg/cpp/tr-paste.c, gcc.dg/cpp/tr-str.c: Use -traditional-cpp instead of -traditional. * gcc.dg/ext-glob.c: Expect -traditional deprecation warning. From-SVN: r47147
2001-11-18c-common.c (struct disabled_builtin, [...]): New.Joseph Myers1-0/+2
* c-common.c (struct disabled_builtin, disabled_builtins, disable_builtin_function, builtin_function_disabled_p): New. (builtin_function_2): Check for disabled built-in functions. * c-common.h (disable_builtin_function): Declare. * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION. * doc/invoke.texi: Document -fno-builtin-FUNCTION. * doc/extend.texi: Mention -fno-builtin-FUNCTION. testsuite: * gcc.dg/no-builtin-1.c: New test. From-SVN: r47133
2001-11-15c-common.c: Include c-lex.h.Neil Booth1-1/+4
* 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
2001-11-14cfglayout.c (fixup_fallthru_exit_predecesor): New static function.Jan Hubicka1-2/+5
* cfglayout.c (fixup_fallthru_exit_predecesor): New static function. (cfg_layout_finalize): Use it. * bb-reorder.c (HAVE_epilogue): Remove. (make_reorder_chain): Do not care special placement of last basic block. * predict.c (expected_value_to_br_prob): Delete the note once transformed. * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem; measure integration time separately. From-SVN: r47019
2001-11-12Makefile.in (c-lang.o): Depend on $(VARRAY_H).Alexandre Oliva1-6/+28
* Makefile.in (c-lang.o): Depend on $(VARRAY_H). * c-decl.c (c_expand_body): Take argument can_defer_p. Use it to decide whether to defer a function. (finish_function): Adjust. (c_expand_deferred_function): New function. * c-lang.c (deferred_fns): New variable. (c_init): Initialize it, and mark it as a root. (defer_fn): New function. (finish_file): Expand all deferred functions. * c-tree.h (defer_fn): Declare. (c_expand_deferred_function): Likewise. * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H). * objc-act.c (deferred_fns): New variable. (objc_init): Initialize it, and mark it as a root. (defer_fn): New function. (finish_file): Expand all deferred functions. From-SVN: r46933
2001-11-09Makefile.in: Update.Neil Booth1-19/+1
* 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
2001-11-07c-decl.c (pushdecl): Remove file and line.Neil Booth1-8/+0
* c-decl.c (pushdecl): Remove file and line. * c-typeck.c (pop_init_level): Remove size. From-SVN: r46838
2001-11-05c-decl.c (delete_block): Remove.Neil Booth1-24/+0
* c-decl.c (delete_block): Remove. * c-tree.h (delete_block): Remove. From-SVN: r46795
2001-11-03c-decl.c (pushdecl): Move block inside if conditional to remove possibility ↵Neil Booth1-7/+10
of a segfault. * c-decl.c (pushdecl): Move block inside if conditional to remove possibility of a segfault. Lookup block-level extern variables in enclosing scopes correctly. * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL. From-SVN: r46726
2001-10-30Localization fixes.Paolo Bonzini1-13/+33
2001-10-30 Paolo Bonzini <bonzini@gnu.org> Localization fixes. * c-decl.c (parmlist_tags_warning, start_struct, check_for_loop_decls): Separate messages for struct, union and enum cases to allow for languages in which they have different genders. * c-format.c (scanf_flag_specs): Separate short and long name of the assignment suppression feature. (check_format_types): Localize "pointer" and "different types" strings. * c-lex.c (lex_number): Localize "an unsigned long int" and related strings. (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on warning message. * c-typeck.c (build_unary_up): Separate messages for increment and decrement cases to allow for languages in which they use different articles. Localize the strings "increment" and "decrement" in one case. From-SVN: r46635
2001-10-29ChangeLog.2, [...]: Fix spelling errors and typos.Joseph Myers1-2/+2
* ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10, FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c, c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c, timevar.h, tree.h, varasm.c: Fix spelling errors and typos. From-SVN: r46621
2001-10-24c-decl.c (finish_decl): Don't add DECL_STMTs for nested function prototypes.Jakub Jelinek1-1/+2
* c-decl.c (finish_decl): Don't add DECL_STMTs for nested function prototypes. * gcc.c-torture/compile/20011023-1.c: New test. From-SVN: r46463