Commit Graph

37783 Commits

Author SHA1 Message Date
Alexandre Oliva
25af851255 Make-lang.in (cp/decl.o, cp/tree.o): Depend on tree-inline.h.
* Make-lang.in (cp/decl.o, cp/tree.o): Depend on tree-inline.h.
(cp/pt.o, cp/semantics.o, cp/optimize.o): Likewise.
* cp-tree.h (lang_decl): Moved inlined_fns to tree_decl.
(TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved to ../tree.h.
(flag_inline_trees): Moved declaration to ../tree-inline.h.
(walk_tree): Moved declaration to ../tree-inline.h.
(walk_tree_without_duplicates, copy_tree_r): Likewise.
(remap_save_expr): Likewise.
* decl.c: Include tree-inline.h.
(lang_mark_tree): Don't mark inlined_fns.
* decl2.c (flag_inline_trees): Moved defn to ../tree-inline.c.
* optimize.c: Include tree-inline.h.
(optimize_inline_calls): Move declaration to ../tree.h, as
non-static.
(remap_decl): Use language-independent constructs and hooks.
(remap_block, copy_body_r, declare_return_variable): Likewise.
(inlinable_function_p): Likewise.  Don't test for
DECL_LANG_SPECIFIC before DECL_INLINED_FNS as inlined_fns is
no longer language-specific.
(optimize_inline_calls): Likewise.  Make it non-static.  Moved
call of dump_function to...
(optimize_function): Here...
(clone_body): New function, extracted from...
(maybe_clone_body): ... here.  Build decl_map locally and pass
it on to clone_body.
* pt.c, semantics.c: Include tree-inline.h.
* tree.c: Likewise.
(cp_walk_subtrees): New language-specific hook for tree inlining.
(cp_cannot_inline_tree_fn, cp_add_pending_fn_decls,
cp_is_overload_p, cp_auto_var_in_fn_p,
cp_copy_res_decl_for_inlining): Likewise.
(walk_tree): Move language-specific constructs into...
(cp_walk_subtrees): this new function.
(copy_tree_r): Use language-independent constructs and hooks.
(init_tree): Initialize tree inlining hooks.
(remap_save_expr): Adjust prototype so that the declaration
does not require the definition of splay_tree.

From-SVN: r46020
2001-10-05 02:48:47 +00:00
Mark Wielaard
ffb0e73a97 * java/lang/reflect/Modifier.java: Merge with Classpath
From-SVN: r46019
2001-10-05 00:16:03 +00:00
Loren J. Rittle
d6c0ca38c0 Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which propagated HOST_CC...
* Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
	propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.

From-SVN: r46017
2001-10-04 22:11:47 +00:00
Phil Edwards
8a0915a4d3 index.html: Describe DR #22, and a workaround.
2001-10-04  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/faq/index.html:  Describe DR #22, and a workaround.
	* docs/html/faq/index.txt:  Regenerate.

From-SVN: r46016
2001-10-04 20:10:46 +00:00
Phil Edwards
c9fe10db6b COPYING.DOC: New file, GFDL v1.1 from the FSF.
2001-10-04  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/17_intro/COPYING.DOC:  New file, GFDL v1.1 from the FSF.
	* docs/html/17_intro/license.html:  New file.  Explain the licenses
	in use.

	* docs/html/configopts.html:  Link to license.html.
	* docs/html/documentation.html:  Likewise.
	* docs/html/explanations.html:  Likewise.
	* docs/html/install.html:  Likewise.
	* docs/html/17_intro/howto.html:  Likewise.
	* docs/html/18_support/howto.html:  Likewise.
	* docs/html/19_diagnostics/howto.html:  Likewise.
	* docs/html/20_util/howto.html:  Likewise.
	* docs/html/21_strings/howto.html:  Likewise.
	* docs/html/22_locale/howto.html:  Likewise.
	* docs/html/23_containers/howto.html:  Likewise.
	* docs/html/24_iterators/howto.html:  Likewise.
	* docs/html/25_algorithms/howto.html:  Likewise.
	* docs/html/26_numerics/howto.html:  Likewise.
	* docs/html/27_io/howto.html:  Likewise.
	* docs/html/ext/howto.html:  Likewise.
	* docs/html/ext/sgiexts.html:  Likewise.
	* docs/html/faq/index.html:  Likewise.  New question, linking to
	the new license.html.

From-SVN: r46015
2001-10-04 20:03:22 +00:00
Phil Edwards
f79297a2fa howto.html: Fix mis-sed in header from 20010917.
2001-10-04  Phil Edwards  <pme@gcc.gnu.org>

	* docs/html/17_intro/howto.html:  Fix mis-sed in header from 20010917.
	* docs/html/18_support/howto.html:  Likewise.
	* docs/html/19_diagnostics/howto.html:  Likewise.
	* docs/html/20_util/howto.html:  Likewise.
	* docs/html/21_strings/howto.html:  Likewise.
	* docs/html/22_locale/howto.html:  Likewise.
	* docs/html/23_containers/howto.html:  Likewise.
	* docs/html/24_iterators/howto.html:  Likewise.
	* docs/html/25_algorithms/howto.html:  Likewise.
	* docs/html/26_numerics/howto.html:  Likewise.
	* docs/html/27_io/howto.html:  Likewise.
	* docs/html/ext/howto.html:  Likewise.
	* docs/html/faq/index.html:  Likewise.  Spacing fix.

From-SVN: r46014
2001-10-04 19:54:54 +00:00
Peter Schmid
d9c28ce3a4 g77.exp: set libg2c_dir correctly.
2001-10-04  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* lib/g77.exp: set libg2c_dir correctly.

From-SVN: r46013
2001-10-04 19:49:54 +00:00
Geert Bosch
7f50e2e396 sysdep.c (__gnat_set_binary_mode, [...]): Arg is int, not FILE *, in dummy version of functions.
* sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode):
	Arg is int, not FILE *, in dummy version of functions.

	* adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode):
	Arg is int, not FILE *.

