2002-07-30 Andrew Haley <aph@cambridge.redhat.com>
* Make-lang.in (java-tree-inline.o): New.
(JAVA_OBJS): Add java-tree-inline.o.
* parse.y (source_end_java_method): Call java_optimize_inline.
(java_expand_method_bodies): Save method's tree in
DECL_SAVED_TREE.
(add_stmt_to_compound): Keep track of the number of statments.
* lang.c (java_init): Enable flag_inline_trees.
(java_post_options): If flag_inline_functions is on, enable
flag_inline_trees instread.
(decl_constant_value): New.
(java_tree_inlining_walk_subtrees): New.
* java-tree.h (DECL_NUM_STMTS): New macro.
(java_optimize_inline): Declare.
* expr.c (java_expand_expr): Allow a BLOCK to return a value.
Handle a LABEL_EXPR.
* decl.c (build_result_decl): If we already have a DECL_RESULT
don't make another.
(dump_function): New.
(java_optimize_inline): New.
(dump_function): New.
From-SVN: r56377
* Makefile.in (LOOSE_WARN): Remove -fno-common.
(NOCOMMON_FLAG): New substitution point.
(GCC_WARN_CFLAGS): Include it.
* configure.in (ac_checking): Set nocommon_flag.
(nocommon_flag): New substitution point.
From-SVN: r56362
* parse.y (sizeof, alignof, typeof): New non-terminals to
increment skip_evaluation. Replace terminals with them and
decrement skip_evaluation at the end of rules using them.
* decl2.c (mark_used): Don't assemble_external if
skipping evaluation.
From-SVN: r56359
* c-tree.h (skip_evaluation): Move declaration...
* c-common.h: ... here.
* c-typeck.c (build_external_ref): Don't assemble_external nor
mark a tree as used if skip_evaluation is set.
* c-parse.in (typeof): New non-terminal to set skip_evaluation
around TYPEOF.
(typespec_nonreserved_nonattr): Use it.
From-SVN: r56358
* libstdc++-v3/libsupc++/unwind-cxx.h (__cxa_exception):
Change catchTemp type from void* to _Unwind_Ptr.
* libstdc++-v3/libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
Do not cast landing_pad or base_of_encoded_value to (void *).
* libstdc++-v3/libsupc++/eh_throw.cc (__gxx_exception_cleanup):
Accept _URC_NO_REASON as a valid reason code.
From-SVN: r56352
* gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
(_Unwind_Internal_Ptr): 32 bit version for use in
read_encoded_value_with_base.
* gcc/unwind-pe.h (read_encoded_value_with_base): Use
_Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
right size.
From-SVN: r56351
* rs6000.c (output_mi_thunk): Return to function section on
TARGET_ELF.
* rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
From-SVN: r56348
PR preprocessor/7358
* c-opts.c (check_deps_environment_vars): Ignore main file
for SUNPRO_DEPENDENCIES.
* cppfiles.c (stack_include_file): Ignore main file if
appropriate.
* cpplib.h (struct cpp_options): New member in deps.
* doc/cppenv.texi: Update.
From-SVN: r56333
* config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
* config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
(LIBGCC2_CFLAGS): Compile with -mrelax.
From-SVN: r56285
* config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
(MULTILIB_OPTIONS): Must also generate for -mlong-calls.
* config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
(ret, declare, farsym): New gas macros.
(__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
and declare the symbol far when compiled with -mlong-calls.
(__far_trampoline): New for 68HC12 trampoline code to invoke a
far handler using jsr/bsr.
* config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
(jsr): New macro to transform a 'jsr' into a 'call'.
From-SVN: r56282
* doc/invoke.texi: Document -mlong-calls for 68HC12.
* config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
-mlong-calls is specified.
(ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
assembler directives.
(TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
(TARGET_SWITCHES): Add -mlong-calls options.
(current_function_far): Declare.
* config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
into account the page register saved on the stack.
(m68hc11_override_options): Take into account -mlong-calls option.
(m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
* config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
if the function is going to be in 68HC12 banked memory (-mlong-calls).
("*return_16bit"): Likewise.
("*return_void"): Likewise.
("call", "call_value"): Use call for a far function call.
From-SVN: r56275
* toplev.c (parse_options_and_default_flags): Don't call
post_options here.
(general_init): Initialize GC, pools and tree hash here,
instead of lang_independent_init.
(lang_independent_init): Rename backend_init.
(do_compile): Call post_options hook; exit early if there
have been errors after switch processing.
(toplev_main): Update.
From-SVN: r56274