Commit Graph

71382 Commits

Author SHA1 Message Date
Mark Mitchell
685e39c289 re PR c++/23293 (Misleading names in diagnostics for typedefs in functions)
PR c++/23293
	* pt.c (convert_template_argument): Use canonical type variants in
	template specializations.
	PR c++/23293
	* g++.dg/template/error19.C: New test.

From-SVN: r105561
2005-10-18 15:39:12 +00:00
Nathan Sidwell
c19aaba573 re PR c++/21383 (Crash when finding &a_templated_func<>)
cp:
	PR c++/21383
	* name-lookup.c (arg_assoc): Template args can be null in a
	template-id-expr.
testsuite:
	PR c++/21383
	* g++.dg/overload/koenig2.C: New.

From-SVN: r105553
2005-10-18 13:45:23 +00:00
Nathan Sidwell
b77fe7b45f re PR c++/22604 (ICE after invalid covariant return)
cp:
	PR c++/22604
	* class.c (update_vtable_entry_for_fn): Don't process invalid
	covariant overriders.

	PR c++/23118
	* cp-tree.h (add_method): Add return value.
	* class.c (add_method): Return success indicator.
	* semantics.c (finish_member_declaration): Don't add an invalid
	method to the method list.
testsuite:
	PR c++/23118
	* g++.dg/overload/error2.C: New.

	PR c++/22604
	* g++.dg/inherit/covariant14.C: New.

From-SVN: r105549
2005-10-18 12:30:32 +00:00
Richard Earnshaw
6d7e9a3582 Update my preferred email address.
From-SVN: r105546
2005-10-18 08:39:47 +00:00
Mark Mitchell
51b099e5f2 re PR c++/21908 (poor diagnostic with vitrual base classes)
PR c++/21908
	* call.c (build_new_method_call): Do not show VTT parameters to
	the user.

From-SVN: r105542
2005-10-18 05:56:04 +00:00
Alexey Starovoytov
1630e763dc re PR middle-end/23522 (fold_widened_comparison bug)
PR middle-end/23522
	* fold-const.c (fold_widened_comparison): Do not allow range based
	constant folding when right operand cannot be unwidened.

Co-Authored-By: Ian Lance Taylor <ian@airs.com>

From-SVN: r105536
2005-10-18 03:16:21 +00:00
Richard Henderson
74395677b7 builtins.c (expand_builtin_synchronize): Build a new-style asm with a memory clobber.
* builtins.c (expand_builtin_synchronize): Build a new-style asm
        with a memory clobber.

From-SVN: r105535
2005-10-17 20:12:55 -07:00
James E Wilson
1b2914a086 Fix IA-64 libada build failure, abnormal call edges on non-call insns.
PR rtl-optimization/17356
* cfgrtl.c (purge_dead_edges): Check for EDGE_ABNORMAL_CALL before
checking for EDGE_EH.

From-SVN: r105533
2005-10-17 17:22:53 -07:00
GCC Administrator
55ae1d648c Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105529.2
2005-10-18 00:16:12 +00:00
Eric Botcazou
7617ec024b sparc.c (function_arg_slotno): In 64-bit mode...
* config/sparc/sparc.c (function_arg_slotno): In 64-bit mode, align
	the slot on an even boundary for any type with 16-byte alignment.

From-SVN: r105524
2005-10-17 23:26:29 +00:00
Volker Reichelt
0ef8776d01 re PR c++/23440 ("void f(){for" crashes the C++ frontend)
PR c++/23440
	* parser.c (cp_parser_statement): If the parser reached CPP_EOF,
	only complain about missing statement.

	* g++.dg/parse/for1.C: New test.

From-SVN: r105520
2005-10-17 22:22:30 +00:00
Paul Thomas
4213f93b6a re PR fortran/23446 (Valid internal subprogram array argument declaration is not accepted.)
2005-10-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/23446
	* gfortran.h: Primitive for gfc_is_formal_arg.
	* resolve.c(gfc_is_formal_arg): New function to signal across
	several function calls that formal argument lists are being
	processed.
	(resolve_formal_arglist): Set/reset the flag for gfc_is_formal_arg.
	*expr.c(check_restricted): Add check, via gfc_is_formal_arg, if
	symbol is part of an formal argument declaration.

	PR fortran/21459
	* decl.c (add_init_expr_to_sym): Make a new character
	length for each variable, when the expression is NULL
	and link to cl_list.

	PR fortran/20866
	* match.c (recursive_stmt_fcn): New function that tests if
	a statement function resurses through itself or other other
	statement functions.
	(gfc_match_st_function): Call recursive_stmt_fcn to check
	if this is recursive and to raise error if so.

	PR fortran/20849
	PR fortran/20853
	* resolve.c (resolve_symbol): Errors for assumed size arrays
	with default initializer and for external objects with an
	initializer.

	PR fortran/20837
	* decl.c (match_attr_spec): Prevent PUBLIC from being used
	outside a module.

