OSDN Git Service

pf3gnuchains/gcc-fork.git
12 years ago * cprop.c: Adjust outdated comments throughout.
ebotcazou [Fri, 11 Nov 2011 16:34:16 +0000 (16:34 +0000)]
* cprop.c: Adjust outdated comments throughout.
(hash_scan_set): Rename PAT parameter into SET.
(cprop_pavloc): Rename into...
(cprop_avloc): ...this.
(cprop_absaltered): Rename into...
(cprop_kill): ...this.
(alloc_cprop_mem): Adjust for above renaming.
(free_cprop_mem): Likewise.
(compute_cprop_data): Likewise.
(compute_local_properties): Rename TRANSP parameter into KILL and
adjust throughout.  Rework comments.
(try_replace_reg): Fix long line.
(cprop_jump): Likewise.
(constprop_register): Fix prototype and take INSN last.
(cprop_insn): Adjust calls to above function.  Fix long lines.
(bypass_block): Likewise.
(one_cprop_pass): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181289 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR 51090 Check that getenv result != NULL before proceeding.
jb [Fri, 11 Nov 2011 16:31:47 +0000 (16:31 +0000)]
PR 51090 Check that getenv result != NULL before proceeding.

2011-11-11  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/51090
* runtime/main.c (find_addr2line): NULL check before proceeding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181288 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/alpha/elf.h (ELF_ASCII_ESCAPES): Rename from ESCAPES.
uros [Fri, 11 Nov 2011 16:24:55 +0000 (16:24 +0000)]
* config/alpha/elf.h (ELF_ASCII_ESCAPES): Rename from ESCAPES.
(ELF_STRING_LIMIT): Rename from STRING_LIMIT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181287 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * varasm.c (default_elf_asm_output_limited_string): #ifdef
jason [Fri, 11 Nov 2011 15:27:02 +0000 (15:27 +0000)]
* varasm.c (default_elf_asm_output_limited_string): #ifdef
ELF_ASCII_ESCAPES.
(default_elf_asm_output_ascii): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181286 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/50762
uros [Fri, 11 Nov 2011 14:56:00 +0000 (14:56 +0000)]
PR target/50762
* config/i386/constraints.md (j): New address constraint.
* config/i386/predicates.md (lea_address_operand): Redefine as
special predicate.
* config/i386/i386.md (*lea_3_zext): Use "j" constraint for operand 1.
(*lea_4_zext): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181285 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-11 Andrey Belevantsev <abel@ispras.ru>
abel [Fri, 11 Nov 2011 09:19:21 +0000 (09:19 +0000)]
2011-11-11  Andrey Belevantsev  <abel@ispras.ru>

* MAINTAINERS (Selective Scheduling): Add myself as a reviewer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181284 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoRevert sparc vec_init improvements as they cause 64-bit regressions.
davem [Fri, 11 Nov 2011 08:23:34 +0000 (08:23 +0000)]
Revert sparc vec_init improvements as they cause 64-bit regressions.

gcc/

Revert
2011-11-05  David S. Miller  <davem@davemloft.net>

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181283 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * opts-common.c (generate_canonical_option): Free opt_text
jakub [Fri, 11 Nov 2011 08:15:56 +0000 (08:15 +0000)]
* opts-common.c (generate_canonical_option): Free opt_text
it it has been allocated here and not stored anywhere.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181282 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * tree-vect-slp.c (vect_free_slp_tree): Also free SLP_TREE_CHILDREN
jakub [Fri, 11 Nov 2011 08:10:07 +0000 (08:10 +0000)]
* tree-vect-slp.c (vect_free_slp_tree): Also free SLP_TREE_CHILDREN
vector.
(vect_create_new_slp_node): Don't allocate node before checking stmt
type.
(vect_free_oprnd_info): Remove FREE_DEF_STMTS argument, always
free def_stmts vectors and additionally free oprnd_info.
(vect_build_slp_tree): Adjust callers.  Call it even if
stop_recursion.  If vect_create_new_slp_node or
vect_build_slp_tree fails, properly handle freeing memory.
If it succeeded, clear def_stmts in oprnd_info.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181281 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/50372
jason [Fri, 11 Nov 2011 04:29:04 +0000 (04:29 +0000)]
PR c++/50372
* pt.c (convert_nontype_argument_function): Allow decls with
internal linkage in C++11.
(convert_nontype_argument): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181280 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * final.c, output.h (fprint_whex, fprint_w, fprint_ul, sprint_ul):
jason [Fri, 11 Nov 2011 04:00:39 +0000 (04:00 +0000)]
* final.c, output.h (fprint_whex, fprint_w, fprint_ul, sprint_ul):
New functions serving as fast replacements for fprintf() integer
to string conversions. They were used in the following changes.
* final.c (sprint_ul_rev): Internal helper for the above.
(output_addr_const): case CONST_INT: don't use fprintf().
* elfos.h (ASM_GENERATE_INTERNAL_LABEL): Don't use sprintf("%u"),
use sprint_ul() and stpcpy() which are much faster.
(TARGET_ASM_INTERNAL_LABEL): Define as default_elf_internal_label.
(ELF_ASCII_ESCAPES, ELF_STRING_LIMIT): Are the old ESCAPES and
STRING_LIMIT macros.
(ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII): Macros now just
call respective functions that provide the same
functionality. Those are default_elf_asm_output_limited_string()
and default_elf_asm_output_ascii() in varasm.c.
* varasm.c: Fixed some whitespace inconsistencies.
(default_elf_asm_output_limited_string)
(default_elf_asm_output_ascii): The above macros from elfos.h are
implemented here as these functions, avoiding superfluous calls to
fprintf().
(default_elf_internal_label): Hook for
targetm.asm_out.internal_label and ASM_OUTPUT_DEBUG_LABEL.
* i386.c: Don't call fprintf("%u") but fprint_ul() instead.
* defaults.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
Expanded the macros on multiple lines for readability.
(ASM_OUTPUT_LABELREF): Have two calls to fputs() instead of one to
asm_fprintf().
* dwarf2asm.c (dw2_assemble_integer, dw2_asm_output_data)
(dw2_asm_data_uleb128, dw2_asm_delta_uleb128)
(dw2_asm_delta_sleb128): Convert fprintf() calls to the new
faster functions.
* dwarf2out.c (dwarf2out_source_line): Convert fprintf() calls to
the new faster functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181279 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Fri, 11 Nov 2011 00:18:44 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181278 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-10 Andrew MacLeod <amacleod@redhat.com>
amacleod [Thu, 10 Nov 2011 22:46:25 +0000 (22:46 +0000)]
2011-11-10  Andrew MacLeod  <amacleod@redhat.com>

