Nathan Sidwell [Thu, 24 May 2001 12:00:52 +0000 (12:00 +0000)]
re PR c++/2184 (using declarations for classes in function templates)
cp:
PR c++/2184
* decl2.c (do_local_using_decl): Push the decls, even in a
template.
testsuite:
* g++.old-deja/g++.pt/using1.C: Adjust.
* g++.old-deja/g++.pt/using2.C: New test.
Bryce McKinlay [Thu, 24 May 2001 07:28:39 +0000 (07:28 +0000)]
Makefile.am: Override gctest_OBJECTS so tests/test.c can be built.
* Makefile.am: Override gctest_OBJECTS so tests/test.c can be built.
(libgcjgc_la_SOURCES): Remove typo.
* tests/test.c: Fix struct names and includes for GC_GCJ_SUPPORT case.
* Makefile.in: Rebuilt.
Kelley Cook [Wed, 23 May 2001 22:58:41 +0000 (22:58 +0000)]
Makefile.in: Move many of the *_H definitions eariler in the file...
* Makefile.in: Move many of the *_H definitions eariler in the
file, so that rules in t-* files that use them for
dependencies will work in a parallel build.
* config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
Neil Booth [Wed, 23 May 2001 22:50:28 +0000 (22:50 +0000)]
cpp.texi: Update for handling of charconsts.
* cpp.texi: Update for handling of charconsts.
* cpplex.c (maybe_read_ucs): Don't accept D800-DFFF. Update
diagnostics. Skip to the end if the UCS is too short.
(cpp_interpret_charconst): Long charconsts issue a warning
not an error.
* gcc.dg/cpp/charconst.c: New tests.
* gcc.dg/cpp/escape.c: New tests.
* gcc.dg/cpp/escape-1.c: New tests.
* gcc.dg/cpp/escape-2.c: New tests.
* gcc.dg/cpp/ucs.c: New tests.
Neil Booth [Wed, 23 May 2001 19:05:37 +0000 (19:05 +0000)]
c-lex.c (read_escape, read_ucs): Delete.
* c-lex.c (read_escape, read_ucs): Delete.
(lex_string): Use cpp_parse_escape.
* cpplex.c (read_ucs): Rename maybe_read_ucs. Do nothing
if not C++ or not C99. Warn if traditional.
(parse_escape): Rename cpp_parse_escape. Make the bitmask
unsigned. Warn for out-of-range escape sequences here.
Update to use maybe_read_ucs.
(cpp_interpret_charconst): Don't warn here.
* cpplib.h (cpp_parse_escape): New exported function.
Zack Weinberg [Wed, 23 May 2001 17:15:07 +0000 (17:15 +0000)]
diagnostic.c (vnotice): Kill.
2001-05-23 Zack Weinberg <zackw@stanford.edu>
* diagnostic.c (vnotice): Kill.
(fnotice): Call vfprintf directly.
(diagnostic_for_decl, output_do_verbatim, output_verbatim,
verbatim, set_diagnostic_context): Rename string argument to
indicate that it is run through gettext.
(vbuild_message_string, build_message_string, output_do_printf):
Rename string argument to indicate that it is NOT run through
gettext.
(output_printf, diagnostic_for_decl, fatal_io_error, sorry,
output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
Run msgid argument through gettext.
(default_print_error_function): Run constant strings through
gettext when nothing else will.
(fatal_error, internal_error, error_recursion): Use fnotice.
Present complete sentences to gettext.
Wed May 23 2001 Jeffrey D. Oldham <oldham@codesourcery.com>
* lib/g++.exp (g++_include_flags): Use args to compute
get_multilibs.
(g++_link_flags): Likewise.
(g++_init): Pass TOOL_OPTIONS as arguments to two above functions.
unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
* unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favour of...
(__deregister_frame_info_bases): New.
* unwind-dw2-fde.h: Declare it.
* libgcc-std.ver: Export it.
* crtstuff.c (__do_global_dtors_aux): Call it if we would have
called __register_frame_info_bases.
Toon Moene [Tue, 22 May 2001 20:32:16 +0000 (22:32 +0200)]
g77.texi: Update maintenance information for GNU Fortran.
2001-05-22 Toon Moene <toon@moene.indiv.nluug.nl>
* g77.texi: Update maintenance information for
GNU Fortran. Remove all mention of -fdebug-kludge.
* news.texi: Make more news in 0.5.26 `user visible
changes'. Acknowledge work by important contributors.
* bugs.texi: Remove all mention of -fdebug-kludge.
Andrew MacLeod [Tue, 22 May 2001 20:04:58 +0000 (20:04 +0000)]
builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
2001-05-22 Andrew MacLeod <amacleod@redhat.com>
* builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
* config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
* config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
"r2" to the assembly file. Only issue allocs with non-zero parameters.
Loren J. Rittle [Tue, 22 May 2001 19:28:15 +0000 (19:28 +0000)]
freebsd.h (LIB_SPEC): Key the exact setting to configure-time options and target version of FreeBSD.
* config/freebsd.h (LIB_SPEC): Key the exact setting to
configure-time options and target version of FreeBSD. Set-up
to match architectural change in threading support. Correctly
report when -pthread option is not supported by configure-time
options.
(FBSD_CPP_PREDEFINES): Move from architecture-specific files
and extend to encode target version number in run-time setting
of __FreeBSD__ macro to match the system compiler.
(CPP_PREDEFINES): Likewise.
(PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
* config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
* config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
Co-Authored-By: David O'Brien <obrien@freebsd.org>
From-SVN: r42464
Loren J. Rittle [Tue, 22 May 2001 19:23:33 +0000 (19:23 +0000)]
config.gcc (the unlabeled system switch statement): Add generic configuration section to handle *-*-freebsd*.
* config.gcc (the unlabeled system switch statement): Add
generic configuration section to handle *-*-freebsd*. Also,
to match the system compiler, default to threading support (it
may be disabled with the standard --disable-threads
configuration-time switch).
(i[34567]86-*-freebsd* in machine-specific section): Use it.
(alpha*-*-freebsd* in machine-specific section): Likewise.
* config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
* config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
* config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
* config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
* config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
Co-Authored-By: David O'Brien <obrien@freebsd.org>
From-SVN: r42463
Benjamin Kosnik [Tue, 22 May 2001 18:48:19 +0000 (18:48 +0000)]
mkcheck.in (static_fail): Remove S_FLAG decoration on output.
2001-05-21 Benjamin Kosnik <bkoz@redhat.com>
* mkcheck.in (static_fail): Remove S_FLAG decoration on output.
* include/bits/std_sstream.h (stringbuf::setbuf): Require both
arguments to be non-null.
* include/bits/fstream.tcc (filebuf::_M_allocate_buffers): Only
try allocations if allocated size is greater than zero.
(filebuf::_M_filebuf_init): Change to
(filebuf::_M_allocate_file): Which is what it does now.
(filebuf::_M_allocate_bufers): Change to
(filebuf::_M_allocate_internal_buffer): This, and create
(filebuf::_M_allocate_pback_buffer): New.
(filebuf::_M_destroy_internal_buffer): New.
(filebuf::_M_buf_allocated): New data member.
(filebuf::setbuf): Use new logic, allow use of external buffer.
* testsuite/27_io/stringbuf_virtuals.cc: New file.
* testsuite/27_io/filebuf_virtuals.cc: New file.
* crtstuff.c (__register_frame_info_bases): Declare.
(frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
(__do_global_dtors_aux, __do_global_dtors): Streamline.
Gerald Pfeifer [Tue, 22 May 2001 13:14:11 +0000 (15:14 +0200)]
install.texi: Remove obsolete information on SunOS as well as i386-sun-sunos4...
* install.texi: Remove obsolete information on SunOS as well as
i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
(Installing GNU CC on the Sun): Remove section.
Joseph Myers [Tue, 22 May 2001 11:02:17 +0000 (12:02 +0100)]
c-lex.c (lex_number): If pedantic and not C99...
* c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
once for hexadecimal floats, whether or not they contain a decimal
point. Don't let the setting of pedantic otherwise affect the
parsing of hexadecimal floats.
testsuite:
* gcc.dg/c90-hexfloat-1.c: Add more tests.
combine.c (simplify_comparison): Update op1 after constant extension.
* combine.c (simplify_comparison): Update op1 after constant
extension.
* recog.c (const_int_operand): Accept only constants valid
for the given mode.
* genrecog.c: Update comments wrt const_int_operand.
Per Bothner [Tue, 22 May 2001 04:38:37 +0000 (21:38 -0700)]
javaprims.h (_Jv_FormatInt): New declaration.
* gcj/javaprims.h (_Jv_FormatInt): New declaration.
* java/lang/natString.cc (_JvFormatInt): New primitive, with logic
taken from old Integer.toString code.
(Integer::valueOf): Use _Jv_FormatInt.
* java/lang/Integer.java (toString): Just use call String.valueOf.
* java/lang/Long.java (toString): Fix typo in comment.
* java/lang/String.java (valueOf(int)): Make native.
* java/lang/StringBuffer.java (append(int)): Make native.
* java/lang/natStringBuffer.cc: New file, for append(jint).
* Makefile.am (ant_source_files): Add java/lang/natStringBuffer.cc.
Mark Mitchell [Tue, 22 May 2001 00:31:36 +0000 (00:31 +0000)]
call.c (build_op_delete_call): Ignore exception-specifications when looking for matching delete operators.
* call.c (build_op_delete_call): Ignore exception-specifications
when looking for matching delete operators.
* init.c (build_new_1): Compute whether or not the allocation
function used is a placement allocation function or not, and
communicate this information to build_op_delete_call.
Geoffrey Keating [Mon, 21 May 2001 18:38:25 +0000 (18:38 +0000)]
rs6000.md (maxsf3): Use rs6000_emit_minmax.
* config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
(maxsf3+1): Delete.
(minsf3): Use rs6000_emit_minmax.
(minsf3+1): Generalize to handle both SMIN and SMAX. Use
rs6000_emit_minmax.
(movsfcc): Use rs6000_emit_cmove.
(fselsfsf4): Don't compare a CONST_INT with a floating-point value.
Don't generate emit_fselsfsf4.
(fseldfsf4): Likewise.
(maxdf3): Use rs6000_emit_minmax.
(maxdf3+1): Delete.
(mindf3): Use rs6000_emit_minmax.
(mindf3+1): Generalize to handle both SMIN and SMAX. Use
rs6000_emit_minmax.
(movdfcc): Use rs6000_emit_cmove.
(fseldfdf4): Don't compare a CONST_INT with a floating-point value.
Don't generate emit_fselsfsf4.
(fselsfdf4): Likewise.
* config/rs6000/rs6000.c (zero_fp_constant): New predicate.
(min_max_operator): New predicate.
(rs6000_emit_cmove): New function.
(rs6000_emit_minmax): New function.
* config/rs6000/rs6000-protos.h: Prototype new functions.
* config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
and min_max_operator.
* config/rs6000/rs6000.c (output_cbranch): Handle all
conditional types in the switch statement.
Mark Mitchell [Mon, 21 May 2001 18:36:57 +0000 (18:36 +0000)]
c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for non-register variables.
* c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
non-register variables.
* extend.texi: Document that asm-specifications do not make sense
for non-static local variables.
Jason Merrill [Mon, 21 May 2001 15:55:40 +0000 (11:55 -0400)]
class.c (build_vtable_entry_ref): Lose vtbl parm.
* class.c (build_vtable_entry_ref): Lose vtbl parm. Fix for new abi.
(build_vtbl_ref): Adjust.
(dfs_accumulate_vtbl_inits): Set TREE_CONSTANT on the vtable address.
* decl2.c (lang_f_options): Remove huge-objects, vtable-thunks.
Re-add vtable-gc.
(unsupported_options): Correspondingly.
* decl2.c (maybe_make_one_only): Check flag_weak, not
supports_one_only().
Stephane Carrez [Mon, 21 May 2001 12:20:51 +0000 (14:20 +0200)]
msp.c (A_SIZE): Define according to STACK_SIZE;
* gcc.c-torture/unsorted/msp.c (A_SIZE): Define according to
STACK_SIZE;
* gcc.c-torture/compile/991214-2.c (HISTO_SIZE): Define according
to STACK_SIZE; Use it to define size of add_histo array.
* gcc.c-torture/compile/920723-1.c (GITT_SIZE): Define according
to STACK_SIZE.
(f): Use GITT_SIZE to define size of gitt local table.
* gcc.c-torture/compile/930621-1.c (BYTEMEM_SIZE): Define according
to STACK_SIZE; Use it to define size of bytemem array.
Stephane Carrez [Mon, 21 May 2001 12:06:52 +0000 (14:06 +0200)]
20000804-1.x: New file, this test fails on 68HC11/HC12 due to the asm instruction.
* gcc.c-torture/compile/20000804-1.x: New file, this test fails
on 68HC11/HC12 due to the asm instruction.
* gcc.c-torture/compile/20001205-1.x: New file, ditto.
* gcc.c-torture/compile/920520-1.x: Likewise.
* gcc.c-torture/compile/20001226-1.x: New file, this test fails
on 68HC11/HC12 because the function is larger than 64K.
* gcc.c-torture/compile/961203-1.x: New file, this test fails
on 68HC11/HC12 because the structure is too large.
Bryce McKinlay [Mon, 21 May 2001 08:37:04 +0000 (08:37 +0000)]
configure.in: Update boehm-gc include dir for new GC version.
* configure.in: Update boehm-gc include dir for new GC version.
* configure: Rebuilt.
* exception.cc: Only include <gc.h>. Remove TRUE/FALSE hacks and
extern "C" wrapper.
* boehm.cc: Update includes for new GC version. MAKE_PROC is now
GC_MAKE_PROC. mark_proc is now GC_mark_proc.
* posix-threads.cc: Only include <gc.h>. Don't need to wrap with
extern "C".
Joseph Myers [Sun, 20 May 2001 23:21:59 +0000 (00:21 +0100)]
re PR other/930 (Out of date docs for C99 features as extensions)
* extend.texi: Clarify documentation of extensions included in ISO
C99. Prefer C99 terminology and syntax to old GNU terminology and
syntax. Add more index entries. Document mixed declarations and
code as an extension in C89 mode. Warn about future changes to
semantics of inline functions. Fixes PR other/930.
Richard Kenner [Sun, 20 May 2001 21:36:35 +0000 (21:36 +0000)]
expr.c (expand_expr, [...]): Don't fold constant access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
* expr.c (expand_expr, case ARRAY_REF): Don't fold constant
access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
(expand_expr, case COMPONENT_REF): Do copy if misaligned even
if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.