2005-10-17  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/23446
	* gfortran.dg/host_dummy_index_1.f90: New test.

	PR fortran/21459
	gfortran.dg/automatic_char_len_2.f90: New test.

	PR fortran/20866
	gfortran.dg/recursive_statement_functions.f90: New test.

	PR fortran/20853
	gfortran.dg/assumed_size_dt_dummy.f90: New test.

	PR fortran/20849
	gfortran.dg/external_initializer.f90: New test.

	PR fortran/20837
	non_module_public.f90: New test.

From-SVN: r105518
2005-10-17 20:52:37 +00:00
Hans-Peter Nilsson
be3914df4c re PR target/23424 (cris.md rtl canonicalization bug)
PR target/23424
	* md.texi (Modifiers) <%>: Clarify that % doesn't work
	after register allocation.

From-SVN: r105517
2005-10-17 20:39:45 +00:00
DJ Delorie
b3fdec9ea5 m32c.c (m32c_pushm_popm): Don't mark epilogue insns as frame related.
* config/m32c/m32c.c (m32c_pushm_popm): Don't mark epilogue insns
as frame related.

From-SVN: r105511
2005-10-17 13:50:55 -04:00
Nathan Sidwell
61e71a9e5e re PR c++/24386 (wrong virtual function called in template member)
cp:
	PR c++/24386
	* cp-tree.h (BASELINK_QUALIFIED_P): New.
	* pt.c (tsubst_copy_and_build): <CALL_EXPR case>: Use it.
	* typeck.c (finish_class_member_access_expr): Set it.
testsuite:
	PR c++/24386
	* g++.dg/template/overload7.C: New.

From-SVN: r105507
2005-10-17 17:25:17 +00:00
Jonathan Wakely
7010f39ea6 re PR libstdc++/24244 (Problem with tr1::shared_ptr and pthreads_mutex_lock)
2005-10-17  Jonathan Wakely  <redi@gcc.gnu.org>

	PR libstdc++/24244
	* include/tr1/boost_shared_ptr.h (_Sp_counted_base::_Sp_counted_base()):
	When __GTHREAD_MUTEX_INIT is defined, initialize the mutex.

From-SVN: r105506
2005-10-17 17:23:42 +00:00
Andreas Krebbel
15c85bc270 objc-act.c (objc_build_component_ref): Adjust call to finish_class_member_access_expr due to a changed prototype.
2005-10-17  Andreas Krebbel  <krebbel1@de.ibm.com>

	* objc-act.c (objc_build_component_ref): Adjust call to
	finish_class_member_access_expr due to a changed prototype.

From-SVN: r105503
2005-10-17 14:51:03 +00:00
Nathan Sidwell
dae1bf4d22 re PR c++/22551 ([ICE] in tree_low_cst, at tree.c:3843)
.:	PR c++/22551
	* c-common.c (c_add_case_label): Revert my 2005-10-14 clearing of
	overflow flags.
testsuite:
	PR c++/22551
	* g++.dg/other/switch2.C: Remove expected warnings.

From-SVN: r105501
2005-10-17 13:54:34 +00:00
Bernd Schmidt
61efc80019 configure.in (bfin-*-*): Use test, not brackets, in if statement.
* configure.in (bfin-*-*): Use test, not brackets, in if statement.
	* configure: Regenerate.

From-SVN: r105500
2005-10-17 12:56:37 +00:00
Kaz Kojima
e13602df83 sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns to 2 if it's already non-zero.
* config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns
	to 2 if it's already non-zero.
	(OVERRIDE_OPTIONS): Clear flag_schedule_insns if flag_exceptions
	is set and warn about it if flag_schedule_insns is 1.

