Commit Graph

58579 Commits

Author SHA1 Message Date
Mark Mitchell a30f62e037 re PR c++/15165 (ICE in instantiate_template)
PR c++/15165
	* pt.c (instantiate_template): Robustify.

	PR c++/15165
	* g++.dg/template/crash19.C: New test.

From-SVN: r82174
2004-05-23 22:48:37 +00:00
Mark Mitchell 9ce1594a3e re PR c++/15025 (accepts redeclaration of template as non-template)
PR c++/15025
	* decl.c (xref_tag): Issue errors about redeclaring template
	classes as non-template classes.

	PR c++/15025
	* g++.dg/template/redecl1.C: New test.

From-SVN: r82172
2004-05-23 21:06:56 +00:00
Mark Mitchell f746161e4f re PR c++/14821 (Duplicate namespace alias declaration should not conflict)
PR c++/14821
	* name-lookup.c (supplement_binding): Allow redefinitions of
	namespace aliases.

	PR c++/14883
	* parser.c (cp_parser_template_argument): Robustify.

	PR c++/14821
	* g++.dg/other/ns1.C: New test.

	PR c++/14883
	* g++.dg/template/invalid1.C: New test.

From-SVN: r82170
2004-05-23 17:56:26 +00:00
Ian Lance Taylor 3972995b19 Forgot to save ChangeLog before committing May 20 patch
From-SVN: r82169
2004-05-23 17:53:20 +00:00
Steven G. Kargl 322c24252e * random.c (random_seed): Use correct variable.
From-SVN: r82167
2004-05-23 16:18:22 +00:00
Paul Brook 40e929f398 re PR fortran/13773 (Incorrect diagnosis of restricted function)
PR fortran/13773
	* expr.c (restricted_args): Remove redundant checks/argument.
	(external_spec_function): Update to match.
	(restricted_intrinsic): Rewrite.

From-SVN: r82166
2004-05-23 16:07:42 +00:00
Paul Brook 5291e69ade gfortran.h (struct gfc_symbol): Add equiv_built.
* gfortran.h (struct gfc_symbol): Add equiv_built.
	* trans-common.c: Change int to HOST_WIDE_INT.  Capitalize error
	messages.
	(current_length): Remove.
	(add_segments): New function.
	(build_equiv_decl): Create initialized common blocks.
	(build_common_decl): Always add decl to bindings.
	(create_common): Create initializers.
	(find_segment_info): Reformat to match coding conventions.
	(new_condition): Use add_segments.
	(add_condition, find_equivalence, add_equivalences): Move iteration
	inside functions.  Only process each segment once.
	(new_segment, finish_equivalences, translate_common): Simplify.
testsuite/
	* gfortran.fortran-torture/execute/common_init_1.f90: New test.
	* gfortran.fortran-torture/execute/equiv_init.f90: New test.

Co-Authored-By: Victor Leikehman <lei@haifasphere.co.il>

From-SVN: r82165
2004-05-23 15:14:36 +00:00
Andrew Pinski 68ca19239c t-rs6000: Remove the disabling -Werror.
2004-05-23  Andrew Pinski  <pinskia@physics.uc.edu>

        * config/rs6000/t-rs6000: Remove the disabling -Werror.

From-SVN: r82164
2004-05-23 05:25:57 -07:00
Mostafa Hagog 9e26de105c Add myself to MAINTAINERS (write after approval)
From-SVN: r82163
2004-05-23 11:32:35 +00:00
Steven G. Kargl 95d3f56711 * check.c (gfc_check_random_seed): Issue for too many arguments.
From-SVN: r82162
2004-05-23 11:06:09 +00:00
Gabriel Dos Reis 4460cef225 class.c (alter_access): Use %E format specifier to print an identifier node.
* class.c (alter_access): Use %E format specifier to print an
	identifier node.  Avoid looking at the IDENTIFIER_POINTER.
	(push_lang_context): Likewise.
	* decl.c (lookup_label): Likewise.
	(grokdeclarator): Likewise.
	* parser.c (cp_parser_check_for_invalid_template_id):Likewise.
	* pt.c (do_type_instantiation): Likewise.
	* tree.c (handle_java_interface_attribute): Likewise.
	(handle_com_interface_attribute): Likewise.
	(handle_init_priority_attribute): Likewise.

