Jakub Jelinek [Fri, 9 Jun 2000 14:31:54 +0000 (16:31 +0200)]
configure.in: Check whether gas supports -relax.
* configure.in: Check whether gas supports -relax.
* configure, config.in: Rebuilt.
* config/sparc/sparc.h (ASM_RELAX_SPEC): Define.
(EXTRA_SPECS): Add asm_relax.
(ASM_SPEC): Add %(asm_relax).
(TARGET_SWITCHES): Add -mrelax and -mno-relax.
* config/sparc/linux64.h (LINK_ARCH_SPEC): Rename to LINK_SPEC.
(LINK_SPEC): Pass -relax to linker unless -mno-relax or -r.
(ASM_SPEC): Add %(asm_relax).
* config/sparc/linux.h (LINK_SPEC, ASM_SPEC): Likewise.
* config/sparc/sparc.c (output_sibcall): If HAVE_AS_RELAX_OPTION,
never use sethi/jmpl for leaf tail calls. Use or with rs2 %g0
instead of mov, so that gas can further optimize it.
Zack Weinberg [Thu, 8 Jun 2000 22:39:17 +0000 (22:39 +0000)]
noncompile.exp: Remove poison-1 block.
* gcc.c-torture/noncompile/noncompile.exp: Remove poison-1 block.
* gcc.c-torture/noncompile/poison-1.c: Move...
* gcc.dg/poison-1.c: ...here, and adapt to dg framework.
* gcc.dg/cpp-li1.c: Add a token after the #line.
James E. Wilson [Thu, 8 Jun 2000 22:33:18 +0000 (22:33 +0000)]
Emit correct debug info for 64-bit signed enums on 64-bit host.
* dwarf2out.c (size_of_die, case dw_val_class_const): Use
size_of_sleb128.
(value_format, case dw_val_class_const): Use sdata format.
(output_die): Call output_sleb128.
* dwarf2out.c (ASM_OUTPUT_DWARF_DATA8): Add new macro that uses
UNALIGNED_DOUBLE_INT_ASM_OP. Rename old macro to
ASM_OUTPUT_DWARF_CONST_DOUBLE.
(output_die, case dw_val_class_unsigned_const): Correct call to
ASM_OUTPUT_DWARF_DATA8.
(output_die, case dw_val_class_long_long): Use
ASM_OUTPUT_DWARF_CONST_DOUBLE.
* tree.c (host_integerp): Accept unsigned HOST_WIDE_INT values when
pos is zero.
cp-demangle.c (stdio.h): File included unconditionaly.
* cp-demangle.c (stdio.h): File included unconditionaly.
(template_arg_list_new): Parameter list is PARAMS ((void)), not ().
* dyn-string.c (stdio.h): File included.
* partition.c (partition_print): No `&' needed to take the address of
a function.
Zack Weinberg [Wed, 7 Jun 2000 22:43:44 +0000 (22:43 +0000)]
c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on error_mark_node.
* c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on
error_mark_node.
* print-tree.c (print_node): The transparent_union_flag means
different things for unions and arrays. Do not inspect it
with TYPE_TRANSPARENT_UNION.
* cp-demangle.c (demangle_char): Change parameter from char to int.
(demangle_expression, demangle_expr_primary): Remove extra
semi-colon in prototype.
* dyn-string.c (dyn_string_append_char): Change parameter from
char to int.
* memcmp.c (memcmp): Constify.
* mkstemps.c (gcc_uint64_t): Mark GNUC `long long' case with
__extension__.
Kaveh R. Ghazi [Wed, 7 Jun 2000 20:35:43 +0000 (20:35 +0000)]
Makefile.in (cp-demangle.o): Depend on $(INCDIR)/demangle.h.
* Makefile.in (cp-demangle.o): Depend on $(INCDIR)/demangle.h.
* cp-demangle.c: Include demangle.h.
(template_arg_list_new): DeANSIfy.
(cp_demangle): Make static and add prototype.
(operator_code, operators): Constify.
(demangle_operator_name): Likewise for variables `p1', `p2' and `p'.
James E. Wilson [Wed, 7 Jun 2000 02:27:51 +0000 (02:27 +0000)]
Fix gas/gcc unwind/EH discrepancies. And a shared library build problem.
* frame.h (struct unwind_info_ptr): Collapse version, flags, and length
fields into header field.
(IA64_UNW_HDR_LENGTH, IA64_UNW_HDR_FLAGS, IA64_UNW_HDR_VERSION): New
macros to access length, flags, and version info from header field.
* config/ia64/crtbegin.asm (__do_frame_setup_aux): Delete here.
...
Mark Mitchell [Tue, 6 Jun 2000 21:54:54 +0000 (21:54 +0000)]
c-common.h (c_language_kind): New type.
* c-common.h (c_language_kind): New type.
(c_language): New variab.e
* c-common.c (lang_get_alias_set): Don't put structures in
non-zero alias sets in C++.
* c-decl.c (c_language): Define it.
* c-lex.c (doing_objc_thang): Remove.
* c-tree.h (doing_objc_thang): Make it a macro.
* objc/objc-act.c (lang_decode_option): Set c_language, not
doing_objc_thang.
Mark Mitchell [Tue, 6 Jun 2000 21:41:28 +0000 (21:41 +0000)]
decl.c (redeclaration_error_message): If two TEMPLATE_DECLs have the same DECL_RESULT, it's not a redefinition.
* 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.
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.