From-SVN: r46012
2001-10-04 21:30:04 +02:00
Geert Bosch
5d1a969896 3lsoccon.ads: Added file, missed with initial check ins.
* 3lsoccon.ads: Added file, missed with initial check ins.

	* 4lintnam.ads: Fix header format.
	Change Linux to GNU/Linux.

	* 5iosinte.adb: Change Linux to GNU/Linux.

	* 5iosinte.ads: Change Linux to GNU/Linux.

	* 5itaprop.adb: Change Linux to GNU/Linux.

	* 5itaspri.ads: Change Linux to GNU/Linux.
	Update copyright notice.

	* 5lintman.adb: Change Linux to GNU/Linux.

	* 5lml-tgt.adb: Change Linux to GNU/Linux.

	* 5losinte.ads: Change Linux to GNU/Linux.

	* 5lsystem.ads: Change Linux to GNU/Linux.

	* 5qosinte.adb: Change Linux to GNU/Linux.

	* 5qosinte.ads: Change Linux to GNU/Linux.

	* 5qparame.ads: Change Linux to GNU/Linux.

	* 5qtaprop.adb: Change Linux to GNU/Linux.

	* 5qtaspri.ads: Change Linux to GNU/Linux.
	Add 2001 to copyright notice.

	* 5vintman.ads: Change Linux to GNU/Linux.
	Fix header format.  Add 2001 to copyright notice.

	* g-soccon.ads: Change Linux to GNU/Linux.

	* g-trasym.ads: Change Linux to GNU/Linux.
	Add 2001 to copyright notice.

	* memtrack.adb: Change Linux to GNU/Linux.

	* s-intman.ads: Change Linux to GNU/Linux.
	Add 2001 to copyright notice.  Fix header format.

	* s-stache.adb: Change Linux to GNU/Linux.

	* adaint.c: Change Linux to GNU/Linux.

	* cio.c: Change Linux to GNU/Linux.

	* cstreams.c: Change Linux to GNU/Linux.

	* init.c: Change Linux to GNU/Linux.

	* gmem.c: Change Linux to GNU/Linux.

	* tracebak.c: Change Linux to GNU/Linux.

From-SVN: r46011
2001-10-04 19:50:42 +02:00
Neil Booth
d3d43aabbd * doc/cppinternals.texi: Update.
From-SVN: r46009
2001-10-04 12:22:03 +00:00
Eric Christopher
3054eeed1d mips.c (init_cumulative_args): Remember to set cum->prototype.
2001-10-04  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.c (init_cumulative_args): Remember to set
	cum->prototype.
	* config.gcc: Redo linux configuration. Add target_cpu_default
	of soft-float to all mipsisa32 combinations and tx39.
	* config/mips/linux.h: Remove include of mips.h.

