* c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c,
c-typeck.c, objc/objc-act.c: Remove all references to obstack
functions obsoleted by GC, such as push_obstacks_nochange,
end_temporary_allocation, savealloc, saveable_tree_cons, etc.
and code which existed only to decide whether or not to call
them. Remove now-unused NESTED argument from start_function;
all callers changed. Do not change behavior based on ggc_p.
The use of the ixp_obstack in c-iterate.c and the util_obstack
in objc/objc-act.c remain; these are not obsoleted by garbage
collection.
* c-tree.h: Update prototype for start_function.
* c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild.
From-SVN: r31611
* c-parse.in (SAVE_WARN_FLAGS): Create an INTEGER_CST.
(RESTORE_WARN_FLAGS): Unpack it.
Change semantic type of extension to ttype.
* c-common.c (split_specs_attrs): Expect an INTEGER_CST.
* c-parse.y, c-parse.c, objc/objc-parse.y,
objc/objc-parse.c: Regenerate.
From-SVN: r31478
1999-12-18 10:42 -0800 Zack Weinberg <zack@wolery.cumb.org>
* objc/objc-parse.c: Regenerate. This file must be rebuilt
after any change to c-parse.in, even if objc-parse.y didn't
change. Oops.
From-SVN: r31014
* c-parse.in: save and restore warn_pointer_arith on __extension__
along with pedantic.
(SAVE_WARN_FLAGS, RESTORE_WARN_FLAGS): Added.
Set the type of extension to itype rather than $<itype>1 kludge.
* extend.texi (Alternate Keywords): Adjust documentation.
* c-parse.c, c-parse.y, objc-parse.c, objc-parse.y: Rebuilt.
From-SVN: r29588
* c-decl.c (struct language_function): Renamed from struct c_function.
Delete elt NEXT.
(c_function_chain): Delete.
(push_c_function_context): New arg F. Don't warn about nested
functions here. Fill LANGUAGE elt of F. Delete code to update
c_function_chain. Don't call push_function_context.
(pop_c_function_context): New arg F. Restore from there instead of
from c_function_chain. Don't call pop_function_context. Clear out
LANGUAGE field of F when done.
* c-lang.c: Include "function.h"
(lang_init): Initialize save_lang_status and restore_lang_status.
* c-parse.in (nested_function, nested_function_notype): Warn about
nested functions. Call push_function_context/pop_function_context
instead of the _c_ variants.
* c-tree.h (push_c_function_context, pop_c_function_context): Update
prototype.
* Makefile.in (c-lang.o): Update dependencies.
* emit-rtl.c (init_emit): Use xmalloc to allocate regno_reg_rtx,
regno_pointer_flag, regno_pointer_align.
(gen_reg_rtx): Use xrealloc to enlarge them.
(free_emit_status): New function.
* function.c (mark_machine_status, mark_lang_status): New variables.
(assign_stack_local_1): Renamed from assign_outer_stack_local. Merge
in some bits from assign_stack_local. All callers changed to use new
name.
(assign_stack_local): Just call assign_stack_local_1.
(free_after_compilation): New function.
(put_reg_into_stack): Simplify to always call assign_stack_local_1.
(trampoline_address): Likewise.
(assign_parms): Use xcalloc/xrealloc to allocate parm_reg_stack_loc.
(prepare_function_start): Explicitly clear some more variables.
* function.h (struct function): New elt can_garbage_collect.
(mark_machine_status, mark_lang_status): Declare variables.
(free_after_compilation, free_emit_status, free_varasm_status,
init_varasm_status): Declare functions.
* toplev.c (rest_of_compilation): Call free_after_compilation when
done with the current function.
* varasm.c (free_varasm_status): New function.
From-SVN: r29117
* c-parse.in (compstmt_primary_start): New, broken out of first
part of compstmt handling in primary.
(primary): Use it. Add an error clause.
(compstmt_nostart): Renamed from compstmt; remove all
initial invocations of compstmt_start.
(compstmt): New.
From-SVN: r29059
* c-common.c (decl_attributes): Allow applying attribute `unused'
on a LABEL_DECL.
* c-parse.in (label): Parse attributes after a label, and call
`decl_attributes' to handle them.
* gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
* genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
* invoke.texi: Note that labels can be marked `unused'.
From-SVN: r24478
* c-common.c (declare_function_name): Declare predefinied variable
`__func__'.
* c-decl.c (flag_isoc9x): Set to 1 by default.
(c_decode_option): Handle -std= option. Remove -flang-isoc9x.
(grokdeclarator): Always emit warning about implicit int for ISO C 9x.
* c-parse.in: Allow constructors in ISO C 9x.
Rewrite designator list handling.
Allow [*] parameters.
Don't warn about comma at end of enum definition for ISO C 9x.
* cccp.c (c9x): New variable.
(rest_extension): New variable.
(print_help): Document new -std= option.
(main): Recognize -std= option. Set c9x appropriately.
(create_definition): Recognize ISO C 9x vararg macros.
* gcc.c (default_compilers): Adjust specs for -std options.
(option_map): Add --std.
(display_help): Document -std.
* toplev.c (documented_lang_options): Add -std and remove
-flang-isoc9x.
* c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
or REAL_VALUE_HTOF based on base of the constants.
* fold-const.c (real_hex_to_f): New function. Replacement function
for hex FP conversion if REAL_ARITHMETIC is not defined.
* real.c (asctoeg): Add handling of hex FP constants.
* real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
real_hex_to_f.
Co-Authored-By: Richard Henderson <rth@cygnus.com>
Co-Authored-By: Stephen L Moshier <moshier@world.std.com>
From-SVN: r24049