* cp-demangle.c: Include "cp-demangle.h". If IN_GLIBCPP_V3 is
defined, rename some functions which are to become static via
#define.
(CP_STATIC_IF_GLIBCPP_V3): Define.
(struct d_operator_info): Move definition to cp-demangle.h, and
rename to demangle_operator_info. Change all uses.
(enum d_builtin_type_print): Move definition to cp-demangle.h.
(struct d_builtin_type_info): Move definition to cp-demangle.h,
and rename to demangle_builtin_type_info. Change all uses.
(enum d_comp_type): Move definition to include/demangle.h, and
rename to demangle_component_type, and change all enums to start
with DEMANGLE_COMPONENT_ instead of D_. Change all uses.
(struct d_comp): Move definition to include/demangle.h, and rename
to demangle_component. Change all uses.
(struct d_info): Move definition to cp-demangle.h.
(cplus_demangle_fill_name): New function.
(cplus_demangle_fill_extended_operator): New function.
(cplus_demangle_fill_ctor): New function.
(cplus_demangle_fill_dtor): New function.
(d_make_empty): Remove type parameter. Change all callers.
(d_make_name): Use cplus_demangle_fill_name.
(d_make_extended_operator): Use
cplus_demangle_fill_extended_operator.
(d_make_ctor): Use cplus_demangle_fill_ctor.
(d_make_dtor): Use cplus_demangle_fill_dtor.
(cplus_demangle_mangled_name): Rename from d_mangled_name. Make
non-static by default. Change all callers.
(cplus_demangle_operators): Rename from d_operators. Change all
uses. Make non-static by default. Add sentinel at end of array.
(d_operator_name): Adjust initialization of high for new sentinel
in cplus_demangle_operators.
(cplus_demangle_builtin_types): Rename from d_builtin_types.
Change all uses. Make non-static by default. Change initializer
to use D_BUILTIN_TYPE_COUNT instead of magic number 26.
(cplus_demangle_type): Rename from d_type. Make non-static by
default. Change all callers.
(cplus_demangle_init_info): Rename from d_init_info. Make
non-static by default. Change all callers.
* cp-demangle.h: New file.
* cp-demint.c: New file.
* Makefile.in: Rebuild dependencies.
(CFILES): Add cp-demint.c.
(REQUIRED_OFILES): Add cp-demint.o.
Kazu Hirata [Mon, 12 Jan 2004 19:42:42 +0000 (19:42 +0000)]
re PR rtl-optimization/12508 (weak optimization for some constants < 2^16)
2004-01-12 Kazu Hirata <kazu@cs.umass.edu>
PR optimization/12508.
* combine.c (try_combine): Remove a dead set in a parallel
even if its destination is a subreg.
Revert:
2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
* combine.c (simplify_set): Don't move a subreg in SET_SRC to
SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
Paolo Carlini [Mon, 12 Jan 2004 17:02:08 +0000 (17:02 +0000)]
locale_facets.h (struct __numpunct_cache): Add members _M_truename_len and _M_falsename_len...
2004-01-12 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.h (struct __numpunct_cache):
Add members _M_truename_len and _M_falsename_len, caching
the lengths of _M_truename and _M_falsename.
(__numpunct_cache<>::_M_cache): Assign the latter.
* include/bits/locale_facets.tcc (num_get::do_get(bool&),
num_put::do_put(bool)): Use the new members, thus avoiding
computing string lengths again and again.
* config/locale/generic/numeric_members.cc
(numpunct<>::_M_initialize_numpunct): Assign the new members.
* config/locale/gnu/numeric_members.cc
(numpunct<>::_M_initialize_numpunct): Likewise.
Ian Lance Taylor [Mon, 12 Jan 2004 15:25:16 +0000 (15:25 +0000)]
parser.c (cp_parser_decl_specifier_seq): Add parenthetical clauses to comments describing declares_class_or_enum.
* parser.c (cp_parser_decl_specifier_seq): Add parenthetical
clauses to comments describing declares_class_or_enum.
(cp_parser_type_specifier): Set *declares_class_or_enum to 0, not
false.
* impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
2004-01-12 Thomas Quinot <quinot@act-europe.fr>
* link.c: Change default libgnat kind to STATIC for FreeBSD.
2004-01-12 Bernard Banner <banner@gnat.com>
* Makefile.in: map 86numaux to a-numaux for x86_64
2004-01-12 Ed Schonberg <schonberg@gnat.com>
* lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
generated to rename a generic actual, go to the actual itself, the
subtype is not a user-visible entity.
* sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
part is a private subtype, reset the visibility of its full view, if
any, to be consistent.
* sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
to use a generic package G as a formal package for another generic
declared within G.
2004-01-12 Robert Dewar <dewar@gnat.com>
* trans.c (Eliminate_Error_Msg): New procedure called to generate msg
* usage.adb: Remove mention of obsolete -gnatwb switch
Noticed during code reading
2004-01-12 Jerome Guitton <guitton@act-europe.fr>
* 1ssecsta.adb: Minor changes for -gnatwa warnings
* impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit
2004-01-12 Thomas Quinot <quinot@act-europe.fr>
* link.c: Change default libgnat kind to STATIC for FreeBSD.
2004-01-12 Ed Schonberg <schonberg@gnat.com>
* lib-xref.adb (Get_Type_Reference): If the type is the subtype entity
generated to rename a generic actual, go to the actual itself, the
subtype is not a user-visible entity.
* sem_ch7.adb (Uninstall_Declarations): If an entity in the visible
part is a private subtype, reset the visibility of its full view, if
any, to be consistent.
2004-01-12 Robert Dewar <dewar@gnat.com>
* trans.c (Eliminate_Error_Msg): New procedure called to generate msg
* usage.adb: Remove mention of obsolete -gnatwb switch
Noticed during code reading
2004-01-12 Jerome Guitton <guitton@act-europe.fr>
* 1ssecsta.adb: Minor changes for -gnatwa warnings
Arnaud Charlet [Mon, 12 Jan 2004 11:38:15 +0000 (12:38 +0100)]
[multiple changes]
2004-01-12 Javier Miranda <miranda@gnat.com>
* sem_ch12.adb: Addition of Component_Definition node.
2004-01-12 Ed Schonberg <schonberg@gnat.com>
PR ada/13417
* sem_ch12.adb (Analyze_Formal_Package): Diagnose properly an attempt
to use a generic package G as a formal package for another generic
declared within G.
Jan Hubicka [Mon, 12 Jan 2004 11:15:33 +0000 (12:15 +0100)]
alias.c: Invlude varray.h
* alias.c: Invlude varray.h
(alias_sets): Turn into varray.
(get_alias_set_entry): Use VARRAY; mark inline.
(mems_in_disjoint_alias_sets_p): Mark inline.
(record_alias_subset): Use varray.
(init_alias_once): Initialize varray.
(new_alias_set): Grow array.
* varray.c: Make VARRAY_GENERIC_PTR non GTYized.
Jan Hubicka [Mon, 12 Jan 2004 09:44:16 +0000 (10:44 +0100)]
Partial fox for PR opt/10776 II
Partial fox for PR opt/10776 II
* cselib.c: Include params.h
(cselib_invalidate_mem): Limit amount of nonconflicting memory
locations.
* params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
* Makefile.in (cselib.o): Depend on params.h
Hartmut Penner [Mon, 12 Jan 2004 08:11:28 +0000 (08:11 +0000)]
rs6000.c (word_offset_memref_operand): New predicate to handle 'ld' conform addresses.
* gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
predicate to handle 'ld' conform addresses.
* gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
contraint.
(EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
are memory contraints.
* gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
New prototype.
* gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
Change 'o' to 'Y' constraint.
(*movdf_softfloat64): Ditto.
re PR target/12148 (longstanding m68k libgcc.a bug when using ` -mshort')
PR c/12148
* config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
`int' in a number of places to make sure we always have a SImode
and not a HImode. Add a 'L' suffix to a number of constants.
Ian Lance Taylor [Sun, 11 Jan 2004 20:33:35 +0000 (20:33 +0000)]
re PR c++/3478 (Accepts invalid "enum typename")
PR c++/3478
* parser.c (cp_parser_decl_specifier_seq): If the first decl_spec
is error_mark_node, don't add any more decl_specs.
(cp_parser_init_declarator): After committing to a declaration, if
the decl_specifiers start with error_mark_node, issue an error and
change the type to "int".
Jakub Jelinek [Sun, 11 Jan 2004 19:05:34 +0000 (20:05 +0100)]
re PR middle-end/13392 (ICE in convert_from_eh_region_ranges_1, at except.c:1133)
PR middle-end/13392
* builtins.c (expand_builtin_expect_jump): Handle conditional jumps
to drop through label. Don't fall back to SCC even when conditional
jump has not been found.
Paolo Carlini [Sun, 11 Jan 2004 15:17:02 +0000 (15:17 +0000)]
re PR libstdc++/13582 (basic_filebuf::imbue drops characters)
2004-01-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/13582
* include/bits/fstream.tcc (imbue): Exploit the external
buffer to imbue 'on the fly' a new locale and convert its
remainder with the new codecvt facet.
(underflow): Tweak slightly to deal with this special case.
* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
* testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.
Michael Koch [Sun, 11 Jan 2004 14:07:36 +0000 (14:07 +0000)]
2004-01-11 Michael Koch <konqueror@gmx.de>
* gnu/java/lang/reflect/TypeSignature.java
(getEncodingOfClass): Documentation fixed.
(getClassForEncoding): Give class loader to Class.forName().
Documentation fixed.
Zack Weinberg [Sun, 11 Jan 2004 01:18:58 +0000 (01:18 +0000)]
c-decl.c (duplicate_decls): Break apart into...
* c-decl.c (duplicate_decls): Break apart into...
(diagnose_arglist_conflict, validate_proto_after_old_defn)
(locate_old_defn, diagnose_mismatched_decls, merge_decls):
... these new functions. Restructure for comprehensibility.
Remove various archaic special cases. Always report the
location of the previous declaration when a diagnostic is issued.
(redeclaration_error_message): Fold into diagnose_mismatched_decls.
(match_builtin_function_types): Delete unnecessary forward declaration.
testsuite:
* gcc.dg/Wshadow-1.c, gcc.dg/attr-noinline.c, gcc.dg/decl3.c
* gcc.dg/redecl-1.c, gcc.dg/visibility-7.c, gcc.dg/wtr-static-1.c
* gcc.dg/noncompile/20020220-1.c, objc.dg/method-1.m:
Update dg-error regexps.
David Edelsohn [Sat, 10 Jan 2004 18:34:59 +0000 (13:34 -0500)]
re PR debug/12860 (stabs register number out of range)
2004-01-10 David Edelsohn <edelsohn@gnu.org>
James E Wilson <wilson@specifixinc.com>
PR debug/12860
* dbxout.c (dbxout_symbol): Remove initialization of
current_sym_code, current_sym_value, and current_sym_addr.
(dbxout_symbol_location): Same.
(dbxout_prepare_symbol): Zero current_sym_code,
current_sym_value, and current_sym_addr.
Geoffrey Keating [Sat, 10 Jan 2004 05:47:14 +0000 (05:47 +0000)]
darwin-ldouble.c: Add big comment explaining exactly what is expected as a 'long double'.
* config/rs6000/darwin-ldouble.c: Add big comment explaining
exactly what is expected as a 'long double'.
(_xlqadd): When a value to be returned is representable as a
'double', just return it directly, do not construct it using a union.
Also, correct final fixup.
(_xlqmul): Likewise.
(_xlqdiv): Likewise.
* real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.