Commit Graph

377 Commits

Author SHA1 Message Date
Richard Henderson
7c262518a4 target.h (gcc_target): Add asm_out.named_section, section_type_flags, have_named_sections.
* target.h (gcc_target): Add asm_out.named_section,
	section_type_flags, have_named_sections.
	* target-def.h (TARGET_ASM_NAMED_SECTION): New.
	(TARGET_HAVE_NAMED_SECTIONS): New.
	(TARGET_SECTION_TYPE_FLAGS): New.

	* Makefile.in (toplev.o): Depend on TARGET_H.
	(varasm.o, dbxout.o): Likewise.
	* c-common.c (decl_attributes): Check targetm.have_named_sections
	instead of ifdef ASM_OUTPUT_SECTION_NAME.
	* dbxout.c (dbxout_function_decl): Likewise.
	(dbxout_function_end): Likewise.
	* toplev.c (compile_file): Likewise.
	* varasm.c (exception_section): Likewise.
	* cp/decl2.c (finish_objects): Likewise.

	* defaults.h (EH_FRAME_SECTION): Remove.
	(EH_FRAME_SECTION_ASM_OP): Remove.
	(EH_FRAME_SECTION_NAME): New.
	(UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
	(UNIQUE_SECTION_P): Remove.
	* dwarf2out.c (SECTION_FORMAT): Remove.
	(ASM_OUTPUT_SECTION): Remove.
	(output_call_frame_info): Use named_section_flags.
	(output_comp_unit, dwarf2out_start_source_file): Likewise.
	(dwarf2out_end_source_file, dwarf2out_define): Likewise.
	(dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
	* varasm.c (in_eh_frame, eh_frame_section): Remove.
	(named_section_flags): New.
	(named_section): Use it and targetm.section_type_flags.
	(resolve_unique_section): New.
	(assemble_start_function): Use it.
	(asm_emit_uninitialised, assemble_variable): Likewise.
	(default_section_type_flags): New.
	(default_no_named_section, default_elf_asm_named_section): New.
	(default_coff_asm_named_section, default_pe_asm_named_section): New.
	* output.h: Update varasm.c decls.
	(SECTION_*): New flags.

	* crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
	(__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.

	* config/elfos.h (UNIQUE_SECTION_P): Remove.
	* config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
	* config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
	* config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
	* config/i386/i386-interix.h, config/i386/win32.h: Likewise.
	* config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
	* config/mips/elf.h, config/mips/elf64.h: Likewise.
	* config/mips/iris6gld.h, config/mips/mips.h: Likewise.
	* config/pa/pa64-hpux.h,

	* config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
	(TARGET_ASM_NAMED_SECTION): New.
	* config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
	* config/alpha/vms.h, config/arm/coff.h: Likewise.
	* config/arm/conix-elf.h, config/arm/elf.h: Likewise.
	* config/arm/linux-elf.h, config/arm/pe.h: Likewise.
	* config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
	* config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
	* config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
	* config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
	* config/i386/sco5.h, config/i386/win32.h: Likewise.
	* config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
	* config/mcore/mcore.h, config/mips/elf.h: Likewise.
	* config/mips/elf64.h, config/mips/iris6.h: Likewise.
	* config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
	* config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
	* config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
	* config/sparc/sysv4.h: Likewise.

	* config/nextstep.h: Error until named sections implemented.

	* config/a29k/a29k.c (a29k_asm_named_section): New.
	* config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
	(vms_section_type_flags, vms_asm_named_section): New.
	* config/arm/arm.c (arm_elf_asm_named_section): New.
	* config/avr/avr.c (asm_output_section_name): Remove.
	* config/avr/avr-protos.h: Update.
	* config/c4x/c4x.c (c4x_asm_named_section): New.
	* config/h8300/h8300.c (h8300_asm_named_section): New.
	* config/i386/i386.c (sco_asm_named_section): New.
	* config/i386/winnt.c (SECTION_PE_SHARED): New.
	(i386_pe_section_type_flags): New.
	(i386_pe_asm_named_section): New.
	* config/i386/i386-protos.h: Update.
	* config/m68k/m68k.c (m68k_coff_asm_named_section): New.
	* config/mcore/mcore.c (mcore_asm_named_section): New.
	* config/mips/mips.c (iris6_asm_named_section): New.
	* config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
	instead of UNIQUE_SECTION_P.
	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
	(xcoff_asm_named_section): New.
	* config/sh/sh.c (sh_asm_named_section): New.
	* config/sparc/sparc.c (sparc_elf_asm_named_section): New.

	* config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
	* config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
	(EH_FRAME_SECTION_NAME): New.
	(EXCEPTION_SECTION): New.
	* config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
	(DEBUG_*_SECTION): Remove.
	* config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
	* config/mips/iris6.h (DEBUG_*_SECTION): Remove.
	(EH_FRAME_SECTION_ASM_OP): Remove.

	* doc/tm.texi (UNIQUE_SECTION_P): Remove.
	(ASM_OUTPUT_SECTION_NAME): Remove.
	(TARGET_ASM_NAMED_SECTION): New.
	(TARGET_HAVE_NAMED_SECTIONS): New.
	(TARGET_SECTION_TYPE_FLAGS): New.
	(EH_FRAME_SECTION_ASM_OP): Remove.
	(EH_FRAME_SECTION_NAME): New.

From-SVN: r44623
2001-08-03 18:31:41 -07:00
Kazu Hirata
ec5c56db8b alias.c: Fix comment formatting.
* alias.c: Fix comment formatting.
	* bitmap.c: Likewise.
	* builtins.c: Likewise.
	* calls.c: Likewise.
	* c-common.c: Likewise.
	* c-decl.c: Likewise.
	* c-dump.c: Likewise.
	* c-lex.c: Likewise.
	* collect2.c: Likewise.
	* combine.c: Likewise.
	* conflict.c: Likewise.
	* cppfiles.c: Likewise.
	* cppinit.c: Likewise.
	* cpplex.c: Likewise.
	* cpplib.c: Likewise.
	* cppmacro.c: Likewise.
	* cppspec.c: Likewise.
	* c-pragma.c: Likewise.
	* crtstuff.c: Likewise.
	* cse.c: Likewise.
	* cselib.c: Likewise.
	* c-semantics.c: Likewise.
	* c-typeck.c: Likewise.

From-SVN: r44547
2001-08-01 17:57:27 +00:00
Joseph Myers
59387d2e31 c-common.c (decl_attributes): Take a pointer to the node to which attributes are to be attached...
* 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
2001-07-13 21:40:43 +01:00
Stan Shebs
f6155fda7b target.h (struct gcc_target): New fields init_builtins and expand_builtin.
* target.h (struct gcc_target): New fields init_builtins and
	expand_builtin.
	* target-def.h (TARGET_INIT_BUILTINS): New macro.
	(TARGET_EXPAND_BUILTIN): New macro.
	(TARGET_INITIALIZER): Add them.
	* builtins.c: Include target.h.
	(expand_builtin): Use targetm.expand_builtin.
	(default_init_builtins): New function.
	(default_expand_builtin): New function.
	* expr.h (default_init_builtins): Declare.
	(default_expand_builtin): Declare.
	* c-common.c (c_common_nodes_and_builtins): Use
	targetm.init_builtins.
	* defaults.h (MD_INIT_BUILTINS): Remove.
	* Makefile.in (builtins.o): Depend on target.h.

	* config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTIN): Define.
	* config/arm/arm.h (MD_INIT_BUILTINS): Remove.
	(MD_EXPAND_BUILTIN): Remove.

	* config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTIN): Define.
	(c4x_init_builtins): Make endlink arg a local.
	(c4x_print_operand): Fix typos in adjust_address usages.
	* config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
	* config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
	(MD_EXPAND_BUILTIN): Remove.

	* config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTIN): Define.
	(ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
	(ix86_init_builtins): Call new function only if TARGET_MMX.
	* config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
	* config/i386/i386.h (MD_INIT_BUILTINS): Remove.
	(MD_EXPAND_BUILTIN): Remove.

	* config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTIN): Define.
	* config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
	(MD_EXPAND_BUILTIN): Remove.

	* doc/tm.texi: Document these changes.