From-SVN: r82161
2004-05-23 10:51:45 +00:00
Volker Reichelt 5763419e53 Added missing entry.
From-SVN: r82160
2004-05-23 04:45:58 +00:00
Joseph Myers ad0978e846 * es.po: Update.
From-SVN: r82158
2004-05-23 02:11:39 +01:00
GCC Administrator 42159b8af9 Daily bump.
From-SVN: r82156
2004-05-23 00:16:18 +00:00
Benjamin Kosnik 26c691a88b re PR libstdc++/12854 (libstdc++ vs. -Weffc++)
2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/12854
	Fixups for -Weffc++.
	* include/bits/basic_string.h (basic_string::operator=): Return
	pointer to this instead of result of assign. Although redundant,
	this doesn't impact resultant codegen.

	* include/bits/locale_facets.h (__numpunct_cache): Declare
	assignment opxserator and copy constructor private.
	(__timepunct_cache): Same.
	(__moneypunct_cache): Same.
	(collate): Use member initialization list for _M_c_locale_collate.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/gnu/time_members.h (__timepunct): Same.
	* src/codecvt.cc: Use member initialization list to initialize
	_M_c_locale_codecvt.
	* src/ctype.cc: Same, with _M_c_locale_ctype and _M_narrow_ok.
	* config/os/gnu-linux/ctype_noninline.h: Same.
	* src/locale.cc (_Impl): Same.
	* src/locale_init.cc: Same.
	* src/localename.cc: Same.

	* include/bits/basic_ios.h (basic_ios): Complete member
	initialization list.
	* include/bits/istream.tcc (basic_istream::sentry): Same.
	* include/bits/ostream.tcc (basic_ostream::sentry): Same.
	* include/bits/fstream.tcc (basic_filebuf): Add _M_lock and
	_M_pback to member initialization list.
	* include/std/std_streambuf.h: Same.
	* include/std/std_sstream.h: Same, for _M_mode.
	* src/ios.cc (ios_base): Same.

	* include/ext/rope: Make derived classes match exception

	 specifications. Add copy constructors and assignment operators.

	* include/debug/safe_base.h (_Safe_sequence_base): Declare copy
	constructor and assignment operator protected.
	(_Safe_iterator_base): Same.
	* include/debug/formatter.h (_Error_formatter): Define copy
	constructor and assignment operator.

	* include/backward/strstream: Declare assignment operator and copy
	constructor private.

From-SVN: r82153
2004-05-22 23:46:34 +00:00
Roger Sayle d6dc556b31 builtins.c (expand_builtin_strstr, [...]): Replace calls to build with calls to build2, build3 or omit_one_operand.
* builtins.c (expand_builtin_strstr, expand_builtin_strchr,
	expand_builtin_strrchr, expand_builtin_strpbrk,
	expand_builtin_mempcpy, expand_builtin_memcmp,
	expand_builtin_strcmp, expand_builtin_strncmp,
	expand_builtin_strcat, std_expand_builtin_va_start,
	std_expand_builtin_va_arg, expand_builtin_va_copy,
	expand_builtin_signbit, fold_builtin_cabs,
	fold_builtin_logarithm, fold_builtin_mempcpy,
	fold_builtin_signbit, fold_builtin_isascii,
	fold_builtin_toascii, fold_builtin_isdigit,
	fold_builtin_1, build_function_call_expr,
	simplify_builtin_strchr, simplify_builtin_strrchr,
	simplify_builtin_strpbrk, simplify_builtin_strncpy,
	simplify_builtin_memcmp, simplify_builtin_strcmp,
	simplify_builtin_strncmp, simplify_builtin_strncat,
	simplify_builtin_strspn, simplify_builtin_strcspn,
	simplify_builtin_fputs, simplify_builtin_sprintf): Replace calls
	to build with calls to build2, build3 or omit_one_operand.