* doc/extend.texi: Document __atomic_test_and_set and __atomic_clear.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181273 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/50973
jason [Thu, 10 Nov 2011 21:14:42 +0000 (21:14 +0000)]
PR c++/50973
* decl2.c (mark_used): Defer synthesis of virtual functions.
* method.c (use_thunk): Make sure the target function has
DECL_INTERFACE_KNOWN.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181272 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/51038
amacleod [Thu, 10 Nov 2011 20:38:33 +0000 (20:38 +0000)]
PR middle-end/51038

libstdc++-v3
* include/bits/atomic_base.h (atomic_thread_fence): Call built-in.
(atomic_signal_fence): Call built-in.
(test_and_set, clear): Call new atomic built-ins.

gcc
* builtins.c (expand_builtin_atomic_clear): New.  Expand atomic_clear.
(expand_builtin_atomic_test_and_set): New.  Expand atomic test_and_set.
(expand_builtin): Add cases for test_and_set and clear.
* sync-builtins.def (BUILT_IN_ATOMIC_TEST_AND_SET): New.
(BUILT_IN_ATOMIC_CLEAR): New.

testsuite
* gcc.dg/atomic-invalid.c: Add test for invalid __atomic_clear models.
* gcc.dg/atomic-flag.c: New.  Test __atomic_test_and_set and
__atomic_clear.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181271 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/51079, DR 495
jason [Thu, 10 Nov 2011 20:28:16 +0000 (20:28 +0000)]
PR c++/51079, DR 495
* call.c (joust): Check the second conversion sequence
before checking templates.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181270 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR debug/50983
jason [Thu, 10 Nov 2011 20:28:04 +0000 (20:28 +0000)]
PR debug/50983
* dwarf2out.c (set_cur_line_info_table): Restore the last is_stmt
value in the current line table.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181269 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * fe.h (Serious_Errors_Detected): New macro.
ebotcazou [Thu, 10 Nov 2011 19:45:17 +0000 (19:45 +0000)]
* fe.h (Serious_Errors_Detected): New macro.
* gcc-interface/gigi.h (build_atomic_load): Declare.
(build_atomic_store): Likewise.
* gcc-interface/trans.c (atomic_sync_required_p): New predicate.
(call_to_gnu): Add ATOMIC_SYNC parameter.  Use local variable.
Build an atomic load for an In or In Out parameter if needed.
Build an atomic store for the assignment of an Out parameter if needed.
Build an atomic store to the target if ATOMIC_SYNC is true.
(present_in_lhs_or_actual_p): New predicate.
(gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
<N_Explicit_Dereference>: Likewise.
<N_Indexed_Component>: Likewise.
<N_Selected_Component>: Likewise.
<N_Assignment_Statement>: Adjust call to call_to_gnu.
Build an atomic store to the LHS if needed.
<N_Function_Call>:  Adjust call to call_to_gnu.
* gcc-interface/utils2.c: Include toplev.h.
(resolve_atomic_size): New static function.
(build_atomic_load): New function.
(build_atomic_store): Likewise.
* gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181267 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
rth [Thu, 10 Nov 2011 19:34:57 +0000 (19:34 +0000)]
    * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
        * configure, aclocal.m4: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181266 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcov.c (struct function_info): Make src an index, not a pointer.
nathan [Thu, 10 Nov 2011 19:17:13 +0000 (19:17 +0000)]
* gcov.c (struct function_info): Make src an index, not a pointer.
(struct source_info): Remove index and next source fields.
(fn_end): New static var.
(sources_index): Remove.
(sources): Now a pointer to an array, not a list.
(n_sources, a_sources): New.
(process_file): Adjust for changes to read_graph_file. Insert
functions into source lists and check line numbers here.
(generate_results): Only allocate lines for sources with
contents.  Adjust for source array.
(release_structures): Likewise.
(find_source): Return source index, adjust for source array.
(read_graph_file): Return function list.  Don't insert into source
lists here.
(read_count_file): Take list of functions.
(solve_flow_graph): Reverse the arc lists here.
(add_line_counts): Adjust for source array.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181265 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR middle-end/51077
jakub [Thu, 10 Nov 2011 19:02:30 +0000 (19:02 +0000)]
PR middle-end/51077
* tree-object-size.c (addr_object_size): Check TREE_CODE of
MEM_REF's operand rather than code of the MEM_REF itself.

* gcc.c-torture/compile/pr51077.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181263 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibitm port to Tru64 UNIX
ro [Thu, 10 Nov 2011 17:15:33 +0000 (17:15 +0000)]
libitm port to Tru64 UNIX

* config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
.hidden.
(.note.GNU-stack): Only use if __linux__.
* alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
* testsuite/libitm.c/notx.c: Use dg-options "-pthread".
* testsuite/libitm.c/reentrant.c: Likewise.
* testsuite/libitm.c/simple-2.c: Likewise.
* testsuite/libitm.c/txrelease.c: Likewise.
* testsuite/libitm.c++/static_ctor.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181262 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibitm: Don't add -mavx if the assembler doesn't support avx.
rth [Thu, 10 Nov 2011 17:09:04 +0000 (17:09 +0000)]
libitm: Don't add -mavx if the assembler doesn't support avx.

        * config/x86/x86_avx.cc: Remove #undef __AVX__ hack.  Tidy comments.
        * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
        * configure.ac (ARCH_X86_AVX): New conditional.
        * Makefile.in, configure: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181261 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoLet the compiler decide whether to inline.
jb [Thu, 10 Nov 2011 17:08:24 +0000 (17:08 +0000)]
Let the compiler decide whether to inline.

2011-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

* intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining.
* intrinsics/random.c (rnumber_4): Remove inline attribute.
(rnumber_8, rnumber_10, rnumber_16): Likewise.
* intrinsics/system_clock.c (gf_gettime_mono): Likewise.
* intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro.
(gf_cputime): Add inline attribute for MingW version.
* io/format.c (format_hash): Remove inline attribute.
* io/io.h (memset4): Inline function from transfer.c and write.c
moved here.
* io/transfer.c (min_off): Remove inline attribute.
(memset4): Move to io.h.
* io/write.c (memset4): Likewise.
(memcpy4): Remove inline attribute.
* io/write_float.def (calculate_exp): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181260 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR rtl-optimization/51040
amacleod [Thu, 10 Nov 2011 16:39:32 +0000 (16:39 +0000)]
PR rtl-optimization/51040
* optabs.c (expand_atomic_fetch_op): Patchup code for NAND should be AND
followed by NOT.
* builtins.c (expand_builtin_atomic_fetch_op): Patchup code for NAND
should be AND followed by NOT.
* testsuite/gcc.dg/atomic-noinline[-aux].c: Test no-inline NAND and
patchup code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181259 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * vec.h (VEC_BASE): If base is at offset 0 in the structure,
jakub [Thu, 10 Nov 2011 15:40:34 +0000 (15:40 +0000)]
* vec.h (VEC_BASE): If base is at offset 0 in the structure,
use &(P)->base even if P is NULL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181258 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR rtl-optimization/51023
jakub [Thu, 10 Nov 2011 15:36:48 +0000 (15:36 +0000)]
PR rtl-optimization/51023
* combine.c (simplify_comparison) <case SIGN_EXTEND>: Don't use
val_signbit_known_clear_p for signed comparison narrowing
optimization.  Don't check for non-VOIDmode, use
HWI_COMPUTABLE_MODE_P macro.
<case ZERO_EXTEND>: Don't check for non-VOIDmode.
Optimize even when const_op is equal to GET_MODE_MASK (mode),
don't optimize if const_op is negative.

* gcc.c-torture/execute/pr51023.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181257 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-10 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 10 Nov 2011 15:28:57 +0000 (15:28 +0000)]
2011-11-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51042
* tree-ssa-pre.c (phi_translate_1): Avoid recursing on
self-referential expressions.  Refactor code to avoid duplication.