From-SVN: r105496
2005-10-17 12:42:51 +00:00
Paul Woegerer
a95c63d876 Add missing entry for config/crx/crx.md
From-SVN: r105495
2005-10-17 12:26:31 +00:00
Nathan Sidwell
c3ee4651b2 re PR c++/21353 (rvalues should not be allowed to be default values for non const references in class functions.)
cp:
	PR c++/21353
	* g++.dg/template/defarg6.C: New.
testsuite:
	PR c++/21353
	* decl.c (check_default_argument): Don't check
	processing_template_decl or uses_template_parms here.
	(grokparms): Only call check_default_argument when not processing
	a template decl.
	* parser.c (cp_parser_late_parsing_default_arg): Call
	check_default_argument when not processing a template decl.

From-SVN: r105492
2005-10-17 11:19:12 +00:00
Paul Woegerer
5acaf46030 compare & branch invalidates CC
From-SVN: r105491
2005-10-17 08:19:59 +00:00
Uros Bizjak
9952399443 re PR target/24315 (amd64 fails -fpeephole2)
PR target/24315
	* config/i386/i386.md (*pushdi2_rex64 splitter)
	(*movdi_1_rex64 splitter, *ashldi3_1 splitter)
	(*ashrdi3_1 splitter, *lshrdi3_1 splitter): Delay splitting after
	flow2 pass only when (optimize > 0 && flag_peephole2).

testsuite:

	PR target/24315
	* gcc.target/i386/pr24315.c: New test.

From-SVN: r105489
2005-10-17 09:09:24 +02:00
Andrew Pinski
af41c57d04 re PR driver/22544 (gcc ignores input file given on the command line)
2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>

        PR driver/22544
        * gcc.c (have_c): New static variable.
        (have_o): Likewise.
        (process_command): Remove declation of have_c.
        Set have_o to 1 when handling -o.
        (main): Add a fatel error if there are multiple
        files specified and -o and -c/-S is passed witout
        -combine or multiple languages.

From-SVN: r105487
2005-10-16 21:22:03 -07:00
Daniel Berlin
d938e4612a re PR tree-optimization/22444 (ICE at tree-into-ssa.c:466)
2005-10-16  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/22444
	* tree-ssa-alias.c (compute_flow_insensitive_aliasing):
	Assert that we don't hit something with subvars.
	(setup_pointers_and_addressables): Don't add things with subvars,
	because we'll already process the subvars for aliasing purposes.

From-SVN: r105486
2005-10-17 02:28:44 +00:00
Daniel Berlin
7f52714a72 Add svn version
From-SVN: r105484
2005-10-17 00:58:48 +00:00
Daniel Berlin
4dc7b0f0df SVN version
From-SVN: r105483
2005-10-17 00:48:54 +00:00
GCC Administrator
a0d50d73d6 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105478.2
2005-10-17 00:16:14 +00:00
Mark Mitchell
2d22db1f2a re PR c++/24389 (template variable not getting marked as weak)
PR c++/24389
	* decl2.c (mark_used): Use uses_template_parms instead of
	dependent_type_p.
	* init.c (constant_value_1): Handle uninstantiated templates
	specially.
	* pt.c (instantiate_decl): Add sanity check.
	PR c++/24389
	* g++.dg/template/static21.C: New test.
	* g++.dg/template/static21-a.cc: Likewise.

From-SVN: r105474
2005-10-16 23:17:53 +00:00
Hans-Peter Nilsson
1165f3777b re PR target/23424 (cris.md rtl canonicalization bug)
PR target/23424
	* config/cris/cris.md ("*mov_side<mode>", "*mov_sidesisf")
	("*mov_side<mode>_mem", "*mov_sidesisf_mem", "*clear_side<mode>")
	("*ext_sideqihi", "*ext_side<mode>si", "*op_side<mode>")
	("*op_swap_side<mode>", "*extopqihi_side", "*extop<mode>si_side")
	("*extopqihi_swap_side", "*extop<mode>si_swap_side"): Have separate,
	swapped, alternatives for the R constraint.

From-SVN: r105473
2005-10-16 23:11:50 +00:00
Hans-Peter Nilsson
b100540d58 Add missing PR number last commit
From-SVN: r105472
2005-10-16 22:40:41 +00:00
Mark Mitchell
459051a0de re PR c++/22173 (Bogus template keyword accepted)
PR c++/22173
	* typeck.c (check_template_keyword): Fix thinko.

