* builtins.def: Encode additional information, such as names and
types, here.
* builtin-types.def: New file.
* builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
(built_in_decls): Likewise. Don't explicitly initialize global
data to NULL.
(expand_builtin_mathfn): Handle float and long double variants of
math builtins.
(expand_builtin): Likewise.
* c-common.c (c_common_nodes_and_builtins): Make it table-driven.
(expand_tree_builtin): Handle long, long long, float, and long
double variants of math functions.
* c-common.h (c_tree_index): Remove some unused nodes.
(void_ftype): Remove.
(void_type_ptr): Likewise.
(int_ftype_int): Likewise.
(ptr_ftype_sizetype): Likewise.
* c-decl.c (init_decl_processing): Remove creation of DWARF
builtins.
* defaults.h (MD_INIT_BUILTINS): Provide default definition.
* tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
* Makefile.in (c-common.o): Depend on builtin-types.def.
* decl.c (init_decl_processing): Tweak.
From-SVN: r42583
2001-05-25 Diego Novillo <dnovillo@redhat.com>
* gcc.c-torture/compile/20010518-2.c: New file.
* gcc.c-torture/execute/20010518-1.c: New file.
* gcc.c-torture/execute/20010518-2.c: New file.
From-SVN: r42580
* c-parse.in (array_declarator): New. Handle C99 constructs.
Don't restrict [*] declarators to C only.
(after_type_declarator, parm_declarator_starttypename,
parm_declarator_nostarttypename, notype_declarator,
direct_absdcl1): Use it.
* c-decl.c (build_array_declarator, set_array_declarator_type):
New functions. Warn that [*] isn't properly implemented; pedwarn
for [*] outside C99 mode if pedantic rather than giving a hard
error.
(grokdeclarator): Handle static and type qualifiers in parameter
array declarators.
* c-tree.h (build_array_declarator, set_array_declarator_type):
Declare.
* extend.texi (Attribute Syntax): Document attributes in parameter
array declarators.
testsuite:
* gcc.dg/c90-arraydecl-1.c, gcc.dg/c99-arraydecl-1.c: New tests.
From-SVN: r42574
2001-05-25 Ovidiu Predescu <ovidiu@cup.hp.com>
* init.c (__objc_send_message_in_list): When setting a new entry
in __objc_load_methods use the method name as key, not the method
IMP (reported by Richard Frith-Macdonald <richard@brainstorm.co.uk>).
From-SVN: r42562
(__objc_send_message_in_list): When setting a new entry in
__objc_load_methods use the method name as key, not the method IMP
(reported by Richard Frith-Macdonald <richard@brainstorm.co.uk>).
From-SVN: r42561
2001-05-24 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/2830
* testsuite/21_strings/inserters_extractors.cc (test09): New test.
* include/bits/ostream.tcc: Format to match istream.tcc.
(operator<<(basic_ostream __out, const basic_string __s)): Fix.
From-SVN: r42557
* include/c_std/bin/std_cstring.h: #define away all global
functions we will redeclare in namespace `std'.
* libsupc++/eh_alloc.cc (__cxa_allocate_exception): Use
std::memset, instead of memset.
* testsuite/19_diagnostics/stdexceptions.cc: Use `std::strcmp',
not plain `strcmp'.
* testsuite/21_strings/c_strings.cc: Use `std::strcpy' instead of
plain `strcpy'.
From-SVN: r42555
* invoke.texi (-fno-builtin): Document that this is always on
in C++.
* decl.c (duplicate_decls): Tidy.
(init_decl_processing): Always set flag_no_builtin.
From-SVN: r42553
2001-05-24 Philip Blundell <philb@gnu.org>
* doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
required.
[[Split portion of a mixed commit.]]
From-SVN: r42545.2
2001-05-24 Philip Blundell <philb@gnu.org>
* config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
-m{no-}sched-prolog. Fix typos and improve formatting.
From-SVN: r42542
2001-05-24 Philip Blundell <philb@gnu.org>
* config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
-m{no-}sched-prolog. Fix typos and improve formatting.
[[Split portion of a mixed commit.]]
From-SVN: r42541.2
2001-05-24 Philip Blundell <philb@gnu.org>
* invoke.texi (ARM Options): Improve wording slightly. Add
documentation for more options, including those for Thumb mode.
Don't mention options that don't exist or are unimplemented.
(Thumb Options): Delete; merged into above section.
From-SVN: r42539
* configure.in: Only allow hash synchronization when POSIX threads
are enabled.
* java/lang/natObject.cc (alloc_heavy): Properly find `init' field
of sync info object.
From-SVN: r42530
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.
From-SVN: r42526
* 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.
From-SVN: r42524
* 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).
From-SVN: r42516
* 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.
From-SVN: r42514
* 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.
From-SVN: r42509