* cp-tree.h (struct lang_type): Added non_zero_init.
(CLASS_NON_ZERO_INIT_P): New macro.
(zero_init_p, force_store_init_value, build_forced_zero_init): Declare.
* class.c (check_field_decls): Test non_zero_init.
* cvt.c (convert_to_pointer_force): Use cp_convert_to_pointer for
zero-to-NULL conversions.
* decl.c (obscure_complex_init): Don't reset DECL_INITIAL of a
type that needs zero-initialization without zeros.
(check_initializer_decl): Compute zero-initializer for types
that require a non-trivial one.
* init.c (build_forced_zero_init): New function.
(build_default_init): Use it.
* tree.c (zero_init_p): New function.
* typeck2.c (force_store_init_value): New function.
(process_init_constructor): Create non-trivial zero-initializers
for array members and class fields.
From-SVN: r53461
* gcc.c (cpp_options): Must pass -m* and -f* options
to the front end even when only preprocessing.
(cc1_options): Remove redundant -lang-c.
* tradcpp.c (main): Ignore -m options.
cp:
* lang-specs.h: Remove redundant -lang-c++.
objc:
* lang-specs.h: Similarly.
From-SVN: r53460
* doc/install.texi (Specific, *-*-solaris2*): Update passus on
setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
(possibly) work around broken /bin/sh.
From-SVN: r53452
* varasm.c (resolve_unique_section): Add third parameter
flag_function_or_data_sections and use it instead of
flag_function_sections.
(assemble_start_function): Pass flag_function_sections.
(asm_emit_uninitialised): Pass flag_data_sections.
(assemble_variable): Likewise.
From-SVN: r53449
* java/lang/natRuntime.cc: Don't include sys/time.h and time.h.
* java/util/natTimeZone.cc: Include sys/time.h and time.h here.
Include platform.h.
From-SVN: r53443
* flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
Update prototype and callers.
(propagate_one_insn): Stack pointer adjustments kill MEMs on
the mem_set_list which reference the stack pointer, as do
calls to constant functions as they may clobber outgoing
argument space.
From-SVN: r53442
* jcf-write.c (write_classfile): Unlink the temporary file if it
cannot be renamed. Use concat to build up the name of the
temporary file
From-SVN: r53439
* configure.in : Remove --srcdir argument from targargs and buildargs
(it's always overridden in the Makefile anyway). Rearrange a bit.
From-SVN: r53433
2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
* src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
beginning of function (for older apple cc).
From-SVN: r53430
Fixes PR libgcj/6389:
* Makefile.in: Rebuilt.
* Makefile.am (nat_source_files): Added natTimeZone.cc.
* java/util/natTimeZone.cc: New file.
* java/util/TimeZone.java (getDefaultTimeZoneId): New method.
* java/lang/System.java: Merged with Classpath.
* java/lang/Runtime.java: Merged with Classpath.
* java/lang/natSystem.cc (setErr0): Renamed from setErr; don't run
security check.
(setIn0): Renamed from setIn; don't run security check.
(setOut0): Renamed from setOut; don't run security check.
(file_encoding, getpwuid_adaptor, getSystemTimeZone,
init_properties): Moved to natRuntime.cc.
Moved many includes to natRuntime.cc.
(isWordsBigEndian): New method.
* java/lang/natRuntime.cc: Include Long.h, also other includes
previously in natSystem.cc.
(maxMemory): New function.
(exitInternal): Renamed from `_exit'.
(exit): Removed.
(init): Don't set finalize_on_exit.
(exitInternal): Use `finalizeOnExit'.
(file_encoding, getpwuid_adaptor): New functions from
natSystem.cc.
(insertSystemProperties): New method, renamed from
System::init_properties. Don't set user.timezone.
(_load): Don't call checkLink.
(execInternal): New method.
(availableProcessors): Likewise.
(nativeGetLibname): Likewise.
From-SVN: r53429
* include/bits/fstream.tcc
(basic_filebuf::_M_allocate_internal_buffer): Remove extraneous
try/catch blocks.
* src/localename.cc (locale::_Impl::_M_install_facet): Same.
* docs/html/install.html: Tweak, add bits about required locales
for the 22_locale tests when using the gnu model.
* testsuite/27_io/istream_sentry.cc: Tweak.
From-SVN: r53423
Jakub Jelinek <jakub@redhat.com>
* testsuite/22_locale/money_get_members_char.cc
(test01, test02, test04): Use the de_DE@euro named locale
instead of de_DE to allow for an uniform behaviour with
both old and Euro-era localedata; tweak some tests.
* testsuite/22_locale/money_get_members_wchar_t.cc
(test01, test02, test04): Likewise.
* testsuite/22_locale/money_put_members_char.cc
(test01, test02, test04): Likewise.
* testsuite/22_locale/money_put_members_wchar_t.cc
(test01, test02, test04): Likewise.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r53420
2002-05-13 Scott Marks <SMarks@mobile-mind.com>
* config/fr30/fr30.md: Only allow splits of immediate loads if the destination
is a register.
From-SVN: r53418
* rtti.c (emit_tinfo_decl): Call import_export_decl.
* decl2.c (import_export_decl): Set DECL_NOT_REALLY_EXTERN on
tinfo decls by default. Don't mess with the builtins.
From-SVN: r53417
* class.c (build_vtbl_ref_1): Use fixed_type_or_null.
(fixed_type_or_null): See through reference vars.
(build_base_path): Vtable contents are constant.
* typeck.c (get_member_function_from_ptrfunc): Likewise.
* rtti.c (emit_tinfo_decl): Call import_export_decl.
* decl2.c (import_export_decl): Set DECL_NOT_REALLY_EXTERN on
tinfo decls by default. Don't mess with the builtins.
From-SVN: r53416
* emit-rtl.c (global_rtl): Update comment.
(const_double_htab, const_double_htab_hash,
const_double_htab_hash, lookup_const_double): New.
(const_int_htab_hash, const_int_htab_eq): Remove const
qualifiers, which cause tons of warnings with RTL checking on.
(gen_rtx_CONST_DOUBLE): Deleted.
(const_double_from_real_value): New function - bears some
resemblance to the former immed_real_const_1.
(immed_double_const): Moved here from varasm.c and
simplified.
(gen_rtx_REG): Make REGNO unsigned to squelch warnings.
(gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
(gen_rtx): Use immed_double_const.
(init_emit_once): Initialize the const_double_htab. Use
REAL_VALUE_FROM_INT where possible. Can now use
CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
* varasm.c (struct varasm_status): Remove x_const_double_chain.
(const_double_chain, immed_real_const, clear_const_double_mem): Delete.
(immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
(init_varasm_status, mark_varasm_status): Don't touch
x_const_double_chain.
* output.h: Delete prototype for clear_const_double_mem.
* real.h: Make REAL_VALUE_TYPE a macro again. Remove leading
'0' slot from all CONST_DOUBLE_FORMAT definitions. Prototype
const_double_from_real_value, not immed_real_const_1, and use
it to define CONST_DOUBLE_FROM_REAL_VALUE. Define new macro
CONST_DOUBLE_ATOF.
* rtl.h (CONST_DOUBLE_CHAIN): Kill.
(CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
(gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
(gen_rtx_REG): Second arg is unsigned.
* gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
(excluded_rtx): New, return true for CONST_DOUBLE.
(genmacro): Write nothing for excluded codes.
* combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
* expr.c (expand_expr): Likewise.
* ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
CONST_DOUBLE_CHAIN.
* toplev.c (rest_of_compilation): Don't call
clear_const_double_mem.
* config/rs6000/rs6000.c (rs6000_float_const): Delete.
(rs6000_hash_constant): Remove CONST_DOUBLE special case.
(toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
* config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
* config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
* config/dsp16xx/dsp16xx.md, config/mips/mips.md,
config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
* config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
From-SVN: r53409