From-SVN: r82151
2004-05-22 22:25:15 +00:00
Benjamin Kosnik f4a1faa55f testsuite_hooks.h (func_callback): Declare copy constructor and assignment operator private.
2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/testsuite_hooks.h (func_callback): Declare copy
	constructor and assignment operator private.
	* testsuite/23_containers/deque/cons/clear_allocator.cc: Match
	exception specifications of base class.
	* testsuite/23_containers/list/cons/clear_allocator.cc: Same.
	* testsuite/23_containers/vector/cons/clear_allocator.cc: Same.
	* testsuite/23_containers/vector/bool/clear_allocator.cc: New.

From-SVN: r82150
2004-05-22 21:51:07 +00:00
Mark Mitchell 0deb916ce9 re PR c++/15285 (instantiate_type ICE when forming pointer to template function)
PR c++/15285
	PR c++/15299
	* pt.c (build_non_dependent_expr): Expand the set of tree nodes
	recognized as overloaded functions.

	PR c++/15285
	PR c++/15299
	* g++.dg/template/non-dependent5.C: New test.
	* g++.dg/template/non-dependent6.C: New test.

From-SVN: r82149
2004-05-22 21:45:24 +00:00
Benjamin Kosnik 52ceb03971 cxxabi.h: Remove duplicated and useless public and private keywords in class declarations.
2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/cxxabi.h: Remove duplicated and useless public and
        private keywords in class declarations. Format. Use
        stddef.h. Expose declarations to "C" compilation.
        * libsupc++/tinfo.cc (__upcast_result): Add copy constructor and
        assignment operator.
        (__dyncast_result): Same.
        * libsupc++/vec.cc (uncatch_exception): Same, use member
        initialization list.

From-SVN: r82147
2004-05-22 21:07:28 +00:00
Richard Sandiford 8e657c46b4 Fix function name in last entry.
From-SVN: r82146
2004-05-22 19:34:11 +00:00
Richard Sandiford 0a0de3bff0 mips.c (mips_asm_file_start): Emit a .gcc_compiled_longXX section when generating EABI code.
* config/mips/mips.c (mips_asm_file_start): Emit a .gcc_compiled_longXX
	section when generating EABI code.

From-SVN: r82145
2004-05-22 19:33:17 +00:00
Mark Mitchell 1e2e9f544c re PR c++/15507 (hang laying out union)
PR c++/15507
	* class.c (layout_nonempty_base_or_field): Do not try to avoid
	layout conflicts for unions.

	PR c++/15542
	* typeck.c (build_x_unary_op): Instantiate template class
	specializations before looking for "operator &".

	PR c++/15427
	* typeck.c (complete_type): Layout non-dependent array types, even
	in templates.

	PR c++/15287
	* typeck.c (build_unary_op): Do not optimize "&x[y]" when in a
	template.

	PR c++/15507
	* g++.dg/inherit/union1.C: New test.

	PR c++/15542
	* g++.dg/template/addr1.C: New test.

	PR c++/15427
	* g++.dg/template/array5.C: New test.

	PR c++/15287
	* g++.dg/template/array6.C: New test.

From-SVN: r82144
2004-05-22 19:28:31 +00:00
Andrew Pinski 79bba51c28 re PR bootstrap/15546 (Bootstrap stage3: Undefined references to basic_string)
2004-05-22  Andrew Pinski  <pinskia@physics.uc.edu>

	PR 15546
	* config/i386/i386.c (output_pic_addr_const <case SYMBOL_REF>):
	Call mark_decl_referenced on the SYMBOL_REF_DECL.

From-SVN: r82141
2004-05-22 18:18:46 +00:00
Zack Weinberg 6f312d18d4 [multiple changes]
2004-05-22  Andrew Pinski  <pinskia@physics.uc.edu>

	* c-common.c (c_common_truthvalue_conversion): Handle
	UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
	ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
	i.e. set the type to truthvalue_type_node and return.

