Commit Graph

71415 Commits

Author SHA1 Message Date
Steven Bosscher
7802250d16 * tree-cfg.c (tree_find_edge_insert_loc): Handle naked RETURN_EXPR.
From-SVN: r105691
2005-10-20 20:46:20 +00:00
Alexandre Oliva
cdcba1ea35 re PR middle-end/24295 (Xorg broken, #pragma weak foo = bar no longer causes bar to be referenced)
gcc/ChangeLog:
PR middle-end/24295
* cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Mark
alias targets.
* varasm.c (find_decl_and_mark_needed): After cgraph global info
is ready, stop marking functions, but still mark variables.
gcc/testsuite/ChangeLog:
PR middle-end/24295
* g++.old-deja/g++.abi/vtable2.C: Do not introduce external
declarations with the same names as thunks' alias targets, use
aliases instead.
* gcc.dg/attr-alias-3.c: New test.
* gcc.dg/weak/weak-14.c, gcc.dg/weak/weak-14a.c: New test.

From-SVN: r105688
2005-10-20 19:30:23 +00:00
Mark Mitchell
94c813b457 re PR c++/22618 (Template non-type arguments break class access protection)
PR c++/22618
	* search.c (accessible_p): Check access in the outermost set of
	template parameters.
	PR c++/22618
	* g++.dg/parse/access8.C: New test.

From-SVN: r105682
2005-10-20 18:01:52 +00:00
Richard Guenther
9ca4afb947 re PR c++/24439 (ICE with invert conditional containing throw)
2005-10-20  Richard Guenther  <rguenther@suse.de>

	PR c++/24439
	* fold-const.c (invert_truthvalue): Handle COND_EXPR with
	void type operands.

	* g++.dg/tree-ssa/pr24439.C: New testcase.

From-SVN: r105678
2005-10-20 15:19:03 +00:00
Eric Botcazou
2358ff9116 re PR rtl-optimization/23585 (mem_fun* code fine with -O1, bus error with -O2)
PR rtl-optimization/23585
	* rtlanal.c (rtx_addr_can_trap_p_1): New predicate extracted from...
	(rtx_addr_can_trap_p): ... here.  Invoke rtx_addr_can_trap_p_1.
	(may_trap_p_1): New predicate extracted from...
	(may_trap_p): ... here.  Invoke may_trap_p_1.
	(may_trap_or_fault_p): New predicate.
	* rtl.h (may_trap_or_fault_p): Declare it.
	* reorg.c (steal_delay_list_from_target): Use may_trap_or_fault_p
	instead of may_trap_p.
	(steal_delay_list_from_fallthrough): Likewise.
	(fill_simple_delay_slots): Likewise.
	(fill_slots_from_thread): Likewise.
	* function.c (pad_to_arg_alignment): Rework comment about
	SPARC_STACK_BOUNDARY_HACK.
	* config/sparc/sparc.h: Likewise.

From-SVN: r105671
2005-10-20 12:14:30 +00:00
Eric Botcazou
b88a7564ad re PR bootstrap/18939 (spurious relink of gcov and gcov-dump with the base compiler)
PR bootstrap/18939
	* Makefile.def (gcc) <target>: Fix thinko.
	* Makefile.in: Regenerate.

From-SVN: r105669
2005-10-20 11:54:41 +00:00
Richard Guenther
b501d4432b decl.c (grokdeclarator): Fix ambiguous pedwarn message.
2005-10-20  Richard Guenther  <rguenther@suse.de>

	* decl.c (grokdeclarator): Fix ambiguous pedwarn message.

From-SVN: r105662
2005-10-20 08:07:46 +00:00
Paolo Carlini
7058c3be1a sso_string_base.h (_M_swap): Rewrite.
2005-10-19  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/sso_string_base.h (_M_swap): Rewrite.

From-SVN: r105654
2005-10-20 01:07:13 +00:00
GCC Administrator
c9218d26da Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105651.2
2005-10-20 00:16:20 +00:00
Erik Edelmann
8d54aaaeb7 re PR fortran/21625 ([4.0 only] Nested derived type pointer component not initialized on ALLOCATE)
PR fortran/21625
	* gfortran.fg/der_init_1.f90: New.

From-SVN: r105643
2005-10-19 22:20:56 +00:00
Erik Edelmann
68577e5685 re PR fortran/21625 ([4.0 only] Nested derived type pointer component not initialized on ALLOCATE)
PR fortran/21625
	* resolve.c (expr_to_initialize): New function.
	(resolve_allocate_expr): Take current statement as new
	argument. Add default initializers to variables of
	derived types, if they need it.
	(resolve_code): Provide current statement as argument to
	resolve_allocate_expr().

From-SVN: r105642
2005-10-19 22:18:07 +00:00
Ulrich Weigand
8c2805d1ae * gcc.dg/20050824-1.c (f): Clobber %r13 and %r14 only on s390x.
From-SVN: r105639
2005-10-19 20:55:14 +00:00
Mark Mitchell
1d61579ed2 re PR c++/21908 (poor diagnostic with vitrual base classes)
PR c++/21908
	* g++.dg/parse/error28.C: New test.

From-SVN: r105637
2005-10-19 20:32:59 +00:00
Adrian Straetling
6fa05db65c s390.c (s390_expand_insv): New.
2005-10-19  Adrian Straetling  <straetling@de.ibm.com>

	* config/s390/s390.c (s390_expand_insv): New.
	* config/s390/s390-protos.h (s390_expand_insv): Declare.
	* config/s390/s390.md ("UNSPEC_SETHIGH"): Rename to "UNSPEC_ICM".
	("icm_hi"): Remove mode attribute.
	("*sethigh<mode><mode>"): Rewrite to "sethighpart<mode>".
	Adjust all uses.
	("*extracthi", "*extractqi"): Remove.
	(extv<mode>", "*extzv<mode>"): New.
	("insv", "*insv<mode>_mem_reg", "*insvdi_mem_reghigh",
	"*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): New.

From-SVN: r105625
2005-10-19 16:37:10 +00:00
Ulrich Weigand
a1b23b2f7c cfgexpand.c (discover_nonconstant_array_refs_r, [...]): Move here from tree-outof-ssa.c
* cfgexpand.c (discover_nonconstant_array_refs_r,
	discover_nonconstant_array_refs): Move here from tree-outof-ssa.c
	(tree_expand_cfg): Call discover_nonconstant_array_refs.
	* tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
	discover_nonconstant_array_refs.

From-SVN: r105623
2005-10-19 16:27:10 +00:00
Steven Bosscher
f95f80d1a7 re PR c/23228 (Silly "unused variable" warning after redeclaration of a local variable)
PR c/23228
	* c-decl.c (pop_scope): Don't warn about an unused variable
	if it is marked with TREE_NO_WARNING.
	(duplicate_decls): Set TREE_NO_WARNING if olddecl and newdecl
	somenow mismatch and olddecl is to be replaced.

From-SVN: r105621
2005-10-19 14:48:29 +00:00
Eric Botcazou
e48050bd06 re PR middle-end/23199 (ICE in int_mode_for_mode, at stor-layout.c:251)
PR middle-end/23199
	* cfgrtl.c (safe_insert_insn_on_edge): Use can_copy_p to detect
	whether registers live on the edge can be saved/restored.

From-SVN: r105618
2005-10-19 14:42:17 +00:00
Paolo Carlini
486516b60b rc_string_base.h (_S_terminal): Remove.
2005-10-19  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/rc_string_base.h (_S_terminal): Remove.
	(_M_set_length): Adjust.
	(_S_max_size): Change to anonymous enum.
	(_M_max_size()): Add, returns the latter.
	* include/ext/sso_string_base.h: Likewise.
	* include/ext/vstring.h (max_size): Adjust.

From-SVN: r105616
2005-10-19 14:25:31 +00:00
Kaz Kojima
0bf7267236 * config/sh/sh.c (fixup_mova): Skip notes.
From-SVN: r105612
2005-10-19 12:27:25 +00:00
Ulrich Weigand
7633f08ea7 s390-protos.h (s390_hard_regno_rename_ok): Add prototype.
* config/s390/s390-protos.h (s390_hard_regno_rename_ok): Add prototype.
	* config/s390/s390.c (s390_hard_regno_rename_ok): New function.
	(s390_can_eliminate): Handle BASE_REGNUM elimination.
	(s390_initial_elimination_offset): Likewise.
	(s390_conditional_register_usage): BASE_REGNUM is no longer a fixed
	register on TARGET_ZARCH targets.
	* config/s390/s390.h (HARD_REGNO_RENAME_OK): Define
	(INITIAL_FRAME_POINTER_OFFSET): Remove.
	(REG_ALLOC_ORDER): Move BASE_REGNUM lower.
	(ELIMINABLE_REGS): Add BASE_REGNUM elimination rule.

From-SVN: r105611
2005-10-19 11:20:48 +00:00
Andreas Krebbel
da48f5ec92 s390.md: Comment describing output modifiers updated.
2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md: Comment describing output modifiers updated.
	* config/s390/s390.c (print_operand): Likewise.

From-SVN: r105610
2005-10-19 11:01:10 +00:00
Andreas Krebbel
f695eccf71 s390.c (override_options): Added check for -mstack-size 64k limitation.
2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.c (override_options): Added check for -mstack-size
	64k limitation.
	* doc/invoke.texi: Mention that limit in the documenation.

From-SVN: r105609
2005-10-19 11:00:03 +00:00
Paolo Bonzini
d1f36c51be re PR target/19672 (Performance regression in simple loop code)
2005-10-18  Paolo Bonzini  <bonzini@gnu.org>

	PR #19672
	* dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR here.

From-SVN: r105606
2005-10-19 10:37:31 +00:00
Francois-Xavier Coudert
2cdc88b64d re PR libfortran/24432 (Missing symbols)
PR libfortran/24432
	* c99_protos.h: Define preprocessor HAVE_ macros with value 1
	instead of empty value.
	* intrinsics/c99_functions.c: Likewise.
	* intrinsics/getXid.c: Define HAVE_GETPID with value 1 instead of
	empty value.
	* intrinsics/sleep.c: Define HAVE_SLEEP with value 1 instead of
	empty value.

From-SVN: r105603
2005-10-19 09:45:27 +00:00
Richard Henderson
9c5923aea7 New test.
From-SVN: r105600
2005-10-19 02:01:09 -07:00
Francois-Xavier Coudert
821af61997 re PR libfortran/24432 (Missing symbols)
PR libfortran/24432
	* c99_protos.h: Define HAVE_ macros for all provided functions.

From-SVN: r105597
2005-10-19 08:23:42 +00:00
Paul Thomas
78c5725962 re PR fortran/24440 (gfortran failed to build 187.facerec)
2005-10-19  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/24440
	* resolve.c (resolve_symbol): Correct error in check for
	assumed size array with default initializer by testing
	for arrayspec before dereferencing it.

From-SVN: r105596
2005-10-19 05:33:32 +00:00
Daniel Berlin
b3e2e29c19 re PR tree-optimization/24231 (SSA corruption with C++ code and exceptions and loads)
2005-10-18  Daniel Berlin <dberlin@dberlin.org>

	Fix PR tree-optimization/24231

	* tree-ssa-pre.c (try_look_through_load): Skip abnormal phi names
	(compute_avail): Ditto.

From-SVN: r105594
2005-10-19 03:34:50 +00:00
Richard Henderson
fd4aca960b re PR target/24428 (TLS miscompilation on x86_64)
PR target/24428
        * config/i386/i386.c (legitimate_constant_p): Check
        SYMBOL_REF_TLS_MODEL directly.  Don't fallthru to SYMBOL_REF
        if LABEL_REF.
        (legitimate_pic_operand_p): Test SYMBOL_REF_TLS_MODEL directly.
        (legitimate_pic_address_disp_p): Reorg CONST checking to make
        sure SYMBOL_REF_TLS_MODEL is tested.  Test SYMBOL_REF_TLS_MODEL
        directly.
        (print_operand_address): Likewise.
        * config/i386/predicates.md (x86_64_immediate_operand): Test
        SYMBOL_REF_TLS_MODEL properly inside CONST.
        (x86_64_zext_immediate_operand): Likewise.
        (global_dynamic_symbolic_operand, local_dynamic_symbolic_operand,
        initial_exec_symbolic_operand, local_exec_symbolic_operand): Remove.
        * config/i386/i386-protos.h: Remove predicates.md entries.

From-SVN: r105592
2005-10-18 19:13:37 -07:00
GCC Administrator
14a814a401 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r105587.2
2005-10-19 00:16:14 +00:00
Danny Smith
7edfc01660 re PR target/23589 (internal compiler error: in rest_of_handle_final, at toplev.c:2067)
PR target/23589
	* g++.dg/ext/dllimport11.C: New.

From-SVN: r105580
2005-10-18 22:05:57 +00:00
Danny Smith
f4df3ce5b9 winnt-cxx.c (i386_pe_adjust_class_at_definition): Check that elements of TYPE_METHODS are FUNCTION_DECLs.
* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
	Check that elements of TYPE_METHODS are FUNCTION_DECLs.

From-SVN: r105577
2005-10-18 21:44:30 +00:00
Volker Reichelt
6d2989e117 re PR c++/22293 (ICE declaring destructor as friend)
PR c++/22293
	* decl.c (grokdeclarator): Reject unqualified destructors in
	friend declarations.

	* g++.dg/other/friend3.C: New test.

From-SVN: r105564
2005-10-18 16:20:55 +00:00
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