From-SVN: r105471
2005-10-16 21:58:08 +00:00
Mark Mitchell
bf40d45d18 re PR c++/22173 (Bogus template keyword accepted)
PR c++/22173
	* decl.c (check_template_keyword): Fix thinko.

From-SVN: r105470
2005-10-16 21:57:42 +00:00
Hans-Peter Nilsson
2de0aa52f5 builtins.c (get_builtin_sync_mode): Make unlimited mode_for_size request.
* builtins.c (get_builtin_sync_mode): Make unlimited
	mode_for_size request.

From-SVN: r105469
2005-10-16 21:30:42 +00:00
Andrew Pinski
dddf9a0a08 re PR c++/23959 (-Wswitch-default reports missing default in a template that has one)
2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c++/23959
        * decl.c (pop_switch): Only call c_do_switch_warnings
        when not processing templates.

2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>

        PR c++/23959
        * g++.dg/warn/Wswitch-default-1.C: New test.
        * g++.dg/warn/Wswitch-default-2.C: New test.

From-SVN: r105466
2005-10-16 14:13:11 -07:00
Mark Mitchell
5bf8b82d52 Correct PR#
From-SVN: r105465
2005-10-16 20:18:53 +00:00
Mark Mitchell
02ed62dd46 re PR c++/22137 (Internal error: Segmentation fault (program cc1plus))
PR c++/22137
	* cp-tree.h (QUALIFIED_NAME_IS_TEMPLATE): New macro.
	(check_template_keyword): New function.
	(finish_id_expression): Change prototoype.
	(finish_qualified_id_expr): Change prototype.
	(build_qualified_name): New function.
	(finish_class_member_access_expr): Change prototype.
	* init.c (build_offset_ref): Use build_qualified_name.
	* mangle.c (write_expression): Likewise.
	* parser.c (cp_parser_primary_expression): Remove qualifying_class
	parameter.  Add address_p and template_arg_p.  Use
	build_qualified_name.
	(cp_parser_id_expression): Default *template_p to
	template_keyword_p.  Check for invalid uses of the template
	keyword.
	(cp_parser_postfix_expression): Eliminate special handling for
	qualified names.  Adjust call to cp_parser_primary_expression.
	(cp_parser_postfix_dot_deref_expression): Adjust call to
	cp_parser_id_expression and finish_class_member_access_expr.
	(cp_parser_template_argument_list): Add comment.
	(cp_parser_template_argument): Adjust use of
	cp_parser_primary_expression.  Remove call to
	finish_qualified_id_expr.
	(cp_parser_lookup_name): Use build_qualified_name.
	* pt.c (tsubst): Use build_qualified_name.
	(tsubst_qualified_id): Likewise.  Adjust call to
	finish_qualified_id_expr.
	(tsubst_copy): Use build_qualified_name.
	(tsubst_copy_and_build): Adjusts call to finish_id_expression and
	finish_class_member_access_expr.
	* semantics.c (finish_non_static_data_member): Use
	build_qualified_name.
	(finish_qualified_id_expr): Add template_p and template_arg_p
	parameters.
	(finish_id_expression): Remove qualifiying_class parameter.  Add
	template_p, done, address_p, and template_arg_p.  Use
	build_qualified_name.  Adjust calls to
	finish_class_member_acess_expr.
	* tree.c (build_qualified_name): New function.
	* typeck.c (check_template_keyword): New function.
	(finish_class_member_access_expr): Add template_p argument.  Check
	for invalid uses of the template keyword.

	PR c++/22137
	* g++.dg/parse/template18.C: New test.
	* g++.dg/template/nontype15.C: Likewise.

From-SVN: r105463
2005-10-16 19:38:57 +00:00
Erik Edelmann
c2b27658fe re PR fortran/22273 (problem to declare a character variable link to an intent(out) object)
2005-10-16  Erik Edelmann  <erik.edelmann@iki.fi>
fortran/
	PR 22273
	* expr.c (check_inquiry): Add "len" to inquiry_function.
testsuite/
	PR fortran/22273
	* gfortran.dg/spec_expr_2.f90: New.