2004-05-22  Zack Weinberg  <zack@codesourcery.com>

       * tree.h (struct tree_decl): Add possibly_inlined bit.
	(DECL_POSSIBLY_INLINED): New accessor macro.
	* cgraph.h: Remove declaration of cgraph_inline_hash.
	* cgraph.c: Remove definition of cgraph_inline_hash.
	(hash_node): Revert to hashing DECL_UID.
	(eq_node): Take two pointers to cgraph_node structures.
	Compare DECL_UIDs.
	(cgraph_remove_node): Pass the node directly to htab_find_slot.
	(cgraph_varpool_hash_node): Rename hash_varpool_node;
	hash on DECL_UID.
	(eq_cgraph_varpool_node): Rename eq_varpool_node; take two
	pointers to cgraph_varpool_node structures; compare DECL_UIDs.
	(cgraph_node): Allocate a temporary node on the stack, fill in
	its DECL field, and pass that to htab_find_slot.
	(cgraph_varpool_node): Likewise.
	(cgraph_function_possibly_inlined_p): If global info is ready,
	return the DECL_POSSIBLY_INLINED bit.
	* cgraphunit.c (cgraph_mark_inline_edge): Set DECL_POSSIBLY_INLINED
	instead of mucking with cgraph_inline_hash.

From-SVN: r82140
2004-05-22 18:16:39 +00:00
Paul Brook c1c52409c7 * intrinsic.c (add_subroutines): Use add_sym_3s for random_seed.
From-SVN: r82139
2004-05-22 17:28:48 +00:00
Benjamin Kosnik 6ad70bf28a abi_check.cc: Add unistd.h.
2004-05-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/abi_check.cc: Add unistd.h.

From-SVN: r82137
2004-05-22 17:08:02 +00:00
Paul Brook 1854117e11 dump-parse-tree.c (gfc_show_equiv): New function.
* dump-parse-tree.c (gfc_show_equiv): New function.
	(gfc_show_namespace): Use it.

From-SVN: r82136
2004-05-22 15:52:42 +00:00
Joseph Myers 2dec00bf99 * doc/contrib.texi: Add g77 contributors.
From-SVN: r82135
2004-05-22 16:34:25 +01:00
Victor Leikehman b672076889 re PR fortran/13249 (Error when using COMMON)
PR fortran/13249
	* symbol.c (gfc_add_common): Disable checks to work around other more
	fundamental inadequacies.

From-SVN: r82134
2004-05-22 14:51:16 +00:00
Roger Sayle ae5cbc332f name-lookup.c (check_for_out_of_scope_variable): Avoid ICE by returning when TREE_TYPE is error_mark_node.
* name-lookup.c (check_for_out_of_scope_variable): Avoid ICE by
	returning when TREE_TYPE is error_mark_node.
	* typeck.c (require_complete_type): Return error_mark_node if
	value's type is an error_mark_node.

	* g++.dg/lookup/forscope2.C: New test case.

From-SVN: r82133
2004-05-22 13:56:19 +00:00
Tobias Schlüter b7e6a6b3f5 trans-decl.c (gfc_get_extern_function_decl): Set DECL_IS_PURE only for functions.
* trans-decl.c (gfc_get_extern_function_decl): Set DECL_IS_PURE
	only for functions.
	(gfc_build_function_decl): Likewise.

From-SVN: r82132
2004-05-22 13:31:07 +00:00
Steven G. Kargl 21fdfcc12c check.c (gfc_check_system_clock): New function.
* check.c (gfc_check_system_clock): New function.
	* intrinsic.c (add_sym_3s): New function.
	(add_subroutines): Use it.
	* intrinsic.h (gfc_check_system_clock, gfc_resolve_system_clock):
	Add prototypes.
	* iresolve.c (gfc_resolve_system_clock): New function.
