Commit Graph

54 Commits

Author SHA1 Message Date
Craig Rodrigues
da4083c781 re PR bootstrap/3451 (AIX 4.3.2 redefinition of macro)
PR bootstrap/3451
	* c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
	GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.

From-SVN: r46972
2001-11-13 03:20:58 +00:00
Kaveh R. Ghazi
78b411667a Makefile.in (c-pragma.o): Depend on output.h.
* Makefile.in (c-pragma.o): Depend on output.h.
	(reorg.o): Depend on except.h.

	* c-pragma.c: Include output.h.

	* reorg.c: Include except.h.

	* unwind-dw2.c: Call __builtin_alloca, not alloca.

From-SVN: r45331
2001-08-31 19:27:12 +00:00
Lars Brinkhoff
1322177dbd Makefile.in, [...]: replace "GNU CC" with "GCC".
* 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
2001-08-22 14:35:51 +00: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
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
Neil Booth
f3b55474b6 * c-pragma.c (init_pragma): Update for parse_in type change.
From-SVN: r37853
2000-11-29 19:30:04 +00:00
Neil Booth
056487e747 Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
* Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
        * c-decl.c: Remove parse_in declaration.
        * c-lang.c: Similarly.
        * c-lex.c: Similarly.
        * c-parse.in: Similarly.
        * c-pragma.c: Similarly.
        * configure.in: Similarly.
        * cp/Make-lang.in: Similarly.
        * cp/spew.c: Similarly.
        * cp/decl2.c: Remove check for lang-c++ option.
        * cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
        * cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
        * c-lex.h: Add declaration of parse_in.
        * cppinit.c: Call set_lang after allocating pfile->pending.
        * configure: Regenerate.

From-SVN: r37754
2000-11-26 10:48:50 +00:00
Neil Booth
a32f2771a5 c-common.c: Remove USE_CPPLIB conditional inclusions.
* c-common.c: Remove USE_CPPLIB conditional inclusions.
        * c-common.h: Similarly.
        * c-decl.c: Similarly.
        * c-lang.c: Similarly.
        * c-lex.c: Similarly.
        * c-parse.in: Similarly.
        * c-pragma.c: Similarly.
        * c-pragma.h: Similarly.
        * gcc.c: Similarly.
        * toplev.c: Similarly.
        * cp/cp-tree.h: Similarly.
        * cp/decl2.c: Similarly.
        * cp/lang-specs.h: Similarly.
        * cp/lex.c: Similarly.
        * cp/lex.h: Similarly.
        * cp/spew.c: Similarly.
        * java/lang-options.h: Similarly.
        * objc/lang-specs.h: Similarly.
        * objc/objc-act.c: Similarly.

        * configure.in: Remove configure option.
        * config.in: Regenerate.
        * configure: Regenerate.

From-SVN: r37742
2000-11-25 19:28:44 +00:00
Mike Coleman
63eb126948 c-pragma.c (handle_pragma_pack): Initialize align to -1.
2000-10-21  Mike Coleman  <mcoleman2@kc.rr.com>

	* c-pragma.c (handle_pragma_pack): Initialize align to -1.
	Improve error messages.  Correct parsing of
	#pragma pack(pop [,id]).  Do not check the user-supplied
	alignment if we're popping.

	* gcc.dg/pack-test-1.c: New test case.
	* gcc.dg/pack-test-2.c: New test case.
	* gcc.dg/pack-test-1.h: New file.

From-SVN: r37095
2000-10-28 00:04:11 +00:00
Zack Weinberg
4337bc937c c-pragma.c (handle_pragma_pack): Correct parsing logic so it won't give a spurious error for '#pragma pack()'.
* c-pragma.c (handle_pragma_pack): Correct parsing logic so it
	won't give a spurious error for '#pragma pack()'.  Simplify
	control flow for readability.  'reset' action is not necessary.

From-SVN: r36308
2000-09-11 04:29:58 +00:00
Zack Weinberg
ae54392bb9 c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS.
* c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS.
	(init_pragma): Avoid warning if pfile happens to be unused.
	* c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS.  Never
	define init_pragma to nothing.  Always prototype
	init_pragma.  Prototype dispatch_pragma if !USE_CPPLIB.

	* c-lex.c (process_directive): Always call dispatch_pragma.
	Initialize entering_c_header to 0.

