2001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (layout_class): Don't lay the superclass out if it's
already being laid out.
* jcf-parse.c (handle_innerclass_attribute): New function.
(HANDLE_INNERCLASSES_ATTRIBUTE): Invoke
handle_innerclasses_attribute.
(jcf_parse): Don't load an innerclasses if it's already being
laid out.
* jcf-write.c (append_innerclass_attribute_entry): Static
`anonymous_name' and its initialization deleted. `ocii' and `ini'
to be zero for anonymous classes.
2001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (set_constant_value): Set DECL_FIELD_FINAL_IUD if
necessary.
* jcf-parse.c (set_source_filename): Use
MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC if necessary.
2001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
* expr.c (build_jni_stub): Set DECL_CONTEXT on `meth_var' so it
gets a unique asm name.
2001-01-23 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jcf-parse.c (HANDLE_END_METHODS): Nullify current_method.
(HANDLE_START_FIELD): Invoke MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC
if necessary.
(HANDLE_SYNTHETIC_ATTRIBUTE): New macro.
* jcf-reader.c (get_attribute): Handle `Synthetic' attribute.
* parse.y (lookup_package_type_and_set_next): Deleted.
(resolve_package): Removed unnecessary code.
(find_applicable_accessible_methods_list): `finit$' can't be
inherited.
* verify.c (pop_argument_types): Added missing prototype.
(http://gcc.gnu.org/ml/gcc-patches/2001-01/msg01812.html)
From-SVN: r39230
2001-01-23 Chris Demetriou <cgd@broadcom.com>
* libsupc++/exception_support.cc (__terminate_func): Remove
declaration.
(__terminate_func_ptr): New typedef.
(__terminate, __terminate_set_func): New extern function
prototypes.
(std::terminate): Use __terminate function.
(std::set_terminate): Use __terminate_set_func function.
From-SVN: r39226
2001-01-23 Chris Demetriou <cgd@broadcom.com>
* exception.cc (__terminate_func): Remove declaration.
(__terminate_func_ptr): New typedef.
(__terminate, __terminate_set_func): New extern function
prototypes.
(std::terminate): Use __terminate function.
(std::set_terminate): Use __terminate_set_func function.
From-SVN: r39225
2001-01-23 Chris Demetriou <cgd@broadcom.com>
* libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
of EH symbols.
* libgcc2.c (__terminate_func): Make variable static.
(__terminate_set_func): New function to set __terminate_func.
* libgcc2.h (__terminate_func_ptr): New typedef.
(__terminate_set_func): New function.
From-SVN: r39224
* cpperror.c: Merge handlers of PEDWARN and WARNING.
Have -Werror make pedantic warnings errors, like the
rest of GCC.
Co-Authored-By: Neil Booth <neil@daikokuya.demon.co.uk>
From-SVN: r39206
2001-01-23 Chris Demetriou <cgd@broadcom.com>
* configure.in: Place definition of MULTISUBDIR in
libsupc++/Makefile as is done for src/Makefile.
* configure: Regenerate.
From-SVN: r39205
* integrate.h (struct inline_remap): Add compare_src, compare_mode.
* integrate.c (expand_inline_function): Initialize them.
(subst_constants): If changing COMPARE so that both its arguments
will be VOIDmode and the comparison mode will be lost, note
compare_mode. Use the recorded compare_mode to optimize
IF_THEN_ELSE.
From-SVN: r39203
2001-01-17 Andrew Haley <aph@redhat.com>
* libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
of a saved register; return NULL instead.
(copy_reg): Take a pointer to a source register rather than a
frame_state.
(next_stack_level): Remember the address in the stack frame of all
saved registers.
Use the saved register pointer array as the source of the CFA.
(throw_helper): Rewrite. Unwind once rather than twice and keep
track of saved registers as we go.
From-SVN: r39199
cp:
* decl.c (grokdeclarator): Don't presume DECL_LANG_SPECIFIC
indicates anything special about template depth. Make sure we
only count the user visible template classes.
testsuite:
* g++.old-deja/g++.pt/spec37.C: New test.
From-SVN: r39198
cp:
* call.c (build_conv): Typo in comment.
(add_builtin_candidate): Add more explanation.
Remove extra test for ENUMERAL_TYPE in {PRE,POST}INCREMENT_EXPR.
Allow ENUMERAL_TYPEs for relops and eqops. Add both candidates
when we have enumeral types.
(add_builtin_candidates): Add more explanation. Add ENUMERAL_TYPE
candidates for relops and eqops.
(joust): Simplify control flow. Allow a non-template user
function to hide a builtin.
testsuite:
* g++.old-deja/g++.pt/overload14.C: New test.
From-SVN: r39197
* ainclude.m4 (GLIBCPP_CHEC_MATH_DECLS_AND_LINKAGE_1): New macro.
(GLIBCPP_CHECK_MATH_SUPPORT): Use it.
(GLIBCPP_CHECK_TYPE_SUPPORT): Don't autoconf ctype information if
its already provided in config.target.
* aclocal.m4: Regenerated.
* configure: Likewise.
* configure.target: Set ctype_include_dir for lots of systems.
* libsupc++/Makefile.am: Explicitly include --tag disable-shared.
* libsupc++/Makefile.in: Regenerated.
From-SVN: r39196
* pa.md (return_internal): Add a USE of the PIC register to ensure
it is restored after each call.
(return expander): Corresponding changes.
From-SVN: r39193
[sorry, missed this the first time around]
2001-01-12 Laurynas Biveinis <lauras@softhome.net>
* acinclude.m4 (GLIBCPP_CHECK_CTYPE_SUPPORT): check for DJGPP <ctype.h>
(LIB_AC_PROG_CXX): replace [/\\] with [\\/] to work around older
bash bug.
* aclocal.m4: regenerated.
* configure.target: set os_include_dir to config/os/djgpp under DJGPP.
* configure: regenerated.
* config/os/djgpp, config/os/djgpp/bits: new directories.
* config/os/djgpp/bits/ctype_base.h,
config/os/djgpp/bits/ctype_inline.h,
config/os/djgpp/bits/ctype_noninline.h,
config/os/djgpp/bits/os_defines.h: new files.
From-SVN: r39191
2001-01-22 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* rs6000.h (INIT_EXPANDERS): Delete.
(RETURN_ADDR_RTX): Call rs6000_return_addr().
* rs6000.c (rs6000_override_options): Call *_machine_status from
here...
(rs6000_init_expanders): ...instead of here. Delete.
(rs6000_mark_machine_status): New function.
(rs6000_init_machine_status): Use xcalloc.
(rs6000_return_addr): Generate RTX for the return address.
(rs6000_ra_ever_killed): New, check if LR was ever destroyed.
(rs6000_stack_info): Use it.
From-SVN: r39188
* recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
case, don't use operand_subword to calculate a SUBREG that is
wider than a word.
* rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
From-SVN: r39183
* c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
(c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
valid. If not replace it by equivalent insns.
From-SVN: r39181
* c4x.c (c4x_check_legit_addr): Only check CONST. Not if CONST
contains SYMBOL_REF, LABEL_REF and CONST_INT.
(c4x_U_constraint, symbolic_address_operand): Likewise.
(c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
memory.
(c4x_r11_set_p, c4x_check_laj_p): New functions.
* c4x-protos.h (c4x_check_laj_p): Add prototype.
* c4x.md (in_annul_slot_3): Do not allow auto-increment in last
anulling slot because of silicon bug.
(laj, lajv): Call c4x_check_laj_p to check for silicon bug.
From-SVN: r39180