Steven King [Tue, 6 Jun 2000 20:26:13 +0000 (20:26 +0000)]
acconfig.h: Added defines for HAVE_BUILTIN math functs for float, double and long double.
2000-06-06 Steven King <sxking@uswest.net>
* acconfig.h: Added defines for HAVE_BUILTIN math functs for float,
double and long double. Added defines for HAVE libm math functs for
float and long double.
* aclocal.m4: Added configure checks for builtin math funcs and libm
support for float and long double versions of the math functions.
* config.h.in: Added undefs for math functs.
* configure: Regenerate.
* math/mathconf: Changed the _GLIBCPP_HAS_BUILTIN_* to
_GLIBCPP_HAVE_BUILTIN_*.
* bits/std_cmath.h: Added long double support. Use builtins for
float, double and long if available, otherwise, use libm versions if
availible, otherwise, punt.
* shadow/bits/std_cmath.h: ditto
Mark Mitchell [Tue, 6 Jun 2000 19:55:54 +0000 (19:55 +0000)]
decl.c (redeclaration_error_message): If two TEMPLATE_DECLs have the same DECL_RESULT, it's not a redefinition.
2000-06-06 Mark Mitchell <mark@codesourcery.com>
* decl.c (redeclaration_error_message): If two TEMPLATE_DECLs have
the same DECL_RESULT, it's not a redefinition.
* pt.c (tsubst_decl): Remove code to handle illegal
specializations.
* configure.in (Make the links): Typo fix : the file that must be
included without #ifdef IN_GCC is `auto-host.h', not `auto-config.h'.
* configure: File rebuilt.
Nathan Sidwell [Tue, 6 Jun 2000 16:38:49 +0000 (16:38 +0000)]
eh-common.h (EH_ALLOC_SIZE, [...]): New #defines.
gcc:
* eh-common.h (EH_ALLOC_SIZE, EH_ALLOC_ALIGN): New #defines.
(eh_context): Add alloc_mask and alloc_buffer emergency fallback
space.
* libgcc2.c (__eh_alloc): Moved from cp/exception.cc. Fallback on
emergency eh_context buffer, if malloc fails.
(__eh_free): Moved from cp/exception.cc. Release to emergency
eh_context buffer, if appropriate.
gcc/cp:
* exception.cc: (__eh_alloc, __eh_free): Moved to libgcc2.c
* m68k.md (legitimize_pic_address): Delete prototypes.
(untyped_call): Invoke GEN_CALL(), not gen_call().
* nextstep.c: Include system.h and toplev.h.
(get_directive_line): Don't prototype.
(handle_pragma): Mark parameters with ATTRIBUTE_UNUSED and constify.
gcc/f:
* Makefile.in(INTLLIBS): New macro.
(LIBS): Add INTLLIBS.
(DEPLIBS): Likewise.
gcc/ch:
* Makefile.in: Changed to be processed by configure.
(INTLLIBS): New macro.
(LIBS): Add INTLLIBS.
(DEPLIBS): Likewise.
* config-lang(outputs): Specify ch/Makefile.
gcc/po:
* Makefile.in.in: Add --define switch for xgettext.
gcc/intl:
* Makefile.in: Add -DIN_GCC to DEFS, add appropriate -I switches.
* dcgettext.c: Define _GNU_SOURCE before any system header is
included. Guard getcwd declaration with HAVE_DECL_GETCWD.
* loadmsgcat.c (_nl_load_domain): Cast st.st_size in compaison to
size_t.
* localealias.c: Define _GNU_SOURCE before any system header is
included. Don't use return value of memcpy because it could be a
macro defined in terms of bcopy.
(read_alias_file): Remove HAVE_MEMCPY guard and just don't use the
return value of memcpy. Cast argument to fgets and strlen to char *.
* explodename.c (_nl_explode_name): Cast codeset to unsigned char **
in call to _nl_normalize_codeset.
* l10nflist.c: Define _GNU_SOURCE before any system header is
included.
Jason Merrill [Tue, 6 Jun 2000 01:56:06 +0000 (01:56 +0000)]
Makefile.in (libgcc.ready): Lose.
* Makefile.in (libgcc.ready): Lose.
(libgcc.mk): Just use mv, not move-if-change.
(LIBGCC_DEPS): New macro.
(libgcc.a): Use it.
(stmp-multilib): Likewise.
* mklibgcc.in (stmp-dirs): New target. Make everything depend on
it rather than the directories themselves.
(LIB2ADD): Depend on the list file rather than 'force'.
Zack Weinberg [Mon, 5 Jun 2000 16:59:43 +0000 (16:59 +0000)]
objc-act.c (generate_method_descriptors): Register objc_method_prototype_template as a GC root.
* objc/objc-act.c (generate_method_descriptors): Register
objc_method_prototype_template as a GC root.
(comp_method_with_proto): Register function_type as a GC root.
(comp_proto_with_proto): Replace function_type1 and
function_type2 with a two-element array; register it as a GC root.
(generate_protocols, build_protocol_initializer,
generate_protocol_list, build_category_initializer,
build_shared_structure_initializer): Do not cache cast_type
and/or cast_type2.
Alex Samuel [Mon, 5 Jun 2000 02:28:41 +0000 (02:28 +0000)]
In include,
* dyn-string.h: Move here from gcc/dyn-string.h. Add new functions.
* demangle.h (DMGL_GNU_NEW_ABI): New macro.
(DMGL_STYLE_MASK): Or in DMGL_GNU_NEW_ABI.
(current_demangling_style): Add gnu_new_abi_demangling.
(GNU_NEW_ABI_DEMANGLING_STYLE_STRING): New macro.
(GNU_NEW_ABI_DEMANGLING): Likewise.
(cplus_demangle_new_abi): New declaration.
In libiberty,
* Makefile.in (CFILES): Add cp-demangle.c and dyn-string.c.
(REQUIRED_OFILES): Add cp-demangle.o and dyn-string.o.
(cp-demangle.o): New dependency.
(dyn-string.o): Likewise.
* dyn-string.c: Move here from gcc/dyn-string.c. Add new functions.
* cplus-dem.c (libiberty_demanglers): Add initializer for new-ABI
demangler.
(cplus_demangle): Call cplus_demangle_new_abi if in new-ABI
demangling mode.
(gnu_new_abi_symbol_characters): New function.
(main): Use gnu_new_abi_symbol_characters. * cp-demangle.c: New
file.
* cp-demangle.c: New file.
Zack Weinberg [Sun, 4 Jun 2000 02:06:54 +0000 (02:06 +0000)]
test_summary: In generated script, use cat <<'EOF' not cat <<\EOF.
* test_summary: In generated script, use cat <<'EOF' not cat <<\EOF.
Elide --with-gcc-version-trigger and --norecursion from
configure flags. Remove code to report status of haifa scheduler.
Mark Mitchell [Sat, 3 Jun 2000 21:42:49 +0000 (21:42 +0000)]
cp-tree.h (TMPL_ARGS_LEVEL): Clarify comment.
* cp-tree.h (TMPL_ARGS_LEVEL): Clarify comment.
(INNERMOST_TEMPLATE_ARGS): New macro.
(innermost_args): Remove.
(get_innermost_template_args): New function.
* decl2.c (arg_assoc_class): Use INNERMOST_TEMPLATE_ARGS.
* error.c (dump_function_decl): Be caution when using
most_general_template.
* method.c (build_template_parm_names): Use
INNERMOST_TEMPLATE_ARGS.
* pt.c (add_to_template_args): Tidy comment
(get_innermost_template_args): New function.
(check_explicit_specialization): Clear DECL_INITIAL for a new
specialization.
(process_partial_specialization): Use INNERMOST_TEMPLATE_ARGS.
Tidy.
(push_template_decl): Always register specializations of the most
general template.
(convert_template_argument): Use INNERMOST_TEMPLATE_ARGS.
(coerce_template_parms): Likewise.
(lookup_template_class): Likewise.
(innermost_args): Remove.
(tsubst_decl): Use INNERMOST_TEMPLATE_ARGS.
(tsubst_decl): Handle tricky specializations. Use
get_innermost_template_args.
(instantiate_template): Simplify handling of partial
instantiations.
(get_class_bindings): Use INNERMOST_TEMPLATE_ARGS.
(most_general_template): Reimplement, in a more straightforward
manner.
(regenerate_decl_from_template): Tweak formatting. Use
TMPL_ARGS_DEPTH for clarity.
(set_mangled_name_for_template_decl): Use INNERMOST_ARGS.
* dump.c (dequeue_and_dump): Dump information about thunks.
Jason Merrill [Sat, 3 Jun 2000 02:20:09 +0000 (02:20 +0000)]
exception.cc (__cp_pop_exception): If we aren't popping or rethrowing, push down past any uncaught exceptions.
* exception.cc (__cp_pop_exception): If we aren't popping or
rethrowing, push down past any uncaught exceptions.
(__uncatch_exception): Rethrow the currently handled exception.
Move it to the top of the exception stack.
Richard Kenner [Sat, 3 Jun 2000 01:57:46 +0000 (01:57 +0000)]
alias.c (struct alias_set_entry): New field has_zero_child.
* alias.c (struct alias_set_entry): New field has_zero_child.
(mem_in_disjoint_alias_sets_p): Return 0 if set in either ase.
(get_alias_set): If language-dependent routine set TYPE_ALIAS_SET,
do nothing.
Call record_component_aliases for aggregate types.
(record_alias_subset): Set has_zero_child.
(record_component_aliases, case ARRAY_TYPE): Do nothing if
TYPE_NONALIASES_COMPONENT.
(record_component_aliases, case RECORD_TYPE): Test
DECL_NONADDRESSABLE_P.
* c-decl.c (grokdeclarator): Set DECL_NONADDRESSABLE_P instead
of TREE_ADDRESSABLE.
* calls.c (initialize_argument_information): Only test
TYPE_TRANSPARENT_UNION for UNION_TYPE.
* function.c (assign_parms): Likewise.
* integrate.c (function_cannot_inline_p): Likewise.
* stor-layout.c (finish_record_layout): Don't call
record_component_aliases.
* tree.h (struct tree_int_cst): Use struct tree_common.
(struct tree_real_cst, struct tree_string): Likewise.
(struct tree_complex, struct tree_identifier): Likewise.
(struct tree_list, struct tree_vec, struct tree_exp): Likewise.
(struct tree_block, struct tree_type, struct tree_decl): Likewise.
(TYPE_TRANSPARENT_UNION): Use UNION_TYPE_CHECK.
(TYPE_NONALIASES_COMPONENT): New macro.
(TYPE_AMBIENT_BOUNDEDNESS): Use FUNCTION_TYPE_CHECK.
(DECL_NONADDRESSABLE_P): New macro.
(struct tree_decl): Reorder bits for clarity of how many left;
add non_adressable.
* cp/cp-tree.h: Use struct tree_common instead of a char array.
* cp/decl.c (grokdeclarator): Set DECL_NONADDRESSABLE_P instead
of TREE_ADDRESSABLE.
class.c (get_dispatch_table): Build the vtable dummy entry list element with a null purpose.
Fri Jun 2 16:48:55 2000 Alexandre Petit-Bianco <apbianco@cygnus.com>
* class.c (get_dispatch_table): Build the vtable dummy entry list
element with a null purpose. Fixed leading comment.
(build_dtable_decl): Build an accurate dtable type when appropriate
and use it.
J"orn Rennecke [Thu, 1 Jun 2000 23:36:32 +0000 (23:36 +0000)]
sh.h (CPP_SPEC): Add -D__NOMACSAVE__ for -mnomacsave.
* sh.h (CPP_SPEC): Add -D__NOMACSAVE__ for -mnomacsave.
(CONDITIONAL_REGISTER_USAGE): Mac registers are call used
for TARGET_NOMACSAVE.
(NOMACSAVE_BIT): Define.
(TARGET_NOMACSAVE): Define.
(TARGET_SWITCHES): Add "nomacsave".
Richard Kenner [Thu, 1 Jun 2000 16:18:18 +0000 (16:18 +0000)]
alias.c (get_alias_set): Don't call language-specific routine more than is needed and clean up code a bit.
* alias.c (get_alias_set): Don't call language-specific routine more
than is needed and clean up code a bit.
* c-common.c (c_get_alias_set): All references whose type
is char get alias set 0, but character types need not.
* varasm.c (make_function_rtl): Don't call set_mem_attributes.
(make_decl_rtl): Don't call it for FUNCTION_DECL.
* parse.y (resolve_field_access): Call the appropriate <clinit>
before accessing the length of a static array. Craft a decl for
the field while its time.
(Fixes the PR #129:
http://sourceware.cygnus.com/ml/java-prs/2000-q1/msg00013.html)
Clinton Popetz [Thu, 1 Jun 2000 14:41:31 +0000 (14:41 +0000)]
i386.c (ix86_use_fcomi_compare): Make global.
* config/i386/i386.c (ix86_use_fcomi_compare): Make global.
* config/i386/i386-protos.h (ix86_use_fcomi_compare): Declare.
* config/i386/i386.md (*fp_jcc_3, *fp_jcc_4): Disable if we
will use FCOMI.