From-SVN: r105460
2005-10-16 15:59:36 +02:00
Richard Henderson
a9f7c5705b gimplify.c (gimplify_var_or_parm_decl): Split out from ...
* gimplify.c (gimplify_var_or_parm_decl): Split out from ...
        (gimplify_expr): ... here.
        (gimplify_compound_lval): Use it in initial scan loop.  Allow
        fb_lvalue in base expression.

From-SVN: r105458
2005-10-15 22:08:26 -07:00
Jason Merrill
cb807ba36b tweak comment
From-SVN: r105457
2005-10-16 00:01:22 -04:00
Hans-Peter Nilsson
d4d28139a8 debug3.C, [...]: Guard test with { target fpic }.
* g++.dg/debug/debug3.C, g++.dg/ext/visibility/noPLT.C,
	g++.dg/opt/vt1.C, g++.old-deja/g++.other/local-alloc1.C,
	gcc.dg/20001009-1.c, gcc.dg/20010912-1.c, gcc.dg/20020122-4.c,
	gcc.dg/20020415-1.c, gcc.dg/20020430-1.c, gcc.dg/20021018-1.c,
	gcc.dg/20021023-1.c, gcc.dg/20021029-1.c, gcc.dg/20021116-1.c,
	gcc.dg/20030120-1.c, gcc.dg/20030213-1.c, gcc.dg/20030225-1.c,
	gcc.dg/20030702-1.c, gcc.dg/20030708-1.c, gcc.dg/20040311-2.c,
	gcc.dg/inline-2.c: Guard test with { target fpic }.  Remove
	previous target-specific skips and warning-message matches where
	applicable.

From-SVN: r105455
2005-10-16 01:14:19 +00:00
Daniel Berlin
a76b437658 Modify update_version for SVN
From-SVN: r105454
2005-10-16 00:59:09 +00:00
GCC Administrator
9e87dfda26 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105451.2
2005-10-16 00:16:12 +00:00
Richard Henderson
1e188d1e13 re PR middle-end/23714 (ICE in expand_assignment)
PR 23714
        * builtins.c (expand_builtin_trap): Export.
        * expr.h (expand_builtin_trap): Declare.
        * expr.c (expand_assignment): Emit a trap for integral offsets
        from registers that weren't reduced to bitpos.

        * tree-cfg.c (mark_array_ref_addressable_1): Remove.
        (mark_array_ref_addressable): Remove.
        * tree-flow.h (mark_array_ref_addressable): Remove.
        * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Don't call it.

From-SVN: r105449
2005-10-15 17:07:17 -07:00
Paolo Carlini
48c410a254 functional: Add missing #pragma GCC system_header.
2005-10-15  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/functional: Add missing #pragma GCC system_header.

From-SVN: r105444
2005-10-15 19:46:58 +00:00
Mark Mitchell
550d1bf420 re PR c++/21347 (spurious warning with -Wctor-dtor-privacy)
PR c++/21347
	* class.c (maybe_warn_about_overly_private_class): Lazy
	constructors are public.
	PR c++/21347
	* g++.dg/warn/Wctor-dtor.C: New test.

From-SVN: r105441
2005-10-15 18:13:25 +00:00
James E Wilson
b27cedc611 Fix IA-64 sched-ebb failure due to missing dependencies.
PR target/24232
* sched-deps.c (add_dependence_list): New arg UNCOND.  Fix all callers.
(add_dependence_list_and_free): Likewise.
(sched_analyze_2, case MEM): Delete sched_insns_conditions_mutex_p
call.

From-SVN: r105437
2005-10-15 09:34:13 -07:00
Diego Novillo
2d33a2effd re PR tree-optimization/23141 (ACATS FAIL c45651a fixed point wrong code)
PR 23141
	PR 23142
	* tree-vrp.c (vrp_meet): Fix the intersection of equivalence
	sets VR0->EQUIV and VR1->EQUIV when meeting a range and an
	anti-range.
	(vrp_visit_phi_node): Only prevent infinite iterations when
	the previous result and the new result are both VR_RANGEs.

From-SVN: r105436
2005-10-15 10:30:36 -04:00
Ranjit Mathew
7b71de2644 tree-into-ssa.c (mark_def_sites): Correct minor typo in function comment.
* tree-into-ssa.c (mark_def_sites): Correct minor typo in function
	comment.

From-SVN: r105435
2005-10-15 12:17:16 +00:00