summaryrefslogtreecommitdiff
path: root/gcc/c-cppbuiltin.c
Commit message (Collapse)AuthorAgeFilesLines
* * c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__.jakub2005-06-271-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cfgexpand.c: Include params.h. (has_protected_decls, has_short_buffer): New. (expand_stack_vars): Take a predicate to determine what to expand. (defer_stack_allocation): True when flag_stack_protect on. (SPCT_HAS_LARGE_CHAR_ARRAY, SPCT_HAS_SMALL_CHAR_ARRAY): New. (SPCT_HAS_ARRAY, SPCT_HAS_AGGREGATE): New. (stack_protect_classify_type, stack_protect_decl_phase): New. (stack_protect_decl_phase_1, stack_protect_decl_phase_2): New. (add_stack_protection_conflicts, create_stack_guard): New. (expand_used_vars): Add stack protection logic. (tree_expand_cfg): Likewise. * common.opt (Wstack-protector): New. (fstack-protector, fstack-protector-all): New. * function.c: Include predict.h. (assign_parm_adjust_stack_rtl): Zap stack_parm when stack protect wants to copy the parameter into the stack frame. (stack_protect_prologue, stack_protect_epilogue): New. (expand_function_end): Call stack_protect_epilogue. Do sjlj_emit_function_exit_after after naked_return_label. * function.h (struct function): Add stack_protect_guard. * params.def (PARAM_SSP_BUFFER_SIZE): New. * toplev.c (process_options): Disable flag_stack_protect and/or warn_stack_protect based on FRAME_GROWS_DOWNWARD. * tree.h (stack_protect_prologue): Declare. * target-def.h (TARGET_STACK_PROTECT_GUARD): New. (TARGET_STACK_PROTECT_FAIL): New. (TARGET_INITIALIZER): Add them. * target.h (struct gcc_target): Add stack_protect_guard and stack_protect_fail. * targhooks.c: Include ggc.h, gty header. (stack_chk_guard_decl, default_stack_protect_guard): New. (stack_chk_fail_decl, default_external_stack_protect_fail): New. (default_hidden_stack_protect_fail): New. * targhooks.h (default_stack_protect_guard): Declare. (default_external_stack_protect_fail): Declare. (default_hidden_stack_protect_fail): Declare. * config/i386/i386.c (TARGET_STACK_PROTECT_FAIL): New. * config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New. (trap): Use ud2. (conditional_trap, conditional_trap_1): Remove. (stack_protect_set, stack_protect_set_si, stack_protect_set_di): New. (stack_protect_test, stack_protect_test_si, stack_protect_test_di): New. * doc/md.texi (stack_protect_set, stack_protect_test): New. * doc/tm.texi (TARGET_STACK_PROTECT_GUARD): New. (TARGET_STACK_PROTECT_FAIL): New. * libgcc-std.ver (GCC_4.1.0): New. * libgcc.h (__stack_chk_guard): Declare. (__stack_chk_fail, __stack_chk_fail_local): Declare. * libgcc2.c (L_stack_chk, L_stack_chk_local): New. * mklibgcc.in (lib2funcs): Add them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101348 138bc75d-0d04-0410-961f-82ee72b054a4
* Update FSF address.kcook2005-06-251-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101317 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (c_cpp_builtins): Do not define __GXX_WEAK__ to 1mmitchel2005-05-011-1/+1
| | | | | | | | | | | | if !flag_weak. * doc/cpp.texi (__DEPRECATED): Document. (__EXCEPTIONS): Likewise. (__GXX_WEAK__): Likewise. * g++.dg/cpp/weak.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99080 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (define__GNUC__): Correct assertion.tromey2005-01-211-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94019 138bc75d-0d04-0410-961f-82ee72b054a4
* * basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,kazu2005-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c, combine.c, config.gcc, coverage.h, cse.c, cselib.c, defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c, flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c, gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h, output.h, postreload-gcse.c, postreload.c, recog.c, resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c, targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c, tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c, tree-optimize.c, tree-outof-ssa.c, tree-pass.h, tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c, tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def, unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93827 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__geoffk2005-01-071-1/+6
| | | | | | | for IBM long double format correctly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93021 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c,kazu2004-11-131-1/+1
| | | | | | | | lambda-code.c, postreload.c, predict.c, tree-sra.c, tree-ssa-loop-manip.c, tree.c: Fix comment typos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90596 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,jsm282004-10-031-1/+1
| | | | | | | | | c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c, c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow code formatting conventions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88462 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.nathan2004-09-071-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.c (c_type_hash, c_common_nodes_and_builtins, c_expand_expr, boolean_increment, nonnull_check_p, check_function_arguments_recurse, fold_offsetof_1): Likewise. * c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros, builtin_define_type_max): Likewise. * c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level, implicit_decl_warning, builtin_function, build_compound_literal, complete_array_type, grokdeclarator, get_parm_info, start_function, store_parm_decls_oldstyle, c_write_global_declarations): Likewise. * c-format.c (get_constant, decode_format_attr, maybe_read_dollar_number, get_flag_spec, check_format_arg, check_format_types, format_type_warning, find_char_info_specifier_index, init_dynamic_asm_fprintf_info, init_dynamic_diag_info, handle_format_attribute): Likewise. * c-gimplify.c (push_context, pop_context, finish_bc_block): * c-lex.c (c_lex_with_flags, lex_string): Likewise. * c-objc-common.c (c_tree_printer): Likewise. * c-pch.c (pch_init): Likewise. * c-pragma.c (maybe_apply_pragma_weak): Likewise. * c-pretty-print.c (pp_c_tree_decl_identifier): Likewise. * c-typeck.c (c_incomplete_type_error, composite_type, common_pointer_type, common_type, same_translation_unit_p, tagged_types_tu_compatible_p, finish_init, pop_init_level, set_designator, set_nonincremental_init_from_string, process_init_element, c_finish_if_stmt): Likewise. * caller-save.c (init_caller_save, save_call_clobbered_regs, insert_restore, insert_save, insert_one_insn): Likewise. * calls.c (emit_call_1, compute_argument_block_size, precompute_arguments, expand_call, emit_library_call_value_1, store_one_arg): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87140 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ andjsm282004-08-051-0/+21
| | | | | | | | | | | | | | | | | | | __UINTMAX_TYPE__. * c-cppbuiltin.c (builtin_define_stdint_macros): New. Define __INTMAX_MAX__. (c_cpp_builtins): Call it. * doc/cpp.texi: Update. testsuite: * gcc.c-torture/execute/builtins/abs-2.c, gcc.c-torture/execute/builtins/abs-3.c, gcc.c-torture/execute/builtins/lib/abs.c, gcc.dg/format/format.h, gcc.dg/torture/builtin-attr-1.c: Use predefined macros for intmax_t, uintmax_t and their limits. * gcc.dg/intmax_t-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85588 138bc75d-0d04-0410-961f-82ee72b054a4
* * defaults.h (TARGET_DECLSPEC): New macro.mmitchel2004-08-041-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | * c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC. * config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support. * config/arm/symbian. (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define. * config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove __declspec support. (TARGET_DECLSPEC): Define. * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove __declspec support. * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove __declspec support. (TARGET_DECLSPEC): Define. * config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove __declspec support. * config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec support. * doc/tm.texi (TARGET_DECLSPEC): Document. * doc/extend.texi: Fix typo in comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85571 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.h (has_c_linkage): New interface.zack2004-06-201-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-cppbuiltin.c: Include target.h. (c_cpp_builtins): Define __PRAGMA_REDEFINE_EXTNAME and __PRAGMA_EXTERN_PREFIX when appropriate. * c-pragma.c: Include target.h. Document clarified semantics of symbol-renaming #pragmas. (handle_pragma_redefine_extname, handle_pragma_extern_prefix) (maybe_apply_renaming_pragma): Rewrite according to clarified semantics. Always recognize, but do not necessarily execute. (init_pragma): Unconditionally register symbol-renaming pragmas. * system.h: Poison HANDLE_PRAGMA_REDEFINE_EXTNAME and HANDLE_PRAGMA_EXTERN_PREFIX. * target.h (struct gcc_target): Add handle_pragma_redefine_extname and handle_pragma_extern_prefix flags. * target-def.h: Add defaults for TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME and TARGET_HANDLE_PRAGMA_EXTERN_PREFIX. * Makefile.in (c-pragma.o, c-cppbuiltin.o): Update dependencies. * config/sol2.h: Define TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME, not HANDLE_PRAGMA_REDEFINE_EXTNAME. (TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_REDEFINE_EXTNAME. (TRANSFER_FROM_TRAMPOLINE): Prototype mprotect. * config/alpha/osf.h: Define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX, not HANDLE_PRAGMA_EXTERN_PREFIX. (TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_EXTERN_PREFIX. * doc/extend.texi (Solaris Pragmas, Tru64 Pragmas): Combine into one section "Symbol-Renaming Pragmas"; clarify; document adjusted semantics. * builtins.c (expand_builtin): Do not issue error for a builtin with no special case code and no DECL_ASSEMBLER_NAME; just do the library call. * c-decl.c (builtin_function): Don't call make_decl_rtl. * c-objc-common.c (has_c_linkage): Stub implementation. * cgraphunit.c (cgraph_expand_function) (cgraph_remove_unreachable_nodes): Don't clear DECL_ARGUMENTS. cp: * cp-lang.c (has_c_linkage): Implement. * cp-tree.h (set_mangled_name_for_decl): Don't prototype. * decl.c (duplicate_decls): Use COPY_DECL_RTL. (builtin_function_1): Don't call make_decl_rtl. (build_cp_library_fn): Don't call set_mangled_name_for_decl. (grokvardecl): Don't call mangle_decl. * except.c (nothrow_libfn_p): Look at DECL_NAME, not DECL_ASSEMBLER_NAME. * method.c (set_mangled_name_for_decl): Delete. * name-lookup.c (pushdecl): When a local extern shadows a file-scope declaration of the same object, give both DECLs the same DECL_UID. * typeck.c (cxx_mark_addressable): Don't set TREE_ADDRESSABLE on DECL_ASSEMBLER_NAME. testsuite: * g++.dg/expr/enum1.C, g++.dg/opt/const3.C: Declare abort with extern "C". * g++.dg/other/pragma-re-1.C: Add comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83405 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.h: Remove include of version.hmgadams2004-06-031-0/+1
| | | | | | | | | | | | | | * c-cppbuiltin.c: Include version.h * diagnostic.c: Include version.h * dwarf2out.c: Include version.h * toplev.c: Include version.h * vmsdbgout.c: Include version.h * Makefile.in: Remove dependency on version.h from TREE_H, and add dependencies to required .o targets * gjavah.c: Include version.h git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82601 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:kenner2004-04-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED. * c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise. * calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise. * expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise. * optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise. * tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise. * config/mips/mips.c, config/rs6000/rs6000.c: Likewise. * config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise. * stor-layout.c (layout_type, case COMPLEX_TYPE): Test for REAL_TYPE, not INTEGER_TYPE. (layout_type, case VECTOR_TYPE): Simplify code. * tree.c (build_vector_type_for_mode): Remove dup unsigned setting. * tree.h: Update comments. (STRIP_NOPS): Use TYPE_UNSIGNED. (TYPE_UNSIGNED): New macro. (TYPE_TRAP_SIGNED): Remove now redundant check. (SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED. * cp/call.c (joust): Use TYPE_UNSIGNED, not TREE_UNSIGNED. * cp/class.c (check_bitfield_decl): Likewise. * cp/cvt.c (type_promotes_to): Likewise. * cp/decl.c (finish_enum): Likewise. * cp/mangle.c (write_builtin_type): Likewise. * cp/semantics.c (finish_switch_cond, finish_unary_op_expr): Likewise. * cp/typeck.c (type_after_usual_arithmetic_conversions): Likewise. (build_binary_op): Likewise. * f/com.c (ffecom_arrayref_): Use TYPE_UNSIGNED, not TREE_UNSIGNED. (ffecom_expr_): Likewise. * java/jcf-write.c (generate_bytecode_insns): Use TYPE_UNSIGNED. * treelang/treetree.c (tree_lang_signed_or_unsigned_type): Use TYPE_UNSIGNED, not TREE_UNSIGNED. * ada/decl.c (gnat_to_gnu_entity, make_type_from_size): Use TYPE_UNSIGNED, not TREE_UNSIGNED. * ada/trans.c (tree_transform, convert_with_check): Likewise. * ada/utils.c (gnat_signed_or_unsigned_type): Likewise. (build_vms_descriptor, unchecked_convert): Likewise. * ada/utils2.c (nonbinary_modular_operation): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80287 138bc75d-0d04-0410-961f-82ee72b054a4
* * real.c (encode_ibm_extended): Don't bother rounding low double.amodra2004-03-041-0/+10
| | | | | | | | * c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX when fmt->pnan < fmt->p. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78900 138bc75d-0d04-0410-961f-82ee72b054a4
* * alias.c, basic-block.h, c-common.c, c-common.h,kazu2004-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | | c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c, calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c, combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c, cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h, defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c, expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c, genautomata.c, genconditions.c, genemit.c, genflags.c, gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c, ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c, langhooks-def.h, langhooks.c, langhooks.h, line-map.c, line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c, ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c, rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h, target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h, unwind.h, varray.c, varray.h: Update copyright. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76302 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.h: Fix comment formatting.kazu2004-01-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | * c-cppbuiltin.c: Likewise. * c-pragma.c: Likewise. * calls.c: Likewise. * collect2.c: Likewise. * cppcharset.c: Likewise. * cpptrad.c: Likewise. * dbxout.c: Likewise. * defaults.h: Likewise. * dwarf2out.c: Likewise. * fold-const.c: Likewise. * genautomata.c: Likewise. * genconditions.c: Likewise. * genflags.c: Likewise. * gengtype.c: Likewise. * integrate.c: Likewise. * loop.c: Likewise. * predict.c: Likewise. * sdbout.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75957 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (flag_abi_version): Default to 2.mmitchel2003-12-231-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_ABI_VERSION uniformly for versions above 2. * doc/invoke.texi: Update documentation for -fabi-version. * cp-lang.c (cp_expr_size): Return zero for empty classes. * cp-tree.h (warn_if_uknown_interface): Remove unused function. * decl2.c (warn_if_unknown_interface): Likewise. * g++.dg/abi/macro0.C: New test. * g++.dg/abi/macro1.C: Likewise. * g++.dg/abi/macro2.C: Likewise. * g++.dg/abi/bitfield5.C: Add explicit -fabi-version=1 option. * g++.dg/abi/bitfield7.C: Likewise. * g++.dg/abi/dtor2.C: Likewise. * g++.dg/abi/mangle11.C: Likewise. * g++.dg/abi/mangle12.C: Likewise. * g++.dg/abi/mangle14.C: Likewise. * g++.dg/abi/mangle17.C: Likewise. * g++.dg/abi/vbase10.C: Likewise. * g++.dg/abi/vbase14.C: Likewise. * g++.dg/template/qualttp17.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74973 138bc75d-0d04-0410-961f-82ee72b054a4
* * real.h (REAL_MODE_FORMAT): New macro.zack2003-10-061-1/+1
| | | | | | | | | | | | * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring directly to real_format_for_mode array, wherever possible. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72168 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (enum c_language_kind, flag_objc): Remove.neil2003-06-301-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (fix_string_type, check_case_value, c_common_nodes_and_builtins, c_add_case_label, finish_label_addr_expr, boolean_increment): Use c_dialect_ macros. * c-common.h (enum c_language_kind): Extend. (c_dialect_cxx, c_dialect_objc): New. (flag_objc): Remove. (c_common_init_options): Update prototype. * c-cppbuiltin.c (define__GNUC__, c_cpp_builtins): Use c_dialect_ macros. * c-decl.c (finsih_decl, grokfield, finish_struct): Use c_dialect_ macros. * c-format.c (C_STD_VER, C_STD_NAME): Similarly. * c-lang.c (c_init_options): Remove. (c_language): Define. (LANG_HOOKS_INIT_OPTIONS): Use common hook. * c-lex.c (lex_charconst): Use c_dialect_cxx(). * c-opts.c (lang_flags): Make function-local. (c_common_init_options): Use c_dialect_ macros. Handle C++ diagnostic requirements. (c_common_handle_option, c_common_post_options): Use flag_cxx. * c-parse.in (init_reswords): Use c_dialect_objc (). * c-pch.c (get_ident): Use c_language. * c-pretty-print.c (pp_c_bool_literal): Use c_dialect_ macros. * c-typeck.c (comptypes, build_c_cast): Similarly. * objc/objc-lang.c (c_language): Define. (LANG_HOOKS_INIT_OPTIONS): Use common hook. (objc_init_options): Remove. cp: * Make-lang.in: Update. * cp-lang.c (c_language): Define. (LANG_HOOKS_INIT_OPTIONS): Use common hook. * cp-tree.h (cxx_init_options): Remove. * lex.c: Don't include diagnostic.h. (cxx_init_options): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68734 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-aux-info.c: Convert to ISO C99.aj2003-06-191-52/+30
| | | | | | | | | | | | | | | | * c-pragma.c: Likewise. * c-common.c: Likewise. * c-common.h: Likewise. * c-convert.c: Likewise. * c-cppbuiltin.c: Likewise. * c-dump.c: Likewise. * c-decl.c: Likewise * c-format.c: Likewise. * c-incpath.c: Likewise. * c-incpath.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68218 138bc75d-0d04-0410-961f-82ee72b054a4
* Add commentary.rth2003-06-071-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67606 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.rth2003-06-071-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67605 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):neil2003-05-181-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Default here. (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS(). * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here. * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__. * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h, config/arm/linux-elf.h, config/arm/rtems-elf.h, config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h, config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h, config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h, config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h, config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h, config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h, config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h, config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h, config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h, config/sparc/openbsd64.h, config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h: Don't define __ELF__. * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__. * doc/cpp.texi: Document __ELF__. * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66926 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ intoneil2003-05-111-5/+0
| | | | | | | | | | | | | | cpplib as it's a Standard Predefined Macro. * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins. * cppinit.c (_cpp_init_builtins): Take HOSTED. Define __STDC_HOSTED__ appropriately. * cpplib.h (_cpp_init_builtins): Update. * fix-header.c (read_scan_file): Update. * doc/cpp.texi, doc/cppopts.texi: Update documentation. * cppfiles.c (find_or_create_entry): Preserve errno. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66688 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.sayle2003-03-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * c-typeck.c (c_tree_expr_nonnegative_p): Likewise. * cfgbuild.c (find_many_sub_basic_blocks): Likewise. (find_sub_basic_blocks): Likewise. * cgraphunit.c (cgraph_expand_functions): Likewise. * dwarf2out.c (prune_unused_types): Likewise. * expr.c (store_field): Likewise. * genextract.c (print_path): Likewise. * haifa-sched.c (schedule_insn): Likewise. * lcm.c (compute_antinout_edge): Likewise. * loop-unroll.c (decide_peel_once_rolling): Likewise. * ra-colorize.c (ra_colorize_free_all): Likewise. * ra-debug.c (dump_igraph): Likewise. (debug_hard_reg_set): Likewise. * reg-stack.c (reg_to_stack): Likewise. * rtlanal.c (refers_to_regno_p): Likewise. * tracer.c (layout_superblocks): Likewise. * cp/tree.c (count_functions): Fix whitespace. * f/ste.c (ffeste_R810): Fix whitespace. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64402 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in: Update.neil2003-03-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-common.h (cb_register_builtins): Rename c_cpp_builtins. * c-lex.c (init_c_lex): Register builtins hook is dead. * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U. (c_common_decode_option): Don't call cpp_handle_option. Handle -A, -D and -U. (handle_deferred_opts): Simplify. (finish_options): Define builtins and command line macros. * c-ppoutput.c (init_pp_output): Register builtins hook is dead. * cppinit.c: Don't include intl.h. (init_builtins): Rename cpp_init_builtins. No hook to call. (init_library): Don't need to sort options. (cpp_create_reader): Don't set pending. (cpp_destroy): Don't free pending. (struct pending_option, cl_directive_handler, struct cpp_pending, APPEND, free_chain, new_pending_directive, parse_option, opt_comp, cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option, cl_options, cpp_handle_option): Remove. * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option, cpp_finish_options): Remove. (cpp_init_builtins): New. * fix-header.c (read_scan_file): Update to handle -D. Fix handling of -I. Replace call to cpp_finish_options. cp: * Make-lang.in: Update. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64398 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins foraj2003-03-121-0/+9
| | | | | | | | | | | | | | | | | | | | | LP64 targets. * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and _LP64. * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define _LP64 macros here. * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise. * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to NETBSD_OS_CPP_BUILTINS_LP64. * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise. * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise. * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64259 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (builtin_define_std): Make non-static.neil2003-03-121-2/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64215 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.geoffk2003-03-121-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64211 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in: Update.neil2003-03-111-0/+1
| | | | | | | * c-cppbuiltin.c: Include tm_p.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64187 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in: Update.neil2003-03-111-0/+570
* c-common.c: Don't include real.h or except.h. (REGISTER_PREFIX): Remove. (builtin_define_std, builtin_define_with_value, builtin_define_with_int_value, builtin_define_with_hex_fp_value, builtin_define_type_max, builtin_define_type_precision, builtin_define_float_constants): Move to c-cppbuiltin.c. (c_stddef_cpp_builtins): New. * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New. * c-cppbuiltin.c: New, extracted from c-common.c. (define__GNUC__): New. * cppspec.c (lang_specific_driver): Remove support of -no-gcc. * gcc.c: Remove support of %v1, %v2 and %v3 specs. (cpp_unique_options): Don't support no-gcc. (do_spec_1): Remove support of version specs. * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3. * doc/passes.texi: Update. * doc/tm.texi: Update. cp: * Make-lang.in (CXX_C_OBJS): Update. * lang-specs.h: Don't define __GNUG__ here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64162 138bc75d-0d04-0410-961f-82ee72b054a4