libgfortran/
	* intrinsics/system_clock: New file.
	* Makefile.am: Add intrinsics/system_clock.c.
	* Makefile.in: Regenerate.

From-SVN: r82131
2004-05-22 12:47:42 +00:00
Steven G. Kargl 2d8b59dfd5 invoke.texi: Document -Wunderflow and spell check.
* invoke.texi: Document -Wunderflow and spell check.
	* lang.opt: Add Wunderflow.
	* gfortran.h (gfc_option_t): Add warn_underflow option.
	* options.c (gfc_init_options, set_Wall): Use it.
	* primary.c (match_real_constant): Explicitly handle UNDERFLOW.
	* arith.c (gfc_arith_uminus, gfc_arith_plus, gfc_arith_minus,
	gfc_arith_times, gfc_arith_divide, gfc_arith_power, gfc_real2real,
	gfc_real2complex, gfc_complex2real, gfc_complex2complex): Ditto.
	* arith.c (common_logarithm): Fix typo in comment.

From-SVN: r82130
2004-05-22 11:03:17 +00:00
Richard Sandiford 9fd4743509 calls.c (initialize_argument_information): Forbid sibcalls if a callee-copied argument is stored in the current function's...
* calls.c (initialize_argument_information): Forbid sibcalls if a
	callee-copied argument is stored in the current function's frame.

From-SVN: r82129
2004-05-22 10:43:56 +00:00
Paolo Carlini fea6ecb746 re PR libstdc++/15565 ([3.4 only] SLES9: leading + sign for unsigned int with showpos)
2004-05-22  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/15565
	* include/bits/locale_facets.tcc (__int_to_char(unsigned long),
	__int_to_char(unsigned long long)): Showpos is not relevant
	for unsigned types.
	* testsuite/22_locale/num_put/put/char/15565.cc: New.
	* testsuite/22_locale/num_put/put/wchar_t/15565.cc: New.

	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Use L for the fill
	char.
	* testsuite/22_locale/num_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/8.cc: Likewise.

From-SVN: r82128
2004-05-22 09:02:56 +00:00
Eric Christopher 0bc0f41de7 fix-header.c (read_scan_file): Update for add_path change.
2004-05-22  Eric Christopher  <echristo@redhat.com>

	* fix-header.c (read_scan_file): Update for add_path change.

From-SVN: r82127
2004-05-22 08:55:53 +00:00
Matthias Klose 2461ecbe6c run_doxygen: Bump required version.
2004-05-21  Matthias Klose  <doko@debian.org>

	* docs/doxygen/run_doxygen:  Bump required version.

From-SVN: r82125
2004-05-22 07:07:01 +00:00
Benjamin Kosnik a3e14d3983 abi.html (libgcc_s): Additions suggested by Matthias Klose.
2004-05-21  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/abi.html (libgcc_s): Additions suggested by Matthias Klose.
	* docs/doxygen/Intro.3: Subtractions suggested by Phil Edwards.

From-SVN: r82122
2004-05-22 05:01:36 +00:00
Ben Elliston b02398bd5b c.opt (Wmissing-include-dirs): New.
* c.opt (Wmissing-include-dirs): New.
	* c-opts.c (c_common_handle_option): Pass true for user_supplied_p
	to add_path () for -I, but false for OPT_idirafter, OPT_iquote and
	OPT_isystem. Handle case OPT_Wmissing_include_dirs.
	* c-incpath.h (add_path): Add fourth (bool) argument.
	* c-incpath.c (add_env_var_paths): Pass false to add_path ().
	(add_standard_paths): Likewise.
	(remove_duplicates) [REASON_NOENT]: Warn if -Wmissing-include-dirs
	is used and the directory was user-supplied via -I.
	(add_path): Set p->user_supplied_p.  Remove duplicated code by
	using add_cpp_dir_path ().
	* cpplib.h (struct cpp_options): Add warn_missing_include_dirs.
	(struct cpp_dir): Add user_supplied_p.
	* doc/invoke.texi (Warning Options): Document new option.