* gcc.dg/torture/pr51042.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181256 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-10 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 10 Nov 2011 13:46:27 +0000 (13:46 +0000)]
2011-11-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51070
* tree-loop-distribution.c (generate_builtin): Do not replace
the loop with a builtin if the partition contains statements which
results are used outside of the loop.
(pass_loop_distribution): Verify and collect.

* gcc.dg/torture/pr51070.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181255 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-10 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 10 Nov 2011 12:24:52 +0000 (12:24 +0000)]
2011-11-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51030
* tree-ssa-phiopt.c (jump_function_from_stmt): New function.
(value_replacement): Use it to handle trivial non-empty
intermediate blocks.

* gcc.dg/tree-ssa/phi-opt-6.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181254 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-10 Richard Guenther <rguenther@suse.de>
rguenth [Thu, 10 Nov 2011 12:22:46 +0000 (12:22 +0000)]
2011-11-10  Richard Guenther  <rguenther@suse.de>

PR middle-end/51071
* gimple.c (gimple_has_side_effects): Remove checking code
that doesn't belong here.

* gcc.dg/torture/pr51071.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181253 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gnat.dg/loop_optimization9.ad[sb]: New test.
ebotcazou [Thu, 10 Nov 2011 10:48:11 +0000 (10:48 +0000)]
* gnat.dg/loop_optimization9.ad[sb]: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181252 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/51058
irar [Thu, 10 Nov 2011 10:14:24 +0000 (10:14 +0000)]
    PR tree-optimization/51058
        * tree-vect-slp.c (vect_get_constant_vectors): Handle CALL_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181251 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/51000
jakub [Thu, 10 Nov 2011 08:29:52 +0000 (08:29 +0000)]
PR tree-optimization/51000
* tree-vect-patterns.c (vect_recog_bool_pattern): If adding
a pattern stmt for a bool store, adjust DR_STMT too.
Don't handle bool conversions to single bit precision lhs.
* tree-vect-stmts.c (vect_remove_stores): If next is a pattern
stmt, remove its related stmt and free its stmt_vinfo.
(free_stmt_vec_info): Free also pattern stmt's vinfo and
pattern def stmt's vinfo.
* tree-vect-loop.c (destroy_loop_vec_info): Don't try to
free pattern stmt's vinfo here.
(vect_transform_loop): When calling vect_remove_stores,
do gsi_next first and don't call gsi_remove.  If not strided
store, free stmt vinfo for gsi_stmt (si) rather than stmt.

* gcc.dg/vect/pr51000.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181250 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/cp
paolo [Thu, 10 Nov 2011 02:27:16 +0000 (02:27 +0000)]
/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50837
* pt.c (tsubst_copy_and_build) [IDENTIFIER_NODE]: In C++11 mode
pass allow_non_integral_constant_expression_p = true to
finish_id_expression.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50837
* g++.dg/cpp0x/static_assert5.C: New.
* g++.dg/template/nontype13.C: Tweak.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181248 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibitm: Work around assembler missing AVX insns.
rth [Thu, 10 Nov 2011 00:29:38 +0000 (00:29 +0000)]
libitm: Work around assembler missing AVX insns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181246 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Thu, 10 Nov 2011 00:18:57 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181245 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibitm: Remove unused code.
rth [Wed, 9 Nov 2011 22:54:55 +0000 (22:54 +0000)]
libitm: Remove unused code.

In particular, unused code that's presenting portability problems.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181241 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/50972
jason [Wed, 9 Nov 2011 22:25:25 +0000 (22:25 +0000)]
PR c++/50972
* pt.c (maybe_instantiate_noexcept): Check the return value of
push_tinst_level.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181240 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/51046
jason [Wed, 9 Nov 2011 22:25:12 +0000 (22:25 +0000)]
PR c++/51046
* parser.c (cp_parser_range_for): check_for_bare_parameter_packs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181239 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR target/50911
jakub [Wed, 9 Nov 2011 21:37:27 +0000 (21:37 +0000)]
PR target/50911
* config/i386/i386.c (expand_vec_perm_interleave2): If d->vmode is
V4SImode, !TARGET_SSE2 and punpck[lh]* is needed, change dremap.vmode
to V4SFmode.

