* decl.c (duplicate_decls): Remove code deadling with
DECL_SAVED_INSNS.
* decl2.c (finish_file): Likewise.
* pt.c (instantiate_decl): Likewise.
* semantics.c (expand_body): Don't defer local functions if
they wouldn't be deferred for some other reason. Don't
generate RTL for functions that will not be emitted.
(genrtl_start_function): Remove code deadling with
DECL_SAVED_INSNS.
(genrtl_finish_function): Likewise.
From-SVN: r45386
* doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
sometimes be represented as a NOTE of type
NOTE_INSN_DELETED_LABEL.
(Insns): Document NOTE_INSN_DELETED_LABEL.
From-SVN: r45378
2001-09-04 David S. Miller <davem@redhat.com>
Simplify length insn attribute and make more judicious use
of insn attribute defaulting.
* config/sparc/sparc.md (all insns with length > one): Mark as
insn type multi if real instructions, else use default if
it is a forced splitter.
(all insns with length == one): Use default insn length.
(all insns of type ialu): Use default insn type.
Fix erroneous insn attribute settings.
(addx): Set insn type to misc.
(mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
const_umulsidi3_sp64): Set insn type to imul.
Track SFmode vs DFmode insns according to UltraSPARC
scheduling rules.
* config/sparc/sparc.md ("fptype"): New attribute, default
to "single".
(all DFmode single insns): Mark as fptype "double".
From-SVN: r45377
cp:
PR c++/4203
* call.c (build_over_call): Do not optimize any empty base
construction.
testsuite:
PR c++/4203
* g++.old-deja/g++.other/empty1.C: XFAIL. See PR c++/4222
* g++.dg/init/empty1.C: New test.
From-SVN: r45374
* c-common.h (tree_dump_index): Add more comments.
* c-dump.c (dump_files): Name flags `tree' rather than `ast'.
(dump_option_value_info): New struct.
(dump_options): New array.
(dump_switch_p): Parse switch options symbolically.
* doc/invoke.texi (-fdump-ast): Rename to ...
(-fdump-tree): ... here. Document that options are symbolic, and
not all are applicable.
From-SVN: r45373
2001-09-04 David S. Miller <davem@redhat.com>
Cleanup redundant and unused insn attributes.
* config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
binary, and move. Mark ialu as default.
(commented out define_function_unit "alu"): Kill.
(define_attr "use_clobbered"): Kill.
(whole file): Kill address insn type references. Replace
all unary/binary/move references with ialu.
* config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
references. Replace TYPE_{UNARY,BINARY,MOVE} references with
TYPE_IALU.
From-SVN: r45371
* function.h (struct function): Add arg_pointer_save_area_init.
* function.c (expand_function_end): Init arg_pointer_save_area.
(get_arg_pointer_save_area): Do not init arg_pointer_save_area
when called from a nested function.
From-SVN: r45362
* expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
(emit_push_insn): Use specified padding direction when
STACK_PUSH_CODE is POST_INC.
From-SVN: r45352
* cppinit.c (cpp_start_read): Free the imacros list as we
traverse it. Don't free the chains before returning.
(_cpp_push_next_buffer): Only try pushing buffers if we've
completed -imacros handling.
From-SVN: r45349
2001-08-30 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (patch_assignment): Don't verify final re-assignment here.
(java_complete_lhs): Verify assignments to finals calling
patch_assignment. Verify re-assignments to finals before calling
patch_assignment.
2001-08-29 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (java_complete_lhs): Allow final locals in CASE_EXPRs.
Fixes PR java/1413
2001-08-28 Alexandre Petit-Bianco <apbianco@redhat.com>
* lex.c (java_lex): new local found_hex_digits. Set and then used
in test to reject invalid hexadecimal numbers.
* parse.y (java_complete_tree): Prevent unwanted cast with
initialized floating point finals.
(patch_binop): Emit a warning when detecting a division by zero,
mark result not constant, don't simplify non integer division.
(http://gcc.gnu.org/ml/java-patches/2001-q3/msg00343.html )
From-SVN: r45345
* java/lang/ClassLoader.java (system): Remove static field.
(getSystemClassLoader): Get gnu.gcj.runtime.VMClassLoader.instance
directly instead of using it to set the system field.
(loadClass): Use VMClassLoader.instance instead of system field.
(findSystemClass): Similar.
* prims.cc (_Jv_RunMain): Clear VMClassLoader::instance rather
than ClassLoader::system which no longer exists.
* java/lang/natClassLoader.java (_Jv_FindClass): Simplify.
From-SVN: r45343
Merged from gcc-3_0-branch:
2001-07-30 Jeff Sturm <jsturm@one-pont.com>
* ltcf-c.sh: Use $objext, not $ac_objext.
2001-07-27 Mark Kettenis <kettenis@gnu.org>
* ltcf-cxx.sh: Add support for GNU.
2001-07-22 Timothy Wall <twall@redhat.com>
* ltcf-c.sh: Don't disable shared libraries for AIX5/IA64. Preserve
default settings if using GNU tools with that configuration.
* ltcf-cxx.sh: Ditto.
* ltcf-gcj.sh: Ditto.
2001-07-21 Michael Chastain <chastain@redhat.com>
* ltconfig: Set max_cmd_len to a maximum of 512Kb, as it seems some
HPUX 11.0 systems have trouble with 1MB. Mark as gcc-local.
* ltmain.sh: Mark as gcc-local.
From-SVN: r45341
* function.c: Remove all_functions. Make outer_function_chain
static.
(init_function_start): Don't add new function structure to
all_functions.
(find_function_data, push_function_context_to,
pop_function_context_from, put_var_into_stack,
trampoline_address): Update for changed structure element names.
(push_function_context_to): Disentangle.
(free_after_compilation): Also free F.
(expand_dummy_function_end): Don't free cfun here.
(put_var_into_stack): Comment why we can't use find_function_data here.
(fix_lexical_addr, trampoline_address, ): Use find_function_data.
(mark_function_chain): Split into maybe_mark_struct_function and
ggc_mark_struct_function. Export the latter.
(init_function_once): Mark from cfun and outer_function_chain;
not all_functions.
* function.h (struct function): Kill next_global. Rename next
to outer. All users updated to match.
(all_functions, outer_function_chain): Don't declare.
* ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
* integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
don't touch f->inlinable, after calling rest_of_compilation.
* tree.h: Forward-declare struct function. Prototype
ggc_mark_struct_function.
From-SVN: r45336
* calls.c (emit_library_call_value): Don't use a fixed
argument after VA_CLOSE, i.e. out of scope in traditional C.
* emit-rtl.c (gen_rtvec): Likewise.
From-SVN: r45332