[testsuite]
	* gcc.dg/cpp/Wmissingdirs.c: New.

From-SVN: r82121
2004-05-22 12:39:35 +10:00
Ulrich Weigand 12fea1f9fc fold-const.c (fold_read_from_constant_string): Convert result to requested type.
* fold-const.c (fold_read_from_constant_string): Convert result to
	requested type.

From-SVN: r82120
2004-05-22 00:27:23 +00:00
GCC Administrator c5042c5c8b Daily bump.
From-SVN: r82118
2004-05-22 00:16:14 +00:00
Joseph Myers 928da1904d * fr.po, tr.po: Update.
From-SVN: r82111
2004-05-21 23:24:47 +01:00
Richard Henderson f0638e1d70 gimplify.c (mostly_copy_tree_r): Don't attempt to copy decls.
* gimplify.c (mostly_copy_tree_r): Don't attempt to copy decls.
        (copy_if_shared_r): Don't copy decls, types, constants, BINDs.
        Don't mark VA_ARG_EXPRs volatile here.
        (gimplify_modify_expr): Unshare TYPE_SIZE_UNIT.

From-SVN: r82110
2004-05-21 15:00:14 -07:00
Roger Sayle 11670eebf3 io.c (check_format): As a GNU extension...
* io.c (check_format): As a GNU extension, allow the comma after a
	string literal to be optional in a format.  Use gfc_notify_std to
	issue an error/warning as appropriate.

	* io/format.c (parse_format_list): Allow the comma after a string
	literal to be optional.

From-SVN: r82109
2004-05-21 21:37:25 +00:00
Frank Ch. Eigler 0b817eb02d Makefile.am (AM_MAKEFLAGS): Pass RUNTESTFLAGS.
2004-05-21  Frank Ch. Eigler  <fche@redhat.com>

	* Makefile.am (AM_MAKEFLAGS): Pass RUNTESTFLAGS.
	* Makefile.in: Ditto.

From-SVN: r82107
2004-05-21 20:33:58 +00:00
Roger Sayle e433aaee67 io.c (check_format): Use gfc_notify_std to determine whether to issue an error/warning for omitting...
* io.c (check_format): Use gfc_notify_std to determine whether to
	issue an error/warning for omitting the digits from the X format.

From-SVN: r82106
2004-05-21 19:55:36 +00:00
Richard Henderson 11ed191c4f Makefile.in (tree-dump.o): Depend on tree-iterator.h.
* Makefile.in (tree-dump.o): Depend on tree-iterator.h.
        * tree-dump.c (dequeue_and_dump): Dump STATEMENT_LISTs.

From-SVN: r82105
2004-05-21 12:50:49 -07:00
Paolo Carlini 32da620821 istream.tcc (ignore): Remove redundant line.
2004-05-21  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/istream.tcc (ignore): Remove redundant line.
	(readsome): Tidy, closely following 27.6.1.3, p30.

From-SVN: r82103
2004-05-21 17:16:21 +00:00
Roger Sayle b953ebd647 fold-const.c (fold, [...]): Use fold_convert instead of convert.
* fold-const.c (fold, fold_relational_hi_lo,
	nondestructive_fold_binary_to_constant,
	fold_read_from_constant_string): Use fold_convert instead of convert.
	* builtins.c (simplify_builtin, simplify_builtin_strstr,
	simplify_builtin_strchr, simplify_builtin_strrchr,
	simplify_builtin_strpbrk): Use fold_convert instead of convert.

From-SVN: r82102
2004-05-21 16:39:38 +00:00
Bryce McKinlay 17abdabcf3 Layout interfaces during preparation, not initialization.
* java/lang/natClass.cc (initializeClass): Move
	_Jv_LayoutInterfaceMethods call...
	* java/lang/natClassLoader.cc (_Jv_PrepareCompiledClass): to here.

From-SVN: r82101
2004-05-21 17:08:50 +01:00