From-SVN: r43888
2001-07-10 06:18:36 +00:00
Joseph Myers
12a68f1f08 target.h (struct gcc_target): Add insert_attributes.
* target.h (struct gcc_target): Add insert_attributes.
	* target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
	(TARGET_INITIALIZER): Update.
	* tree.c, tree.h (default_insert_attributes): New function.
	Update comments on other default functions to refer to targetm,
	not target.
	* doc/tm.texi (INSERT_ATTRIBUTES): Update to document
	TARGET_INSERT_ATTRIBUTES.
	(SET_DEFAULT_DECL_ATTRIBUTES): Remove.
	* c-common.c (decl_attributes): Use targetm.insert_attributes.
	Don't use PRAGMA_INSERT_ATTRIBUTES.
	* Makefile.in (c-common.o): Depend on $(TARGET_H).
	* c-decl.c (start_decl, start_function): Don't call
	SET_DEFAULT_DECL_ATTRIBUTES.
	* config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
	* config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
	declare.
	* config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
	(c4x_check_attribute): Avoid modifying attribute list itself.
	(c4x_set_default_attributes): Rename to c4x_insert_attributes.
	Make static.
	* config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
	* config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
	declare.
	* config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
	(sh_pragma_insert_attributes): Rename to sh_insert_attributes.
	Make static.
	* config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
	* config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
	declare.
	* config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
	(v850_set_default_decl_attr): Rename to v850_insert_attributes.
	Adjust parameters.  Make static.

cp:
	* decl.c (start_decl): Don't call SET_DEFAULT_DECL_ATTRIBUTES.
	(start_function): Don't call SET_DEFAULT_DECL_ATTRIBUTES.  Call
	cplus_decl_attributes even if attrs is NULL.
	* friend.c (do_friend): Don't call SET_DEFAULT_DECL_ATTRIBUTES.

From-SVN: r43851
2001-07-08 21:05:17 +01:00
Joseph Myers
f7a4cec096 c-common.c (decl_attributes): Only take a single attributes parameter.
* 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
2001-07-08 20:58:19 +01:00
Richard Kenner
21266f819a c-common.c (decl_attributes, [...]): Don't call layout_decl for FIELD_DECL.
* c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
	for FIELD_DECL.