* gcc.dg/torture/vshuf-16.inc: Add interleave low and high
permutations.
* gcc.dg/torture/vshuf-32.inc: Likewise.
* gcc.dg/torture/vshuf-4.inc: Likewise.
* gcc.dg/torture/vshuf-8.inc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181238 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/tm/memopt-1.c: Fix up regexp.
jakub [Wed, 9 Nov 2011 21:36:13 +0000 (21:36 +0000)]
* gcc.dg/tm/memopt-1.c: Fix up regexp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181237 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * function.h (requires_stack_frame_p): New prototype.
jakub [Wed, 9 Nov 2011 21:28:57 +0000 (21:28 +0000)]
* function.h (requires_stack_frame_p): New prototype.
* function.c (requires_stack_frame_p): No longer static.
* config/i386/i386.c (ix86_finalize_stack_realign_flags): If
stack_realign_fp was just a conservative guess for a function
which doesn't use sp/fp/argp at all, clear frame_pointer_needed
and stack realignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181236 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * include/bits/allocator.h (__shrink_to_fit_aux::_S_do_it): Create
redi [Wed, 9 Nov 2011 21:14:03 +0000 (21:14 +0000)]
* include/bits/allocator.h (__shrink_to_fit_aux::_S_do_it): Create
the new object with the same allocator.
* testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181235 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibgcc/:
ian [Wed, 9 Nov 2011 20:06:31 +0000 (20:06 +0000)]
libgcc/:
* generic-morestack.c: Include <string.h>.
(uintptr_type): Define.
(struct initial_sp): Add dont_block_signals field.  Reduce size of
extra array by 1.
(allocate_segment): Set prev field to NULL.  Don't set
__morestack_current_segment or __morestack_segments.
(__generic_morestack): Update current->prev and *pp after calling
allocate_segment.
(__morestack_block_signals): Don't do anything if
dont_block_signals is set.
(__morestack_unblock_signals): Likewise.
(__generic_findstack): Check for initial_sp == NULL.  Add casts to
uintptr_type.
(__splitstack_block_signals): New function.
(enum __splitstack_content_offsets): Define.
(__splitstack_getcontext, __splitstack_setcontext): New functions.
(__splitstack_makecontext): New function.
(__splitstack_block_signals_context): New function.
(__splitstack_find_context): New function.
* config/i386/morestack.S (__morestack_get_guard): New function.
(__morestack_set_guard, __morestack_make_guard): New functions.
* libgcc-std.ver.in: Add new functions to GCC_4.7.0.

gcc/testsuite/:
* lib/target-supports.exp (check_effective_target_ucontext_h): New
procedure.
* gcc.dg/split-5.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181234 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibitm: Avoid non-portable x86 branch prediction mnemonic.
rth [Wed, 9 Nov 2011 19:51:49 +0000 (19:51 +0000)]
libitm: Avoid non-portable x86 branch prediction mnemonic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181233 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-09 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 9 Nov 2011 19:36:54 +0000 (19:36 +0000)]
2011-11-09  Tobias Burnus  <burnus@net-b.de>

        * symbol.c (clear_sym_mark, traverse_ns): Remove functions.
        (count_st_nodes, do_traverse_symtree, fill_st_vector): New functions.
        (gfc_traverse_symtree, gfc_traverse_ns): Call do_traverse_symtree.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181232 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR c++/51043 - ICE in LTO
dodji [Wed, 9 Nov 2011 19:25:01 +0000 (19:25 +0000)]
PR c++/51043 - ICE in LTO

* cp-tree.h (TYPE_ALIAS_P, TYPE_TEMPLATE_INFO): Don't crash on
NULL TYPE_NAME.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181231 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-09 Roland McGrath <mcgrathr@google.com>
dj [Wed, 9 Nov 2011 18:57:26 +0000 (18:57 +0000)]
2011-11-09  Roland McGrath  <mcgrathr@google.com>
* configure.ac: Add tool checks for READELF and READELF_FOR_TARGET.
* configure: Rebuild.
* Makefile.def (flags_to_pass): Add READELF_FOR_TARGET.
* Makefile.tpl (READELF, READELF_FOR_TARGET): New variables.
(HOST_EXPORTS): Add READELF, READELF_FOR_TARGET.
(BASE_FLAGS_TO_PASS): Add READELF_FOR_TARGET.
(BASE_TARGET_EXPORTS, EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS):
Add READELF.
* Makefile.in: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181230 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibitm: de-ELF-ize x86/sjlj.S.
rth [Wed, 9 Nov 2011 18:38:21 +0000 (18:38 +0000)]
libitm: de-ELF-ize x86/sjlj.S.

        * config/x86/sjlj.S: Protect elf directives with __ELF__.
        Protect .note.GNU-stack with __linux__.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181229 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoSimplify time() usage.
jb [Wed, 9 Nov 2011 18:30:38 +0000 (18:30 +0000)]
Simplify time() usage.

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

* intrinsics/time_1.h (gf_gettime): Simplify time() usage.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181228 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoConfigure cleanup.
jb [Wed, 9 Nov 2011 18:25:58 +0000 (18:25 +0000)]
Configure cleanup.

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

