Daniel Berlin [Wed, 19 Oct 2005 03:34:50 +0000 (03:34 +0000)]
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
Richard Henderson [Wed, 19 Oct 2005 02:13:37 +0000 (19:13 -0700)]
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
GCC Administrator [Wed, 19 Oct 2005 00:16:14 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r105587.2
Danny Smith [Tue, 18 Oct 2005 22:05:57 +0000 (22:05 +0000)]
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
Danny Smith [Tue, 18 Oct 2005 21:44:30 +0000 (21:44 +0000)]
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
Volker Reichelt [Tue, 18 Oct 2005 16:20:55 +0000 (16:20 +0000)]
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
Mark Mitchell [Tue, 18 Oct 2005 15:39:12 +0000 (15:39 +0000)]
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
Nathan Sidwell [Tue, 18 Oct 2005 13:45:23 +0000 (13:45 +0000)]
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
Nathan Sidwell [Tue, 18 Oct 2005 12:30:32 +0000 (12:30 +0000)]
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
Richard Earnshaw [Tue, 18 Oct 2005 08:39:47 +0000 (08:39 +0000)]
Update my preferred email address.
From-SVN: r105546
Mark Mitchell [Tue, 18 Oct 2005 05:56:04 +0000 (05:56 +0000)]
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
Alexey Starovoytov [Tue, 18 Oct 2005 03:16:21 +0000 (03:16 +0000)]
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
Richard Henderson [Tue, 18 Oct 2005 03:12:55 +0000 (20:12 -0700)]
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
James E Wilson [Tue, 18 Oct 2005 00:22:53 +0000 (17:22 -0700)]
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
GCC Administrator [Tue, 18 Oct 2005 00:16:12 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r105529.2
Eric Botcazou [Mon, 17 Oct 2005 23:26:29 +0000 (01:26 +0200)]
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
Volker Reichelt [Mon, 17 Oct 2005 22:22:30 +0000 (22:22 +0000)]
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
Paul Thomas [Mon, 17 Oct 2005 20:52:37 +0000 (20:52 +0000)]
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
Hans-Peter Nilsson [Mon, 17 Oct 2005 20:39:45 +0000 (20:39 +0000)]
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
DJ Delorie [Mon, 17 Oct 2005 17:50:55 +0000 (13:50 -0400)]
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
Nathan Sidwell [Mon, 17 Oct 2005 17:25:17 +0000 (17:25 +0000)]
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
Jonathan Wakely [Mon, 17 Oct 2005 17:23:42 +0000 (18:23 +0100)]
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
Andreas Krebbel [Mon, 17 Oct 2005 14:51:03 +0000 (14:51 +0000)]
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
Nathan Sidwell [Mon, 17 Oct 2005 13:54:34 +0000 (13:54 +0000)]
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
Bernd Schmidt [Mon, 17 Oct 2005 12:56:37 +0000 (12:56 +0000)]
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
Kaz Kojima [Mon, 17 Oct 2005 12:42:51 +0000 (12:42 +0000)]
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
Paul Woegerer [Mon, 17 Oct 2005 12:26:31 +0000 (12:26 +0000)]
Add missing entry for config/crx/crx.md
From-SVN: r105495
Nathan Sidwell [Mon, 17 Oct 2005 11:19:12 +0000 (11:19 +0000)]
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
Paul Woegerer [Mon, 17 Oct 2005 08:19:59 +0000 (08:19 +0000)]
compare & branch invalidates CC
From-SVN: r105491
Uros Bizjak [Mon, 17 Oct 2005 07:09:24 +0000 (09:09 +0200)]
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
Andrew Pinski [Mon, 17 Oct 2005 04:22:03 +0000 (04:22 +0000)]
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
Daniel Berlin [Mon, 17 Oct 2005 02:28:44 +0000 (02:28 +0000)]
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
Daniel Berlin [Mon, 17 Oct 2005 00:58:48 +0000 (00:58 +0000)]
Add svn version
From-SVN: r105484
Daniel Berlin [Mon, 17 Oct 2005 00:48:54 +0000 (00:48 +0000)]
SVN version
From-SVN: r105483
GCC Administrator [Mon, 17 Oct 2005 00:16:14 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r105478.2
Mark Mitchell [Sun, 16 Oct 2005 23:17:53 +0000 (23:17 +0000)]
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
Hans-Peter Nilsson [Sun, 16 Oct 2005 23:11:50 +0000 (23:11 +0000)]
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
Hans-Peter Nilsson [Sun, 16 Oct 2005 22:40:41 +0000 (22:40 +0000)]
Add missing PR number last commit
From-SVN: r105472
Mark Mitchell [Sun, 16 Oct 2005 21:58:08 +0000 (21:58 +0000)]
re PR c++/22173 (Bogus template keyword accepted)
PR c++/22173
* typeck.c (check_template_keyword): Fix thinko.
From-SVN: r105471
Mark Mitchell [Sun, 16 Oct 2005 21:57:42 +0000 (21:57 +0000)]
re PR c++/22173 (Bogus template keyword accepted)
PR c++/22173
* decl.c (check_template_keyword): Fix thinko.
From-SVN: r105470
Hans-Peter Nilsson [Sun, 16 Oct 2005 21:30:42 +0000 (21:30 +0000)]
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
Andrew Pinski [Sun, 16 Oct 2005 21:13:11 +0000 (21:13 +0000)]
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
Mark Mitchell [Sun, 16 Oct 2005 20:18:53 +0000 (20:18 +0000)]
Correct PR#
From-SVN: r105465
Mark Mitchell [Sun, 16 Oct 2005 19:38:57 +0000 (19:38 +0000)]
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
Erik Edelmann [Sun, 16 Oct 2005 13:59:36 +0000 (16:59 +0300)]
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
Richard Henderson [Sun, 16 Oct 2005 05:08:26 +0000 (22:08 -0700)]
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
Jason Merrill [Sun, 16 Oct 2005 04:01:22 +0000 (00:01 -0400)]
tweak comment
From-SVN: r105457
Hans-Peter Nilsson [Sun, 16 Oct 2005 01:14:19 +0000 (01:14 +0000)]
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
Daniel Berlin [Sun, 16 Oct 2005 00:59:09 +0000 (00:59 +0000)]
Modify update_version for SVN
From-SVN: r105454
GCC Administrator [Sun, 16 Oct 2005 00:16:12 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r105451.2
Richard Henderson [Sun, 16 Oct 2005 00:07:17 +0000 (17:07 -0700)]
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
Paolo Carlini [Sat, 15 Oct 2005 19:46:58 +0000 (19:46 +0000)]
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
Mark Mitchell [Sat, 15 Oct 2005 18:13:25 +0000 (18:13 +0000)]
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
James E Wilson [Sat, 15 Oct 2005 16:34:13 +0000 (09:34 -0700)]
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
Diego Novillo [Sat, 15 Oct 2005 14:30:36 +0000 (14:30 +0000)]
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
Ranjit Mathew [Sat, 15 Oct 2005 12:17:16 +0000 (12:17 +0000)]
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
Jie Zhang [Sat, 15 Oct 2005 01:45:20 +0000 (01:45 +0000)]
* MAINTAINERS (Write After Approval): Add self.
From-SVN: r105429
GCC Administrator [Sat, 15 Oct 2005 00:16:45 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r105425.2
Volker Reichelt [Fri, 14 Oct 2005 21:35:47 +0000 (21:35 +0000)]
re PR c/23439 ("f(){for" crashes the C frontend)
PR c/23439
* c-parser.c (c_parser_for_statement): Use location of RID_FOR
to initialize loc.
* gcc.dg/for-1.c: New test.
From-SVN: r105422
Mark Mitchell [Fri, 14 Oct 2005 19:50:08 +0000 (19:50 +0000)]
re PR c++/19565 (g++ does not warn about overflow in conversion but gcc does)
PR c++/19565
* g++.dg/warn/Wconversion1.C: New test.
* g++.dg/ext/packed4.C: Compile with -w.
* g++.dg/opt/
20050511-1.C: Likewise.
* g++.old-deja/g++.other/warn4.C: Compiler with -Wconversion.
From-SVN: r105421
Jakub Jelinek [Fri, 14 Oct 2005 19:40:29 +0000 (21:40 +0200)]
primary.c (match_boz_constant): Add missing break after gfc_error.
* primary.c (match_boz_constant): Add missing break after gfc_error.
* gfortran.dg/boz_5.f90: New test.
From-SVN: r105420
Nathan Sidwell [Fri, 14 Oct 2005 16:36:49 +0000 (16:36 +0000)]
re PR c++/17796 (Too many unused parameter warnings emitted.)
PR c++/17796
* optimize.c (update_cloned_parm): Add FIRST parameter. Use it.
(maybe_clone_body): Track the first clone.
From-SVN: r105415
Per Bothner [Fri, 14 Oct 2005 14:56:45 +0000 (07:56 -0700)]
re PR preprocessor/21250 (line number 0 for <built-in> causes GAS to complain)
PR preprocessor/21250
* c-ppoutput.c (print_line): Print internal line 0 as 1.
From-SVN: r105408
Nathan Sidwell [Fri, 14 Oct 2005 12:55:33 +0000 (12:55 +0000)]
re PR c++/22551 ([ICE] in tree_low_cst, at tree.c:3843)
.: PR c++/22551
* c-common.c (c_add_case_label): Clear LOW_VALUE and HIGH_VALUE's
overflow flags. Refactor some conditionals.
testsuite:
PR c++/22551
* g++.dg/other/switch2.C: New.
From-SVN: r105405
Uros Bizjak [Fri, 14 Oct 2005 11:06:11 +0000 (13:06 +0200)]
fpu-387.h (set_fpu): Remove extra ":" in stmxcsr.
* config/fpu-387.h (set_fpu): Remove extra ":" in stmxcsr.
Change cw and cw_sse variables to unsigned.
(SSE): New definition.
(has_sse): Use it.
From-SVN: r105402
Paolo Carlini [Fri, 14 Oct 2005 10:43:30 +0000 (10:43 +0000)]
hashtable (hashtable::m_erase): Rename to erase_node.
2005-10-14 Paolo Carlini <pcarlini@suse.de>
* include/tr1/hashtable (hashtable::m_erase): Rename to erase_node.
(hashtable::erase(iterator), erase(const_iterator)): Adjust.
From-SVN: r105401
Nathan Sidwell [Fri, 14 Oct 2005 08:46:55 +0000 (08:46 +0000)]
re PR java/23620 (Segfault compiling inner interfaces)
PR java/23620
* class.c (make_class): Create empty binfo here.
(set_super_info): Only create binfo if we have superclasses.
Co-Authored-By: Wil Mahan <wmahan@gmail.com>
From-SVN: r105399
Nathan Sidwell [Fri, 14 Oct 2005 08:38:59 +0000 (08:38 +0000)]
re PR c++/23984 (second operand of PLUS_EXPR is NULL (in constructor))
cp:
PR c++/23984
* class.c (build_base_path): The vtable is always the first thing
in the vtt.
testsuite:
PR c++/23984
* g++.dg/init/ctor7.C: New.
From-SVN: r105396
Andrew Pinski [Fri, 14 Oct 2005 03:01:42 +0000 (03:01 +0000)]
re PR tree-optimization/21304 (very long compile times with large cpp file from kdebindings)
2005-10-13 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/21304
* tree-dfa.c (add_referenced_var): Only look at decls which
have TREE_CONSTANT or TREE_READONLY set instead of if
!TREE_PUBLIC or !TREE_CONSTANT.
From-SVN: r105390
David Edelsohn [Fri, 14 Oct 2005 02:33:11 +0000 (02:33 +0000)]
re PR c++/23730 (ICE instead of reporting a call to a non-existent member function)
PR c++/23730
* g++.dg/parse/crash32.C: New test.
From-SVN: r105389
James E Wilson [Fri, 14 Oct 2005 02:29:10 +0000 (19:29 -0700)]
Add missing docs for f95-cpp-input.
* doc/invoke.texi: For -x, add f95-cpp-input.
From-SVN: r105388
James E Wilson [Fri, 14 Oct 2005 01:57:19 +0000 (18:57 -0700)]
The language name changed from f95 to fortran last month.
* doc/install.texi: For --enable-languages doc, change f95 to fortran.
From-SVN: r105387
GCC Administrator [Fri, 14 Oct 2005 00:16:14 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r105382.2
Mark Mitchell [Thu, 13 Oct 2005 23:59:57 +0000 (23:59 +0000)]
re PR c++/20721 (crossing of a initialization left undetected on goto)
PR c++/20721
* cp-tree.h (DECL_NONTRIVIALLY_INITIALIZED_P): New macro.
* decl.c (duplicate_decls): Merge it into new declarations.
(decl_jump_unsafe): Use it, rather than DECL_INITIAL.
(cp_finish_decl): Set it, when appropriate.
PR c++/20721
* g++.dg/init/goto2.C: New test.
From-SVN: r105380
Andrew Haley [Thu, 13 Oct 2005 17:36:07 +0000 (17:36 +0000)]
re PR java/24251 (BC-compiled interfaces in libgcj can't be called from non-BC code)
2005-10-12 Andrew Haley <aph@redhat.com>
PR java/24251
* link.cc (ensure_method_table_complete): Install Miranda methods
for interfaces too.
From-SVN: r105375
Thomas Koenig [Thu, 13 Oct 2005 16:15:30 +0000 (16:15 +0000)]
unix.c (fd_alloc_r_at): Use read() instead of do_read() only in case of special files (e.g.
2005-10-13 Thomas Koenig <Thomas.Koenig@online.de>
* io/unix.c(fd_alloc_r_at): Use read() instead of do_read()
only in case of special files (e.g. terminals).
From-SVN: r105373
Richard Earnshaw [Thu, 13 Oct 2005 15:24:09 +0000 (15:24 +0000)]
re PR libstdc++/23926 (libstdc++-v3 configure failed)
PR libstdc++/23926
* acinclude.m4 (port_specific_symbol_files): More symbol versioning
fixes.
* configure: Regenerate.
From-SVN: r105371
Uros Bizjak [Thu, 13 Oct 2005 12:54:30 +0000 (14:54 +0200)]
* config/fpu-387.h (set_fpu): Add "=m" for stmxcsr.
From-SVN: r105369
Sebastian Pop [Thu, 13 Oct 2005 11:52:57 +0000 (13:52 +0200)]
re PR tree-optimization/24262 (ICE: verify_ssa failed with -O -msse2 -ftree-vectorize)
PR tree-optimization/24262
* tree-data-ref.c (analyze_offset_expr): Check that init is invariant
in loop all the time.
From-SVN: r105368
Mark Mitchell [Thu, 13 Oct 2005 08:38:40 +0000 (08:38 +0000)]
re PR c++/22464 (ICE on classes in template functions which attempt closure)
PR c++/22464
* semantics.c (finish_id_expression): Issue errors about uses of
local variables in containing functions even in templates.
PR c++/22180
* call.c (build_new_method_call): Correct pretty-printing of
destructor names.
* pt.c (tsubst_qualified_id): Recognize invalid uses of "~T" as an
identifier.
PR c++/23694
* decl.c (start_method): Return error_mark_node for errors.
PR c++/23307
* pt.c (push_template_decl_real): Complain about attempts to
declare template variables.
PR c++/22352
* pt.c (tsubst_template_parms): Set processing_template_decl while
processing the parameters.
(tsubst_decl): Set processing_template_decl when substituting into
a TEMPLATE_DECL.
PR c++/22405
* pt.c (most_specialized_instantiation): Robustify.
PR c++/22464
* g++.dg/template/crash/41.C: New test.
PR c++/22180
* g++.dg/template/crash40.C: New test.
PR c++/23694
* g++.dg/parse/friend5.C: New test.
PR c++/23307
* g++.dg/template/crash38.C: New test.
PR c++/22352
* g++.dg/template/friend38.C: New test.
PR c++/22405
* g++.dg/template/crash39.C: New test.
From-SVN: r105365
Hans-Peter Nilsson [Thu, 13 Oct 2005 07:29:39 +0000 (07:29 +0000)]
libstdc++.exp (libstdc++_init): Require native testing before setting v3-sharedlib to 1.
* testsuite/lib/libstdc++.exp (libstdc++_init): Require
native testing before setting v3-sharedlib to 1.
From-SVN: r105361
Joe Buck [Thu, 13 Oct 2005 04:15:44 +0000 (04:15 +0000)]
howto.html: Use reference to ifstream when including iosfwd.
2005-10-12 Joe Buck <Joe.Buck@synopsys.com>
* docs/html/27_io/howto.html: Use reference to ifstream when
including iosfwd.
From-SVN: r105356
Hans-Peter Nilsson [Thu, 13 Oct 2005 02:00:18 +0000 (02:00 +0000)]
dwarf-char1.c, [...]: Skip for mmix-*-*
* gcc.dg/debug/dwarf2/dwarf-char1.c,
gcc.dg/debug/dwarf2/dwarf-char2.c,
gcc.dg/debug/dwarf2/dwarf-char3.c: Skip for mmix-*-*
From-SVN: r105349
Hans-Peter Nilsson [Thu, 13 Oct 2005 00:54:07 +0000 (00:54 +0000)]
* gcc.dg/intmax_t-1.c: Remove mmix-*-* from dg-error statement.
From-SVN: r105343
GCC Administrator [Thu, 13 Oct 2005 00:16:14 +0000 (00:16 +0000)]
Daily bump.
[[Split portion of a mixed commit.]]
From-SVN: r105340.2
Richard Henderson [Wed, 12 Oct 2005 23:34:09 +0000 (16:34 -0700)]
re PR c/24255 (__transparent_union__ mishandled)
PR c/24255
* tree.h (DECL_TRANSPARENT_UNION): Remove.
* function.c (assign_parm_find_data_types): Don't support it.
* print-tree.c (print_node): Likewise.
* c-common.c (handle_transparent_union_attribute): Likewise.
Use build_duplicate_type.
* tree-inline.c (remap_type_1): Split out of remap_type;
properly remap aggregate fields.
(build_duplicate_type): New.
* doc/extend.texi (Variable Attributes): Remove documentation
for transparent_union.
From-SVN: r105338
Eric Botcazou [Wed, 12 Oct 2005 22:12:39 +0000 (00:12 +0200)]
re PR target/24284 (ICE (Segmentation fault))
PR target/24284
* config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
(gen_stack_pointer_dec): Likewise.
From-SVN: r105336
Danny Smith [Wed, 12 Oct 2005 20:54:50 +0000 (20:54 +0000)]
re PR target/21275 (gcc 4.0.0 crash with mingw when using stdout in global var)
PR middle-end/21275
PR middle-end/21766
* target.h (struct gcc_target): Add valid_dllimport_attribute_p
target hook.
(struct cxx): Add adjust_class_at_definition target hook.
* target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to
hook_void_tree. Add to TARGET_CXX.
* tree.h (struct decl_with_vis): Rename non_addr_const_p field to
dllimport_flag.
(DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro.
* tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
instead of attribute. Check for dllexport override. Warn if
inconsistent dll linkage. Don't lose old dllimport if decl has
had address referenced. Tweak lookup of dllimport atribute.
(handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
for target specific rules. Don't add dllimport attribute if
DECL_DECLARED_INLINE_P. Set DECL_DLLIMPORT_P when adding
dllimport attribute.
(staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
* varasm.c (initializer_constant_valid_p): Replace
DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
PR target/21801
PR target/23589
* config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to
'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
(i[34567]86-*-mingw32*): Likewise.
* doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
(TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
* config/i386/winnt.c (i386_pe_dllimport_p): Factor out
C++-specific code. Change return value to bool.
(i386_pe_dllimport_p): Likewise.
(associated_type): Simplify and make language-independent
(i386_pe_encode_section_info): Replace override of ambiguous
dllimport symbol refs with a gcc_assert.
(i386_pe_valid_dllimport_attribute_p): Define.
* config/i386/winnt-cxx.c: New file. Define C++ versions of
i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
i386_pe_adjust_class_at_definition.
* config/i386/winnt-stubs.c: New file. Define stub versions of
lang-specific functions.
* config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
i386_pe_adjust_class_at_definition.
(i386_pe_valid_dllimport_attribute_p): Declare.
* config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
* config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
PR target/19704
* config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for
dllimport attribute with test of DECL_DLLIMPORT_P.
cp
PR target/21801
PR target/23589
* class.c (finish_struct_1): Call
targetm.cxx.adjust_class_at_definition.
testsuite
* gcc.dg/dll-2.c: Add tests for warnings.
* gcc.dg/dll-3.c: Likewise.
* gcc.dg/dll-4.c: Likewise.
* g++.dg/ext/dllimport1.C: Adjust tests for warnings.
* g++.dg/ext/dllimport2.C: Likewise.
* g++.dg/ext/dllimport3.C: Likewise.
* g++.dg/ext/dllimport7.C: Likewise.
* g++.dg/ext/dllimport8.C: Likewise.
* g++.dg/ext/dllimport9.C: Likewise.
From-SVN: r105332
Paul Thomas [Wed, 12 Oct 2005 20:41:28 +0000 (20:41 +0000)]
[multiple changes]
2005-10-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/24092
* trans-types.c (gfc_get_derived_type): Insert code to obtain backend
declaration for derived types, building if necessary. Return the
derived type if the fields have been built by this process. Otherwise,
continue as before but using the already obtained backend_decls for the
derived type components. Change the gcc_assert to act on the field.
2005-10-10 Paul Thomas <pault@gcc.gnu.org>
PR fortran/24092
* gfortran.dg/derived_pointer_recursion.f90: New test.
From-SVN: r105331
Adrian Straetling [Wed, 12 Oct 2005 20:30:46 +0000 (20:30 +0000)]
combine.c (make_extraction): Correct offset computation.
* combine.c (make_extraction): Correct offset computation.
* gcc.c-torture/execute/
20051012-1.c: New test.
From-SVN: r105330
Paul Thomas [Wed, 12 Oct 2005 20:29:21 +0000 (20:29 +0000)]
re PR fortran/18082 (Infinite loop with automatic length character objects)
2005-10-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/18082
* decl.c (variable_decl): Make a new copy of the character
length for each variable, when the expression is not a
constant.
2005-10-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/18082
gfortran.dg/automatic_char_len_1.f90: New test.
From-SVN: r105329
François-Xavier Coudert [Wed, 12 Oct 2005 20:21:31 +0000 (20:21 +0000)]
gfortran.h: Add bitmasks for different FPE traps.
* gfortran.h: Add bitmasks for different FPE traps. Add fpe
member to options_t.
* invoke.texi: Document the new -ffpe-trap option.
* lang.opt: Add -ffpe-trap option.
* options.c (gfc_init_options): Initialize the FPE option.
(gfc_handle_fpe_trap_option): New function to parse the argument
of the -ffpe-trap option.
(gfc_handle_option): Add case for -ffpe-trap.
* trans-decl.c: Declare a tree for the set_fpe library function.
(gfc_build_builtin_function_decls): Build this tree.
(gfc_generate_function_code): Generate a call to set_fpe at
the beginning of the main program.
* trans.h: New tree for the set_fpe library function.
* Makefile.am: Add fpu.c to the build process, and
target-dependent code as fpu-target.h.
* Makefile.in: Regenerate.
* configure.ac: Add call to configure.host to set
FPU_HOST_HEADER.
* configure: Regenerate.
* config.h.in: Regenerate.
* aclocal.m4: Regenerate.
* configure.host: New script to determine which host-dependent
code should go in.
* libgfortran.h: Add fpe option, remove previous fpu_ options.
Add bitmasks for different FPE traps. Add prototype for set_fpu.
* runtime/environ.c: Remove environment variables to control
fpu behaviour.
* runtime/fpu.c (set_fpe): New function for the front-end.
* runtime/main.c (init): Set FPU state.
* config: New directory to store host-dependent code.
* config/fpu-387.h: New file with code handling the i387 FPU.
* config/fpu-glibc.h: New file with code for glibc systems.
* config/fpu-generic.h: Fallback for the most generic host. Issue
warnings.
From-SVN: r105328
Paul Thomas [Wed, 12 Oct 2005 20:12:46 +0000 (20:12 +0000)]
2005-10-12 Paul Thomas <pault@gcc.gnu.org>
gfortran.dg/save_common.f90, save_result.f90: Add missing newlines
at ends of file..
From-SVN: r105326
Paul Thomas [Wed, 12 Oct 2005 20:05:04 +0000 (20:05 +0000)]
re PR fortran/20847 (common block object may not have save attribute)
2005-10-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20847
PR fortran/20856
* symbol.c (check_conflict): Prevent common variables and
function results from having the SAVE attribute,as required
by the standard.
2005-10-12 Paul Thomas <pault@gcc.gnu.org>
PR fortran/20847
gfortran.dg/save_common.f90: New test.
PR fortran/20856
gfortran.dg/save_result.f90: New test.
From-SVN: r105325
Janne Blomqvist [Wed, 12 Oct 2005 19:54:59 +0000 (22:54 +0300)]
unix.c: Remove parts of patch of 2005/10/07 that cause input from the terminal to hang.
2005-10-12 Janne Blomqvist <jblomqvi@cc.hut.fi>
* io/unix.c: Remove parts of patch of 2005/10/07 that cause
input from the terminal to hang.
From-SVN: r105324
Hans-Peter Nilsson [Wed, 12 Oct 2005 19:40:28 +0000 (19:40 +0000)]
* config/cris/t-linux (LIMITS_H_TEST): Define.
From-SVN: r105322
Nathan Sidwell [Wed, 12 Oct 2005 18:13:41 +0000 (18:13 +0000)]
re PR c++/21592 (ICE in resolve_overloaded_unification/arg_assoc)
cp:
PR c++/21592
* pt.c (build_non_dependent_expr): Don't wrap a COMPONENT_REF
with already looked up member functions. Assert we're not
returning a NON_DEPENDENT_EXPR with unknown type.
* typeck.c (finish_class_member_access_expr): We can get
non-template-id-expr baselinks. If the lookup finds a baselink,
remember it even inside templates.
testsuite:
PR c++/21592
* g++.dg/template/dependent-expr1.C: Add new expected error.
* g++.dg/template/dependent-expr2.C: Adjust error text.
* g++.dg/template/overload6.C: New.
From-SVN: r105313
Nathan Sidwell [Wed, 12 Oct 2005 18:07:43 +0000 (18:07 +0000)]
re PR c++/23797 (ICE on typename outside template)
cp:
PR c++/23797
* parser.c (cp_parser_functional_cast): Cope when TYPE is not a
TYPE_DECL. Use dependent_type_p to check type.
* pt.c (uses_template_parms_p): Use dependent_type_p for a
TYPE_DECL.
(type_dependent_expression_p): Assert we've not been given a
TYPE_DECL.
testsuite:
PR c++/23797
* g++.dg/other/typename8.C: New.
From-SVN: r105312
Nathan Sidwell [Wed, 12 Oct 2005 18:02:52 +0000 (18:02 +0000)]
re PR c++/21117 (ICE after error about returning an incomplete type)
cp:
PR c++/21117
* decl.c (check_function_type): Correctly overwrite incomplete
return type with void type.
* typeck.c (check_return_expr): If the function's return type is
void, don't try and convert a return expr.
testsuite:
PR c++/21117
* g++.dg/other/return1.C: New.
From-SVN: r105310
Richard Henderson [Wed, 12 Oct 2005 16:29:35 +0000 (09:29 -0700)]
re PR rtl-optimization/23324 (unsigned bitfield in struct not accessed correctly at -O2 and above)
PR rtl-opt/23324
* cfgexpand.c (add_alias_set_conflicts): Use objects_must_conflict_p.
From-SVN: r105306