Tobias Schlüter [Sun, 7 Oct 2007 11:45:15 +0000 (13:45 +0200)]
re PR fortran/20851 (dummy argument may not appear in specification expression in elemental procedure)
PR fortran/20851
fortran/
* expr.c (check_inquiry): Typo fix in error message.
(check_init_expr): Same * 3.
(check_restricted): Verify that no dummy arguments appear in
restricted expressions in ELEMENTAL procedures.
* resolve.c (resolve_fl_variable): Exchange order of checks to
avoid side-effect.
testsuite/
* initialization_1.f90: Fix dg-error annotations.
* initialization_14.f90: New.
* initialization_7.f90: Fix dg-error annotations.
* initialization_9.f90: Likewise.
From-SVN: r129069
Paolo Carlini [Sun, 7 Oct 2007 11:14:11 +0000 (11:14 +0000)]
[multiple changes]
2007-10-07 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algobase.h (_GLIBCXX_MOVE): Add.
(swap, __iter_swap): Use it.
* testsuite/25_algorithms/rotate/moveable.cc: Remove dg-require-rvalref.
* testsuite/25_algorithms/remove/moveable.cc: Likewise.
* testsuite/25_algorithms/partition/moveable.cc: Likewise.
* testsuite/25_algorithms/swap_ranges/moveable.cc: Likewise.
* testsuite/25_algorithms/reverse/moveable.cc: Likewise.
* testsuite/25_algorithms/unique/moveable.cc: Likewise.
* testsuite/25_algorithms/remove_if/moveable.cc: Likewise.
* include/bits/stl_algobase.h (lexicographical_compare):
Clean up.
2007-10-07 Chris Jefferson <chris@bubblescope.net>
Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (remove, remove_if, unique,
__rotate(_RandomAccessIterator, _RandomAccessIterator,
_RandomAccessIterator, random_access_iterator_tag)): Use _GLIBCXX_MOVE.
(__rotate(_ForwardIterator, _ForwardIterator, _ForwardIterator,
forward_iterator_tag), __rotate(_BidirectionalIterator,
_BidirectionalIterator, _BidirectionalIterator,
bidirectional_iterator_tag), __partition(_ForwardIterator,
_ForwardIterator, _Predicate, forward_iterator_tag)): Use iter_swap.
From-SVN: r129068
Eric Botcazou [Sun, 7 Oct 2007 09:26:46 +0000 (09:26 +0000)]
Fix address.
From-SVN: r129067
Eric Botcazou [Sun, 7 Oct 2007 09:25:28 +0000 (11:25 +0200)]
dwarf2out.c (dwarf2out_frame_init): Check for DWARF2_FRAME_INFO when determining whether to record...
* dwarf2out.c (dwarf2out_frame_init): Check for DWARF2_FRAME_INFO
when determining whether to record INCOMING_RETURN_ADDR_RTX.
Co-Authored-By: Nathan Froyd <froydnj@codesourcery.com>
From-SVN: r129066
GCC Administrator [Sun, 7 Oct 2007 00:17:41 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r129064
Jerry DeLisle [Sat, 6 Oct 2007 23:47:34 +0000 (23:47 +0000)]
error_recovery_4.f90: New test.
2007-10-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/error_recovery_4.f90: New test.
From-SVN: r129060
Jerry DeLisle [Sat, 6 Oct 2007 23:44:48 +0000 (23:44 +0000)]
re PR fortran/33609 (ICE on arithmetic overflow)
2007-10-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/33609
* simplify.c (range_check): Return gfc_bad_expr if incoming expression
is NULL.
From-SVN: r129059
Benjamin Kosnik [Sat, 6 Oct 2007 23:40:32 +0000 (23:40 +0000)]
re PR libstdc++/33678 (__do_catch, __do_upcast ABI change)
2007-10-06 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/33678
* libsupc++/typeinfo (typeinfo): Revert ordering of virtual components.
From-SVN: r129058
Francois-Xavier Coudert [Sat, 6 Oct 2007 21:22:39 +0000 (21:22 +0000)]
default_format_denormal_2.f90: New test.
* gfortran.dg/default_format_denormal_2.f90: New test.
* gfortran.dg/default_format_2.inc: New test.
* gfortran.dg/default_format_denormal_1.f90: New test.
* gfortran.dg/default_format_1.inc: New test.
* gfortran.dg/default_format_1.f90: Don't test for denormalized
numbers.
* gfortran.dg/default_format_2.f90: Don't test for denormalized
numbers.
From-SVN: r129057
Eric Botcazou [Sat, 6 Oct 2007 20:28:15 +0000 (20:28 +0000)]
Revert:
2007-02-12 Eric Botcazou <ebotcazou@adacore.com>
* tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL.
* cgraphunit.c (cgraph_expand_function): If DECL_IGNORED_P is set on
the function, temporarily point the debug interface to the null one.
From-SVN: r129056
Jerry DeLisle [Sat, 6 Oct 2007 16:59:59 +0000 (16:59 +0000)]
namelist_15.f90: Revise test.
2007-10-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/namelist_15.f90: Revise test.
From-SVN: r129055
Benjamin Kosnik [Sat, 6 Oct 2007 15:08:58 +0000 (15:08 +0000)]
re PR libstdc++/33487 (parallel v3: more functions not in right namespace)
2007-10-06 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/33487
* include/parallel/algorithmfwd.h (for_each, generate, generate_n,
transform, replace, replace_if, max_element, min_element, count,
count_if): Consistently construct overloads.
* include/parallel/numericfwd.h (accumulate, adjacent_difference,
inner_product): Same.
* include/parallel/algobase.h: Same.
* include/parallel/algo.h: Same.
* include/parallel/numeric: Same.
* include/bits/algorithmfwd.h: Correct find_end placement.
* docs/html/parallel_mode.html: Document some of the interface
conventions.
* include/parallel/search.h (calc_borders): Only use operator ==.
* include/parallel/algorithmfwd.h: Move __gnu_sequential bits to...
* include/parallel/tags.h: ...here, and use a using directive.
* include/parallel/random_shuffle.h: Include stl_numeric. Qualify
uses of partial_num with __gnu_sequential.
* include/parallel/tree.h: Formatting.
From-SVN: r129054
Tobias Schlüter [Sat, 6 Oct 2007 12:17:32 +0000 (14:17 +0200)]
* simplify.c (gfc_simplify_size): Fix typo.
From-SVN: r129053
Alexandre Oliva [Sat, 6 Oct 2007 11:47:51 +0000 (11:47 +0000)]
re PR tree-optimization/33655 (ICE in bitfield_overlaps_p, at tree-sra.c:2901)
gcc/ChangeLog:
PR tree-optimization/33655
* tree-sra.c (bitfield_overlaps_p): Handle array and complex
elements.
gcc/testsuite/ChangeLog:
PR tree-optimization/33655
* gcc.dg/torture/pr33655.c: New.
From-SVN: r129052
Alexandre Oliva [Sat, 6 Oct 2007 11:43:56 +0000 (11:43 +0000)]
re PR tree-optimization/33572 (wrong code with -O)
gcc/ChangeLog:
PR tree-optimization/33572
* tree-cfg.c (verify_stmts): Check for missing PHI defs.
* tree-inline.c (update_ssa_across_eh_edges): Renamed to...
(update_ssa_across_abnormal_edges): ... this. Set slots in the
return PHI node.
(copy_edges_for_bb): Handle nonlocal label edges.
(make_nonlocal_label_edges): Deleted.
(optimize_inline_calls): Don't call it.
gcc/testsuite/ChangeLog:
PR tree-optimization/33572
* g++.dg/torture/pr33572.C: New.
From-SVN: r129051
Tobias Schlüter [Sat, 6 Oct 2007 08:55:30 +0000 (10:55 +0200)]
re PR fortran/25076 (FORALL triplet subscript must not reference any index-name)
PR fortran/25076
fortran/
* resolve.c (gfc_find_forall_index): Move towards top,
renaming to ...
(find_forall_index): ... this. Add check for NULL expr.
(resolve_forall_iterators): Verify additional constraint.
(resolve_forall): Remove checks obsoleted by new code in
resolve_forall_iterators.
testsuite/
* gfortran.dg/forall_11.f90: New.
From-SVN: r129050
Benjamin Kosnik [Sat, 6 Oct 2007 03:06:37 +0000 (03:06 +0000)]
Fixes for --disable-libstdcxx-pch.
2007-10-05 Benjamin Kosnik <bkoz@redhat.com>
Fixes for --disable-libstdcxx-pch.
* include/ext/rc_string_base.h: Include stl_iterator_base_funcs.h.
* include/ext/vstring_util.h: Include stl_iterator.h and
numeric_traits.h.
* include/tr1/functional: Include new.
* testsuite/util/testsuite_api.h: Include exception.
* testsuite/lib/libstdc++.exp (libstdc++_init): Set
PCH_CXXFLAGS via cxxpchflags.
* testsuite/25_algorithms/binary_search/requirements/
explicit_instantiation/2.cc: Same.: Fix includes.
* testsuite/25_algorithms/count_if/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/equal_range/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/find_end/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/find_first_of/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/find_if/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/for_each/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/includes/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/inplace_merge/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/lexicographical_compare/
requirements/explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/lower_bound/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/make_heap/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/max_element/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/max/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/merge/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/min_element/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/min/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/next_permutation/
requirements/explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/nth_element/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/partial_sort_copy/
requirements/explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/partial_sort/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/partition/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/pop_heap/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/prev_permutation/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/push_heap/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/random_shuffle/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/remove_copy_if/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/remove_if/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/replace_copy_if/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/replace_if/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/search_n/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/search/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/set_difference/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/set_intersection/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/set_symmetric_difference/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/set_union/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/sort_heap/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/sort/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/stable_partition/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/stable_sort/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/transform/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/unique_copy/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/unique/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/upper_bound/requirements/
explicit_instantiation/2.cc: Same.
* testsuite/25_algorithms/remove/requirements/
explicit_instantiation/pod.cc: Provide a hint to the compiler.
From-SVN: r129049
Paolo Carlini [Sat, 6 Oct 2007 02:33:12 +0000 (02:33 +0000)]
moveable.cc: Remove dg-require-rvalref.
2007-10-05 Paolo Carlini <pcarlini@suse.de>
* testsuite/23_containers/map/moveable.cc: Remove dg-require-rvalref.
* testsuite/23_containers/multimap/moveable.cc: Likewise.
* testsuite/23_containers/set/moveable.cc: Likewise.
* testsuite/23_containers/multiset/moveable.cc: Likewise.
* testsuite/23_containers/deque/moveable.cc: Likewise.
* testsuite/23_containers/list/moveable.cc: Likewise.
* testsuite/23_containers/vector/moveable.cc: Likewise.
* include/std/utility: Use _GLIBCXX_BEGIN_NAMESPACE.
2007-10-05 Paolo Carlini <pcarlini@suse.de>
Chris Jefferson <chris@bubblescope.net>
* include/bits/stl_iterator.h (class move_iterator,
make_move_iterator): Add.
Co-Authored-By: Chris Jefferson <chris@bubblescope.net>
From-SVN: r129048
GCC Administrator [Sat, 6 Oct 2007 00:17:36 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r129045
Hans-Peter Nilsson [Fri, 5 Oct 2007 22:02:19 +0000 (22:02 +0000)]
* gthr-single.h: Revert last change.
From-SVN: r129040
Michael Matz [Fri, 5 Oct 2007 17:56:52 +0000 (17:56 +0000)]
re PR middle-end/33667 (RTL sharing with divmod)
gcc/
PR middle-end/33667
* lower-subreg.c (decompose_multiword_subregs): Use
validate_unshare_change().
testsuite/
* gcc.dg/pr33667.c: New testcase.
From-SVN: r129038
Peter Bergner [Fri, 5 Oct 2007 17:55:18 +0000 (12:55 -0500)]
ra-conflict.c: Include "sparseset.h".
* ra-conflict.c: Include "sparseset.h".
(conflicts): Change to HOST_WIDEST_FAST_INT.
(allocnos_live): Redefine variable as a sparseset.
(SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE, GET_ALLOCNO_LIVE): Delete macros.
(allocno_row_words): Removed global variable.
(partial_bitnum, max_bitnum, adjacency_pool, adjacency): New variables.
(CONFLICT_BITNUM, CONFLICT_BITNUM_FAST): New defines.
(conflict_p, set_conflict_p, set_conflicts_p): New functions.
(record_one_conflict_between_regnos): Cache allocno values and reuse.
Use set_conflict_p.
(record_one_conflict): Update uses of allocnos_live to use
the sparseset routines. Use set_conflicts_p.
(mark_reg_store): Likewise.
(set_reg_in_live): Likewise.
(global_conflicts): Update uses of allocnos_live.
Use the new adjacency list to visit an allocno's neighbors
rather than iterating over all possible allocnos.
Call set_conflicts_p to setup conflicts rather than adding
them manually.
* global.c: Comments updated.
(CONFLICTP): Delete define.
(regno_compare): New function. Add prototype.
(global_alloc): Sort the allocno to regno mapping according to
which basic blocks the regnos are referenced in. Modify the
conflict bit matrix to a compressed triangular bitmatrix.
Only allocate the conflict bit matrix and adjacency lists if
we are actually going to allocate something.
(expand_preferences): Use conflict_p. Update uses of allocnos_live.
(prune_preferences): Use the FOR_EACH_CONFLICT macro to visit an
allocno's neighbors rather than iterating over all possible allocnos.
(mirror_conflicts): Removed function.
(dump_conflicts): Iterate over regnos rather than allocnos so
that all dump output will be sorted by regno number.
Use the FOR_EACH_CONFLICT macro.
* ra.h: Comments updated.
(conflicts): Update prototype to HOST_WIDEST_FAST_INT.
(partial_bitnum, max_bitnum, adjacency, adjacency_pool): Add prototypes.
(ADJACENCY_VEC_LENGTH, FOR_EACH_CONFLICT): New defines.
(adjacency_list_d, adjacency_iterator_d): New types.
(add_neighbor, adjacency_iter_init, adjacency_iter_done,
adjacency_iter_next, regno_basic_block): New static inline functions.
(EXECUTE_IF_SET_IN_ALLOCNO_SET): Removed define.
(conflict_p): Add function prototype.
* sparseset.h, sparseset.c: New files.
* Makefile.in (OBJS-common): Add sparseset.o.
(sparseset.o): New rule.
From-SVN: r129037
Richard Guenther [Fri, 5 Oct 2007 16:33:25 +0000 (16:33 +0000)]
re PR middle-end/33666 (Type verification failure with pointer to long long conversion)
2007-10-05 Richard Guenther <rguenther@suse.de>
PR middle-end/33666
* fold-const.c (fold_unary): Do not fold (long long)(int)ptr
to (long long)ptr.
* gcc.dg/pr33666.c: New testcase.
From-SVN: r129036
Michael Matz [Fri, 5 Oct 2007 15:36:16 +0000 (15:36 +0000)]
re PR inline-asm/33600 (Breakage caused by the fix to PR33552)
gcc/
PR inline-asm/33600
* function.c (match_asm_constraints_1): Check for input
being used in the outputs.
testsuite/
* gcc.target/i386/pr33600.c: New testcase.
From-SVN: r129035
Francois-Xavier Coudert [Fri, 5 Oct 2007 12:33:07 +0000 (12:33 +0000)]
gfortran.h (gfc_get_data_variable, [...]): Move to decl.c.
* gfortran.h (gfc_get_data_variable, gfc_get_data_value,
gfc_get_data): Move to decl.c.
(global_used): Rename into gfc_global_used.
(gfc_formalize_init_value, gfc_get_section_index,
gfc_assign_data_value, gfc_assign_data_value_range,
gfc_advance_section): Move to data.h.
(gfc_set_in_match_data): Remove.
* decl.c (gfc_get_data_variable, gfc_get_data_value,
gfc_get_data): Move here.
(gfc_set_in_match_data): Rename into set_in_match_data.
(gfc_match_data): Likewise.
(add_global_entry): Rename global_used into gfc_global_used.
* data.c: Include data.h.
* trans.h (gfc_todo_error): Remove.
* trans-array.c (gfc_trans_array_constructor,
gfc_conv_ss_startstride, gfc_conv_loop_setup): Change
gfc_todo_error into assertions.
* resolve.c (resolve_global_procedure): Rename global_used into
gfc_global_used.
* parse.c (gfc_global_used, parse_module, add_global_procedure,
add_global_program): Likewise.
* trans-intrinsic.c (gfc_walk_intrinsic_function): Rename
global_used into gfc_global_used.
* Make-lang.in: Add dependencies on fortran/data.h.
* data.h: New file.
From-SVN: r129034
Richard Guenther [Fri, 5 Oct 2007 12:20:18 +0000 (12:20 +0000)]
tree-cfg.c (verify_gimple_expr): Accept OBJ_TYPE_REF.
2007-10-05 Richard Guenther <rguenther@suse.de>
* tree-cfg.c (verify_gimple_expr): Accept OBJ_TYPE_REF.
* g++.dg/tree-ssa/obj-type-ref.C: New testcase.
From-SVN: r129033
Richard Sandiford [Fri, 5 Oct 2007 08:39:58 +0000 (08:39 +0000)]
Add NOMIPS16 to last commit (will be in gcc-patches@ message).
From-SVN: r129032
Richard Sandiford [Fri, 5 Oct 2007 08:34:01 +0000 (08:34 +0000)]
re PR target/33635 (Bootstrap broken on mips-sgi-irix6.5)
gcc/
PR target/33635
* config/mips/mips.c (mips_register_move_cost): Rewrite to use
subset checks. Make the cost of FPR -> FPR moves depend on
mips_mode_ok_for_mov_fmt_p.
gcc/testsuite/
PR target/33635
* gcc.target/mips/pr33635-1.c: New test.
From-SVN: r129031
Doug Kwan [Fri, 5 Oct 2007 05:35:46 +0000 (05:35 +0000)]
gthr-posix.h (__gthread_cond_broadcast, [...]): Add to extend interface for POSIX conditional variables.
2007-09-13 Doug Kwan <dougkwan@google.com>
* gcc/gthr-posix.h (__gthread_cond_broadcast, __gthread_cond_wait,
__gthread_cond_wait_recursive): Add to extend interface for POSIX
conditional variables. (__GTHREAD_HAS_COND): Macro defined to signify
support of conditional variables.
* gcc/gthr-posix95.h (__gthread_cond_broadcast, __gthread_cond_wait,
__gthread_cond_wait_recursive): Add to extend interface for POSIX
conditional variables. (__GTHREAD_HAS_COND): Macro defined to signify
support of conditional variables.
* gcc/gthr-single.h (__gthread_cond_broadcast, __gthread_cond_wait,
__gthread_cond_wait_recursive): Add to extend interface for POSIX
conditional variables.
* gcc/gthr.h: Update comments to document new interface.
* libstdc++-v3/include/ext/concurrent.h (class __mutex,
class __recursive_mutex): Add new method gthread_mutex to access
inner gthread mutex.
[__GTHREAD_HAS_COND] (class __concurrence_broadcast_error,
class __concurrence_wait_error, class __cond): Add.
* guard.cc (recursive_push, recursive_pop): Delete.
(init_in_progress_flag, set_init_in_progress_flag): Add to
replace recursive_push and recursive_pop.
(throw_recursive_init_exception): Add.
(acquire, __cxa_guard_acquire, __cxa_guard_abort and
__cxa_guard_release): [__GTHREAD_HAS_COND] Use a conditional
for synchronization of static variable initialization.
The global mutex is only held briefly when guards are
accessed. [!__GTHREAD_HAS_COND] Fall back to the old code,
which deadlocks.
* testsuite/thread/guard.cc: Add new test. It deadlocks with the
old locking code in libstdc++-v3/libsup++/guard.cc.
From-SVN: r129030
GCC Administrator [Fri, 5 Oct 2007 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r129028
Geoffrey Keating [Thu, 4 Oct 2007 21:24:03 +0000 (21:24 +0000)]
cgraphunit.c (cgraph_build_static_cdtor): Don't set DECL_IGNORED_P.
* cgraphunit.c (cgraph_build_static_cdtor): Don't set
DECL_IGNORED_P.
From-SVN: r129024
Anatoly Sokolov [Thu, 4 Oct 2007 21:18:12 +0000 (01:18 +0400)]
* config/avr/avr.c (expand_epilogue): Don't set RTX_FRAME_RELATED_P.
From-SVN: r129023
Thomas Koenig [Thu, 4 Oct 2007 20:26:24 +0000 (20:26 +0000)]
re PR fortran/33539 (Too much noise for zero-length character strings)
2007-10-04 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/33539
* resolve.c: Only warn if the string length is
less than zero.
2007-10-04 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/33539
* zero_length_2.f90: Omit warning for zero-length string.
* repeat_2.f90: Likewise.
* repeat_4.f90: Likewise.
* char_length_2.f90: Likewise.
From-SVN: r129022
Seongbae Park [Thu, 4 Oct 2007 18:58:49 +0000 (18:58 +0000)]
MAINTAINERS (Register allocation reviewer): Add myself.
2006-10-04 Seongbae Park <seongbae.park@gmail.com>
* MAINTAINERS (Register allocation reviewer): Add myself.
From-SVN: r129021
Jason Merrill [Thu, 4 Oct 2007 17:58:07 +0000 (13:58 -0400)]
re PR c++/20416 (Incorrect lifetime for temporary with static const reference)
PR c++/20416
* call.c (initialize_reference): Handle local static reference
temps properly.
From-SVN: r129020
Jerry DeLisle [Thu, 4 Oct 2007 16:02:42 +0000 (16:02 +0000)]
re PR libfortran/33253 (namelist: reading back a string with apostrophe)
2007-10-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33253
* gfortran.dg/namelist_39.f90: Revise to use long names.
From-SVN: r129018
Jerry DeLisle [Thu, 4 Oct 2007 15:59:54 +0000 (15:59 +0000)]
Fix ChangeLog.
From-SVN: r129017
Jerry DeLisle [Thu, 4 Oct 2007 15:57:28 +0000 (15:57 +0000)]
re PR libfortran/33253 (namelist: reading back a string with apostrophe)
2007-10-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33253
* io/list_read.c (read_character): Use line_buffer to scan ahead for
object name or string when no delimiter is found.
From-SVN: r129016
H.J. Lu [Thu, 4 Oct 2007 15:39:11 +0000 (15:39 +0000)]
re PR fortran/33646 (Gcc 4.3 revision 128954 failed tonto in SPEC CPU 2006)
2007-10-04 H.J. Lu <hongjiu.lu@intel.com>
PR fortran/33646
* gfortran.dg/pr33646.f90: New file.
From-SVN: r129015
François-Xavier Coudert [Thu, 4 Oct 2007 15:18:48 +0000 (15:18 +0000)]
re PR fortran/32021 (Fix,document,remove GFORTRAN_* environment variables)
PR libfortran/32021
* runtime/environ.c (init_mem, show_mem, init_round, show_round,
init_precision, show_precision, init_signal, show_signal): Remove.
(variable_table): Remove GFORTRAN_MEM_INIT, GFORTRAN_MEM_CHECK,
GFORTRAN_SIGHUP, GFORTRAN_SIGINT, GFORTRAN_FPU_ROUND and
GFORTRAN_FPU_PRECISION.
* libgfortran.h (options_t): Remove mem_check, fpu_round,
fpu_precision, sighup, sigint, allocate_init_flag and
allocate_init_value.
From-SVN: r129014
Paolo Carlini [Thu, 4 Oct 2007 15:12:34 +0000 (15:12 +0000)]
[multiple changes]
2007-10-04 Paolo Carlini <pcarlini@suse.de>
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Likewise.
2007-10-04 Chris Jefferson <chris@bubblescope.net>
Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_list.h (list<>::list(list&&),
list<>::operator=(list&&)): Add.
(list<>::swap): Adjust.
(swap(list&&, list& __y), swap(list&, list&& __y)): Add.
* include/bits/stl_vector.h (vector<>::vector(vector&&),
vector<>::operator=(vector&&)): Add.
(vector<>::swap): Adjust.
(swap(vector&&, vector& __y), swap(vector&, vector&& __y)): Add.
* include/bits/stl_bvector.h (vector<>::vector(vector&&),
vector<>::operator=(vector&&)): Add.
(vector<>::swap): Adjust.
* include/bits/stl_deque.h (deque<>::deque(deque&&),
deque<>::operator=(deque&&)): Add.
(deque<>::swap): Adjust.
(swap(deque&&, deque& __y), swap(deque&, deque&& __y)): Add.
* include/bits/stl_set.h (set<>::set(set&&),
set<>::operator=(set&&)): Add.
(set<>::swap): Adjust.
(swap(set&&, set& __y), swap(set&, set&& __y)): Add.
* include/bits/stl_map.h (map<>::map(map&&),
map<>::operator=(map&&)): Add.
(map<>::swap): Adjust.
(swap(map&&, map& __y), swap(map&, map&& __y)): Add.
* include/bits/stl_multiset.h (multiset<>::multiset(multiset&&),
multiset<>::operator=(multiset&&)): Add.
(smultiet<>::swap): Adjust.
(swap(multiset&&, multiset& __y),
swap(multiset&, multiset&& __y)): Add.
* include/bits/stl_multimap.h (multimap<>::multimap(multimap&&),
multimap<>::operator=(multimap&&)): Add.
(multimap<>::swap): Adjust.
(swap(multimap&&, multimap& __y),
swap(multimap&, multimap&& __y)): Add.
2007-10-04 Paolo Carlini <pcarlini@suse.de>
Avoid copying some allocator objects.
* include/bits/stl_list.h (_List_impl::_List_impl(),
_List_base::_List_base(), list<>::list()): Add.
* include/bits/stl_vector.h (_Vector_impl::_Vector_impl(),
_Vector_base::_Vector_base(), vector<>::vector()): Add.
* include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl(),
_Bvector_base::_Bvector_base(), vector<>::vector()): Add.
* include/bits/stl_deque.h (_Deque_impl::_Deque_impl(),
_Deque_base::_Deque_base(), deque<>::deque()): Add.
* include/bits/stl_tree.h (_Rb_tree_impl<>::_Rb_tree_impl(),
_Rb_tree_impl<>::_M_initialize): Add.
(_Rb_tree<>::_Rb_tree(const _Compare&, const allocator_type&),
_Rb_tree(const _Rb_tree&)): Adjust.
* include/bits/stl_set.h (set<>::set(),
set(_InputIterator, _InputIterator)): Use _M_t default constructor.
* include/bits/stl_map.h (map<>::map(), set(_InputIterator,
_InputIterator)): Use _M_t default constructor.
* include/bits/stl_multiset.h (multiset<>::multiset(),
multiset(_InputIterator, _InputIterator)): Use _M_t default
constructor.
* include/bits/stl_multimap.h (multimap<>::multimap(),
multimap(_InputIterator, _InputIterator)): Use _M_t default
constructor.
From-SVN: r129013
Francois-Xavier Coudert [Thu, 4 Oct 2007 15:08:14 +0000 (15:08 +0000)]
re PR fortran/33529 (Non-litteral CHARACTER kind values matching is wrong)
PR fortran/33529
* decl.c (match_char_kind): New function.
(match_char_spec): Use match_char_kind.
* gfortran.dg/char_type_len_2.f90: Adjust error message.
* gfortran.dg/char_decl_2.f90: New test.
From-SVN: r129012
Francois-Xavier Coudert [Thu, 4 Oct 2007 15:04:09 +0000 (15:04 +0000)]
re PR fortran/33502 (gfortran with .F suffix and -g3 option chokes on preprocessor syntax)
PR fortran/33502
* scanner.c (gfc_advance_line): Call debug_hooks->end_source_file
and debug_hooks->start_source_file when appropriate, and set
dbg_emitted.
(gfc_define_undef_line): New function.
(load_file): Don't error out on #define and #undef lines.
* parse.c (next_statement): Call gfc_define_undef_line.
(gfc_parse_file): Call debug_hooks->start_source_file and
debug_hooks->end_source_file for the main source file if
required.
* gfortran.h (gfc_linebuf): Add dbg_emitted field.
(gfc_define_undef_line): New prototype.
From-SVN: r129011
Richard Guenther [Thu, 4 Oct 2007 14:35:32 +0000 (14:35 +0000)]
re PR middle-end/33641 (perlbmk gets type mismatch in pointer plus expression)
2007-10-04 Richard Guenther <rguenther@suse.de>
PR middle-end/33641
* tree-cfg.c (verify_gimple_expr): Operand one of POINTER_PLUS_EXPR
does not need to be of INTEGER_TYPE.
(verify_gimple_2): New function split out from ...
(verify_gimple_1): ... here. ICE if there was an error during
verification.
* gcc.c-torture/compile/pr33641.c: New testcase.
From-SVN: r129010
H.J. Lu [Thu, 4 Oct 2007 13:42:48 +0000 (06:42 -0700)]
Mention PR fortran/33646 in revision 129000.
From-SVN: r129008
Michael Matz [Thu, 4 Oct 2007 13:35:06 +0000 (13:35 +0000)]
re PR rtl-optimization/33653 (volatile memory access optimized away)
PR rtl-optimization/33653
* gcc.dg/pr33653.c: New.
From-SVN: r129007
Michael Matz [Thu, 4 Oct 2007 13:34:09 +0000 (13:34 +0000)]
re PR rtl-optimization/33653 (volatile memory access optimized away)
PR rtl-optimization/33653
* dce.c (deletable_insn_p_1): Use volatile_refs_p().
* dse.c (scan_insn): Same.
From-SVN: r129006
Kazu Hirata [Thu, 4 Oct 2007 12:59:49 +0000 (12:59 +0000)]
* config.gcc: Remove USE_GAS for m68k targets.
From-SVN: r129005
Richard Guenther [Thu, 4 Oct 2007 09:37:04 +0000 (09:37 +0000)]
re PR tree-optimization/33627 (ICE in verify_stmts compiling abiword)
2007-10-04 Richard Guenther <rguenther@suse.de>
PR tree-optimization/33627
* tree-gimple.h (canonicalize_cond_expr_cond): Declare.
* tree-gimple.c (canonicalize_cond_expr_cond): New function,
split out from ...
* tree-ssa-forwprop.c (combine_cond_expr_cond): ... here.
* tree-ssa-ifcombine.c (ifcombine_iforif): Use it.
* g++.dg/torture/pr33627.C: New testcase.
From-SVN: r129004
Jason Merrill [Thu, 4 Oct 2007 08:48:23 +0000 (04:48 -0400)]
re PR c++/32470 (fvisibility=hidden without effect in some cases)
PR c++/32470
* name-lookup.c (push_namespace_with_attrs): Fold back into...
(push_namespace): Here.
(handle_namespace_attrs): New fn for the attr code.
(leave_scope): Don't pop_visibility.
* name-lookup.h (struct cp_binding_level): Remove has_visibility.
* parser.c (cp_parser_namespace_definition): Call
handle_namespace_attrs and pop_visibility as appropriate.
From-SVN: r129003
Tobias Schlüter [Thu, 4 Oct 2007 07:34:38 +0000 (09:34 +0200)]
re PR fortran/33626 (Parentheses get wrong kind during matching)
PR fortran/33626
fortran/
* resolve.c (resolve_operator): Always copy the type for
expressions in parentheses.
testsuite/
* gfortran.dg/parens_6.f90: New.
From-SVN: r129002
Anatoly Sokolov [Thu, 4 Oct 2007 06:51:38 +0000 (10:51 +0400)]
avr.c (commands_in_file, [...]): Remove variables.
* config/avr/avr.c (commands_in_file, commands_in_prologues,
commands_in_epilogues): Remove variables.
(avr_file_start): Remove unneded initializations of commands_in_file,
commands_in_prologues and commands_in_epilogues variables.
(avr_file_end): Remove dead code.
From-SVN: r129001
Paul Thomas [Thu, 4 Oct 2007 04:45:41 +0000 (04:45 +0000)]
re PR fortran/33542 (gfortran does not detect ambigious specific names if they are the same as generic names)
2007-10-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33542
* interface.c (check_interface1): Revert patch of 2007-10-02.
2007-10-04 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33542
* gfortran.dg/ambiguous_specific_1.f90: Remove.
From-SVN: r129000
Jason Merrill [Thu, 4 Oct 2007 01:01:00 +0000 (21:01 -0400)]
re PR c++/11756 (ICE's when using typeof in template function parameter type declarations)
PR c++/11756
* mangle.c (write_type) [TYPEOF_TYPE]: Just sorry.
From-SVN: r128999
GCC Administrator [Thu, 4 Oct 2007 00:17:15 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128997
Kazu Hirata [Wed, 3 Oct 2007 23:42:32 +0000 (23:42 +0000)]
m68k.c (m68k_output_movem): Use the MOTOROLA if MOTOROLA is to true.
* config/m68k/m68k.c (m68k_output_movem): Use the MOTOROLA if
MOTOROLA is to true.
From-SVN: r128994
Francois-Xavier Coudert [Wed, 3 Oct 2007 21:27:39 +0000 (21:27 +0000)]
re PR fortran/26682 (gfortran fails with -fwhole-program optimization)
PR fortran/26682
* trans-decl.c (build_function_decl): Set "externally_visible"
attribute on the MAIN program decl.
From-SVN: r128993
Alexandre Oliva [Wed, 3 Oct 2007 19:38:01 +0000 (19:38 +0000)]
decl.c (duplicate_decls): Preserve linkage flags for mere redeclarations of gnu_inline definitions.
2007-10-01 Alexandre Oliva <aoliva@redhat.com>
* decl.c (duplicate_decls): Preserve linkage flags for mere
redeclarations of gnu_inline definitions.
* g++.dg/ext/gnu-inline-global-redecl.C: New.
From-SVN: r128992
Richard Sandiford [Wed, 3 Oct 2007 18:39:30 +0000 (18:39 +0000)]
re PR target/33635 (Bootstrap broken on mips-sgi-irix6.5)
gcc/
PR target/33635
* config/mips/mips-protos.h (mips_split_64bit_move): Rename to...
(mips_split_doubleword_move): ...this.
* config/mips/mips.c (mips_subword): Extend to handle 64-bit words;
use natural endianness for multi-format FPR values.
(mips_split_64bit_move): Rename to...
(mips_split_doubleword_move): ...this and extend to 64-bit words.
Use move_doubleword_fpr* patterns for moves involving FPRs.
(mips_save_reg): Update the call to mips_split_64bit_move.
(mips_secondary_reload_class): Return NO_REGS for any reload of a
nonzero constant into an FPR if the constant can be forced to memory.
* config/mips/mips.md: Update the splitter calls to
mips_split_64bit_move.
(UNSPEC_LOAD_DF_LOW): Rename to...
(UNSPEC_LOAD_LOW): ...this.
(UNSPEC_LOAD_DF_HIGH): Rename to...
(UNSPEC_LOAD_HIGH): ...this.
(UNSPEC_STORE_DF_HIGH): Rename to...
(UNSPEC_STORE_WORD): ...this.
(SPLITF): New mode iterator.
(HALFMODE): New mode attribute.
(movtf): New expander.
(*movtf_internal): New define_insn_and_split.
(move_doubleword_fpr<mode>): New expander.
(load_df_low, load_df_high, store_df_high, mthc1, mfhc1): Replace
with...
(load_low<mode>, load_high<mode>, store_word<mode>, mthc1<mode>)
(mfhc1<mode>): ...these more general patterns.
gcc/testsuite/
PR target/33635
* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_isa_rev
and mips_forced_be.
(dg-mips-options): Handle -EL and -mel. Make -mfp64 imply
-mhard-float and a suitable ISA. Improve handling of -mipsXrY
options.
* gcc.target/mips/fpr-moves-1.c: New test.
* gcc.target/mips/fpr-moves-2.c: Likewise.
* gcc.target/mips/fpr-moves-3.c: Likewise.
* gcc.target/mips/fpr-moves-4.c: Likewise.
* gcc.target/mips/fpr-moves-5.c: Likewise.
* gcc.target/mips/fpr-moves-6.c: Likewise.
* gcc.target/mips/mips32r2-mxhc1.c: Remove -march=mips32r2
From-SVN: r128991
Chris Jefferson [Wed, 3 Oct 2007 17:27:18 +0000 (17:27 +0000)]
moveable.cc: New.
2007-10-03 Chris Jefferson <chris@bubblescope.net>
Benjamin Kosnik <bkoz@redhat.com>
* testsuite/20_util/pair/moveable.cc: New. Merge from
libstdcxx_so_7-branch.
* testsuite/23_containers/deque/capacity/moveable.cc: Same.
* testsuite/23_containers/deque/cons/moveable.cc: Same.
* testsuite/23_containers/deque/modifiers/moveable.cc: Same.
* testsuite/23_containers/deque/moveable.cc: Same.
* testsuite/23_containers/list/moveable.cc: Same.
* testsuite/23_containers/map/moveable.cc: Same.
* testsuite/23_containers/multimap/moveable.cc: Same.
* testsuite/23_containers/multiset/moveable.cc: Same.
* testsuite/23_containers/set/moveable.cc: Same.
* testsuite/23_containers/vector/cons/moveable.cc: Same.
* testsuite/23_containers/vector/modifiers/moveable.cc: Same.
* testsuite/23_containers/vector/moveable.cc: Same.
* testsuite/23_containers/vector/resize/moveable.cc: Same.
* testsuite/25_algorithms/heap/moveable.cc: Same.
* testsuite/25_algorithms/nth_element/moveable.cc: Same.
* testsuite/25_algorithms/partial_sort/moveable.cc: Same.
* testsuite/25_algorithms/partition/moveable.cc: Same.
* testsuite/25_algorithms/remove_if/moveable.cc: Same.
* testsuite/25_algorithms/remove/moveable.cc: Same.
* testsuite/25_algorithms/reverse/moveable.cc: Same.
* testsuite/25_algorithms/rotate/moveable.cc: Same.
* testsuite/25_algorithms/sort/moveable.cc: Same.
* testsuite/25_algorithms/swap_ranges/moveable.cc: Same.
* testsuite/25_algorithms/unique/moveable.cc: Same.
* testsuite/util/testsuite_rvalref.h: New.
* testsuite/25_algorithms/equal/equal.cc: Move to...
* testsuite/25_algorithms/equal/no_operator_ne.cc: ...this.
* testsuite/25_algorithms/heap/heap.cc: Move to...
* testsuite/25_algorithms/heap/1.cc: ...this.
* testsuite/25_algorithms/lower_bound/lower_bound.cc: Move to...
* testsuite/25_algorithms/lower_bound/no_operator_ne.cc: ...this.
* testsuite/25_algorithms/partition/partition.cc: Move to...
* testsuite/25_algorithms/partition/1.cc: ...this.
* testsuite/25_algorithms/stable_partition/1.cc: ... and this.
* testsuite/25_algorithms/search/1.cc: Update from merge.
* testsuite/25_algorithms/search/check_type.cc: Same.
* testsuite/lib/dg-options.exp (dg-require-rvalref): New.
* testsuite/lib/libstdc++.exp (check_v3_target_rvalref): New.
Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
From-SVN: r128990
Francois-Xavier Coudert [Wed, 3 Oct 2007 17:08:19 +0000 (17:08 +0000)]
* gfortran.dg/default_format_1.f90: XFAIL on all darwin targets.
From-SVN: r128989
Alexandre Oliva [Wed, 3 Oct 2007 16:58:25 +0000 (16:58 +0000)]
* cfgrtl.c (rtl_block_ends_with_call_p): Skip notes at the end.
From-SVN: r128988
Alexandre Oliva [Wed, 3 Oct 2007 16:57:21 +0000 (16:57 +0000)]
gcse.c (hash_scan_set): Insert set in insn before note at the end of basic block.
* gcse.c (hash_scan_set): Insert set in insn before note at
the end of basic block.
From-SVN: r128987
Sebastian Pop [Wed, 3 Oct 2007 15:45:10 +0000 (15:45 +0000)]
re PR tree-optimization/33576 (segfault in extract_muldiv for cpu2006 benchmark)
2007-10-03 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/33576
* testsuite/gcc.dg/tree-ssa/pr33576.c: New.
* tree-loop-linear.c (linear_transform_loops): Call remove_iv.
* lambda.h (lambda_loopnest_to_gcc_loopnest): New parameter.
(remove_iv): Declared.
* lambda-code.c (remove_iv): Not static.
(lambda_loopnest_to_gcc_loopnest): New parameter remove_ivs.
Don't remove ivs there, save ivs in the buffer.
From-SVN: r128986
Kazu Hirata [Wed, 3 Oct 2007 15:27:46 +0000 (15:27 +0000)]
* no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
From-SVN: r128985
Tobias Schlüter [Wed, 3 Oct 2007 15:00:49 +0000 (17:00 +0200)]
Fix date on ChangeLog entry.
From-SVN: r128984
François-Xavier Coudert [Wed, 3 Oct 2007 14:57:39 +0000 (14:57 +0000)]
default_format_1.f90: XFAIL on ppc-darwin.
* gfortran.dg/default_format_1.f90: XFAIL on ppc-darwin.
* gfortran.dg/default_format_2.f90: XFAIL on ppc-darwin.
From-SVN: r128983
Richard Sandiford [Wed, 3 Oct 2007 14:16:57 +0000 (14:16 +0000)]
no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
config/
* no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
libstdc++-v3/
libstdc++/
* acinclude.m4 (GLIBCXX_ENABLE_C99): Temporarily add
-fno-exceptions to CXXFLAGS. Use GCC_TRY_COMPILE_OR_LINK.
Make the tests assign results to volatile variables. Use -lm
for link tests in GCC_TRY_COMPILE_OR_LINK. Fall back to
compile-only tests if -lm is not available.
* configure: Regenerate.
From-SVN: r128982
Andrew Haley [Wed, 3 Oct 2007 12:59:57 +0000 (12:59 +0000)]
re PR java/33639 (gcj generates assembler errors)
2007-10-03 Andrew Haley <aph@redhat.com>
PR java/33639
* class.c (mangled_classname): Detect and replace illegal
characters in assembly language symbols.
(gen_indirect_dispatch_tables): Call mangled_classname() on
the type.
From-SVN: r128981
Tobias Schlüter [Wed, 3 Oct 2007 11:37:44 +0000 (13:37 +0200)]
re PR fortran/33198 (Derived type in common: Default initializer not rejected)
PR fortran/33198
fortran/
* resolve.c (has_default_initializer): Move to top. Make bool.
(resolve_common_blocks): Simplify logic. Add case for derived
type initialization.
(resolve_fl_variable_derived): Split out from ...
(resolve_fl_variable): ... from here, while adapting to new h_d_i
interface.
testsuite/
* gfortran.dg/common_errors_1.f90: New.
From-SVN: r128980
Jason Merrill [Wed, 3 Oct 2007 10:43:42 +0000 (06:43 -0400)]
re PR c++/15764 (no cleanup if temporary's dtor terminates with an exception)
PR c++/15764
* cp/decl.c (wrap_cleanups_r): New fn.
(wrap_temporary_cleanups): New fn.
(initialize_local_var): Call it.
* tree-eh.c (same_handler_p): New fn.
(optimize_double_finally): New fn.
(refactor_eh_r): New fn.
(refactor_eh): New fn.
(pass_refactor_eh): New pass.
* tree-pass.h: Declare it.
* passes.c (init_optimization_passes): Add it.
From-SVN: r128979
Doug Kwan [Wed, 3 Oct 2007 10:01:43 +0000 (10:01 +0000)]
re PR debug/31899 (-g and using declaration causing ICE in reference_to_unused)
2007-10-03 Doug Kwan <dougkwan@google.com>
Richard Guenther <rguenther@suse.de>
PR debug/31899
* dwarf2out.c (reference_to_unused): Disable sanity checking,
be conservative instead.
* g++.dg/debug/using3.C: New testcase.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r128978
Francois-Xavier Coudert [Wed, 3 Oct 2007 09:46:46 +0000 (09:46 +0000)]
re PR fortran/26682 (gfortran fails with -fwhole-program optimization)
PR fortran/26682
* options.c (gfc_post_options): Issue an error when
-fwhole-program is used.
* doc/invoke.texi (-fwhole-program): Document that Fortran
doesn't support this option.
From-SVN: r128977
Kenneth Zadeck [Wed, 3 Oct 2007 01:31:47 +0000 (01:31 +0000)]
revert accidential change in revision 128957.
From-SVN: r128976
Jerry DeLisle [Wed, 3 Oct 2007 00:39:58 +0000 (00:39 +0000)]
re PR libfortran/33253 (namelist: reading back a string with apostrophe)
2007-10-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33253
* gfortran.dg/namelist_38.f90: New test.
* gfortran.dg/namelist_39.f90: New test.
From-SVN: r128975
Paolo Carlini [Wed, 3 Oct 2007 00:34:40 +0000 (00:34 +0000)]
re PR libstdc++/33613 (compilation inconsistency upper_bound vs lower_bound with -D_GLIBCXX_DEBUG)
2007-10-03 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/33613
* include/debug/functions.h (__check_partitioned): Rename to...
(__check_partioned_lower): ... this.
(__check_partioned_upper): Add.
* include/debug/macros.h (__glibcxx_check_partitioned): Rename to...
(__glibcxx_check_partitioned_lower): ... this, adjust.
(__glibcxx_check_partitioned_upper): Add.
* include/debug/debug.h (__glibcxx_requires_partitioned): Rename to...
(__glibcxx_requires_partitioned_lower): ... this, adjust.
(__glibcxx_requires_partitioned_upper): Add.
* include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
binary search): Use the above.
* testsuite/25_algorithms/lower_bound/33613.cc: New.
* testsuite/25_algorithms/upper_bound/33613.cc: Likewise.
From-SVN: r128974
Jerry DeLisle [Wed, 3 Oct 2007 00:33:09 +0000 (00:33 +0000)]
re PR libfortran/33253 (namelist: reading back a string with apostrophe)
2007-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33253
* io/list_read.c (read_character): Use DELIM_APOSTROPHE and DELIM_QUOTE
and quote value in check of first character in string.
From-SVN: r128973
Kazu Hirata [Wed, 3 Oct 2007 00:25:22 +0000 (00:25 +0000)]
revert: no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
config/
Revert:
2007-10-02 Richard Sandiford <richard@codesourcery.com>
* no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
libstdc++/
Revert:
2007-10-02 Richard Sandiford <richard@codesourcery.com>
* acinclude.m4 (GLIBCXX_ENABLE_C99): Temporarily add
-fno-exceptions to CXXFLAGS. Use GCC_TRY_COMPILE_OR_LINK.
Make the tests assign results to volatile variables.
* configure: Regenerate.
From-SVN: r128972
GCC Administrator [Wed, 3 Oct 2007 00:17:08 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128970
Francois-Xavier Coudert [Tue, 2 Oct 2007 23:27:51 +0000 (23:27 +0000)]
re PR libfortran/33469 (Default formats for real input are not precise enough)
PR libfortran/33469
* io/write.c (write_real): Widen the default formats.
* gfortran.dg/default_format_1.f90: New test.
* gfortran.dg/default_format_2.f90: New test.
* gfortran.dg/namelist_print_1.f: Adjust expected output.
* gfortran.dg/real_const_3.f90: Adjust expected output.
From-SVN: r128967
Richard Sandiford [Tue, 2 Oct 2007 20:56:47 +0000 (20:56 +0000)]
mips.exp (setup_mips_tests): Set mips_abi to the default ABI.
gcc/testsuite/
* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_abi to the
default ABI. Split mips_forced_abi into mips_forced_abi and
mips_forced_regs.
(is_gp32_flag): Return true for -mabi=32.
(is_gp64_flag): New function. Handle 64-bit -mabi options.
(dg-mips-options): Use is_gp64_flag instead of checking specifically
for -mgp64. Update after the mips_forced_abi split. Handle -mabi=*.
Don't force an ABI for -mgp32 or -mfp32 if the flags contain -mabi=*.
* gcc.target/mips/pr33256.c: Remove -mips3 requirement.
* gcc.target/mips/save-restore-1.c: Use -mabi=32 instead of -mgp32.
* gcc.target/mips/save-restore-2.c: Likewise.
* gcc.target/mips/save-restore-3.c: Likewise.
* gcc.target/mips/save-restore-4.c: Likewise.
From-SVN: r128966
Richard Sandiford [Tue, 2 Oct 2007 20:50:46 +0000 (20:50 +0000)]
re PR middle-end/33617 (ICE for nonconstant callee-copied constructor arguments)
gcc/
PR middle-end/33617
* expr.c (expand_expr_addr_expr_1): Pass CONSTRUCTORs to
expand_expr.
gcc/testsuite/
PR middle-end/33617
* gcc.c-torture/compile/pr33617.c: New test.
From-SVN: r128965
David Daney [Tue, 2 Oct 2007 20:15:34 +0000 (20:15 +0000)]
mips.md (sync_compare_and_swap<mode>): Handle compare against constant zero.
* config/mips/mips.md (sync_compare_and_swap<mode>): Handle compare
against constant zero.
* config/mips/mips.h (MIPS_COMPARE_AND_SWAP): Handle constant zero
operand.
From-SVN: r128963
Andreas Tobler [Tue, 2 Oct 2007 19:56:50 +0000 (19:56 +0000)]
stabs-attrib-vect-darwin.c: Change options to use -gstabs+ for extended options.
2007-10-02 Andreas Tobler <a.tobler@schweiz.org>
* gcc.target/powerpc/stabs-attrib-vect-darwin.c: Change options to use
-gstabs+ for extended options.
From-SVN: r128962
Richard Sandiford [Tue, 2 Oct 2007 17:25:18 +0000 (17:25 +0000)]
no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
config/
* no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
libstdc++/
* acinclude.m4 (GLIBCXX_ENABLE_C99): Temporarily add
-fno-exceptions to CXXFLAGS. Use GCC_TRY_COMPILE_OR_LINK.
Make the tests assign results to volatile variables.
* configure: Regenerate.
From-SVN: r128959
Benjamin Kosnik [Tue, 2 Oct 2007 16:07:01 +0000 (16:07 +0000)]
2.cc: Split into...
2007-10-02 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/25_algorithms/binary_search/2.cc: Split into...
* testsuite/25_algorithms/upper_bound/2.cc: ... this.
* testsuite/25_algorithms/lower_bound/2.cc: ... this.
* testsuite/25_algorithms/equal_range/2.cc: ... and this.
* testsuite/25_algorithms/sort/vectorbool.cc: Add from
libstdcxx_so_7-branch.
From-SVN: r128958
Kenneth Zadeck [Tue, 2 Oct 2007 13:10:07 +0000 (13:10 +0000)]
ra-conflict.c: New file.
2007-09-02 Kenneth Zadeck <zadeck@naturalbridge.com>
* ra-conflict.c: New file.
* ra.h: New file.
* reload.c (push_reload, find_dummy_reload): Change DF_RA_LIVE
usage to DF_LIVE usage.
* rtlanal.c (subreg_nregs_with_regno): New function.
* df-scan.c (df_def_record_1, df_uses_record): Add code to set
DF_REF_EXTRACT, DF_REF_STRICT_LOWER_PART, and DF_REF_SUBREG flags.
(df_has_eh_preds): Removed.
(df_bb_refs_collect, df_bb_refs_collect, df_bb_refs_collect,
df_exit_block_uses_collect): Changed call from df_has_eh_preds to
bb_has_eh_pred.
* global.c (allocno, max_allocno, conflicts, allocno_row_words,
reg_allocno, EXECUTE_IF_SET_IN_ALLOCNO_SET): Moved to ra.h
(SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Moved to ra-conflicts.c.
(regs_set, record_one_conflict, record_conflicts, mark_reg_store,
mark_reg_clobber, mark_reg_conflicts, mark_reg_death): Deleted.
(global_alloc): Turn off rescanning insns after call to
global_conflicts and added call to set_preferences.
(global_conflicts): Moved to ra-alloc.c.
(set_preferences_1, set_preferences): New function.
(mirror_conflicts): Changed types for various variables.
(mark_elimination): Change DF_RA_LIVE
usage to DF_LIVE usage.
(build_insn_chain): Rewritten from scratch and made local.
(print_insn_chain, print_insn_chains): New functions.
(dump_conflicts): Do not print conflicts for fixed_regs.
(rest_of_handle_global_alloc): Turn off insn rescanning.
* hard-reg-set.h: Fixed comment.
* local-alloc.c (update_equiv_regs): Change DF_RA_LIVE
usage to DF_LIVE usage and delete refs to TOP sets.
(block_alloc): Mark regs as live if they are in the artificial
defs at top of block.
(find_stack_regs): New function.
(rest_of_handle_local_alloc): Changed urec problem to live
problem and do not turn off df rescanning.
* df.h (DF_UREC, DF_UREC_BB_INFO, DF_LIVE_TOP, DF_RA_LIVE_IN,
DF_RA_LIVE_TOP, DF_RA_LIVE_OUT, df_urec_bb_info, df_urec,
df_urec_add_problem, df_urec_get_bb_info, df_has_eh_preds): Removed.
(DF_CHAIN, DF_NOTE, DF_CHAIN): Renumbered.
(DF_REF_EXTRACT, DF_REF_STRICT_LOWER_PART, DF_REF_SUBREG): New
fields in df_ref_flags. The rest have been renumbered.
* init-regs.c (initialize_uninitialized_regs): Enhanced debugging
at -O1.
* rtl.h (subreg_nregs_with_regno): New function.
* df-problems.c: (df_get_live_out, df_get_live_in,
df_get_live_top): Removed reference to DF_RA_LIVE.
(df_lr_reset, df_lr_transfer_function, df_live_free_bb_info,
df_live_alloc, df_live_reset, df_live_local_finalize,
df_live_free): Make top set only if different from in set.
(df_lr_top_dump, df_live_top_dump): Only print top set if
different from in set.
(df_lr_bb_local_compute): Removed unnecessary check.
(df_urec_problem_data, df_urec_set_bb_info, df_urec_free_bb_info,
df_urec_alloc, df_urec_mark_reg_change, earlyclobber_regclass,
df_urec_check_earlyclobber, df_urec_mark_reg_use_for_earlyclobber,
df_urec_mark_reg_use_for_earlyclobber_1, df_urec_bb_local_compute,
df_urec_local_compute, df_urec_init, df_urec_local_finalize,
df_urec_confluence_n, df_urec_transfer_function, df_urec_free,
df_urec_top_dump, df_urec_bottom_dump, problem_UREC,
df_urec_add_problem): Removed.
(df_simulate_fixup_sets): Changed call from df_has_eh_preds to
bb_has_eh_pred.
* Makefile.in (ra-conflict.o, ra.h): New dependencies.
* basic_block.h (bb_has_abnormal_pred): New function.
* reload1.c (compute_use_by_pseudos): Change DF_RA_LIVE
usage to DF_LIVE usage.
From-SVN: r128957
Revital Eres [Tue, 2 Oct 2007 12:47:13 +0000 (12:47 +0000)]
Fix committed Changelog
From-SVN: r128956
Paul Thomas [Tue, 2 Oct 2007 11:45:11 +0000 (11:45 +0000)]
re PR fortran/33542 (gfortran does not detect ambigious specific names if they are the same as generic names)
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33542
* interface.c (check_interface1): Specific procedures are
always ambiguous if they have the same name.
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33542
* gfortran.dg/ambiguous_specific_1.f90: New test.
From-SVN: r128954
Revital Eres [Tue, 2 Oct 2007 09:22:17 +0000 (09:22 +0000)]
Add vec_init support for 750CL paired vectors and fix movv2sf_paired
From-SVN: r128952
Paul Thomas [Tue, 2 Oct 2007 08:12:11 +0000 (08:12 +0000)]
re PR fortran/33566 (fortran : wrong rank of derived type parameters array components)
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33566
* primary.c (gfc_match_rvalue): Make all expressions with array
references to structure parameters into variable expressions.
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33566
* gfortran.dg/derived_comp_array_ref_5.f90: New test.
From-SVN: r128951
Paul Thomas [Tue, 2 Oct 2007 08:03:07 +0000 (08:03 +0000)]
re PR fortran/33554 (Seg.fault: Default initialization of derived type uses uninitialized values)
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33554
* trans-decl.c (init_intent_out_dt): New function.
(gfc_trans_deferred_vars): Remove the code for default
initialization of INTENT(OUT) derived types and put it
in the new function. Call it earlier than before, so
that array offsets and lower bounds are available.
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33554
* gfortran.dg/intent_out_2.f90: New test.
From-SVN: r128950
Paul Thomas [Tue, 2 Oct 2007 07:53:05 +0000 (07:53 +0000)]
re PR fortran/33550 (ICE (segfault) when USEing ambiguous symbols)
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33550
* decl.c (get_proc_name): Return rc if rc is non-zero; ie. if
the name is a reference to an ambiguous symbol.
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33550
* gfortran.dg/ambiguous_reference_1.f90: New test.
From-SVN: r128949
Paul Thomas [Tue, 2 Oct 2007 07:17:01 +0000 (07:17 +0000)]
re PR fortran/31154 (IMPORT fails for "<imported symbol> FUNCTION (...)" kind of procedures)
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31154
PR fortran/31229
PR fortran/33334
* decl.c : Declare gfc_function_kind_locs and
gfc_function_type_locus.
(gfc_match_kind_spec): Add second argument kind_expr_only.
Store locus before trying to match the expression. If the
current state corresponds to a function declaration and there
is no match to the expression, read to the parenthesis, return
kind = -1, dump the expression and return.
(gfc_match_type_spec): Renamed from match_type_spec and all
references changed. If an interface or an external function,
store the locus, set kind = -1 and return. Otherwise, if kind
is already = -1, use gfc_find_symbol to try to find a use
associated or imported type.
match.h : Prototype for gfc_match_type_spec.
* parse.c (match_deferred_characteristics): New function.
(parse_spec): If in a function, statement is USE or IMPORT
or DERIVED_DECL and the function kind=-1, call
match_deferred_characteristics. If kind=-1 at the end of the
specification expressions, this is an error.
* parse.h : Declare external gfc_function_kind_locs and
gfc_function_type_locus.
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31154
PR fortran/31229
PR fortran/33334
* gfortran.dg/function_kinds_1.f90: New test.
* gfortran.dg/function_kinds_2.f90: New test.
* gfortran.dg/derived_function_interface_1.f90: Correct illegal
use association into interfaces.
From-SVN: r128948
John David Anglin [Tue, 2 Oct 2007 02:17:50 +0000 (02:17 +0000)]
re PR testsuite/31828 (FAIL: gcc.dg/float-range-[3-5].c (test for excess errors))
PR testsuite/31828
gcc.dg/float-range-3.c (INFINITY): Define if not defined.
(overflow): Use INFINITY, not FP_INFINITE.
gcc.dg/float-range-4.c: Likewise.
gcc.dg/float-range-5.c: Likewise.
From-SVN: r128947
Alexandre Oliva [Tue, 2 Oct 2007 01:28:06 +0000 (01:28 +0000)]
Revert patches that should have been installed in the vta branch only.
From-SVN: r128933
Alexandre Oliva [Tue, 2 Oct 2007 01:12:19 +0000 (01:12 +0000)]
tree-ssa-live.c (remove_unused_scope_block_p): Don't change generated code depending on -g.
* tree-ssa-live.c (remove_unused_scope_block_p): Don't change
generated code depending on -g. Reverts part of 2007-07-26's
patch.
From-SVN: r128932
Alexandre Oliva [Tue, 2 Oct 2007 01:10:18 +0000 (01:10 +0000)]
* ChangeLog.vta: New.
From-SVN: r128931
GCC Administrator [Tue, 2 Oct 2007 00:17:00 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128929
Jonathan Wakely [Mon, 1 Oct 2007 20:49:39 +0000 (20:49 +0000)]
valarray-inst.cc, [...]: Fix comment typos.
* src/valarray-inst.cc, include/ext/atomicity.h,
include/ext/concurrence.h, include/bits/basic_string.h,
include/bits/fstream.tcc, include/ext/vstring.h: Fix comment typos.
From-SVN: r128915