* configure.ac (AC_STDC_HEADERS): Remove.
(AC_HEADER_TIME): Remove.
(AC_HAVE_HEADERS, AC_CHECK_HEADERS): Move into a single invocation
of AC_CHECK_HEADERS_ONCE, don't check for presence of C89 headers.
(AC_CHECK_MEMBERS): Use single invocation.
(AC_CHECK_FUNCS): Move into single invocation of
AC_CHEC_FUNCS_ONCE, don't check for presence of C89 functions.
* config.h.in: Regenerate.
* configure: Regenerate.
* intrinsics/clock.c: Include time.h.
(mclock): Assume clock() is present.
(mclock8): Likewise.
* intrinsics/ctime.c (strctime): Assume strftime is present.
(fdate): Assume time() is present.
(fdate_sub): Likewise.
(ctime): Likewise.
* intrinsics/date_and_time.c: Don't provide abs macro.
(HAVE_NO_DATE_TIME): Remove code related to macro which is never
set.
* intrinsics/execute_command_line.c: Assume stdlib.h is present.
* intrinsics/exit.c: Likewise.
* intrinsics/extends_type_of.c: Likewise.
* intrinsics/gerror.c: Assume strerror() is present.
* intrinsics/kill.c: Assume signal.h is present.
* intrinsics/malloc.c: Assume stdlib.h is present.
* intrinsics/move_alloc.c: Likewise.
* intrinsics/perror.c: Assume perror() is present.
* intrinsics/signal.c: Assume signal.h is present.
* intrinsics/stat.c: Assume stdlib.h is present.
* intrinsics/system.c: Likewise.
* intrinsics/time.c: Include time.h, assume time() is present.
* intrinsics/time_1.h: Conditionally include sys/time.h,
unconditionally time.h.
(gf_cputime): Do division in double, fallback using clock().
(gf_gettime): Assume time() is present.
* intrinsics/umask.c: Assume stdlib.h is present.
* runtime/backtrace.c: Likewise.
* runtime/compile_options.c: Assume signal.h is present, assume
C89 signals are present.
* runtime/error.c: Assume signal.h and stdlib.h are present.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181227 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gcc.dg/tm/memopt-1.c: Adjust regexp.
rth [Wed, 9 Nov 2011 18:14:32 +0000 (18:14 +0000)]
    * gcc.dg/tm/memopt-1.c:  Adjust regexp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181226 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/51029
jason [Wed, 9 Nov 2011 18:13:09 +0000 (18:13 +0000)]
PR c++/51029
* class.c (build_base_path): Don't ICE in fold_non_dependent_expr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181225 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agolibitm: Configure for gas cfi pseudo ops.
rth [Wed, 9 Nov 2011 18:09:53 +0000 (18:09 +0000)]
libitm: Configure for gas cfi pseudo ops.

* asmcfi.m4: New file.

* configure.ac (GCC_AS_CFI_PSEUDO_OP): Test it.
* configure, aclocal.m4, config.h.in: Rebuild.
* config/generic/asmcfi.h: New file.
* config/x86/sjlj.S: Use it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181224 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR libfortran/47972
rth [Wed, 9 Nov 2011 18:09:42 +0000 (18:09 +0000)]
PR libfortran/47972
* runtime/error.c (gf_strerror): Silence warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181223 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago Run most tests in both C++98 and C++11 modes.
jason [Wed, 9 Nov 2011 17:53:53 +0000 (17:53 +0000)]
Run most tests in both C++98 and C++11 modes.
gcc/testsuite/
* lib/target-supports.exp (check_effective_target_c++11): New.
(check_effective_target_c++98): New.
* lib/g++-dg.exp (g++-dg-runtest): New.
* [various.exp]: Use g++-dg-runtest.
* [various.C]: Fix for C++11 mode.
gcc/cp/
* Make-lang.in (check_g++_parallelize): Add dg-torture.exp.
(check-c++0x): Obsolete.
/
* Makefile.def (language=c++): Remove check-c++0x.
* Makefile.in (check-gcc-c++): Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181222 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * [various.C]: Adjust for C++11 mode.
jason [Wed, 9 Nov 2011 17:53:37 +0000 (17:53 +0000)]
* [various.C]: Adjust for C++11 mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181221 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * pt.c (invalid_nontype_parm_type_p): Avoid printing "<type error>".
jason [Wed, 9 Nov 2011 17:53:24 +0000 (17:53 +0000)]
* pt.c (invalid_nontype_parm_type_p): Avoid printing "<type error>".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181220 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * pt.c (convert_nontype_argument): Only integral arguments
jason [Wed, 9 Nov 2011 17:53:12 +0000 (17:53 +0000)]
* pt.c (convert_nontype_argument): Only integral arguments
get early folding.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181219 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * parser.c (cp_parser_alias_declaration): Don't do semantic
jason [Wed, 9 Nov 2011 17:52:57 +0000 (17:52 +0000)]
* parser.c (cp_parser_alias_declaration): Don't do semantic
processing if parsing failed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181218 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR 46686 Fix incorrect comment.
jb [Wed, 9 Nov 2011 17:52:11 +0000 (17:52 +0000)]
PR 46686 Fix incorrect comment.

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/46686
* runtime/backtrace.c (show_backtrace): Fix incorrect comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181217 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 9 Nov 2011 17:26:37 +0000 (17:26 +0000)]
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR preprocessor/51061
* incpath.c (merge_include_chains): Make sure to not pass null
pointers to free_path.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181216 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/cp
paolo [Wed, 9 Nov 2011 17:22:22 +0000 (17:22 +0000)]
/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51045
* init.c (build_new_1, build_vec_delete_1, build_delete):
Use nullptr_node.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51045
* g++.dg/warn/Wzero-as-null-pointer-constant-2.C: New.

2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

* doc/invoke.texi ([Option Summary, C++ Language Options]):
Add -Wzero-as-null-pointer-constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181215 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/cp
paolo [Wed, 9 Nov 2011 17:21:19 +0000 (17:21 +0000)]
/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51045
* init.c (build_new_1, build_vec_delete_1, build_delete):
Use nullptr_node.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51045
* g++.dg/warn/Wzero-as-null-pointer-constant-2.C: New.

2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

* doc/invoke.texi ([Option Summary, C++ Language Options]):
Add -Wzero-as-null-pointer-constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181214 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago/cp
paolo [Wed, 9 Nov 2011 17:19:12 +0000 (17:19 +0000)]
/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51047
* search.c (lookup_member): Change to take also a tsubst_flags_t
parameter.
(lookup_field, lookup_fnfields): Adjust calls.
* typeck.c (lookup_destructor, finish_class_member_access_expr,
build_ptrmemfunc_access_expr): Likewise.
* class.c (handle_using_decl, maybe_note_name_used_in_class):
Likewise.
* pt.c (resolve_typename_type): Likewise.
* semantics.c (lambda_function): Likewise.
* parser.c (cp_parser_perform_range_for_lookup,
cp_parser_lookup_name): Likewise.
* friend.c (make_friend_class): Likewise.
* name-lookup.c (pushdecl_maybe_friend_1, get_class_binding,
do_class_using_decl, lookup_qualified_name): Likewise.
* cp-tree.h (lookup_member): Adjust declaration.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51047
* g++.dg/cpp0x/sfinae29.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181213 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-09 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 9 Nov 2011 17:17:57 +0000 (17:17 +0000)]
2011-11-09  Tobias Burnus  <burnus@net-b.de>

        * configure.ac: Make more cross-compile friendly.
        * Makefile.in: Regenerate.
        * aclocal.m4: Regenerate.
        * config.h.in: Regenerate.
        * configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181212 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/sparc/sparc.c (output_v8plus_shift): Take INSN parameter first
