* verify.cc (_Jv_BytecodeVerifier::linked_utf8): New structure.
(_Jv_BytecodeVerifier::utf8_list): New field.
(_Jv_BytecodeVerifier::_Jv_BytecodeVerifier): Initialize it.
(_Jv_BytecodeVerifier::~_Jv_BytecodeVerifier): Free it.
(_Jv_BytecodeVerifier::make_utf8_const): New method.
(_Jv_BytecodeVerifier::get_one_type): Use it.
(_Jv_BytecodeVerifier::type::merge): When using local semantics,
if the destination type is already unsuitable then we didn't
change.
From-SVN: r47634
* cppspec.c (lang_specific_driver): Set is_cpp_driver.
* gcc.c (process_command): Ensure the cpp driver sees
--help and --target-help, and that the help is printed
exactly once.
From-SVN: r47627
* sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as
a configuration pragma, it is now legal wherever a pragma can appear.
From-SVN: r47624
* defineclass.cc (read_one_method_attribute): `end_pc' for an
exception can be equal to code length.
* verify.cc (_Jv_BytecodeVerifier::verify_instructions_0): Removed
`start_PC' from error invocation where it didn't make sense, and
updated error message. Use `copy' to copy a state. Only try to
merge current state with saved state when we've fallen through
from the previous instruction.
(_Jv_BytecodeVerifier::pop_ref_or_return): New method.
(_Jv_BytecodeVerifier::verify_instructions_0) [op_astore_0]: Use
pop_ref_or_return.
(_Jv_BytecodeVerifier::verify_instructions_0) [op_astore]:
Likewise.
(_Jv_BytecodeVerifier::push_jump_merge): Pass max_locals, not
max_stack, to merge.
(_Jv_BytecodeVerifier::verify_instructions_0): Likewise.
(_Jv_BytecodeVerifier::push_jump_merge): Merge from new state into
state at branch target, not vice versa.
(_Jv_BytecodeVerifier::branch_prepass): Allow end of exception to
be equal to code length. Removed redundant test to see if
exception start is after exception end.
(_Jv_BytecodeVerifier::verify_instructions_0): Type of argument to
`finally' is Throwable.
From-SVN: r47623
2001-12-04 Benjamin Kosnik <bkoz@redhat.com>
* src/Makefile.am (sources): Add ext-inst.cc.
* src/Makefile.in: Regenerate.
* src/ext-inst.cc: New file.
* include/bits/stl_threads.h: Format.
* src/globals.cc: Add instantiation for _S_swap_lock.
* testsuite/18_support/numeric_limits.cc: Add numeric_limits<B>
instantiation.
2001-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
* testsuite/22_locale/numpunct_members_wchar_t.cc: Only compile
and execute test01 if _GLIBCPP_USE_WCHAR_T is defined.
* testsuite/26_numerics/complex_inserters_extractors.cc: Provide
for explicit instantiation of class std::basic_string<char,
gnu_char_traits, std::allocator<char> >.
From-SVN: r47622
* build-make, cross-make: Delete file.
* configure.in: Set and substitute CROSS, ALL,
SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
whether build == host and host == target. Do not
AC_SUBST_FILE build_overrides or cross_overrides. Do not
AC_SUBST cross_defines or extra_c_flags.
* Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
(SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
partially or completely with autoconf-substituted @variable@
notation.
(INSTALL_TARGET, @cross_defines@, @cross_overrides@,
@build_overrides@, @extra_c_flags@, all.build, install-build,
install-cross-rest, install-float-h-cross): Deleted.
(install-normal): Rename to install. Delete old "install"
indirection rule.
* ada/Makefile.in, ch/Makefile.in: Don't set ALL. Delete
@cross_defines@, @cross_overrides@, @build_overrides@ stanzas.
INTERNAL_CFLAGS is now @CROSS@ -DIN_GCC; update comment.
From-SVN: r47617
2001-12-04 Andrew MacLeod <amacleod@redhat.com>
* stmt.c (expand_return): Clear destination instead of clobbering it
when setting a return value via bitsets.
From-SVN: r47616
* einfo.adb (Has_Pragma_Pure_Function): New flag.
Fix problem that stopped ceinfo from working
* einfo.ads (Has_Pragma_Pure_Function): New flag.
* sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function.
From-SVN: r47614
(File_Time_Stamp): New procedure.
(Preserve_Mode): New boolean.
(Write_Unit): Pass time stamp.
Implement -p switch (preserve time stamps).
* gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE).
* gnatchop.adb: Do usage info for -p switch
* adaint.h (__gnat_set_file_time_name): New function
* adaint.c (__gnat_set_file_time_name): Implement
* adaint.h: Fix typo
From-SVN: r47613
* c-decl.c (duplicate_decls): Revert rth's patch. If newdecl
is in a different binding level, get its abstract origin to be
olddecl.
* tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
check earlier.
* tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
DECL_INITIAL is NULL.
From-SVN: r47610
* stmt.c (expand_expr_stmt): Keep last_expr_value non-NULL iff
we're interested in the result. Use it to tell whether to
ignore results of enclosed expressions.
(expand_start_stmt_expr): Added new argument, and initialize
last_expr_value accordingly.
* tree.h (expand_start_stmt_expr): Adjusted declaration.
* c-common.c (c_expand_expr): Adjust call.
* expr.c (expand_expr) [EXPR_WFL]: Pass const0_rtx down if
ignoring the result.
From-SVN: r47607
cp:
PR g++/164
* init.c (sort_base_init): Allow binfos to be directly specified.
* method.c (do_build_copy_constructor): Explicitly convert to the
base instance.
(do_build_assign_ref): Likewise.
testsuite:
* g++.dg/inherit/base1.C: New test.
From-SVN: r47603
* flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
Return correct value if one of the subexpressions was optimized to
0 resp. 1. Optimize (x | A) | x and (x & A) | x.
(and_reg_cond): Similarly.
* gcc.c-torture/compile/20011130-2.c: New test.
From-SVN: r47602
* doc/install.texi: Use the GFDL. Include years from old install
manual in copyright notice. Include copyright and GFDL notice on
HTML index page. Include usual footer on testing.html.
* doc/install.texi2html: Build gfdl.html. Use -I
$SOURCEDIR/include.
* doc/include/fdl.texi: Adapt for use in the install manual.
From-SVN: r47598
2001-12-03 Eric Christopher <echristo@redhat.com>
* config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
* config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
patterns.
From-SVN: r47590
* decl.c (complete_start_java_method): Now generate TRY_FINALLY_EXPR
instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR.
* jcf-write.c (generate_bytecode_insns): Remove support for
CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR as they are no longer used.
* check-init.c (check_init): Likewise.
From-SVN: r47587