* cppinit.c (struct builtin): Remove unused fields.
(CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
(operator_array): New - was second half of builtin_array.
(init_builtins): Simplify loop over builtin_array/operator_array.
From-SVN: r53574
* expr.c (init_expr_once): Don't use start/end_sequence.
Use rtx_alloc instead of emit_insn.
* toplev.c (lang_dependent_init): Run init_expr_once here ...
(lang_independent_init): ... not here.
From-SVN: r53572
* config/avr/avr.c (avr_regs_to_save): New function. Also check
for fixed registers, possibly used for global register variables.
(initial_elimination_offset, avr_output_function_prologue,
avr_output_function_epilogue): Move common code to avr_regs_to_save.
From-SVN: r53569
* Makefile.in: Update for cpptrad.c.
* cpphash.h (struct cpp_buffer): New members for buffer
overlays.
(struct cpp_reader): New members for traditional output.
(_cpp_read_logical_line, _cpp_overlay_buffer): New.
* cppinit.c (cpp_create_reader): Set trad_line.
(cpp_destroy): Free trad_out_base if used.
(cpp_read_main_file): Overlay an empty buffer if traditional.
(cpp_finish_options): Don't do builtins.
(COMMAND_LINE_OPTIONS): Add -traditional-cpp.
(cpp_handle_option): Handle it.
* cpplex.c (continue_after_nul): New.
(_cpp_lex_direct): Use handle_nul.
* cpplib.h (struct cpp_options): New traditional option.
* cpptrad.c: New file.
From-SVN: r53568
* c-common.c (c_common_init_options): Use C89 for Objective-C,
and set the options flag.
* cppinit.c (lang_flags): Remove objc.
(lang_defaults): Remove OBJC and OBJCXX.
(set_lang): Update.
(COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
(cpp_handle_option): Remove -+ and -lang-objc++.
For ObjC, just set a flag.
(print_help): Update.
* cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
From-SVN: r53566
2002-05-17 David S. Miller <davem@redhat.com>
PR c/6689, PR optimization/6615
* local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
and make it a pointer to rtx. Update comments.
(update_equiv_regs): When scanning for equivalences, record
address of SET_SRC (set) in reg_equiv[].src_p. Dereference
it while making the equiv replacements.
From-SVN: r53561
* doc/install.texi (Testing): Mention two common DejaGnu warnings
that can be ignored.
* doc/install.texi (Final install): Recommend to install into a
"clean" target directory.
From-SVN: r53552
* c-common.c (cb_register_builtins): Handle more built-ins
here rather than in gcc.c specs.
* gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
(cpp_options): Pass -O flags even when only preprocessing.
* toplev.c (set_fast_math_flags): New prototype.
(fast_math_flags_set_p): New.
(set_no_fast_math_flags): Remove.
(decode_f_option): Update.
* toplev.h (set_fast_math_flags): Update.
(fast_math_flags_set_p): New.
(set_no_fast_math_flags): Remove.
config:
* c4x/c4x.c (c4x_override_options): Update.
From-SVN: r53526
* c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
Default-define here.
(builtin_define_with_value): Can now wrap the expansion in
quotation marks if such is wanted.
(cb_register_builtins): Update calls to builtin_define_with_value.
Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
here.
(c_common_init): Set options->stdc_0_in_system_headers.
* c-lex.h: Update prototype of builtin_define_with_value.
* cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
and REGISTER_PREFIX.
* cppinit.c (VERS, ULP, C, X): Kill.
(builtin_array): Remove entries for __VERSION__,
__USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
__HAVE_BUILTIN_SETJMP__. Make __STDC__ always a builtin, not
a constant.
(init_builtins): Kill off a bunch of now-dead code.
(COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
-fno-leading-underscore.
(cpp_handle_option): Remove code to set user_label_prefix.
(cpp_post_options): Likewise.
* cpplib.h (struct cpp_options): Remove user_label_prefix.
(stdc_0_in_system_headers): New.
* cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
stdc_0_in_system_headers) too to decide the value of __STDC__.
* tradcpp.c (user_label_prefix): Kill.
(main): Remove code handling -f(no-)leading-underscore.
(initialize_builtins): Don't define __REGISTER_PREFIX__
or __USER_LABEL_PREFIX__.
(install_value): Wrap compound statement in dummy loop so the
macro works properly in an if statement.
From-SVN: r53525
* loop.h (struct loop_info): Add member has_prefetch.
* loop.c (PREFETCH_CONDITIONAL): Change default to 1.
(prescan_loop): Initialize has_prefetch.
(struct prefetch_info): Change prefetch_in_loop and
prefetch_before_loop from bit fields to ints.
(emit_prefetch_instructions): Several small fixes.
(check_dbra_loop): Don't reverse loop that uses prefetch.
From-SVN: r53524
* config/arm/arm.c (arm_rtx_costs): Check for RTX being a
SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
(arm_adjust_cost): Check for RTX being a SYMBOL_REF before
calling CONSTANT_POOL_ADDRESS_P.
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
to decide whether to define __arm__ or __thumb.
(THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
From-SVN: r53519
* cp/rtti.c (get_tinfo_decl): Don't call comdat_linkage.
Do set DECL_COMDAT.
(synthesize_tinfo_var): Take the public decl.
(create_real_tinfo_var): Likewise. Check DECL_COMDAT.
(emit_tinfo_decl): Adjust. Call import_export_decl.
* cp/decl2.c (import_export_decl): Simplify tinfo decl handling.
* config/mips/mips.c (mips_output_external): Don't do sdata
optimization for a variable with DECL_COMDAT set.
From-SVN: r53506
2002-05-15 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/altivec.h: Cleanups for tighter typechecking.
Cleanups for accepting modifiers on pointers.
Fix predicate typos.
Allow long pointers as well as int pointers.
From-SVN: r53500