Giovanni Bajo [Fri, 14 Nov 2003 20:14:08 +0000 (21:14 +0100)]
re PR c++/2294 (using declaration confusion)
PR c++/2294
* name-lookup.c (push_overloaded_decl): Always construct an OVERLOAD
unless the declaration is a built-in.
(set_namespace_binding): While binding OVERLOADs with only one
declaration, we still need to call supplement_binding.
m68k.c: Use C statements instead of #ifdef's when testing for MOTOROLA versus MIT syntax.
* config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
for MOTOROLA versus MIT syntax. Improves readability and provides
better compile-time error checking for both code paths.
Mark Mitchell [Fri, 14 Nov 2003 18:37:39 +0000 (18:37 +0000)]
re PR c++/12762 (Much worse error message when using a typedef with a template arg)
PR c++/12762
* parser.c (cp_parser_enclosed_template_argument_list): New
function.
(cp_parser_template_id): Use it.
(cp_parser_simple_type_specifier): Recognize invalid template
syntax.
PR c++/12762
* g++.dg/template/error3.C: New test.
Richard Kenner [Fri, 14 Nov 2003 17:28:25 +0000 (17:28 +0000)]
function.c (struct epi_info): New field const_equiv.
PR/6552
* function.c (struct epi_info): New field const_equiv.
(update_epilogue_consts): New function.
(keep_stack_depressed): Clear new field and verify scratch register
doesn't have it set.
Call new function via note_stores.
(handle_epilogue_set): Allow setting SP equiv reg in different mode.
Allow PLUS where second operand is register known set to constant.
(emit_equiv_load): Write load using proper mode if source different.
* config/mips/mips.md (return_internal): Put (return) first.
Arnaud Charlet [Fri, 14 Nov 2003 10:24:47 +0000 (11:24 +0100)]
[multiple changes]
2003-11-13 Vincent Celier <celier@gnat.com>
* 5bml-tgt.adb (Build_Dynamic_Library): Use
Osint.Include_Dir_Default_Prefix instead of
Sdefault.Include_Dir_Default_Name.
* gnatlbr.adb: Update Copyright notice
(Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of
Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix
instead of Sdefault.Object_Dir_Default_Name
* gnatlink.adb:
(Process_Binder_File): Never suppress the option following -Xlinker
* mdll-utl.adb:
(Gcc): Use Osint.Object_Dir_Default_Prefix instead of
Sdefault.Object_Dir_Default_Name.
* osint.ads, osint.adb:
(Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions
Minor reformatting.
* vms_conv.ads: Minor reformating
Remove GNAT STANDARD and GNAT PSTA
* vms_conv.adb:
Allow GNAT MAKE to have several files on the command line.
(Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of
Sdefault.Object_Dir_Default_Name.
Minor Reformating
Remove data for GNAT STANDARD
* vms_data.ads:
Add new compiler qualifier /PRINT_STANDARD (-gnatS)
Remove data for GNAT STANDARD
Remove options and documentation for -gnatwb/-gnatwB: these warning
options no longer exist.
2003-11-13 Ed Falis <falis@gnat.com>
* 5zthrini.adb: (Init_RTS): Made visible
* 5zthrini.adb:
(Register): Removed unnecessary call to taskVarGet that checked whether
an ATSD was already set as a task var for the argument thread.
* s-thread.adb:
Updated comment to reflect that this is a VxWorks version
Added context clause for System.Threads.Initialization
Added call to System.Threads.Initialization.Init_RTS
2003-11-13 Jerome Guitton <guitton@act-europe.fr>
* 5zthrini.adb:
(Init_RTS): New procedure, for the initialization of the run-time lib.
* s-thread.adb:
Remove dependancy on System.Init, so that this file can be used in the
AE653 sequential run-time lib.
2003-11-13 Robert Dewar <dewar@gnat.com>
* bindgen.adb: Minor reformatting
2003-11-13 Ed Schonberg <schonberg@gnat.com>
* checks.adb:
(Apply_Discriminant_Check): Do no apply check if target type is derived
from source type with no applicable constraint.
* lib-writ.adb:
(Ensure_System_Dependency): Do not apply the style checks that may have
been specified for the main unit.
* sem_ch8.adb:
(Find_Selected_Component): Further improvement in error message, with
RM reference.
* sem_res.adb:
(Resolve): Handle properly the case of an illegal overloaded protected
procedure.
2003-11-13 Javier Miranda <miranda@gnat.com>
* exp_aggr.adb:
(Has_Default_Init_Comps): New function to check the presence of
default initialization in an aggregate.
(Build_Record_Aggr_Code): Recursively expand the ancestor in case of
extension aggregate of a limited record. In addition, a new formal
was added to do not initialize the record controller (if any) during
this recursive expansion of ancestors.
(Init_Controller): Add support for limited record components.
(Expand_Record_Aggregate): In case of default initialized components
convert the aggregate into a set of assignments.
* par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment
describing the new syntax.
Nothing else needed to be done because this subprogram delegates part of
its work to P_Precord_Or_Array_Component_Association.
(P_Record_Or_Array_Component_Association): Give support to the new
syntax for default initialization of components.
* sem_aggr.adb:
(Resolve_Aggregate): Relax the strictness of the frontend in case of
limited aggregates.
(Resolve_Record_Aggregate): Give support to default initialized
components.
(Get_Value): In case of default initialized components, duplicate
the corresponding default expression (from the record type
declaration). In case of default initialization in the *others*
choice, do not check that all components have the same type.
(Resolve_Extension_Aggregate): Give support to limited extension
aggregates.
* sem_ch3.adb:
(Check_Initialization): Relax the strictness of the front-end in case
of aggregate and extension aggregates. This test is now done in
Get_Value in a per-component manner.
* sem_ch4.adb (Analyze_Allocator): Don't post an error if the
expression corresponds to a limited aggregate. This test is now done
in Get_Value.
* sinfo.ads, sinfo.adb (N_Component_Association): Addition of
Box_Present flag.
* sprint.adb (Sprint_Node_Actual): Modified to print an mbox if
present in an N_Component_Association node
2003-11-13 Thomas Quinot <quinot@act-europe.fr>
* sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a
type-conformant entry only if they are homographs.
Arnaud Charlet [Fri, 14 Nov 2003 10:04:31 +0000 (11:04 +0100)]
re PR ada/13035 (Ada testsuite uses installed gcc)
PR ada/13035
* ada/acats/run_acats, run_all.sh: Fix syntax errors.
No longer use a wrapper for gcc, since this does not work under
Windows, use --GCC switch instead.
Jason Merrill [Fri, 14 Nov 2003 08:17:45 +0000 (03:17 -0500)]
re PR middle-end/12526 ([tree-ssa] internal compiler error: Segmentation fault)
PR middle-end/12526
* tree.c (build): A CALL_EXPR has side-effects if its arguments do.
* calls.c (call_expr_flags): New fn.
* tree.h: Declare it.
* tree-cfg.c (call_expr_flags): Move to calls.c.
* tree-flow.h: Move prototype to tree.h.
Tom Tromey [Fri, 14 Nov 2003 01:48:30 +0000 (01:48 +0000)]
jni.cc (_Jv_JNI_GetStringUTFChars): Pass length of string to JvGetStringUTFRegion.
* jni.cc (_Jv_JNI_GetStringUTFChars): Pass length of string to
JvGetStringUTFRegion.
* java/lang/natPosixProcess.cc (new_string): Pass length of string
to JvGetStringUTFRegion.
* java/lang/natDouble.cc (parseDouble): Pass length of string to
JvGetStringUTFRegion.
* java/lang/natWin32Process.cc (startProcess): Pass length of
string to JvGetStringUTFRegion.
* java/lang/natClass.cc (forName): Pass length of string to
JvGetStringUTFRegion.
* gnu/gcj/runtime/natNameFinder.cc (getExternalLabel): Pass length
of string to JvGetStringUTFRegion.
* gnu/gcj/convert/natIconv.cc (init): Pass length of string to
JvGetStringUTFRegion.
* gnu/awt/gtk/natGtkLabelPeer.cc (setText): Pass length of string
to JvGetStringUTFRegion.
* gnu/awt/gtk/natGtkButtonPeer.cc (setLabel): Pass length of
string to JvGetStringUTFRegion.
Andrew Pinski [Fri, 14 Nov 2003 01:47:55 +0000 (01:47 +0000)]
+2003-11-13 Andrew Pinski <apinski@apple.com> + + * config/darwin.c...
+2003-11-13 Andrew Pinski <apinski@apple.com>
+
+ * config/darwin.c (machopic_output_possible_stub_label):
+ Allow stub symbol be not defined when outputting possible
+ stub label.
+
+2003-11-13 Andrew Pinski <apinski@apple.com>
+
+ * gcc.c-torture/compile/20031113-1.c: New test.
+
Douglas Gregor [Fri, 14 Nov 2003 00:15:00 +0000 (00:15 +0000)]
debug.html: Users are allowed to specialize in namespace __gnu_debug...
2003-11-13 Douglas Gregor <gregod@cs.rpi.edu>
* docs/html/debug.html: Users are allowed to specialize in
namespace __gnu_debug, unlike in the Apple version of the debug
mode. Clear up a confusing double-negative. Note that
std::basic_string does provide extra debugging capabilities, but
not safe iterators.
* include/bits/basic_string.tcc: Make sure there's never an
ambiguity when calling __is_null_pointer.
* include/debug/deque: (deque::erase) Properly handle invalidation
when erasing at the end of the deque.
* include/debug/vector: (vector::swap): Swap _M_guaranteed_capacity.
(vector::clear): Set the guaranteed capacity to 0.
* testsuite/23_containers/deque/invalidation/4.cc: (test04): Test
iterator invalidation when erasing at the end of the deque.
Paolo Carlini [Thu, 13 Nov 2003 23:13:22 +0000 (23:13 +0000)]
re PR libstdc++/13007 (basic_streambuf::pubimbue, imbue wrong)
2003-11-13 Paolo Carlini <pcarlini@suse.de>
Petur Runolfsson <peturr02@ru.is>
PR libstdc++/13007
* include/bits/fstream.tcc (imbue): Don't touch the stored
locale.
* include/std/std_streambuf.h (imbue): According to the
standard, base class version does nothing.
(pubimbue): Store the locale.
* testsuite/27_io/basic_filebuf/imbue/char/13007.cc: New.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: New.
* testsuite/27_io/basic_filebuf/imbue/char/2.cc: Tweak.
* testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
* testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc: New.
* testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: New.
* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc: New.
* testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: New.
Kazu Hirata [Thu, 13 Nov 2003 22:28:07 +0000 (22:28 +0000)]
lib1funcs.asm (___udivsi3): Jump to reti instead of exitdiv.
* config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
instead of exitdiv.
(___umodsi3): Likewise.
(exitdiv): Do not restore any register.
(reti): Restore registers.
Petur Runolfsson [Thu, 13 Nov 2003 17:43:48 +0000 (17:43 +0000)]
re PR libstdc++/12594 (DRs 60 [TC] and 63 [TC] not implemented)
2003-11-13 Petur Runolfsson <peturr02@ru.is>
PR libstdc++/12594
* include/bits/ostream.tcc
(basic_ostream::operator<<(basic_ostream& (*)(basic_ostream&)),
basic_ostream::operator<<(basic_ios& (*)(basic_ios&)),
basic_ostream::operator<<(ios_base& (*)(ios_base&))):
Implement the resolution of DR 60 (TC): These are not formatted
output functions so don't construct sentry objects and don't
catch exceptions.
(basic_ostream::put, basic_ostream::write): Implement the
resolution of DR 63 (TC) by catching exceptions and setting
badbit.
(basic_ostream::flush): Implement the resolution of DR 60 (TC):
This is not an unformatted output function so don't construct
a sentry object.
* testsuite/testsuite_io.h (sync_streambuf): Define.
* testsuite/27_io/basic_ostream/flush/char/2.cc: New test.
* testsuite/27_io/basic_ostream/inserters_other/char/5.cc: New test.
* testsuite/27_io/basic_ostream/put/char/1.cc: New test.
* testsuite/27_io/basic_ostream/write/char/1.cc: New test.
Paolo Carlini [Thu, 13 Nov 2003 14:19:39 +0000 (14:19 +0000)]
11305-1: Fix, closely following the testcase included in the PR.
2003-11-13 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1:
Fix, closely following the testcase included in the PR.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2: Ditto.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3: Ditto.
* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4: Ditto.
Richard Earnshaw [Thu, 13 Nov 2003 14:05:55 +0000 (14:05 +0000)]
combine.c (distribute_notes): When re-distributing the notes from an insn we are about to delete...
* combine.c (distribute_notes): When re-distributing the notes from
an insn we are about to delete, ensure we can't end up with a cyclic
list of notes.
Eric Botcazou [Thu, 13 Nov 2003 09:48:36 +0000 (10:48 +0100)]
re PR rtl-optimization/12926 (Wrong value after assignment in initialize list using bit-fields)
PR optimization/12926
* expr.c (expand_assignment) [COMPONENT_REF]: Don't put
the UNCHANGING_RTX_P flag on memory references to read-only
components that are not addressable.
* rs6000-protos.h (rs6000_initial_elimination_offset): Add.
(rs6000_stack_info): Remove. (debug_stack_info): Remove.
(rs6000_emit_eh_reg_restore): Add
* rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
of vars_size and total_size to HOST_WIDE_INT.
(emit_frame_save): Change parameter size to HOST_WIDE_INT.
(rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
(debug_stack_info): Make static; change output format of HOST_WIDE_INT
values.
(rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
(rs6000_initial_elimination_offset): New, with code formerly in
INITIAL_ELIMINATION_OFFSET.
* rs6000.h (rs6000_stack_t): Remove.
(INITIAL_ELIMINATION_OFFSET): Replace code with call to function
rs6000_initial_elimination_offset.
* rs6000.md (UNSPECV_EH_RR split): Replace code with call to
rs6000_emit_eh_reg_restore.
Mark Mitchell [Wed, 12 Nov 2003 19:57:56 +0000 (19:57 +0000)]
decl.c (finish_case_label): Do not check that we are within a switch statement here.
* decl.c (finish_case_label): Do not check that we are within a
switch statement here.
* parser.c (struct cp_parser): Add in_iteration_statement_p and
in_switch_statement_p.
(cp_parser_new): Initialize them.
(cp_parser_labeled_statement): Check validity of case labels
here.
(cp_parser_selection_statement): Set in_switch_statement_p.
(cp_parser_iteration_statement): Set in_iteration_statement_p.
(cp_parser_jump_statement): Check validity of break/continue
statements here.
* c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
is the argumnt we are processing so that warnings and errors
will have that information.
* c-tree.h (c_convert_parm_for_inlining): Add argnum.
* lang-hooks-def.h
(lhd_tree_inlining_convert_parm_for_inlining): Likewse.
* langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
* langhooks.h (convert_parm_for_inlining): Likewise.
* tree-inline.c (initialize_inlined_parameters): Compute and
pass argnum down.
Andreas Jaeger [Wed, 12 Nov 2003 11:19:10 +0000 (12:19 +0100)]
c99-const-expr-2.c (foo): Avoid extra warning on 64-bit systems.
* gcc.dg/c99-const-expr-2.c (foo): Avoid extra warning on 64-bit
systems.
Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu> Co-Authored-By: Jakub Jelinek <jakub@redhat.com> Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r73490
Andreas Jaeger [Wed, 12 Nov 2003 06:44:46 +0000 (07:44 +0100)]
c90-const-expr-2.c (foo): Avoid extra warning on 64-bit systems.
2003-11-12 Andreas Jaeger <aj@suse.de>
Jakub Jelinek <jakub@redhat.com>
Andrew Pinski <pinskia@physics.uc.edu>
Richard Henderson <rth@redhat.com>
* gcc.dg/c90-const-expr-2.c (foo): Avoid extra warning on 64-bit
systems.
* gcc.dg/20030926-1.c: Make it work on x86_64 systems.
* gcc.dg/i386-pentium4-not-mull.c: Likewise.
Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu> Co-Authored-By: Jakub Jelinek <jakub@redhat.com> Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r73485
Carlo Wood [Wed, 12 Nov 2003 02:18:37 +0000 (02:18 +0000)]
re PR libstdc++/12947 (Demangler bug)
PR libstdc++/12947
* bits/demangle.h
(_GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS): Added.
(_GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME): Added.
(session<Allocator>::next_peek() const): Added.
(decode_non_negative_decimal_integer(string_type&)):
Renamed from decode_decimal_integer(string_type&).
(session<Allocator>::decode_nested_name):
Decode <template_param> as well.
(session<Allocator>::add_substitution):
Handle <template-param> for <nested-name>'s.
(enum xary_nt): Added.
(struct entry_st): Added member `xary_nt type' instead of `bool unary'.
(symbol_name_table_c): Updated for `entry_st::type' and additional
operators (unary `operator+' and `sizeof(type)').
(offset_table_c): Updated for new operators (causing a new hash map).
(decode_operator_name): Match the updated hash map.
(session<Allocator>::decode_expression):
Support for `sizeof ([typename] type)' (st),
dependent names (sr) and casting operator (cv). Handle
`entry_st::type'. Handle _GLIBCXX_DEMANGLER_STYLE_COMPACT_EXPR_OPS
and _GLIBCXX_DEMANGLER_STYLE_SIZEOF_TYPENAME.
(session<Allocator>::decode_type_with_postfix):
Support `extern "C"' function types (FY).
* testsuite/demangle/regression/cw-16.cc: Added tests for the
added functionality.
* testsuite/demangle/regression/3111-2.cc: sizeof now has a space
appended.
* function.c (purge_addressof_1): Add libcall check.
Remove test for cached replacements on fallback case.
Simplify mode comparisons. Add libcall test for
paradoxical subregs.
Paolo Carlini [Wed, 12 Nov 2003 01:14:34 +0000 (01:14 +0000)]
re PR libstdc++/12875 (Weird behaviour in basic_filebuf::setbuf())
2003-11-11 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12875
* include/bits/fstream.tcc (setbuf): Don't do anything
after open(), in particular don't discard data.
(_M_allocate_internal_buffer): Tweak to not allocate memory
in case the buffer is provided by the user via setbuf.
* include/ext/stdio_filebuf.h: Tweak comment.
* testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc: New.
* testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc: Likewise.
* testsuite/27_io/basic_filebuf/setbuf/char/2.cc: Tweak, now
setbuf does nothing after open().
* testsuite/27_io/basic_filebuf/setbuf/char/3.cc: Likewise.