ebotcazou [Wed, 9 Nov 2011 16:41:22 +0000 (16:41 +0000)]
* config/sparc/sparc.c (output_v8plus_shift): Take INSN parameter first
and adjust head comment.
(output_v8plus_mult): Change NAME into OPCODE and adjust throughout.
(vector_init_bshuffle): Add head comment.
(vector_init_move_words): Likewise.
(vector_init_prepare_elts): Likewise.  Take LOCS parameter first.
(sparc_expand_vector_init): Likewise.  Adjust call to above function.
(sparc_expand_vector_init_vis2): Likewise.
(sparc_expand_vector_init_vis1): Likewise.
(sparc_expand_conditional_move): Likewise.
(sparc_expand_vcond): Likewise.
* config/sparc/sparc-protos.h (output_v8plus_shift): Adjust.
* config/sparc/sparc.md (ashldi3_v8plus): Adjust call to
output_v8plus_shift.
(ashrdi3_v8plus): Likewise.
(lshrdi3_v8plus): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181211 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoMatthew Gretton-Dann <matthew.gretton-dann@arm.com>
rearnsha [Wed, 9 Nov 2011 16:23:15 +0000 (16:23 +0000)]
Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

* config/arm/arm-cores.def: Add -mcpu=cortex-a7.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Likewise.
* config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex A-7.
* doc/invoke.texi: Document -mcpu=cortex-a7.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181210 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR 46686 Implement backtrace with _Unwind_Backtrace from libgcc.
jb [Wed, 9 Nov 2011 16:04:42 +0000 (16:04 +0000)]
PR 46686 Implement backtrace with _Unwind_Backtrace from libgcc.

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/46686
* configure.ac: Don't check execinfo.h, backtrace,
backtrace_symbols_fd. Check execve instead of execvp. Call
GCC_CHECK_UNWIND_GETIPINFO.
* runtime/backtrace.c: Don't include unused headers, include
limits.h and unwind.h.
(CAN_FORK): Check execve instead of execvp.
(GLIBC_BACKTRACE): Remove.
(bt_header): Conform to gdb backtrace format.
(struct bt_state): New struct.
(trace_function): New function.
(show_backtrace): Use _Unwind_Backtrace from libgcc instead of
glibc backtrace functions.
* Makefile.in: Regenerated.
* aclocal.m4: Regenerated.
* config.h.in: Regenerated.
* configure: Regenerated.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181209 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-09 Janus Weil <janus@gcc.gnu.org>
janus [Wed, 9 Nov 2011 15:56:53 +0000 (15:56 +0000)]
2011-11-09  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50960
* gfortran.dg/typebound_call_22.f03: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181208 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR 50016 Slow I/O on MingW due to _commit
jb [Wed, 9 Nov 2011 15:46:15 +0000 (15:46 +0000)]
PR 50016 Slow I/O on MingW due to _commit

frontend ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/50016
* gfortran.texi (Data consistency and durability): New section.

testsuite ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/50016
* gfortran.dg/inquire_size.f90: Don't flush the unit.

libgfortran ChangeLog:

2011-11-09  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/50016
* io/inquire.c (inquire_via_unit): Flush the unit and use ssize.
* io/unix.c (buf_flush): Don't call _commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181207 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-09 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 9 Nov 2011 15:05:20 +0000 (15:05 +0000)]
2011-11-09  Richard Guenther  <rguenther@suse.de>

Revert
2011-11-09  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (verify_gimple_call): Verify that
gimple_call_cannot_inline_p is returning a conservative
correct result according to gimple_check_call_matching_types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181206 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-09 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 9 Nov 2011 13:43:02 +0000 (13:43 +0000)]
2011-11-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51039
* tree-cfg.c (verify_gimple_call): Verify that
gimple_call_cannot_inline_p is returning a conservative
correct result according to gimple_check_call_matching_types.
* ipa-inline-analysis.c (estimate_function_body_sizes): Remove
code dealing with un-inlinablility.
* gimple-streamer-in.c (input_gimple_stmt): Update the
non-inlinable flag.

* gcc.dg/pr51039.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181205 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-09 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 9 Nov 2011 13:25:17 +0000 (13:25 +0000)]
2011-11-09  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51039
* gimple-low.c (gimple_check_call_args): Remove.
(gimple_check_call_matching_types): Always return true.
* tree-inline.c (setup_one_parameter): Always perform a
valid gimple type change.
(declare_return_variable): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181204 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoUse t-mingw-pthread on MingW
ro [Wed, 9 Nov 2011 13:11:47 +0000 (13:11 +0000)]
Use t-mingw-pthread on MingW

