Steven Bosscher [Thu, 18 Dec 2003 19:39:57 +0000 (19:39 +0000)]
re PR other/12009 (g++.dg, compat.exp fail to crosscompile testcases)
PR other/12009
* g++.dg/compat/compat.exp: Do not set LD_LIBRARY_PATH when
testing a cross compiler, it causes spurious compile failures.
* lib/g++.exp: Likewise.
Co-Authored-By: Dan Kegel <dank@kegel.com>
From-SVN: r74789
Matt Austern [Thu, 18 Dec 2003 18:35:38 +0000 (18:35 +0000)]
demangle.h: Fix allocator type correctness, i.e.
* include/bits/demangle.h: Fix allocator type correctness,
i.e. make sure that when we instantiate a container with a value
type and an allocator, the allocator's value type matches the
container's.
* include/bits/stl_deque.h (_Deque_alloc_base): Eliminate.
(_Deque_base): inherit directly from the deque's allocator. Use
rebinding instead of _Alloc_traits. Pick up data members from
_Deque_alloc_base.
* include/bits/stl_list.h (_List_alloc_base): Eliminate.
(_List_base): Inherit directly from the list's allocator. Use
rebinding instead of _Alloc_traits. Pick up data members from
_List_alloc_base.
* include/bits/stl_vector.h (_Vector_alloc_base): Eliminate
(_Vector_base): Inherit directly from the vector's allocator. Use
rebinding instead of _Alloc_traits. Pick up data members from
_Vector_alloc_base.
* include/ext/hashtable.h: Fix allocator type correctness (the
vector of buckets must be passed an allocator for objects of
type _Node*). Use rebinding instead of _Alloc_traits.
Ulrich Weigand [Thu, 18 Dec 2003 12:15:37 +0000 (12:15 +0000)]
loop.c (move_movables): Handle combination of m->consec...
ChangeLog:
* loop.c (move_movables): Handle combination of m->consec,
m->move_insn_first, and m->insert_temp all nonzero correctly.
testsuite/ChangeLog:
* gcc.dg/20031216-1.c: New test.
Giovanni Bajo [Thu, 18 Dec 2003 11:50:58 +0000 (11:50 +0000)]
re PR c++/9154 (poor error message for ">>" vs. "> >" for nested template args)
PR c++/9154
* parser.c (cp_parser_template_argument): A type-id followed by '>>'
is just an user typo, and should be accepted as last resort if any
other parsing fails.
(cp_parser_enclosed_template_argument_list): If the argument list is
parsed correctly, but the next token is '>>', emit a diagnostic.
(cp_parser_next_token_ends_template_argument): Accept '>>' as
delimiter of template argument, it will be later detected as a typo.
Paolo Carlini [Wed, 17 Dec 2003 22:14:09 +0000 (22:14 +0000)]
locale_facets.tcc (time_get::_M_extract_via_format): Use narrow to get from __format[__i] a char __c representing a formatting code...
2003-12-17 Paolo Carlini <pcarlini@suse.de>
* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
Use narrow to get from __format[__i] a char __c representing a
formatting code, don't use it to compare *__beg to __format[__i].
* testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New.
Mark Mitchell [Wed, 17 Dec 2003 16:58:14 +0000 (16:58 +0000)]
re PR c++/10603 (failing to print problematic token upon parse error)
PR c++/10603
PR c++/12827
* parser.c (cp_parser_error): Help c_parse_error print good
messages if the next token is a keyword.
(cp_parser_parameter_declaration_list): When resynchronizing after
a bad parameter declaration, stop if a comma is found.
(cp_parser_parameter_declaration): Avoid backtracking.
Arnaud Charlet [Wed, 17 Dec 2003 13:37:04 +0000 (14:37 +0100)]
[multiple changes]
2003-12-17 Ed Falis <falis@gnat.com>
* a-elchha.adb (Tailored_Exception_Information): made Info constant to
eliminate warning.
* a-exextr.adb: Add context clause for
Ada.Exceptions.Last_Chance_Handler.
2003-12-17 Sergey Rybin <rybin@act-europe.fr>
* cstand.adb (Create_Standard): Change the way how the declaration of
the Duration type is created (making it the same way as it is for all
the other standard types).
2003-12-17 Robert Dewar <dewar@gnat.com>
* s-crtl.ads: Fix header format
Change Pure to Preelaborate
2003-12-17 Ed Schonberg <schonberg@gnat.com>
* checks.adb (Selected_Length_Checks): Generate an Itype reference for
the expression type only if it is declared in the current unit.
* sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds
are universal and already analyzed, as can occur in constrained
subcomponents that depend on discriminants, when one constraint is a
subtype mark.
* sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of
type Any_Fixed is legal as the argument of a conversion, if only one
fixed-point type is in context.
Eric Botcazou [Wed, 17 Dec 2003 07:14:26 +0000 (08:14 +0100)]
gcc-dg.exp (gcc-dg-debug-runtest): Do not run debug-[12].c at -O with stabs debugging formats.
* lib/gcc-dg.exp (gcc-dg-debug-runtest): Do not run debug-[12].c
at -O with stabs debugging formats.
* gcc.dg/debug/debug-1.c: Turn 'p' into a global variable.
* gcc.dg/debug/debug-2.c: Likewise.
Fred Fish [Wed, 17 Dec 2003 06:32:54 +0000 (06:32 +0000)]
patch from Fred Fish
* configure.in: Remove code to examine linker scripts and set
HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES.
* configure, config.in: Regenerate.
Joseph Myers [Wed, 17 Dec 2003 00:25:24 +0000 (00:25 +0000)]
re PR c/3347 (Too large bitfields should be errors)
2003-12-17 Neil Booth <neil@daikokuya.co.uk>
Joseph S. Myers <jsm@polyomino.org.uk>
PR c/3347
* c-decl.c (enum_decl_context): Remove BITFIELD.
(grokdeclarator): Take bit-field width as an input.
Perform bit-field width validation with
check_bitfield_type_and_width rather than waiting for
finish_struct.
(groktypename, groktypename_in_parm_context, start_decl,
push_parm_decl, grokfield, start_function): Update calls to
grokdeclarator.
(check_bitfield_type_and_width): New function.
(finish_struct): Move bit-field validation to grokdeclarator
and check_bitfield_type_and_width.
Paolo Carlini [Tue, 16 Dec 2003 22:57:57 +0000 (22:57 +0000)]
container_benchmark.cc: New...
2003-12-16 Paolo Carlini <pcarlini@suse.de>
* testsuite/performance/container_benchmark.cc: New, a
benchmark developed by Bjarne Stroustrup and Alexander
Stepanov and made available with no restrictions.
* testsuite/testsuite_performance.h (report_header): New,
useful to produce header lines in the reports.
* gnu/java/net/natPlainDatagramSocketImplWin32.cc:
Removed unused InterruptedIOException.h include.
* gnu/java/net/natPlainSocketImplWin32.cc
(connect): Reset and ignore our thread's interrupted
flag instead of testing and throwing an InterruptedIOException
if set.
(accept): Likewise + changed case of SocketTimeoutException
text.
(write): Likewise (for both overloads).
(doRead): Likewise.
Mohan Embar [Tue, 16 Dec 2003 22:47:53 +0000 (22:47 +0000)]
* gnu/java/net/natPlainDatagramSocketImplPosix.cc
(peekData): Throw SocketTimeoutException instead of
InterruptedIOException on timeout.
(receive): Likewise.
* gnu/java/net/natPlainSocketImplPosix.cc
(read): Made a minor exception text case change.
Paolo Carlini [Tue, 16 Dec 2003 22:44:19 +0000 (22:44 +0000)]
container_benchmark.cc: New...
2003-12-16 Paolo Carlini <pcarlini@suse.de>
* testsuite/performance/container_benchmark.cc: New, a
benchmark developed by Bjarne Stroustrup and Alexander
Stepanov and made available with no restrictions.
* testsuite/testsuite_performance.h (report_header): New,
useful to produce header lines in the reports.
Nathan Sidwell [Tue, 16 Dec 2003 19:50:54 +0000 (19:50 +0000)]
re PR c++/9043 ([ABI] incorrect name mangling for array dimension in template function)
cp:
PR c++/9043
C++ ABI change: Mangling array indices in templates.
* decl.c (compute_array_index_type): Reorganize for earlier
template errors. Use value_dependent_expression_p for abi-2.
* mangle.c (write_array_type): Check broken mangling for
expression indices on abi-1
testsuite:
PR c++/9043
* g++.dg/abi/mangle20-1.C: New test.
* g++.dg/abi/mangle20-2.C: New test.
Fernando Nasser [Tue, 16 Dec 2003 17:20:34 +0000 (17:20 +0000)]
2003-12-16 Fernando Nasser <fnasser@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
(pre_event_handler): Handle GtkButton widgets differently as events
go to its event_window.
(connect_awt_hook): Remove compiler warning.
PR c++/13275
* lex.c (reswords): Add "__offsetof" and "__offsetof__".
* parser.c (cp_parser): Add in_offsetof_p.
(cp_parser_new): Initialize it.
(cp_parser_primary_expression): Handle __offsetof__ (...).
(cp_parser_postfix_expression): Allow casts to pointer type and
uses of "->" in a constant expression if implementing offsetof.
(cp_parser_unary_expression): Allow the use of "&" in a constant
expression if implementing offsetof.
Giovanni Bajo [Tue, 16 Dec 2003 15:54:28 +0000 (15:54 +0000)]
semantics.c (finish_id_expression): Refactor the code to handle template parameters...
* semantics.c (finish_id_expression): Refactor the code to handle
template parameters, and emit a more informative error message
when they are used within non integral constant expressions.
Guilhem Lavaux [Tue, 16 Dec 2003 13:45:01 +0000 (13:45 +0000)]
i2003-12-16 Guilhem Lavaux <guilhem@kaffe.org>
* java/io/ObjectInputStream.java
(lookupClass): New method.
(currentLoader): New method.
(inputGetObjectStreamClasses): New method.
(assignNewHandle): Documented.
(currentClassLoader): Documented.
* java/io/ObjectStreamClass.java
(setClass): Changed API. Better handling of the imported/exported
fields.
(getSerialPersistentFields): Make it throw previously caught exceptions
so they can handled in setClass.
Paolo Carlini [Tue, 16 Dec 2003 13:25:23 +0000 (13:25 +0000)]
narrow_widen_char.cc: Tweak the number of iterations for each test.
2003-12-16 Paolo Carlini <pcarlini@suse.de>
* testsuite/performance/narrow_widen_char.cc: Tweak the
number of iterations for each test.
* testsuite/performance/narrow_widen_wchar_t.cc: Add a
missing clear_counters.
Guilhem Lavaux [Tue, 16 Dec 2003 12:19:33 +0000 (12:19 +0000)]
ObjectStreamField.java: A few methods were added in prevision of the upcoming upgrade of the...
2003-12-16 Guilhem Lavaux <guilhem@kaffe.org>
* java/io/ObjectStreamField.java: A few methods were added in prevision
of the upcoming upgrade of the serialization code. This also adds
some missing documentation.
(ObjectStreamField): We should throw a NullPointerException when 'name'
is null.
Paolo Carlini [Tue, 16 Dec 2003 11:00:52 +0000 (11:00 +0000)]
re PR libstdc++/11723 (ctype<wchar_t>::do_is(mask, wchar_t) is slow)
2003-12-16 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/11723
* include/bits/locale_facets.h: Add _M_bit and _M_wmask,
used to speed up the computation of ctype::do_is.
* config/locale/generic/ctype_members.cc
(_M_initialize_ctype): Fill _M_bit and _M_wmask.
(ctype::do_is): Use _M_bit and _M_wmask.
* config/locale/gnu/ctype_members.cc: Likewise.
* testsuite/performance/is_wchar_t.cc: New.
Nathan Sidwell [Tue, 16 Dec 2003 10:08:43 +0000 (10:08 +0000)]
re PR c++/13387 (assignment to base class corrupts subclass)
cp:
PR c++/13387
* class.c (finish_struct_1): Compute mode and alias set for
CLASSTYPE_AS_BASE.
* call.c (build_over_call): Use CLASSTYPE_AS_BASE for trivial
assignment of a class, as necessary.
* cp-lang.c (cxx_get_alias_set): The alias set as a base is the
same as for the complete type.
testsuite:
PR c++/13387
* g++.dg/expr/assign1.C: New test.
Nathan Sidwell [Tue, 16 Dec 2003 10:03:54 +0000 (10:03 +0000)]
re PR c++/13242 ([ABI] Incorrect mangling of template reference parameters)
cp:
PR c++/13242
C++ ABI change. Mangling template parameters of reference type
* mangle.c (write_template_args): Remove unreachable code.
(write_template_arg): Look through an argument of reference type.
testsuite:
PR c++/13242
* g++.dg/abi/mangle19-1.C: New test.
* g++.dg/abi/mangle19-2.C: New test.
Roger Sayle [Tue, 16 Dec 2003 02:22:59 +0000 (02:22 +0000)]
re PR rtl-optimization/13400 (Compiled code crashes storing to read-only location)
PR middle-end/13400
* ifcvt.c (noce_process_if_block): Disable unconditional write
optimizations if we could introduce a store to trapping memory
that wasn't present previously.
* gcc.c-torture/execute/20031215-1.c: New test case.
Ian Lance Taylor [Mon, 15 Dec 2003 23:18:49 +0000 (23:18 +0000)]
cp-demangle.c (d_demangle): If DMGL_PARAMS is not set, don't expect that we've read the entire string.
* cp-demangle.c (d_demangle): If DMGL_PARAMS is not set, don't
expect that we've read the entire string.
(is_ctor_or_dtor): Don't expect that we've read the entire
string--reverse patch of 2003-11-29.