From-SVN: r46008
2001-10-04 08:38:41 +00:00
GCC Administrator
3bdeffacad Daily bump.
From-SVN: r46007
2001-10-04 07:38:12 +00:00
Mark Wielaard
ce0d5fce2b SequenceInputStream.java: Merge with Classpath
* java/io/SequenceInputStream.java: Merge with Classpath
	* java/io/StringBufferInputStream.java: Ditto
	* java/util/Collections.java: Remerge with Classpath

From-SVN: r46005
2001-10-04 05:34:47 +00:00
Alexandre Petit-Bianco
7754e0a968 parse.y (patch_assignment): Use lvalue's original TYPE when building the final COMPOUND_EXPR.
2001-10-03  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* parse.y (patch_assignment): Use lvalue's original TYPE when
	building the final COMPOUND_EXPR.
	(try_reference_assignconv): Fixed leading comment.

( http://gcc.gnu.org/ml/java-patches/2001-q4/msg00027.html )

From-SVN: r46004
2001-10-03 19:58:39 -07:00
Loren J. Rittle
8276ed21b0 Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
* Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
        HOST_LDFLAGS and HOST_CPPFLAGS.

From-SVN: r46003
2001-10-04 02:20:29 +00:00
Ziemowit Laski
8607f1bc47 c-parse.in (objc_inherit_code, [...]): Make static.
2001-10-03  Ziemowit Laski  <zlaski@apple.com>

        * c-parse.in (objc_inherit_code, objc_pq_context,
        objc_public_flag): Make static.
        (objc_interface_context, objc_implementation_context,
        objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
        global tree array in objc/objc-act.[ch].
        (methoddef): Remove unnecessary code.

        * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
        Hoist struct definitions to objc-act.h.
        (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
        cat_count): Place declaration in objc-act.h.
        (objc_tree_index): Move enumeration to objc-act.h.
        (objc_global_trees): Place declaration and macro accessors in
        objc-act.h.
        (implementation_context): Remove duplicate; use
        objc_implementation_context instead:
        (method_context): Remove duplicate; use objc_method_context
        instead.
        (objc_ellipsis_node, objc_method_prototype_template,
        implemented_classes, function_type): Move global vars to
        objc_global_trees.
        (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
        (build_message_expr): Move actual construction of ObjC message
        send nodes to finish_message_expr.
        (finish_message_expr): New routine, contains code formerly in
        build_message_expr.
        * objc/objc-act.h (finish_message_expr): New prototype.
        (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
        declarations; these vars are now part of objc_global_trees.
        (objc_tree_index, objc_global_trees): Move definitions from
        objc-act.c.
        * objc/objc-tree.def: Update copyright info.

From-SVN: r46000
2001-10-03 22:05:57 +00:00
Dimitris Vyzovitis
8bf4eeece3 stl_threads.h (_Atomic_swap): New function.
* include/bits/stl_threads.h (_Atomic_swap): New function.
	    (_Swap_lock_struct<__dummy>::_S_swap_lock): New data.
	    * testsuite/ext/rope.cc: New file.

From-SVN: r45999
2001-10-03 21:19:31 +00:00
Tom Tromey
b52a8930ff natReference.cc (add_to_hash): Set n->next before setting *link.
* java/lang/ref/natReference.cc (add_to_hash): Set n->next before
	setting *link.

From-SVN: r45996
2001-10-03 16:47:02 +00:00
John Wehle
508fc6461f dwarf2asm.c (unaligned_integer_asm_op): Abort if op is NULL.
* dwarf2asm.c (unaligned_integer_asm_op): Abort if
	op is NULL.
	* sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
	only if TARGET_ARCH64.

From-SVN: r45995
2001-10-03 16:23:57 +00:00
John David Anglin
6a4af81f92 rtti.c (get_tinfo_decl): Call typeinfo_in_lib_p with the type used to build the declaration instead of...
* rtti.c (get_tinfo_decl): Call typeinfo_in_lib_p with the type used
	to build the declaration instead of the declaration itself.

From-SVN: r45994
2001-10-03 15:18:25 +00:00
Bryce McKinlay
359627b597 * gij.cc (version): Use GCJVERSION.
From-SVN: r45993
2001-10-03 12:42:28 +01:00
Bryce McKinlay
8b6013ad43 * resolve.cc (_Jv_PrepareClass): Fix typos in vtable layout.
From-SVN: r45988
2001-10-03 08:54:34 +01:00
GCC Administrator
caa3f65c76 Daily bump.
From-SVN: r45986
2001-10-03 07:16:10 +00:00
Toon Moene
4ffe74d94f Make-lang.in: Remove reference to FORTRAN_INIT.
2001-10-03  Toon Moene  <toon@moene.indiv.nluug.nl>

	gcc/f/
	* Make-lang.in: Remove reference to FORTRAN_INIT.
	* g77spec.c: Add reference to FORTRAN_INIT.

	libf2c/
	* Makefile.in: Add "AR" reference, change
	from frtbegin.o to libfrtbegin.a.
	* libF77/Makefile.in: Ditto.

From-SVN: r45985
2001-10-03 06:10:50 +00:00
Geert Bosch
c25ca2d7f7 * misc.c (insert_default_attributes): Add dummy version.
From-SVN: r45983
2001-10-03 01:33:26 +02:00
Bernd Schmidt
80ebf43e2e Fix some problems with previous checkin
From-SVN: r45982
2001-10-02 23:15:55 +00:00
David Billinghurst
d3d51b8cad * MAINTAINERS (Various maintainers: Ada front end): Added myself.
From-SVN: r45980
2001-10-02 22:57:35 +00:00
Mark Wielaard
d352477d45 Makefile.am (core_java_source_files): add InheritableThreadLocal
* Makefile.am (core_java_source_files): add InheritableThreadLocal
	* Makefile.in: regenerate
	* gcj/javaprims.h: ditto
	* java/lang/InheritableThreadLocal.java: new class from Classpath
	* java/lang/Thread.java Thread (Thread, ThreadGroup, Runnable, String):
	call InheritableThreadLocal.newChildThread()

From-SVN: r45979
2001-10-02 22:49:59 +00:00
Neil Booth
a2566f60d2 * gcc.dg/cpp/macro11.c: New test.
From-SVN: r45978
2001-10-02 22:30:15 +00:00
Geert Bosch
d1c3e70982 * MAINTAINERS (Various maintainers: Ada front end): Added myself.
From-SVN: r45970
2001-10-02 23:32:12 +02:00
Mark Wielaard
627a8b878e Makefile.am: Add new classes
* Makefile.am: Add new classes
	(core_java_source_files): CharSequence
	(ordinary_java_source_files): Authenticator, PasswordAuthentication
	* Makefile.in: regenerate
	* gcj/javaprims.h: ditto
	* java/lang/CharSequence: new class from Classpath
	* java/lang/String.java: implements CharSequence
	(subSequence (int,int)): new method
	* java/lang/SubString.java: implements CharSequence
	(subSequence (int,int)): new method
	remerge comments with Classpath
	* java/net/Authenticator.java: new class from Classpath
	* java/net/PasswordAuthentication.java: ditto

From-SVN: r45969
2001-10-02 20:59:31 +00:00
Benjamin Kosnik
da5c0f6ef5 time_members_gnu.h: Remove.
2001-10-02  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/time_members_gnu.h: Remove.
	* config/locale/time_members_generic.h: Remove.
	* config/locale/time_members_gnu.cc (__timepunct::_M_put_helper): Add.
	* config/locale/time_members_generic.cc: Same.
	* include/bits/locale_facets.h: Add data members.
	(__timepunct::_M_put_helper): Change signature.
	(__timepunct::_M_date_formats): Same.
	(__timepunct::_M_time_formats): Same.
	(__timepunct::_M_ampm): Add.
	(__timepunct::_M_date_time_formats): Add.
	(time_get::_M_extract_via_format): Add.
	(time_get::_M_extract_time): Change to...
	(time_get::_M_extract_num): ... this, modify signature.
	* include/bits/locale_facets.tcc (time_get::do_get_year): Fix.
	(time_get::do_get_time): Fix.
	(time_get::do_get_date): Fix.

	* acinclude.m4: Remove CTIME_H.
	* aclocal.m4: Regenerate.
	* include/Makefile.am: Same.
	* include/Makefile.in: Regenerate.
	* configure: Regenerate.

	* testsuite/22_locale/time_get_members_char.cc: Fix.
	* testsuite/22_locale/time_get_members_wchar_t.cc: Add.
	* testsuite/22_locale/time_put_members_wchar_t.cc: Add.

From-SVN: r45966
2001-10-02 18:44:50 +00:00
Toon Moene
8a2b8c5abe Makefile.in: Make .lo the target of compilation.
2001-10-02  Toon Moene  <toon@moene.indiv.nluug.nl>

	* libF77/Makefile.in: Make .lo the target of compilation.
	* libI77/Makefile.in: Ditto.
	* libU77/Makefile.in: Ditto.

From-SVN: r45964
2001-10-02 16:54:26 +00:00
Jason Merrill
133339b4a1 * decl2.c (cxx_decode_option): Add 'else'.
From-SVN: r45963
2001-10-02 11:44:55 -04:00
Jason Merrill
0caee1c69f spew.c (end_input): No longer static.
* spew.c (end_input): No longer static.
        * cp-tree.h: Declare it.
        * parse.y (datadef): Add "error END_OF_SAVED_INPUT" expansion.

From-SVN: r45962
2001-10-02 11:43:44 -04:00
Richard Kenner
415dddc81c New Language: Ada
From-SVN: r45960
2001-10-02 10:57:59 -04:00
Richard Kenner
996ae0b0ae New Language: Ada
From-SVN: r45959
2001-10-02 10:52:00 -04:00
Tom Tromey
2b3d3db68d javaprims.h: Rebuilt class list.
* gcj/javaprims.h: Rebuilt class list.
	* boehm.cc (_Jv_GCRegisterDisappearingLink): New function.
	(_Jv_GCCanReclaimSoftReference): New function.
	* include/jvm.h (_Jv_GCRegisterDisappearingLink): Declare.
	(_Jv_GCCanReclaimSoftReference): Declare.
	* java/lang/ref/Reference.java (referent): Now a RawData.
	(create): Renamed from `created'.  Added object argument.
	(Reference): Don't initialize `referent' here.
	* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Added new file.
	* java/lang/ref/natReference.cc: New file.

From-SVN: r45958
2001-10-02 14:31:47 +00:00
Richard Kenner
cacbc3505b New Language: Ada
From-SVN: r45957
2001-10-02 10:30:19 -04:00
Richard Kenner
19235870ad New Language: Ada
From-SVN: r45956
2001-10-02 10:23:52 -04:00
Richard Kenner
38cbfe40a0 New Language: Ada
From-SVN: r45955
2001-10-02 10:18:40 -04:00
Richard Kenner
70482933d8 New Language: Ada
From-SVN: r45954
2001-10-02 10:08:34 -04:00
Richard Kenner
d23b8f573b New Language: Ada
From-SVN: r45953
2001-10-02 09:55:47 -04:00
Richard Kenner
84481f762f New Language: Ada
From-SVN: r45952
2001-10-02 09:46:42 -04:00
Tom Tromey
62a040818a prims.cc (_Jv_NewMultiArrayUnchecked): New method.
* prims.cc (_Jv_NewMultiArrayUnchecked): New method.
	(_Jv_NewMultiArray): Use it.  Check each array dimension.
	(_Jv_NewMultiArray): Likewise.
	* java/lang/reflect/natMethod.cc (can_widen): Nothing promotes to
	`char'.
	* java/lang/reflect/natArray.cc (newInstance): Throw
	IllegalArgumentException if there are no dimensions.

From-SVN: r45951
2001-10-02 13:44:32 +00:00
Richard Kenner
6cbd1b6f7e New Language: Ada
From-SVN: r45950
2001-10-02 09:35:49 -04:00
Neil Booth
644eddaac5 cpphash.h: Update comments.
* cpphash.h: Update comments.
	(cpp_context): Update.
	(spec_nodes): Remove n__Pragma.
	* cppinit.c (cpp_create_reader): Update.
	(builtin_array): Add _Pragma.
	* cpplib.h: Update comments.
	(NODE_DISABLED, BT_PRAGMA): New.
	(cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
	* cppmacro.c (struct cpp_macro): Remove disabled.
	(builtin_macro): Return int, handle _Pragma, push the new token
	on the context stack.
	(funlike_invocation_p): Unconstify, update.
	(enter_macro_context): Handle builtins here.
	(replace_args, push_token_context, push_ptoken_context):
	Update for prototype changes.
	(_cpp_pop_context): Update.
	(cpp_get_token): Don't handle buitins, nor _Pragma here.
	(cpp_sys_macro_p): Update.
	(_cpp_free_definition): Clear disabled flag.
	(_cpp_create_definition): Upate.
	* cppmain.c: Update comments.

From-SVN: r45948
2001-10-02 12:57:24 +00:00
Richard Kenner
9d19cb9582 New language: Ada
From-SVN: r45947
2001-10-02 08:35:48 -04:00
Jan Hubicka
14f73b5a12 invoke.texi (i386 Options): Document x86-64 options.
* doc/invoke.texi (i386 Options): Document x86-64 options.
	(i386 and x86-64 Options): Rename i386 options section.

	* config/i386/i386.h (TARGET_UNWIND_INFO): New.
	(TARGET_SWITCHES): Add -munwind-info.
	(MASK_NO_UNWIND_INFO): New.
	(NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
	biarch compilation.
	(ASM_OUTPUT_DOUBLE_INT): New.

	* config/i386/linux64.h: New spec file for Linux x86-64 support.
	* config.gcc: Fix tm_file settings for x86-64.
	* config/i386/x86-64.h: New file with OS independent x86-64
	definitions.
	* config/i386/biarch64.h: New file used to configure compiler
	to biarch/64bit compilation.

	* config/i386/i386.c: (override_options): Set flags default
	for 64bit compilation.

	* i386.c (legitimize_pic_address): Add missing bits of 64bit support.
	(ix86_expand_int_movcc): Optimize DImode conditional moves with
	constants on x86_64.
	(ix86_attr_length_immediate_default): Support MODE_DI.
	* i386.md (fixdi splitter): Add missing "&& 1" in splitter
	condition.
	(indirect_jump, tablejump): Turn into expander.

From-SVN: r45946
2001-10-02 10:59:42 +00:00
Joseph Myers
80a497e4e9 c-common.c (c_format_attribute_table): Make format and format_arg attributes apply to function types rather than to decls.
* c-common.c (c_format_attribute_table): Make format and
	format_arg attributes apply to function types rather than to
	decls.
	(is_valid_printf_arglist): Construct an attribute list and pass
	that to check_function_format rather than a name.
	* c-common.h (check_function_format): Adjust prototype.
	* c-decl.c (duplicate_decls): Preserve attributes from type of
	built-in decl when allowing for harmless conflict in types.
	* c-format.c (record_function_format,
	record_international_format, function_format_list,
	international_format_info, international_format_list): Remove.
	(function_format_info): Remove next, name and assembler_name.
	Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
	(decode_format_attr): New.
	(handle_format_attribute): Handle receiving a type rather than a
	decl.  Call decode_format_attr.  Store format information in a
	function_format_info.
	(handle_format_arg_attribute): Correct comment.  Handle receiving
	a type rather than a decl.  Use unsigned HOST_WIDE_INT for
	arg_num.
	(check_format_info_recurse, check_format_info_main): Take argument
	numbers as unsigned HOST_WIDE_INT.
	(check_function_format): Take a list of attributes from the
	function type rather than a name or assembler name.  Check for
	format attributes in that list and the attributes on the type of
	the current function rather than looking through
	function_format_list.
	(check_format_info): Use unsigned HOST_WIDE_INT for argument
	numbers.
	(check_format_info_recurse): Take format_arg attributes from the
	type of the function calls rather than using
	international_format_list.  Allow for multiple format_arg
	attributes.
	* c-typeck.c (build_function_call): Pass type attributes to
	check_function_format rather than name or assembler name.  Don't
	require there to be a name or assembler name to check formats.

cp:
	* call.c (build_over_call), typeck.c (build_function_call_real):
	Pass type attributes to check_function_format rather than name or
	assembler name.  Don't require there to be a name or assembler
	name to check formats.

testsuite:
	* g++.dg/warn/format2.C, gcc.dg/format/attr-7.c,
	gcc.dg/format/multattr-1.c, gcc.dg/format/multattr-2.c,
	gcc.dg/format/multattr-3.c: New tests.
	* gcc.dg/format/attr-3.c: Update expected error texts.  Remove
	tests for format attributes on function pointers being rejected.

From-SVN: r45945
2001-10-02 08:19:47 +01:00