From-SVN: r43682
2001-07-01 19:23:28 -04:00
Joseph Myers
f9e1917eb3 re PR c/3259 (({ }) and -Wall)
* c-common.c (verify_tree): Check for x being NULL.
	* doc/c-tree.texi: Document COMPOUND_BODY of an empty
	COMPOUND_STMT.
	Fixes PR c/3259.

testsuite:
	* gcc.dg/20010622-1.c: New test.

From-SVN: r43508
2001-06-22 20:19:03 +01:00
Nathan Sidwell
b7442fb555 c-common.h (flag_dump_translation_unit): Remove.
* c-common.h (flag_dump_translation_unit): Remove.
	(enum tree_dump_index): Define.
	(TDF_ADDRESS, TDF_SLIM): New #defines.
	(dump_node_to_file): Remove.
	(dump_node): Make extern. Add flags.
	(dump_flag, dump_enabled_p, dump_begin, dump_end,
	dump_switch_p): Prototype.
	* c-common.c (flag_dump_translation_unit): Remove.
	* c-decl.c (c_decode_option): Remove -fdump-translation-unit
	logic. Use dump_switch_p.
	* c-dump.h (struct dump_info): Add node and user fields.
	(dump_pointer): Declare.
	* c-dump.c (dump_node): Make extern. Add flags.
	(SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
	(dump_new_line, dump_maybe_newline): Use them.
	(dump_pointer): New function.
	(dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
	chain or function's body. Dump address, if TDF_ADDRESS set.
	(dump_flag): Define.
	(dump_node_to_file): Remove.
	(struct dump_file_info): New struct.
	(dump_files): New array.
	(dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
	* c-lang.c (finish_file): Adjust dumping.
	* toplev.h (dump_base_name): Make extern.
	* invoke.texi: Document new flags.
cp:
	* class.c (maybe_indent_hierarchy): New function.
	(dump_class_hierarchy_r): Add flags. Dump extra binfo
	information, if enabled. Use maybe_indent_hierarchy. Adjust
	output format.
	(dump_class_hierarchy): Adjust prototype. Adjust output format.
	(dump_array, dump_vtable, dump_vtt): New functions.
	(finish_struct_1): Adjust hierarchy dumping.
	(initialize_vtable): Call dump_vtable.
	(build_vtt): Call dump_vtt.
	(build_ctor_vtbl_group): Call dump_vtable.
	* decl2.c (flag_dump_class_layout): Remove.
	(cxx_decode_option): Remove dump translation unit
	and dump class hierarchy check. Call dump_switch_p.
	(finish_file): Adjust dumping.
	(dump.c): Only dump base classes if not TDF_SLIM.
	Only dump namespace members if not TDF_SLIM.
	* optimize.c (dump_function): New function.
	(optimize_function): Call dump_function.
	* semantics.c (expand_body): Use dump_enabled_p.

From-SVN: r42896
2001-06-05 08:03:45 +00:00
Mark Mitchell
1084128584 builtins.def: Encode additional information, such as names and types, here.
* builtins.def: Encode additional information, such as names and
	types, here.
	* builtin-types.def: New file.
	* builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
	(built_in_decls): Likewise.  Don't explicitly initialize global
	data to NULL.
	(expand_builtin_mathfn): Handle float and long double variants of
	math builtins.
	(expand_builtin): Likewise.
	* c-common.c (c_common_nodes_and_builtins): Make it table-driven.
	(expand_tree_builtin): Handle long, long long, float, and long
	double variants of math functions.
	* c-common.h (c_tree_index): Remove some unused nodes.
	(void_ftype): Remove.
	(void_type_ptr): Likewise.
	(int_ftype_int): Likewise.
	(ptr_ftype_sizetype): Likewise.
	* c-decl.c (init_decl_processing): Remove creation of DWARF
	builtins.
	* defaults.h (MD_INIT_BUILTINS): Provide default definition.
	* tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
	* Makefile.in (c-common.o): Depend on builtin-types.def.

	* decl.c (init_decl_processing): Tweak.

From-SVN: r42583
2001-05-25 20:00:59 +00:00
Jason Merrill
68981e3a32 fix comment
From-SVN: r42396
2001-05-21 12:06:37 -04:00
Neil Booth
15b732b288 c-common.c (finish_label_expr): New function, lifted from from cp/semantics.c.
* c-common.c (finish_label_expr): New function, lifted from
	from cp/semantics.c.
	* c-common.h (finish_label_expr, lookup_label): New prototypes.
	* c-parse.in: Move 3 blocks of parser code into new functions.
	* c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
	* c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
	(lookup_label): Remove.

From-SVN: r41959
2001-05-11 06:38:48 +00:00
DJ Delorie
b0089a92a3 c-common.c (combine_strings): Widen strings in a host-endian-independent way.
* c-common.c (combine_strings): Widen strings in a
host-endian-independent way.

From-SVN: r41941
2001-05-10 13:39:19 -04:00
Kaveh R. Ghazi
6496a589df bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
* bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
	* c-common.c: Likewise.
	* c-decl.c: Likewise.
	* combine.c: Likewise.
	* rs6000.c: Likewise.
	* except.c: Likewise.
	* explow.c: Likewise.
	* expr.c: Likewise.
	* fold-const.c: Likewise.
	* function.c: Likewise.
	* gcc.c: Likewise.
	* gcse.c: Likewise.
	* integrate.c: Likewise.
	* loop.c: Likewise.
	* objc/objc-act.c: Likewise.
	* recog.c: Likewise.
	* reg-stack.c: Likewise.
	* reload.c: Likewise.
	* reload1.c: Likewise.
	* simplify-rtx.c: Likewise.
	* stmt.c: Likewise.
	* varasm.c: Likewise.

From-SVN: r41722
2001-05-01 12:11:35 +00:00
Richard Henderson
d72040f508 c-common.c (c_promoting_integer_type_p): New function, from the corpse of old macro.
* c-common.c (c_promoting_integer_type_p): New function, from the
        corpse of old macro.  Properly promote too-small enumerations and
        booleans.  Adjust all callers.
        * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
        (c_promoting_integer_type_p): Declare.
        * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
        * c-typeck.c: Likewise.
        (default_conversion): Remove now redundant boolean check.

        * cvt.c: Downcase C_PROMOTING_INTEGER_TYPE_P invocations.
        * decl.c: Likewise.

From-SVN: r41709
2001-04-30 16:59:10 -07:00
Nathan Sidwell
0ba8a114c7 Lazy __FUNCTION__ generation.
gcc:
	Lazy __FUNCTION__ generation.
	* c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
	RID_C99_FUNCTION_NAME): New _RIDs.
	(CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
	(CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
	CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
	global tree slots.
	(function_id_node, pretty_function_id_node, func_id_node): Remove.
	(c99_function_name_decl_node, function_name_decl_node,
	pretty_function_name_decl_node, saved_function_name_decls):
	Declare.
	(struct language_function): Remove x_function_name_declared_p.
	(make_fname_decl): Remove a parameter.
	(declare_function_names): Remove prototype.
	(start_fname_decls, finish_fname_decls): Prototype.
	(fname_as_string): Likewise.
	(fname_string, fname_decl): Likewise.
	* c-common.c (make_fname_decl): Adjust.
	(struct fname_var_t): New struct.
	(fname_vars): New static array.
	(declare_function_name): Remove.
	(start_fname_decls, finish_fname_decls): New functions.
	(fname_as_string): New function from remnants of
	declare_function_name.
	(fname_string, fname_decl): New functions.

	* c-decl.c (c_function_name_declared_p): Remove.
	(init_decl_processing): Don't generate __FUNCTION__ et al ids,
	don't call declare_function_name. Call start_fname_decls.
	(c_make_fname_decl): Adjust parameters. Generate the name. Don't
	clobber the line number. Call finish_decl.
	(start_function): Call start_fname_decls.
	(finish_function): Call finish_fname_decls.
	Remove c_function_name_declared_p.
	(push_c_function_context): Don't push c_function_name_declared_p.
	(pop_c_function_context): Don't pop c_function_name_declared_p.
	(c_begin_compound_stmt): Don't check c_function_name_declared_p.
	* c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
	(program): Call finish_fname_decls for C.
	(primary): Add VAR_FUNC_NAME.
	(reswords): Add slots for __FUNCTION__ et al.
	(rid_to_yy): Add mappings for __FUNCTION__ et al.
	(yylexname): If it's a STRING_FUNC_NAME generate the function name
	now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
	* c-semantics.c (prune_unused_decls): Remove.
	(finish_stmt_tree): Don't call prune_unused_decls.
	(genrtl_decl_stmt): Don't prune unused decls here.
cp:
	Lazy __FUNCTION__ generation.
	* cp-tree.def (FUNCTION_NAME): Remove.
	* cp-tree.h (function_name_declared_p): Remove.
	(cp_fname_init): Prototype.
	* decl.c (init_decl_processing): Don't generate __FUNCTION__ et al ids,
	don't call declare_function_name. Call start_fname_decls.
	(cp_make_fname_decl): Adjust parameters. Generate the name. Don't
	clobber the line number.
	(cp_fname_init): New function.
	(start_function): Call start_fname_decls.
	(finish_function): Call finish_fname_decls.
	* lex.c (reswords): Add slots for __FUNCTION__ et al.
	(rid_to_yy): Add mappings for __FUNCTION__ et al.
	* optimize.c (maybe_clone_body): Remove function_name_declared_p.
	* parse.y (VAR_FUNC_NAME): New token.
	(primary): Add VAR_FUNC_NAME.
	* pt.c (tsubst_decl): Adjust a DECL_PRETTY_FUNCTION_P's
	generation.
	(tsubst, FUNCTION_NAME case): Remove.
	(tsubst_copy, FUNCTION_NAME case): Remove.
	(tsubst_expr, DECL_STMT case): Be careful with a
	DECL_PRETTY_FUNCTION_P.
	(instantiate_decl): Remove function_name_declared_p.
	* semantics.c (begin_compound_statement): Don't call
	declare_function_name here.
	(setup_vtbl_ptr). Don't save & restore function_name_declared_p.
	(finish_translation_unit): Call finish_fname_decls.
	(expand_body): Remove function_name_declared_p.
	* typeck2.c (digest_init): Allow any ERROR_MARK.
testsuite:
	* gcc.dg/c99-func-2.c: Remove xfail.
	* gcc.dg/c99-func-3.c: Remove xfail.
	* gcc.dg/c99-func-4.c: Remove xfail.

From-SVN: r41520
2001-04-24 08:22:06 +00:00
Richard Henderson
52a11cbfcf IA-64 ABI Exception Handling.
From-SVN: r40924
2001-03-28 03:04:51 -08:00
Diego Novillo
87aee676f2 c-common.c (walk_stmt_tree): Visit the chain of the current tree even if walk_subtrees is 0.
2001-02-27  Diego Novillo  <dnovillo@redhat.com>

	* c-common.c (walk_stmt_tree): Visit the chain of the current tree
	even if walk_subtrees is 0.
	* c-semantics.c (prune_unused_decls): Return a non-null value to
	stop traversing the tree chain.

From-SVN: r40106
2001-02-27 20:25:42 -05:00
Jason Merrill
86306c8e0f fix comment typo
From-SVN: r39764
2001-02-16 08:08:44 -05:00
Jakub Jelinek
d02b54f66d c-common.c (constant_fits_type_p): New function.
* c-common.c (constant_fits_type_p): New function.
	(convert_and_check): Use it.

	* gcc.c-torture/compile/20010209-1.c: New test.

From-SVN: r39596
2001-02-12 09:34:30 +01:00
Anthony Green
3220116ffb Doc and warning fixes.
From-SVN: r39580
2001-02-10 23:30:55 +00:00
Kaveh R. Ghazi
c913b6f18e configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
* configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.

	* Makefile.in: Remove all dependencies on defaults.h.
	* builtins.c: Don't include defaults.h.
	* c-common.c: Likewise.
	* c-decl.c: Likewise.
	* c-pragma.c: Likewise.
	* c-typeck.c: Likewise.
	* combine.c: Likewise.
	* i386.c: Likewise.
	* frame-ia64.c: Likewise.
	* cppexp.c: Likewise.
	* crtstuff.c: Likewise.
	* dbxout.c: Likewise.
	* dwarf2out.c: Likewise.
	* dwarfout.c: Likewise.
	* emit-rtl.c: Likewise.
	* except.c: Likewise.
	* expr.c: Likewise.
	* final.c: Likewise.
	* frame-dwarf2.c: Likewise.
	* libgcc2.c: Likewise.
	* optabs.c: Likewise.
	* profile.c: Likewise.
	* sdbout.c: Likewise.
	* toplev.c: Likewise.
	* tradcif.y: Likewise.
	* tree.c: Likewise.
	* varasm.c: Likewise.

ch:
	* Makefile.in: Remove all dependencies on defaults.h.
	* decl.c: Don't include defaults.h.
	* timing.c: Likewise.

cp:
	* Make-lang.in: Remove all dependencies on defaults.h.
	* call.c: Don't include defaults.h.
	* decl.c: Likewise.
	* decl2.c: Likewise.
	* except.c: Likewise.
	* pt.c: Likewise.
	* rtti.c: Likewise.
	* tree.c: Likewise.
	* typeck.c: Likewise.

f:
	* Make-lang.in: Remove all dependencies on defaults.h.
	* com.c: Don't include defaults.h.

java:
	* Make-lang.in: Remove all dependencies on defaults.h.
	* decl.c: Don't include defaults.h.
	* expr.c: Likewise.
	* parse.y: Likewise.

From-SVN: r39308
2001-01-28 01:50:22 +00:00
Joseph Myers
1312c143f8 c-common.c: Move format checking code to ...
* c-common.c: Move format checking code to ...
	* c-format.c: ... here.  New file.  Reorder some functions and
	declarations.
	(decl_handle_format_attribute, decl_handle_format_arg_attribute):
	New functions.
	* c-common.h (decl_handle_format_attribute,
	decl_handle_format_arg_attribute): Declare.
	* Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
	(c-common.o): Adjust dependencies.
	(c-format.o): New list of dependencies.

cp:
	* Make-lang.in (CXX_C_OBJS): Add c-format.o.

From-SVN: r38998
2001-01-13 23:30:02 +00:00
Joseph Myers
10a4c7acd6 c-common.c (enum format_type): Add format_type_error.
* c-common.c (enum format_type): Add format_type_error.
	(decode_format_type): New function.
	(decl_attributes): Use it.
	(format_kind_info): Adjust comment.

From-SVN: r38843
2001-01-09 22:51:05 +00:00
Kaveh R. Ghazi
18f988a06b builtins.def (BUILT_IN_FPRINTF): New entry.
* builtins.def (BUILT_IN_FPRINTF): New entry.

	* c-common.c (c_expand_builtin_fprintf): New function.
	(init_function_format_info): Handle __builtin_fprintf.
	(c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
	(c_expand_builtin): Handle BUILT_IN_FPRINTF.

	* c-decl.c (duplicate_decls): Adjust comment.

	* extend.texi (fprintf): Document new builtin.

testsuite:
	* gcc.c-torture/execute/stdio-opt-3.c: New test.

From-SVN: r38788
2001-01-07 23:15:47 +00:00
Joseph Myers
796cdb659f c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
* c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
	* extend.texi: Document _Exit builtin.

testsuite:
	* gcc.c-torture/execute/builtin-noret-1.c: New test.

From-SVN: r38771
2001-01-07 11:26:15 +00:00
Joseph Myers
341e3d1169 builtins.def (BUILT_IN_CONJ, [...]): Define.
* builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
	Define.
	* builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
	BUILT_IN_CREAL and BUILT_IN_CIMAG.
	* c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
	conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
	(expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
	BUILT_IN_CIMAG.
	* extend.texi: Document these builtins.

testsuite:
	* gcc.c-torture/execute/builtin-complex-1.c: New test.

From-SVN: r38716
2001-01-05 18:24:08 +00:00
Daniel Berlin
604bb87de9 VECTOR_TYPE fixes for aliasing, and dwarf2 output.
From-SVN: r38715
2001-01-05 17:22:30 +00:00
Joseph Myers
eaa7c03f50 c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
* c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
	(flag_short_double, flag_short_wchar): Define.
	(c_common_nodes_and_builtins): Create many tree nodes shared
	between C and C++ here instead of in cp/decl.c and ...
	* c-decl.c (init_decl_processing): ... here.
	(SIZE_TYPE, WCHAR_TYPE): Don't define.
	(flag_short_double, flag_short_wchar): Don't define.
	(record_builtin_type): New function.
	(build_void_list_node): New function.
	* c-common.h (flag_short_double, flag_short_wchar,
	record_builtin_type, build_void_list_node): Declare.

cp:
	* decl.c (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Don't define.
	(record_builtin_type): Make non-static.
	(flag_short_double): Don't declare.
	(init_decl_processing): Remove the creation of many tree nodes now
	in c_common_nodes_and_builtins.
	(build_void_list_node): New function.
	* decl2.c (flag_short_double, flag_short_wchar): Don't define.
	* cp-tree.h (flag_short_wchar): Don't declare.

From-SVN: r38695
2001-01-04 23:53:54 +00:00
Joseph Myers
03dc032560 c-common.c (c_common_lang_init): New function.
* c-common.c (c_common_lang_init): New function.  Warn if format
	warning options which only have effects when used with -Wformat
	are used without -Wformat.
	* c-common.h (c_common_lang_init): Declare.
	* c-lang.c (lang_init): Call c_common_lang_init.
	* objc/objc-act.c (lang_init): Call c_common_lang_init.

cp:
	* lex.c (lang_init): Call c_common_lang_init.

From-SVN: r38672
2001-01-03 20:56:22 +00:00
Kaveh Ghazi
09f89307d3 update copyrights
From-SVN: r38606
2001-01-02 02:04:52 +00:00
Kaveh R. Ghazi
c2e42aabfc c-common.c (c_common_nodes_and_builtins): Set prototype parameters for __builtin_fputs, __builtin_fputc and __builtin_fwrite.
* c-common.c (c_common_nodes_and_builtins): Set prototype
	parameters for __builtin_fputs, __builtin_fputc and
	__builtin_fwrite.  Don't declare plain fputc as a builtin.

testsuite:
	* gcc.c-torture/execute/stdio-opt-1.c: Also test
	__builtin_fputc and __builtin_fwrite.

From-SVN: r38605
2001-01-02 01:56:55 +00:00
Joseph Myers
26f6672d2e c-common.c (enum format_type): Add strfmon_format_type.
* c-common.c (enum format_type): Add strfmon_format_type.
	(decl_attributes): Handle format attributes strfmon and
	__strfmon__.
	(FMT_FLAG_USE_DOLLAR, FMT_FLAG_ZERO_WIDTH_BAD,
	FMT_FLAG_EMPTY_PREC_OK): Define.
	(format_char_info): Update comment for flag_chars.
	(format_flag_spec): Add skip_next_char.
	(format_kind_info): Add left_precision_char.
	(printf_flag_specs, scanf_flag_specs, strftime_flag_specs,
	format_types): Update for these new structure members and flags.
	(time_char_table): Make const.
	(strfmon_length_specs, strfmon_flag_specs, strfmon_flag_pairs,
	monetary_char_table): New.
	(format_types): Add details of strfmon formats.
	(init_function_format_info): Create default attribute for strfmon.
	(check_format_info_main): Check the new flags.  Handle
	skip_next_char and left precision.
	* toplev.c (documented_lang_options): Update description of
	-Wformat.
	* extend.texi: Document strfmon format attributes.  Document
	attribute forms such as __printf__.  Clarify format_arg attribute
	documentation.
	* invoke.texi (-Wformat): Update for strfmon formats.

testsuite:
	* gcc.dg/format-strfmon-1.c: New test.

From-SVN: r38512
2000-12-28 18:48:05 +00:00
Joseph Myers
29b5ca410a builtins.def (BUILT_IN_LABS, [...]): Don't define.
* builtins.def (BUILT_IN_LABS, BUILT_IN_LLABS, BUILT_IN_IMAXABS):
	Don't define.
	* builtins.c (expand_builtin): Don't handle BUILT_IN_LABS,
	BUILT_IN_LLABS and BUILT_IN_IMAXABS.
	* c-common.c (c_common_nodes_and_builtins): Use BUILT_IN_ABS for
	builtin labs, llabs and imaxabs.
	(expand_tree_builtin): Don't handle BUILT_IN_LABS, BUILT_IN_LLABS
	and BUILT_IN_IMAXABS.

From-SVN: r38475
2000-12-23 00:51:20 +00:00
Joseph Myers
fc2aaf309f c-common.c (builtin_function_2): New function.
* c-common.c (builtin_function_2): New function.
	(c_common_nodes_and_builtins): Use it to define each pair (foo,
	__builtin_foo) of builtins in one place.

From-SVN: r38474
2000-12-23 00:48:08 +00:00
Richard Henderson
64094f6a65 c-typeck.c (build_asm_stmt): New, broken out from ...
* c-typeck.c (build_asm_stmt): New, broken out from ...
        (c_expand_asm_operands): ... here.  Just do rtl expansion.
        (c_expand_return): Return the new stmt node.
        (c_start_case, do_case): Likewise.
        * c-common.c (c_expand_expr_stmt): Likewise.
        * c-common.h: Update declarations.
        * c-tree.h: Likewise.
        * c-semantics.c (build_stmt): Use STMT_LINENO not TREE_COMPLEXITY.
        * c-parse.in (fndef): Set DECL_SOURCE_LINE to the open brace.
        (nested_function, notype_nested_function): Likewise.
        (compstmt): Return the compound statement not the binding level.
        (lineno_labeled_stmt): Simplify.
        (lineno_stmt, lineno_label): Set STMT_LINENO.
        (stmt, label): Return the new stmt node.

From-SVN: r38402
2000-12-20 10:18:24 -08:00
Joseph Myers
20d380b15d c-common.c (STD_C9L, ADJ_STD): Define.
* c-common.c (STD_C9L, ADJ_STD): Define.
	(printf_length_specs, scanf_length_specs): Mark "ll" as standard
	STD_C9L.
	(T99_LL): Rename to T9L_LL.
	(T99_ULL): Rename to T9L_ULL.
	(print_char_table, scan_char_table): Use T9L_LL and T9L_ULL
	instead of T99_LL and T99_ULL.
	(check_format_info_main): Use ADJ_STD on all format standard
	versions being compared.
	* c-common.h: Declare warn_long_long.
	* c-tree.h: Don't declare warn_long_long.

cp:
	* cp-tree.h: Don't declare warn_long_long.

testsuite:
	* gcc.dg/format-warnll-1.c: New test.

From-SVN: r38369
2000-12-18 23:50:58 +00:00
Kaveh R. Ghazi
6029147435 c-common.c (c_common_nodes_and_builtins): Create a cstring_endlink, use it.
* c-common.c (c_common_nodes_and_builtins): Create a
	cstring_endlink, use it.  Rename int_ftype_string_string to
	int_ftype_cstring_cstring, string_ftype_string_int to
	string_ftype_cstring_int, and string_ftype_string_string to
	string_ftype_cstring_cstring.  Prefer sizetype_endlink and
	int_endlink to manually recreating them.  Fix the prototype
	set for __builtin_strspn/__builtin_strcspn.

From-SVN: r38329
2000-12-17 13:58:53 +00:00
Joseph Myers
e45046aeda c-common.c (check_function_format): Don't suggest adding format attributes to functions with no parameter to which...
* c-common.c (check_function_format): Don't suggest adding format
	attributes to functions with no parameter to which to add them.

testsuite:
	* gcc.dg/format-miss-2.c: New test.

From-SVN: r38163
2000-12-09 21:26:56 +00:00
Joseph Myers
c907e68489 c-common.c (warn_format_security): New variable.
* c-common.c (warn_format_security): New variable.
	(check_format_info): Warn about non-literal formats with no format
	arguments if either -Wformat-nonliteral or -Wformat-security is
	specified.
	(set_Wformat): Set warn_format_security for settings other than 1.
	* c-common.h (warn_format_security): Declare.
	* c-decl.c (c_decode_option): Decode -Wformat-security and
	-Wno-format-security.
	* invoke.texi: Document -Wformat-security.
	* toplev.c (documented_lang_options): Include -Wformat-security
	and -Wno-format-security.

cp:
	* decl2.c (lang_decode_option): Handle -Wformat-security.

testsuite:
	* format-sec-1.c: New test.

From-SVN: r38106
2000-12-07 07:56:44 +00:00
Joseph Myers
1c248308f4 c-common.c (check_format_info): Warn for non-constant format strings with strftime formats if -Wformat-nonliteral.
* c-common.c (check_format_info): Warn for non-constant format
	strings with strftime formats if -Wformat-nonliteral.  Where the
	format can convert arguments, if the format is not a string
	literal and there are no arguments to the format, give a different
	warning message from the general non-string-literal case.

testsuite:
	* gcc.dg/format-nonlit-3.c: New test.

From-SVN: r38105
2000-12-07 07:52:20 +00:00
Joseph Myers
014e7f1d30 c-common.c (format_wanted_type): Add reading_from_flag.
* c-common.c (format_wanted_type): Add reading_from_flag.
	(print_char_table): Mark %s and %S formats with flag "R".
	(check_format_info_main): Set up reading_from_flag appropriately.
	If aflag, always set writing_in_flag rather than relying on the
	format used being a scanf format and so having it set.
	(check_format_types): Check for formats reading through null
	pointers.

testsuite:
	* gcc.dg/c90-printf-1.c: Add test for printf formats reading
	through a null pointer.

From-SVN: r38104
2000-12-07 07:40:45 +00:00
Neil Booth
9ba2e1ef80 c-common.c (parse_in): Make a cpp_reader *.
* c-common.c (parse_in): Make a cpp_reader *.
        * cppfiles.c (_cpp_fake_include): Remove.
        * cpphash.h: Similarly.
        * cpplib.c (do_line): Don't call _cpp_fake_include.  A valid
        #line always creates a callback; FC_RENAME if there are no
        #line flags.
        * fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
        The first EOF must be our get_char buffer.

From-SVN: r38101
2000-12-07 07:14:42 +00:00
Kaveh R. Ghazi
d118937d79 builtins.c (expand_builtin_strcat, [...]): New functions.
* builtins.c (expand_builtin_strcat, expand_builtin_strncat,
	expand_builtin_strspn, expand_builtin_strcspn): New functions.
	(expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
	BUILT_IN_STRSPN and BUILT_IN_STRCSPN.

	* builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
	BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.

	* c-common.c (c_common_nodes_and_builtins): Declare builtin
	strcat, strncat, strspn and strcspn.
	(string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.

	* extend.texi (strcat, strcspn, strncat, strspn): Document new
	builtins.

testsuite:
	* gcc.c-torture/execute/string-opt-9.c: New test.
	* gcc.c-torture/execute/string-opt-10.c: Likewise.
	* gcc.c-torture/execute/string-opt-11.c: Likewise.
	* gcc.c-torture/execute/string-opt-12.c: Likewise.

From-SVN: r37964
2000-12-03 03:46:03 +00:00
Geoffrey Keating
690c96c8bf c-common.c (combine_strings): When the ISO C standard specifies the maximum length of a string...
* c-common.c (combine_strings): When the ISO C standard specifies
 	the maximum length of a string, it doesn't include the trailing
 	zero byte.

	* gcc.dg/cpp/if-6.c: New testcase.

From-SVN: r37961
2000-12-02 22:32:15 +00:00
Bernd Schmidt
0884b60c60 Make alpha build again.
From-SVN: r37950
2000-12-02 10:50:27 +00:00
Joseph Myers
4d80892796 c-common.c (warn_format, [...]): Define.
* c-common.c (warn_format, warn_format_y2k,
	warn_format_extra_args, warn_format_nonliteral): Define.
	(check_format_info): Check warn_format_nonliteral and
	warn_format_extra_args.
	(check_format_info_main): Check warn_format_y2k.
	(set_Wformat): New function.
	* c-common.h (warn_format_y2k, warn_format_extra_args,
	warn_format_nonliteral, set_Wformat): Declare.
	* c-decl.c (warn_format): Remove definition.
	(c_decode_option): Handle -Wformat-nonliteral,
	-Wno-format-extra-args and -Wno-format-y2k, and negated versions.
	Use set_Wformat.
	* invoke.texi: Document these new options and -Wformat=2.
	* toplev.c (documented_lang_options): Add these new options.

cp:
	* decl2.c (warn_format): Remove definition.
	(lang_decode_option): Handle -Wformat-nonliteral,
	-Wno-format-extra-args and -Wno-format-y2k.  Use set_Wformat.

testsuite:
	* gcc.dg/format-no-exargs-1.c, gcc.dg/format-no-y2k-1.c,
	gcc.dg/format-nonlit-1.c, gcc.dg/format-nonlit-2.c: New tests.

From-SVN: r37933
2000-12-01 22:43:33 +00:00
Joseph Myers
e78f4a977a builtins.def (BUILT_IN_IMAXABS): Add.
* builtins.def (BUILT_IN_IMAXABS): Add.
	* builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
	* c-common.c (c_common_nodes_and_builtins): Create builtin
	functions __builtin_imaxabs, and plain imaxabs unless
	flag_no_nonansi_builtin outside C99 mode.
	(expand_tree_builtin): Handle BUILT_IN_IMAXABS.
	* extend.texi: Document builtin imaxabs.

From-SVN: r37932
2000-12-01 22:35:50 +00:00
Joseph Myers
5fd8e53691 c-common.c: Include "defaults.h".
* c-common.c: Include "defaults.h".
	(WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
	(c_common_nodes_and_builtins): Create string_type_node,
	const_string_type_node, wint_type_node, intmax_type_node,
	uintmax_type_node, default_function_type, ptrdiff_type_node and
	unsigned_ptrdiff_type_node.
	* c-common.h (identifier_global_value): Declare.
	* c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
	(init_decl_processing): Don't create string_type_node,
	const_string_type_node, wint_type_node, intmax_type_node,
	uintmax_type_node, default_function_type, ptrdiff_type_node and
	unsigned_ptrdiff_type_node.
	(identifier_global_value): New function.

cp:
	* decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
	(init_decl_processing): Don't create string_type_node,
	const_string_type_node, wint_type_node, intmax_type_node,
	uintmax_type_node, default_function_type, ptrdiff_type_node and
	unsigned_ptrdiff_type_node.  Adjust position of call to
	c_common_nodes_and_builtins.
	(identifier_global_value): New function.

From-SVN: r37931
2000-12-01 22:25:43 +00:00
Alexandre Oliva
29ced803f0 * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
from va_list before using it.

From-SVN: r37900
2000-11-30 23:00:57 +00:00