* config.host (i[34567]86-*-cygwin*): Move i386/t-mingw-pthread ...
(i[34567]86-*-mingw*): ... here.
(x86_64-*-mingw*): ... here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181203 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * config/rs6000/vector.md (vcondv4sfv4si, vcondv4siv4sf,
jakub [Wed, 9 Nov 2011 12:22:17 +0000 (12:22 +0000)]
* config/rs6000/vector.md (vcondv4sfv4si, vcondv4siv4sf,
vconduv4sfv4si): New patterns.
* config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Handle
different dest_mode from comparison mode.

* lib/target-supports.exp (check_effective_target_vect_cond_mixed):
Enable also for powerpc*-*-*.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181202 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR fortran/50540
fxcoudert [Wed, 9 Nov 2011 09:51:49 +0000 (09:51 +0000)]
PR fortran/50540
* resolve.c (resolve_forall_iterators): Transform internal errors
to normal errors.
* gfortran.dg/forall_16.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181200 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-09 Janus Weil <janus@gcc.gnu.org>
janus [Wed, 9 Nov 2011 09:45:36 +0000 (09:45 +0000)]
2011-11-09  Janus Weil  <janus@gcc.gnu.org>

PR fortran/50960
* class.c (gfc_find_derived_vtab): Make the vtab symbols FL_PARAMETER.
* expr.c (gfc_simplify_expr): Prevent vtabs from being replaced with
their value.
* resolve.c (resolve_values): Use-associated symbols do not need to
be resolved again.
(resolve_fl_parameter): Make sure the symbol has a value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181199 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR fortran/38718
fxcoudert [Wed, 9 Nov 2011 09:41:17 +0000 (09:41 +0000)]
PR fortran/38718

* intrinsic.c (add_functions): Add gfc_simplify_dreal.
* intrinsic.h (gfc_simplify_dreal): New proto.
* simplify.c (gfc_simplify_dreal): New function.

* gfortran.dg/initialization_29.f90: Expand test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181198 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago2011-11-09 Richard Guenther <rguenther@suse.de>
rguenth [Wed, 9 Nov 2011 08:32:26 +0000 (08:32 +0000)]
2011-11-09  Richard Guenther  <rguenther@suse.de>

* gimple-fold.c (canonicalize_constructor_val): Mark
address-taken variables addressable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181197 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * include/profile/unordered_map: Add missing copy constructors.
redi [Wed, 9 Nov 2011 08:23:30 +0000 (08:23 +0000)]
* include/profile/unordered_map: Add missing copy constructors.
* include/profile/unordered_set: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181196 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR c++/51027 - accepts alias-declaration without ';'
dodji [Wed, 9 Nov 2011 08:00:58 +0000 (08:00 +0000)]
PR c++/51027 - accepts alias-declaration without ';'

gcc/cp/

* parser.c (cp_parser_alias_declaration): Require ';' at the end
of the declaration.

libstdc++-v3/

* include/ext/pointer.h (rebind): Append missing ';'.

gcc/testsuite

* g++.dg/cpp0x/alias-decl-12.C: New test.
* g++.dg/ext/alias-decl-attr4.C: Append missing ';'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181195 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix entry
ebotcazou [Wed, 9 Nov 2011 07:58:34 +0000 (07:58 +0000)]
Fix entry

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181194 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoPR debug/51032 - ICE in dbxout_type, at dbxout.c:2372
dodji [Wed, 9 Nov 2011 07:51:12 +0000 (07:51 +0000)]
PR debug/51032 - ICE in dbxout_type, at dbxout.c:2372

gcc/cp/

* decl2.c (check_member_template): Accept alias templates and ...
* parser.c (cp_parser_alias_declaration): ... use it here.

gcc/testsuite/

* g++.dg/cpp0x/alias-decl-debug-0.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181193 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR fortran/21881
fxcoudert [Wed, 9 Nov 2011 06:57:10 +0000 (06:57 +0000)]
PR fortran/21881
* trans-types.c (gfc_get_dtype): Issue a fatal error instead of
an internal error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181192 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR tree-optimization/51015
irar [Wed, 9 Nov 2011 06:41:59 +0000 (06:41 +0000)]
    PR tree-optimization/51015
        * tree-vect-loop.c (vect_determine_vectorization_factor): Expect
        vectype to be set for pattern def stmts.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181191 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoImplement vect_cmdline_needed properly on sparc.
davem [Wed, 9 Nov 2011 05:23:02 +0000 (05:23 +0000)]
Implement vect_cmdline_needed properly on sparc.

* lib/target-supports.exp (check_effective_target_sparc_vis): New.
(check_effective_target_vect_cmdline_needed): Use it when sparc*-*-*

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181190 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * include/bits/stl_vector.h (vector::_Alloc_traits): Make private.
redi [Wed, 9 Nov 2011 01:26:04 +0000 (01:26 +0000)]
* include/bits/stl_vector.h (vector::_Alloc_traits): Make private.
* include/debug/vector: Add allocator-extended constructors, ensure
move assignment and swap have same allocator propagation semantics
and exceptions specification as base class.
* include/profile/vector: Likewise.
(vector::push_back(_Tp&&)): Forward argument as rvalue.
* testsuite/23_containers/vector/debug/alloc_prop.cc: New.
* doc/xml/manual/status_cxx2011.xml: Clarify status of container
requirements with respect to allocators.
(status.iso.200x): Add anchor for old ID to preserve existing links.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181189 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * function.c (bb_active_p): Delete.
amodra [Wed, 9 Nov 2011 01:20:14 +0000 (01:20 +0000)]
* function.c (bb_active_p): Delete.
(dup_block_and_redirect, active_insn_between): New functions.
(convert_jumps_to_returns, emit_return_for_exit): New functions,
split out from..
(thread_prologue_and_epilogue_insns): ..here.  Delete
shadowing variables.  Don't do prologue register clobber tests
when shrink wrapping already failed.  Delete all last_bb_active
code.  Instead compute tail block candidates for duplicating
exit path.  Remove these from antic set.  Duplicate tails when
reached from both blocks needing a prologue/epilogue and
blocks not needing such.
* ifcvt.c (dead_or_predicable): Test both flag_shrink_wrap and
HAVE_simple_return.
* bb-reorder.c (get_uncond_jump_length): Make global.
* bb-reorder.h (get_uncond_jump_length): Declare.
* cfgrtl.c (rtl_create_basic_block): Comment typo fix.
(rtl_split_edge): Likewise.  Warning fix.
(rtl_duplicate_bb): New function.
(rtl_cfg_hooks): Enable can_duplicate_block_p and duplicate_block.
* Makefile.in (function.o): Update dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181188 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoDaily bump.
gccadmin [Wed, 9 Nov 2011 00:18:19 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181187 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR fortran/50404
fxcoudert [Tue, 8 Nov 2011 23:54:43 +0000 (23:54 +0000)]
PR fortran/50404
* io.c (gfc_resolve_close): CLOSE requires a UNIT.
* gfortran.dg/io_constraints_3.f90: Improve testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181183 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoFix a darwin10 build problem.
rth [Tue, 8 Nov 2011 23:36:33 +0000 (23:36 +0000)]
Fix a darwin10 build problem.

local.cc:113:6: error: only weak aliases are supported in this configuration

* local.cc (_ITM_LB): Use a normal call, not a function alias.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181182 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR fortran/50409
fxcoudert [Tue, 8 Nov 2011 23:15:11 +0000 (23:15 +0000)]
PR fortran/50409
* expr.c (gfc_simplify_expr): Substrings can't have negative
length.
* gcc/testsuite/gfortran.dg/string_5.f90: Improve testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181181 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR libfortran/47972
fxcoudert [Tue, 8 Nov 2011 21:58:47 +0000 (21:58 +0000)]
PR libfortran/47972
* runtime/error.c (gf_strerror): Silence warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181180 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoTest for libitm directory present before testing for support.
rth [Tue, 8 Nov 2011 21:18:26 +0000 (21:18 +0000)]
Test for libitm directory present before testing for support.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181179 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * doc/tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space
uweigand [Tue, 8 Nov 2011 17:36:45 +0000 (17:36 +0000)]
* doc/tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space
argument.
(REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
* doc/tm.texi: Regenerate.

* config/cris/cris.h (MODE_CODE_BASE_REG_CLASS): Add address
space argument.
(REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
* config/bfin/bfin.h (MODE_CODE_BASE_REG_CLASS): Likewise.
(REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
* config/avr/avr.h (MODE_CODE_BASE_REG_CLASS): Add address space
argument.
(REGNO_MODE_CODE_OK_FOR_BASE_P): Ditto.
* config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
(avr_regno_mode_code_ok_for_base_p): Ditto.
* config/avr/avr.c (avr_mode_code_base_reg_class): Ditto.
(avr_regno_mode_code_ok_for_base_p): Ditto.
(avr_reg_ok_for_addr_p): Pass AS down to
avr_regno_mode_code_ok_for_base_p.

* addresses.h (base_reg_class): Add address space argument.
Pass to MODE_CODE_BASE_REG_CLASS.
(ok_for_base_p_1): Add address space argument.  Pass to
REGNO_MODE_CODE_OK_FOR_BASE_P.
(regno_ok_for_base_p): Add address space argument.  Pass to
ok_for_base_p_1.

* regrename.c (scan_rtx_address): Add address space argument.
Pass address space to regno_ok_for_base_p and base_reg_class.
Update recursive calls.
(scan_rtx): Pass address space to scan_rtx_address.
(build_def_use): Likewise.
* regcprop.c (replace_oldest_value_addr): Add address space
argument.  Pass to regno_ok_for_base_p and base_reg_class.
Update recursive calls.
(replace_oldest_value_mem): Pass address space to
replace_oldest_value_addr.
(copyprop_hardreg_forward_1): Likewise.

* reload.c (find_reloads_address_1): Add address space argument.
Pass address space to base_reg_class and regno_ok_for_base_p.
Update recursive calls.
(find_reloads_address): Pass address space to base_reg_class,
regno_ok_for_base_p, and find_reloads_address_1.
(find_reloads): Pass address space to base_reg_class.
(find_reloads_subreg_address): Likewise.

* ira-costs.c (record_reg_classes): Update calls to base_reg_class.
(ok_for_base_p_nonstrict): Add address space argument.  Pass to
ok_for_base_p_1.
(record_address_regs): Add address space argument.  Pass to
base_reg_class and ok_for_base_p_nonstrict.  Update recursive calls.
(record_operand_costs): Pass address space to record_address_regs.
(scan_one_insn): Likewise.

* caller-save.c (init_caller_save): Update call to base_reg_class.
* ira-conflicts.c (ira_build_conflicts): Likewise.
* reload1.c (maybe_fix_stack_asms): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181175 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago PR c++/50835
jason [Tue, 8 Nov 2011 17:10:09 +0000 (17:10 +0000)]
PR c++/50835
* typeck.c (build_x_conditional_expr): Preserve lvalue/xvalueness.
* tree.c (lvalue_kind) [NON_DEPENDENT_EXPR]: Return clk_ordinary
in C++98.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181174 138bc75d-0d04-0410-961f-82ee72b054a4

12 years agoBuild softfp for c6x
ro [Tue, 8 Nov 2011 16:50:37 +0000 (16:50 +0000)]
Build softfp for c6x

* config/c6x/t-elf (LIB2ADD): Add instead of assigning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181173 138bc75d-0d04-0410-961f-82ee72b054a4

12 years ago * gengtype.c (write_field_root): Avoid out-of-scope access of newv.
matz [Tue, 8 Nov 2011 16:47:16 +0000 (16:47 +0000)]
* gengtype.c (write_field_root): Avoid out-of-scope access of newv.

* tree-stdarg.c (execute_optimize_stdarg): Accept clobbers.

* tree.h (TREE_CLOBBER_P): New macro.
* gimple.h (gimple_clobber_p): New inline function.
* gimplify.c (gimplify_bind_expr): Add clobbers for all variables
that go out of scope and live in memory.
* tree-ssa-operands.c (get_expr_operands): Transfer volatility also
for constructors.
* cfgexpand.c (decl_to_stack_part): New static variable.
(add_stack_var): Allocate it, and remember mapping.
(fini_vars_expansion): Deallocate it.
(stack_var_conflict_p): Add early outs.
(visit_op, visit_conflict, add_scope_conflicts_1,
add_scope_conflicts): New static functions.
(expand_used_vars_for_block): Don't call add_stack_var_conflict, tidy.
(expand_used_vars): Add scope conflicts.
(expand_gimple_stmt_1): Expand clobbers to nothing.
(expand_debug_expr): Ditto.

* tree-pretty-print.c (dump_generic_node): Dump clobbers nicely.
* tree-ssa-live.c (remove_unused_locals): Remove clobbers that
refer to otherwise unused locals.
* tree-sra.c (build_accesses_from_assign): Ignore clobbers.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Clobbers of
SSA names aren't necessary.
(propagate_necessity): Accept and ignore constructors on the rhs,
tidy.
* gimple.c (walk_gimple_op): Accept constructors like mem_rhs.
* tree-ssa-structalias.c (find_func_aliases): Clobbers don't store
any known value.
* tree-ssa-sccvn.c (vn_reference_lookup_3): Ditto, in particular they
don't zero-initialize something.
* tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Ignore
clobber RHS, we don't want PHI nodes with those.

testsuite/
* gcc.dg/tree-ssa/20031015-1.c: Adjust.
* g++.dg/tree-ssa/ehcleanup-1.C: Ditto.
* g++.dg/eh/builtin1.C: Rewrite to not use local variables.
* g++.dg/eh/builtin2.C: Ditto.
* g++.dg/eh/builtin3.C: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181172 138bc75d-0d04-0410-961f-82ee72b054a4