From-SVN: r36277
2000-09-08 22:17:24 +00:00
Zack Weinberg
8b97c5f8ef c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if REGISTER_TARGET_PRAGMAS is defined.
* c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if
	REGISTER_TARGET_PRAGMAS is defined.  Duplicate some
	definitions from cpplib.h.
	* cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has
	already done it.
	* tm.texi: Document HANDLE_PRAGMA as no longer supported.  Add
	documentation for REGISTER_TARGET_PRAGMAS.

	* c-lex.c: Include cpplib.h before c-pragma.h.  Define a
	default-pragma callback to implement -Wunknown-pragmas if
	USE_CPPLIB.
	* c-parse.in: Move all includes to top of file.
	* c-pragma.c: Include cpplib.h before c-pragma.h.  Include
	tm_p.h.
	(dispatch_pragma): Put the namespace in the -Wunknown-pragmas
	warning.
	(init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it.

	* arm.h, arm-protos.h, arm.c,
	  c4x.h, c4x-protos.h, c4x.c,
	  h8300.h, h8300-protos.h, h8300.c,
	  i370.h, i370-protos.h, i370.c,
	  i960.h, i960-protos.h, i960.c,
	  sh.h, sh-protos.h, sh.c,
	  v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based
	pragmata scheme to use REGISTER_TARGET_PRAGMAS instead.

	* d30v.h: Don't mention HANDLE_PRAGMA in comment.  Add
	multiple include guard.
	* i370.md (untyped_call): Use GEN_CALL.
	(umodsi3): Remove unused variable.
	* sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA.
	* v850.c (output_move_single, output_move_double): Constify
	return value.
	(print_operand): Constify a char *.
	* v850.h (struct small_memory_info): Constify name member.

From-SVN: r36249
2000-09-07 22:24:34 +00:00
Zack Weinberg
0e5921e8a0 Integrated preprocessor.
top level:
	* Makefile.in: Remove all references to c-parse.gperf,
	c-gperf.h, and c-parse.h.  Remove -d from yacc command line
	generating c-parse.c.  Update dependencies.
	* c-parse.gperf, c-gperf.h: Delete.

	* c-common.c: Don't define parse_options, cpp_token, yy_cur,
	yy_lim, or yy_get_token.  Don't define get_directive_line if
	USE_CPPLIB.
	* c-common.h: Add multiple include guard.  Define RID values
	for every keyword in C, C++, and Objective C.  Put all the
	modifiers first.
	(struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
	* c-decl.c (c_decode_option): Handle -lang-objc here.
	(print_lang_identifier): Handle C_IS_RESERVED_WORD case.
	(grokdeclarator): Adjust for new RID scheme.
	(extract_interface_info): New stub.
	* c-lang.c: Don't declare yy_cur or parse_options.
	(lang_init_options): Call cpp_init.  Don't call
	cpp_options_init.
	(lang_init): Don't call check_newline if USE_CPPLIB.

	* c-lex.c: Don't include c-parse.h.  Do include timevar.h.
	Elide lots of unnecessary code if USE_CPPLIB.  Delete code
	rendered unnecessary by new architecture.  Move routines not
	shared with C++ to c-parse.in.  Maintain a local idea of the
	line number.    Handle C++ as well as C.
	[USE_CPPLIB]: Declare and register callbacks for #ident and
	for entering/leaving files.
	(init_c_lex, c_lex): Are now the entry points to this file.
	(check_newline): Break out directive handling to
	process_directive.
	(read_ucs, is_extended_char, utf8_extend_token): Moved here
	from C++ front end.
	(readescape, parse_float): Overhaul.
	(lex_number, lex_string, lex_charconst): Break out of c_lex
	(n'ee yylex).
	(get_fileinfo, update_header_times, dump_one_header,
	dump_time_statistics): New and/or moved here from C++.
	Support per-file data needed by C++ and per-header timing
	statistics (C++ only, at the moment).
	* c-lex.h: Update prototypes.  Add multiple include guard.
	* c-tree.h (struct lang_identifier): Add rid_code field.
	(C_IS_RESERVED_WORD, C_RID_CODE): New.

	* c-parse.in: Include c-pragma.h. Remove unnecesary calls to
	reinit_parse_for_function and/or position_after_white_space.
	(save_filename, save_lineno): Look ahead before saving.
	(label -> identifier ':'): Save file and line before shifting ':'.
	(reservedwords): No need to call get_identifier.
	(init_parse, finish_parse, yyerror, yylex, yyprint,
	make_pointer_declarator): Are now here for C/ObjC.
	(rid_to_yy): Conversion table from RID constants to Yacc codes.

	* c-pragma.c: Rewrite parsing logic to fit with cpplib's
	#pragma registry.  Provide dummy implementation of that
	interface if !USE_CPPLIB.
	* c-pragma.h: Update to match.

	* flags.h: Add multiple include guard.
	(flag_detailed_statistics): Moved here from C++.
	* toplev.c: Define flag_detailed_statistics.

	* gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
	#if USE_CPPLIB.
	* timevar.def (TV_CPP, TV_LEX): New.
	* timevar.h: Add multiple include guard.

	* objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
	#if USE_CPPLIB.
	* objc/objc-act.c: Don't mention yy_cur or parse_options.
	Initialize cpplib properly.  Force lineno to 0 after first
	call to check_newline.  Don't handle -lang-objc here.
	Move forget_protocol_qualifiers and remember_protocol_qualifiers here.

cp:
	* Make-lang.in, Makefile.in: Remove all references to input.c,
	gxx.gperf, and hash.h.  Add ../c-lex.o to C_OBJS.
	* gxx.gperf, hash.h, input.c: Delete.
	* lang-specs.h: Pass -lang-c++ to cc1plus so cpplib is
	initialized properly.

	* class.c (fixup_pending_inline): Take a tree, not a
	struct pending_inline *.  All callers changed.
	(init_class_processing): Set RID_PUBLIC, RID_PRIVATE,
	RID_PROTECTED entries in ridpointers[] array here.
	* decl.c (duplicate_decls): Do not refer to struct
	pending_inline.
	(record_builtin_type, init_decl_processing): Use RID_MAX not
	CP_RID_MAX.
	(grokdeclarator): Use C_IS_RESERVED_WORD.
	* decl2.c (lang_decode_option): Ignore -lang-c++ for sake of
	cpplib.
	(grok_x_components): Do not inspect pending_inlines chain.

	* cp-tree.h (struct lang_identifier): Add rid_code entry.
	(C_IS_RESERVED_WORD, C_RID_CODE, C_RID_YYCODE): New.
	(flag_no_gnu_keywords, flag_operator_names, rid_to_yy): Declare.
	(DEFARG_LENGTH, struct pending_inline, TIME_IDENTIFIER_TIME,
	TIME_IDENTIFIER_FILEINFO): Kill.
	Update prototypes.
	* lex.h: Expunge cp_rid.  Rewrite RIDBIT macros to use just a
	single 32-bit word.
	* parse.y: Call do_pending_inlines unconditionally.
	reinit_parse_for_method is now snarf_method.  fn.defpen is no
	longer necessary.  Remove unnecessary <itype> annotation on
	SCOPE.  Do not refer to end_of_file or struct pending_inline.
	* semantics.c (begin_inline_definitions): Call
	do_pending_inlines unconditionally.

	* lex.c: Remove all code now shared with C front end.
	Initialize cpplib properly if USE_CPPLIB.  Put reserved words
	into the get_identifier table.  Rewrite pragma handling to
	work with the registry.  Move code to save tokens for later
	processing to spew.c.

	* spew.c: Rewrite everything in terms of token streams instead
	of text.  Move routines here from lex.c / input.c as
	appropriate.  GC-mark trees hanging off the pending inlines
	chain.

testsuite:
	* g++.old-deja/g++.benjamin/13478.C: Put meaningful tags on
	ERROR markers.
	* g++.old-deja/g++.brendan/crash8.C: Move ERROR marker up one line.
	* gcc.dg/c99-array-nonobj-1.c: Don't expect func[] cases to fail.
	* gcc.dg/wtr-label-1.c: Don't use unconstrained .* in error regexps.
	* gcc.dg/wtr-suffix-1.c: Correct error regexps.
	* gcc.dg/cpp/unc1.c, gcc.dg/cpp/unc2.c, gcc.dg/cpp/unc3.c:
	Preprocess only.
	* gcc.dg/cpp/unc4.c: Adjust line number in dg-error line.
	* gcc.dg/noncompile/const-ll-1.c: Generalize error regexp.

From-SVN: r36216
2000-09-07 00:37:14 +00:00
Mumit Khan
a2702aa12b c-pragma.c (push_alignment): Use BITS_PER_UNIT macro.
2000-04-24  Mumit Khan  <khan@xraylith.wisc.edu>

	* c-pragma.c (push_alignment): Use BITS_PER_UNIT macro.
	(pop_alignment): Likewise.
	(handle_pragma_token): Likewise.

From-SVN: r33379
2000-04-24 17:24:45 +00:00
Richard Kenner
05bccae2ef tree.h (INT_CST_LT, [...]): Remove unneeded casts.
* tree.h (INT_CST_LT, INT_CST_LT_UNSIGNED): Remove unneeded casts.
	(struct tree_int_cst): int_cst_low is now unsigned HOST_WIDE_INT.
	(attribute_hash_list, type_hash_canon): hashcode is now unsigned.
	(type_hash_lookup, type_hash_add, type_hash_list): Likewise.
	(min_precision): Result is unsignd.
	(add_double, neg_double, mul_double): Low word is unsigned.
	(lshift_double, rshift_double, lrotate_double): Likewise.
	(rrotate_double, div_and_round_double): Likewise.
	(tree_floor_log2, compare_tree_int): New functions.
	(preserve_rtl_expr_temps): New declaration.
	* c-common.c (declare_hidden_char_array): Use compare_tree_int.
	(decl_attributes): Use tree_log2 to find alignment.
	Check for TREE_INT_CST_HIGH for format args.
	(min_precision): Now unsigned.
	Use tree_floor_log2.
	(truthvalue_conversion): Delete long-disabled code.
	* c-decl.c (finish_struct): Clean up tests on field width.
	(finish_function): Use compare_tree_int.
	* c-pragma.c (handle_pragma_token): Use tree_log2 for alignment.
	* c-typeck.c (comptypes): Use tree_int_cst_equal.
	(default_conversion, digest_init): Use compare_tree_int.
	(build_binary_op): Use integer_all_onesp and compare_tree_int.
	Fix type errors in forming masks.
	* calls.c (initialize_argument_information): Use compare_tree_int.
	* dbxout.c (dbxout_type): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
	* except.c (expand_eh_region_start_tree): Use compare_tree_int.
	* expr.c (is_zeros_p, case INTEGER_CST): Use integer_zerop.
	(store_field): Use compare_tree_int.
	(expand_expr, case CONSTRUCTOR): Use TYPE_SIZE_UNIT.
	(expand_expr, case ARRAY_REF): Use compare_tree_int.
	(do_jump, case BIT_AND_EXPR): Use tree_floor_log2.
	(do_store_flag): Use compare_tree_int.
	* fold-const.c (encode, decode): Low part is always unsigned.
	(force_fit_type, add_double, neg_double, mul_double): Likewise.
	(lshift_double, rshift_double, lrotate_double): Likewise.
	(rrotate_double, div_and_round_double, int_const_binop): Likewise.
	(fold_convert): Use compare_tree_int.
	(operand_equal_p, case INTEGER_CST): Use tree_int_cst_equal.
	(invert_truthvalue, case INTEGER_CST): Likewise.
	(fold): Use compare_tree_int; add casts for unsigned TREE_INT_CST_LOW.
	* mkdeps.c (deps_dummy_targets): Make I unsigned.
	* rtl.h (add_double, neg_double, mul_double): Low words are unsigned.
	(lshift_double, rshift_double, lrotate_double, rrotate_double):
	Likewise.
	* stmt.c (expand_decl): Use compare_tree_int and mode_for_size_tree.
	(expand_end_case): Use compare_tree_int.
	(estimate_case_costs): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
	* stor-layout.c (mode_for_size_tree): Use compare_tree_int.
	(layout_decl): Likewise.
	(layout_record, layout_union): Make sizes unsigned.
	(layout_type, case VOID_TYPE): TYPE_SIZE must be bitsizetype.
	(layout_type, case QUAL_UNION_TYPE): Use compare_tree_int.
	* tree.c (struct type_hash): hashcode is unsigned.
	(build_type_attribute_variant, type_hash_list): Likewise.
	(type_hash_lookup, type_hash_add, type_hash_canon): Likewise.
	(attribute_hash_list, build_array_type, build_method_type): Likewise.
	(build_complex_type): Likewise.
	(real_value_from_int_cst): Remove unneeded casts.
	(integer_all_onesp): Add casts.
	(tree_floor_log2, compare_tree_int): New functions.
	(build_index_type): Use tree_int_cst_sgn.
	* varasm.c (assemble_variable): Use compare_tree_int.
	* ch/actions.c (chill_convert_for_assignment): INDEX is unsigned
	HOST_WIDE_INT.
	* ch/ch-tree.h (DECL_NESTING_LEVEL): Use TREE_INT_CST_HIGH
	since unsigned.
	* ch/except.c (chill_handle_on_labels): ALTERNATIVE is unsigned.
	Use compare_tree_int.
	(expand_goto_except_cleanup): Likewise.
	* cp/class.c (dfs_modify_vtables): I is now unsigned.
	(check_bitfield_decl): Use tree_int_cst_sgn and compare_tree_int.
	(build_base_field): Add casts of TREE_INT_CST_LOW to HOST_WIDE_INT.
	* cp/error.c (dump_expr): Cast TREE_INT_CST_HIGH to unsigned.
	* cp/init.c (build_vec_init): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
	* cp/method.c (build_overload_int): Cast TREE_INT_CST_HIGH to unsigned.
	* cp/typeck.c (build_binary_op, case TRUNC_DIV_EXPR):
	Call integer_all_onesp.
	* cp/typeck2.c (process_init_constructor): Use compare_tree_int.
	* f/com.c (ffecom_f2c_set_lio_code_): Use compare_tree_int.
	(ffecom_sym_transform_, ffecom_transform_common_): Likewise.
	(ffecom_transform_equiv_): Likewise.
	* java/decl.c (emit_init_test_initialization): Mark KEY as unused.
	* java/expr.c (build_newarray): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
	(build_anewarray): Likewise.
	* java/parse.y (patch_newarray): Likewise.
	* java/parse.c: Regenerated.

From-SVN: r32383
2000-03-07 06:41:32 -05:00
Jeff Law
3c71940faf Copyright fixes
From-SVN: r32172
2000-02-25 22:54:31 -07:00
Franz Sirl
75cdca5bb9 c-pragma.c (maximum_field_alignment): Remove duplicate declaration.
* c-pragma.c (maximum_field_alignment): Remove duplicate declaration.
	* ch/except.c (maximum_field_alignment): Remove duplicate declaration.

From-SVN: r31906
2000-02-10 23:13:17 +00:00
Kaveh R. Ghazi
c69916605c Makefile.in (c-common.o): Depend on $(EXPR_H).
* Makefile.in (c-common.o): Depend on $(EXPR_H).

	* c-common.c: Include expr.h.

	* c-pragma.c (mark_align_stack): Add prototype.

	* caller-save.c (add_stored_regs): Likewise.

	* combine.c (record_promoted_value): Likewise.

	* i386.c (ix86_sched_reorder_pentium, ix86_sched_reorder_ppro):
	Likewise.

	* cppinit.c (new_pending_define): Likewise.

	* cpplib.c (skip_block_comment, skip_line_comment): Likewise.

	* dwarf2out.c (save_rtx, splice_child_die, reverse_die_lists,
	AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
	AT_addr, AT_lbl, get_AT_ref, free_AT, free_die, local_scope_p,
	class_scope_p): Likewise.

	* dwarf2out.h (dwarf2out_set_demangle_name_func,
	dwarf2out_add_library_unit_info): Likewise.

	* ggc.h (ggc_page_print_statistics): Likewise.

	* haifa-sched.c (propagate_deps): Likewise.

	* reg-stack.c (next_flags_user, record_label_references): Likewise.

	* rtl.h (set_stack_check_libfunc): Likewise.

	* toplev.h (set_fatal_function): Likewise.

	* toplev.c (set_fatal_function): Delete prototype.

	* diagnostic.c: Deconstify functions returning malloc'ed ptrs.

From-SVN: r31810
2000-02-06 03:40:46 +00:00
Zack Weinberg
4dd7201eac c-common.c, [...]: Remove all references to obstack functions obsoleted by GC...
* 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
2000-01-25 17:13:14 +00:00
Kaveh R. Ghazi
6e090c767a c-common.c: PROTO -> PARAMS.
* c-common.c: PROTO -> PARAMS.
        * c-common.h: Likewise.
        * c-decl.c: Likewise.
        * c-iterate.c: Likewise.
        * c-lang.c: Likewise.
        * c-lex.c: Likewise.
        * c-lex.h: Likewise.
        * c-parse.in: Likewise.
        * c-pragma.c: Likewise.
        * c-pragma.h: Likewise.
        * c-tree.h: Likewise.
        * c-typeck.c: Likewise.
        * objc/objc-act.c: Likewise.
        * objc/objc-act.h: Likewise.

From-SVN: r31362
2000-01-12 22:47:13 +00:00
David Starner
566047c21e c-pragma.c (push_alignment): Don't check the return value of xmalloc.
* c-pragma.c (push_alignment): Don't check the return value
        of xmalloc.

From-SVN: r30233
1999-10-28 03:13:40 -06:00
Mumit Khan
61e8b354cf Applied Mumit Khan's patch to fix #pragma push/pop handling.
From-SVN: r30084
1999-10-19 10:44:30 +00:00
Richard Henderson
2cccc34002 * c-pragma.c (mark_align_stack): Dereference the void* properly.
From-SVN: r29512
1999-09-19 14:19:38 -07:00
Richard Henderson
da9da1341c c-pragma.c: Include ggc.h.
* c-pragma.c: Include ggc.h.
        * Makefile.in (c-pragma.o): Update.

From-SVN: r29507
1999-09-19 02:56:11 -07:00
Richard Henderson
568767a62c c-pragma.c (mark_align_stack): New.
* c-pragma.c (mark_align_stack): New.
        (init_pragma): New.
        * c-pragma.h (init_pragma): Declare it.
        * c-lex.c (init_parse): Call it.

From-SVN: r29502
1999-09-18 11:54:36 -07:00
Kaveh R. Ghazi
341a243eaf c-pragma.c (handle_pragma_token): Wrap variables name' and value' in HANDLE_PRAGMA_WEAK.
* c-pragma.c (handle_pragma_token): Wrap variables `name' and
       `value' in HANDLE_PRAGMA_WEAK.  Wrap variable `align' in
       HANDLE_PRAGMA_PACK||HANDLE_PRAGMA_PACK_PUSH_POP.

       * genrecog.c (make_insn_sequence): Call memset, not bzero.

       * jump.c (find_insert_position): Don't declare or define unless
       !HAVE_conditional_arithmetic.
       (returnjump_p_1, delete_prior_computation): Add static prototypes.

       * mips-tdump.c (fatal, fancy_abort, main): Add extern prototypes.

       * recog.c (offsettable_address_p): Prototype function pointer.
       (preprocess_constraints): Call memset, not bzero.

       * tree.c (tree_node_kind_names): Constify a char*.  Make static.
       (gcc_obstack_init): Don't declare.
       (fix_sizetype): Add static prototype.
       (gcc_obstack_init): Use prototype casts in call to _obstack_begin.
       (tree_cons): Call memset, not bzero.

       * varasm.c (remove_from_pending_weak_list): Wrap declaration and
       definition in macro ASM_WEAKEN_LABEL.
       (mark_const_hash_entry): Add static prototype.

From-SVN: r29410
1999-09-14 18:19:09 +00:00
Geoff Keating
fc009f966c Makefile.in (cppexp.o): Depend on cpphash.h.
* Makefile.in (cppexp.o): Depend on cpphash.h.
	* cppexp.c (cpp_lex): Handle `defined (xxx)' for poisoned xxx.
	Include cpphash.h.
	* cpphash.c (special_symbol): Handle plain `xxx' for poisoned xxx.
	* cpplib.c (do_define): Generalise to handle poisoned definitions,
	redefining poisoned identifiers, etc.
	(do_undef): Don't allow poisoned identifiers to be undefined.
	(do_pragma): Add #pragma poison.
	(do_xifdef): Handle `#ifdef xxx' for poisoned xxx.

	* cccp.c: Add T_POISON node type.
	(special_symbol): Handle `defined(xxx)' and plain `xxx' for
	poisoned xxx.
	(do_define): Generalise to handle poisoned definitions,
	redefining poisoned identifiers, etc.
	(do_undef): Don't allow poisoned identifiers to be undefined.
	(do_pragma): Add #pragma poison.
	(do_xifdef): Handle `#ifdef xxx' for poisoned xxx.

	* c-pragma.c (handle_pragma_token): Ignore #pragma poison.
	* c-pragma.h: Add ps_poison state.  We now always have generic
	pragmas.

From-SVN: r29224
1999-09-09 04:00:37 +00:00
Bernd Schmidt
b384405b34 Backport of GC branch patches part 1: kill eh status saving.
From-SVN: r28357
1999-07-31 12:46:53 +00:00
Mumit Khan
224bb3734d c-pragma.c (push_alignment): Don't ignore alignments greater than 4 bytes.
* c-pragma.c (push_alignment): Don't ignore alignments greater than
        4 bytes.
        (insert_pack_attributes): Take into account member natural
        alignment.

From-SVN: r27648
1999-06-20 23:11:15 -06:00
Mumit Khan
3cc0b5517a c-pragma.c (handle_pragma_token): Handle `#pragma pack()' correctly.
* c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
        correctly.

From-SVN: r27432
1999-06-08 20:16:12 -06:00
Jason Merrill
0f92adae32 c-pragma.c (push_alignment): Don't ignore alignments greater than 4 bytes.
* c-pragma.c (push_alignment): Don't ignore alignments greater than
	4 bytes.
	(handle_pragma_token): Likewise.
	* c-pragma.c: Support for #pragma pack (push, <id>, <n>).
	(struct align_stack): Add id field.
	(push_alignment, pop_alignment): Take id parameter.
	(handle_pragma_token): Add necessary states.
	* c-pragma.h (enum pragma_state): Add necessary states.

From-SVN: r26662
1999-04-26 17:18:08 -04:00
Jeffrey A Law
0e9264a2d4 * c-pragma.c (add_weak); Delete. Moved into...
* varasm.c (add_weak): New external function.
        (declare_weak): If HANDLE_PRAGMA_WEAK, then add the function to
        the list of weak functions.
        * c-pragma (add_weak): Declare.

From-SVN: r25454
1999-02-25 18:29:21 -07:00
Kaveh R. Ghazi
5d5993dd31 bitmap.c (bitmap_print): Qualify a char* with the `const' keyword.
* bitmap.c (bitmap_print): Qualify a char* with the `const' keyword.
        * bitmap.h (bitmap_print): Likewise.
        * c-decl.c (builtin_function, grokdeclarator, grokfield): Likewise.
        * c-lang.c (build_objc_string): Likewise.
        * c-lex.c (yyerror, extend_token_buffer): Likewise.  Don't include
        limits.h or ctype.h.  Remove unused variable `p'.
        * c-lex.h (yyerror): Qualify a char* with the `const' keyword.
        * c-pragma.c (handle_pragma_token): Likewise.
        * c-pragma.h (handle_pragma_token): Likewise.
        * c-tree.h (build_objc_string, builtin_function, grokfield,
        build_indirect_ref, lvalue_or_else, readonly_warning, error_init,
        pedwarn_init): Likewise.
        * c-typeck.c (convert_for_assignment, warn_for_assignment,
        push_string, warning_init, incomplete_type_error,
        build_indirect_ref, lvalue_or_else, readonly_warning,
        build_c_cast, spelling, push_member_name, print_spelling,
        error_init, pedwarn_init, start_init): Likewise.
        * objc/objc-act.c (build_objc_string): Likewise.
        * print-tree.c (print_node_brief, print_node): Likewise.
        * tree.h (lvalue_or_else, print_node, print_node_brief): Likewise.

From-SVN: r25296
1999-02-18 20:38:48 +00:00
Robert Lipe
2d9db28e7a c-pragma.c (handle_pragma_token): Test for null tree before dereferencing TREE_CODE.
* c-pragma.c (handle_pragma_token): Test for null tree before
	dereferencing TREE_CODE.

From-SVN: r23104
1998-10-14 23:39:38 +00:00
Robert Lipe
7169a02931 c-pragma.c (handle_pragma_token): If passed a token instead of a tree, use that as the pack value.
* c-pragma.c (handle_pragma_token): If passed a token instead
        of a tree, use that as the pack value.

From-SVN: r22997
1998-10-11 21:05:04 +00:00
Nick Clifton
14ab9f5287 Do not insert packing attributes unless #pragma pack(push,<n>) is active.
From-SVN: r22894
1998-10-07 14:41:42 +00:00
Nick Clifton
e2af664c2d Add support for #pragma pack(push,<n>) and #pragma pack(pop).
From-SVN: r22710
1998-10-01 10:50:15 +00:00
Nick Clifton
f09db6e0ca Change HANDLE_PRAGMA macro so that it will work with USE_CPPLIB.
Add INSERT_ATTRIBUTES macro.

From-SVN: r22165
1998-09-02 09:59:57 +00:00
Michael Meissner
d05a5492a5 Make rtx, tree types type correct if the appropriate include files was not included
From-SVN: r20114
1998-05-28 06:47:21 +00:00
Robert Lipe
5f6da3024b toplev.h: New file.
Wed May  6 06:35:38 1998  Robert Lipe  <robertl@dgii.com>
        * toplev.h: New file.   Protypes for functions in toplev.c.
        * tree.h, rtl.h: Deleted protos for functions in toplev.c.
        * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
        c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
        convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
        function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
        reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
        varasm.c: include it.

From-SVN: r19563
1998-05-06 04:45:47 +00:00
Kaveh R. Ghazi
670ee92097 Major cutover to using system.h:
* Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
        c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
        caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
        dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
        expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
        integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
        prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
        reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
        rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
        tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
        on system.h.
        * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
        c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
        caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
        dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
        expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
        integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
        prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
        reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
        rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
        stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
        xcoffout.c: Include system.h.  Organize include ordering so
        that stdarg/varargs comes before other system headers.  Remove
        spurious casts of functions assured of a prototype in system.h.

From-SVN: r18726
1998-03-20 14:58:42 +00:00
Jeff Law
750caf0dea Opps. Forgot to check it in.
From-SVN: r17188
1997-12-22 03:05:04 -07:00
Nick Clifton
d300e55140 c-pragma.c (handle_pragma_token): Generate warning messages about unknown pragmas if warn_unknown_pragmas is set.
* c-pragma.c (handle_pragma_token): Generate warning messages
        about unknown pragmas if warn_unknown_pragmas is set.
        * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
        line option to set variable: warn_unknown_pragmas.

From-SVN: r17168
1997-12-21 08:24:48 -07:00
Mike Stump
1ef08c6373 install EH code
From-SVN: r12550
1996-07-23 20:09:26 +00:00
Mike Stump
0f41302f47 formatting tweaks
From-SVN: r12390
1996-07-03 22:07:53 +00:00
Richard Kenner
940d9d638b Update FSF address.
From-SVN: r9959
1995-06-15 07:33:25 -04:00
Michael Meissner
3d6f7931f9 Move pragma interface support to c-pragma.h
From-SVN: r9410
1995-04-18 18:16:51 +00:00
Jim Wilson
6be160ff95 (HANDLE_PRAGMA_WEAK): Depend on ASM_OUTPUT_DEF not
SET_ASM_OP when defining it.

From-SVN: r6665
1994-02-27 16:47:28 -08:00
Richard Stallman
b756098953 (enum pragma_state): Defined.
From-SVN: r5720
1993-10-11 03:02:24 +00:00
Jan Brittenson
ca695ac93d bytecode
From-SVN: r5379
1993-09-21 14:25:24 -07:00