gcc.git
9 years agovec.h (vec::safe_grow): Guard against a grow to zero size.
Richard Biener [Mon, 15 Dec 2014 14:24:06 +0000 (14:24 +0000)]
vec.h (vec::safe_grow): Guard against a grow to zero size.

2014-12-15  Richard Biener  <rguenther@suse.de>

* vec.h (vec::safe_grow): Guard against a grow to zero size.

From-SVN: r218749

9 years agore PR tree-optimization/64295 (ICE: SIGSEGV (infinite recursion) with -frounding...
Richard Biener [Mon, 15 Dec 2014 13:01:47 +0000 (13:01 +0000)]
re PR tree-optimization/64295 (ICE: SIGSEGV (infinite recursion) with -frounding-math -funsafe-math-optimizations)

2014-12-15  Richard Biener  <rguenther@suse.de>

PR middle-end/64295
* match.pd (X / CST -> X * (1 / CST): Use const_binop instead of
fold_binary to compute the constant to multiply with.

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

From-SVN: r218748

9 years agore PR middle-end/64246 (ICE building libada for Windows due to NULL loop header)
Richard Biener [Mon, 15 Dec 2014 12:20:10 +0000 (12:20 +0000)]
re PR middle-end/64246 (ICE building libada for Windows due to NULL loop header)

2014-12-15  Richard Biener  <rguenther@suse.de>

PR middle-end/64246
* cfgloop.c (mark_loop_for_removal): Make safe against multiple
invocations on the same loop.

* gnat.dg/opt46.adb: New testcase.
* gnat.dg/opt46.ads: Likewise.
* gnat.dg/opt46_pkg.adb: Likewise.
* gnat.dg/opt46_pkg.ads: Likewise.

From-SVN: r218746

9 years agore PR middle-end/64292 (FAIL: g++.dg/torture/pr60474.C -O1 (internal compiler...
Marek Polacek [Mon, 15 Dec 2014 12:15:14 +0000 (12:15 +0000)]
re PR middle-end/64292 (FAIL: g++.dg/torture/pr60474.C   -O1  (internal compiler error))

PR middle-end/64292
* fold-const.c (negate_expr_p): Add INTEGRAL_TYPE_P check.

From-SVN: r218745

9 years agoBuild machinery cleanup.
Thomas Schwinge [Mon, 15 Dec 2014 10:54:43 +0000 (11:54 +0100)]
Build machinery cleanup.

* configure.ac (--enable-as-accelerator-for): Don't set
ENABLE_AS_ACCELERATOR_FOR.  Update all users.
* configure: Regenerate.

From-SVN: r218744

9 years agore PR target/64210 (FAIL: gcc.target/i386/avx512vl-(vmovdqa64|vpbroadcastd)-1.c ...
Jakub Jelinek [Mon, 15 Dec 2014 10:50:52 +0000 (11:50 +0100)]
re PR target/64210 (FAIL: gcc.target/i386/avx512vl-(vmovdqa64|vpbroadcastd)-1.c  ... with -fpic)

PR target/64210
* gcc.target/i386/avx512f-broadcast-gpr-1.c: Use %(?:e|r\[0-9\]+d)
instead of %e in regexps trying to match 32-bit GPR.
* gcc.target/i386/avx512f-vpbroadcastd-1.c: Likewise.
* gcc.target/i386/avx512vl-vpbroadcastd-1.c: Likewise.
* gcc.target/i386/avx512vl-vmovdqa64-1.c: Restrict some scan-assembler-times
lines to nonpic targets only.  Fix up \[^\n^x^y\] to \[^\nxy\].

From-SVN: r218743

9 years agopr63996.C: Fix.
Paolo Carlini [Mon, 15 Dec 2014 10:47:53 +0000 (10:47 +0000)]
pr63996.C: Fix.

2014-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/cpp1y/pr63996.C: Fix.

From-SVN: r218742

9 years agore PR tree-optimization/63551 (wrong code (segfaults) at -Os on x86_64-linux-gnu)
Jakub Jelinek [Mon, 15 Dec 2014 10:44:53 +0000 (11:44 +0100)]
re PR tree-optimization/63551 (wrong code (segfaults) at -Os on x86_64-linux-gnu)

PR tree-optimization/63551
* gcc.dg/ipa/pr63551.c (fn2): Use 4294967286U instead of
4294967286 to avoid warnings.

From-SVN: r218740

9 years agore PR fortran/63674 ([F03] procedure pointer and non/pure procedure)
Janus Weil [Mon, 15 Dec 2014 10:34:46 +0000 (11:34 +0100)]
re PR fortran/63674 ([F03] procedure pointer and non/pure procedure)

2014-12-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63674
* resolve.c (check_pure_function): Rewording in error message.

2014-12-15  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63674
* gfortran.dg/forall_5.f90: Modified error message.
* gfortran.dg/proc_ptr_comp_39.f90: Ditto.
* gfortran.dg/pure_dummy_length_1.f90: Ditto.
* gfortran.dg/stfunc_6.f90: Ditto.
* gfortran.dg/typebound_operator_4.f90: Ditto.

From-SVN: r218738

9 years ago[AARCH64]Fix CLZ_DEFINED_AT_ZERO and CTZ_DEFINED_AT_ZERO definition.
Renlin Li [Mon, 15 Dec 2014 09:56:29 +0000 (09:56 +0000)]
[AARCH64]Fix CLZ_DEFINED_AT_ZERO and CTZ_DEFINED_AT_ZERO definition.

gcc/

2014-12-15  Renlin Li  <renlin.li@arm.com>

* config/aarch64/aarch64.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
(CTZ_DEFINED_VALUE_AT_ZERO): Update to support more modes.

From-SVN: r218737

9 years agore PR sanitizer/64265 (r217669 broke tsan)
Jakub Jelinek [Mon, 15 Dec 2014 09:37:47 +0000 (10:37 +0100)]
re PR sanitizer/64265 (r217669 broke tsan)

PR sanitizer/64265
* tsan.c (instrument_func_entry): Insert __tsan_func_entry
call on edge from entry block to single succ instead
of after labels of single succ of entry block.

From-SVN: r218734

9 years agore PR tree-optimization/64284 (ICE: Segmentation fault)
Richard Biener [Mon, 15 Dec 2014 08:19:55 +0000 (08:19 +0000)]
re PR tree-optimization/64284 (ICE: Segmentation fault)

2014-12-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/64284
* tree-ssa-threadupdate.c (duplicate_seme_region): Mark
the loop for removal if we copied the loop header.

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

From-SVN: r218733

9 years agoserver.c (server_setup): Check return value of getcwd and in case of error set buff...
Uros Bizjak [Mon, 15 Dec 2014 08:10:41 +0000 (09:10 +0100)]
server.c (server_setup): Check return value of getcwd and in case of error set buff[0] to 0.

* server.c (server_setup): Check return value of
getcwd and in case of error set buff[0] to 0.

From-SVN: r218732

9 years agore PR ipa/61602 (ICE in lto1 on x86_64-linux-gnu in ipa_single_use, at ipa.c:1257)
Jan Hubicka [Mon, 15 Dec 2014 06:19:51 +0000 (07:19 +0100)]
re PR ipa/61602 (ICE in lto1 on x86_64-linux-gnu in ipa_single_use, at ipa.c:1257)

PR ipa/61602
* gcc.dg/torture/pr61602.c: New testcase.

* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Return bool.
* ipa.c (set_writeonly_bit): Track if reference was removed.
(ipa_discover_readonly_nonaddressable_vars): Return true if any
references was removed.
* ipa-reference.c (propagate): Return TODO_remove_functions if
reference was removed.

From-SVN: r218731

9 years ago* ipa.c (process_references): Fix conditoinal on flag_optimize
Jan Hubicka [Mon, 15 Dec 2014 03:47:18 +0000 (04:47 +0100)]
* ipa.c (process_references): Fix conditoinal on flag_optimize

From-SVN: r218730

9 years agore PR middle-end/61558 (ICE: Segmentation fault)
Jan Hubicka [Mon, 15 Dec 2014 03:44:58 +0000 (04:44 +0100)]
re PR middle-end/61558 (ICE: Segmentation fault)

PR ipa/61558
* symtab.c (symbol_table::insert_to_assembler_name_hash
symbol_table::unlink_from_assembler_name_hash): Do not ICE when
DECL_ASSEMBLER_NAME is NULL.

From-SVN: r218729

9 years ago* cgraphunit.c (analyze_functions): Always analyze targets of aliases.
Jan Hubicka [Mon, 15 Dec 2014 03:42:14 +0000 (03:42 +0000)]
* cgraphunit.c (analyze_functions): Always analyze targets of aliases.

From-SVN: r218728

9 years agore PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 get_binfo_at_offs...
Jan Hubicka [Mon, 15 Dec 2014 03:41:41 +0000 (03:41 +0000)]
re PR lto/64043 (ICE (segfault) with LTO: in tree_check/tree.h:2758 get_binfo_at_offset/tree.c:11914)

PR lto/64043
* tree.c (virtual_method_call_p): Return false when OTR type has
no BINFO.
* g++.dg/lto/pr64043_0.C: New testcase.

From-SVN: r218727

9 years agocgraphunit.c (analyze_functions): Do not analyze extern inline funtions when not...
Jan Hubicka [Mon, 15 Dec 2014 00:21:21 +0000 (00:21 +0000)]
cgraphunit.c (analyze_functions): Do not analyze extern inline funtions when not optimizing; skip comdat locals.

* cgraphunit.c (analyze_functions): Do not analyze extern inline
funtions when not optimizing; skip comdat locals.

From-SVN: r218726

9 years agoDaily bump.
GCC Administrator [Mon, 15 Dec 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218725

9 years agocompiler: Fix crash when tracked field used in global initializer.
Ian Lance Taylor [Sun, 14 Dec 2014 19:39:15 +0000 (19:39 +0000)]
compiler: Fix crash when tracked field used in global initializer.

From-SVN: r218722

9 years agoPass unpromoted argument to promote_function_mode
H.J. Lu [Sun, 14 Dec 2014 16:04:11 +0000 (16:04 +0000)]
Pass unpromoted argument to promote_function_mode

This patch updates setup_incoming_promotions in combine.c to match what
is actually passed in assign_parm_setup_reg in function.c.

gcc/

PR rtl-optimization/64037
* combine.c (setup_incoming_promotions): Pass the argument
before any promotions happen to promote_function_mode.

gcc/testsuite/

PR rtl-optimization/64037
* g++.dg/pr64037.C: New test.

From-SVN: r218720

9 years agore PR fortran/63674 ([F03] procedure pointer and non/pure procedure)
Janus Weil [Sun, 14 Dec 2014 12:04:49 +0000 (13:04 +0100)]
re PR fortran/63674 ([F03] procedure pointer and non/pure procedure)

2014-12-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63674
* resolve.c (pure_function): Treat procedure-pointer components.
(check_pure_function): New function.
(resolve_function): Use it.
(pure_subroutine): Return a bool to indicate success and modify
arguments.
(resolve_generic_s0,resolve_specific_s0,resolve_unknown_s): Use return
value of 'pure_subroutine'.
(resolve_ppc_call): Call 'pure_subroutine'.
(resolve_expr_ppc): Call 'check_pure_function'.

2014-12-14  Janus Weil  <janus@gcc.gnu.org>

PR fortran/63674
* gfortran.dg/proc_ptr_comp_39.f90: New.
* gfortran.dg/pure_dummy_length_1.f90: Modified error message.
* gfortran.dg/stfunc_6.f90: Ditto.
* gfortran.dg/typebound_operator_4.f90: Ditto.

From-SVN: r218717

9 years agore PR go/61244 (gccgo: ICE in write_specific_type_functions [GoSmith])
Ian Lance Taylor [Sun, 14 Dec 2014 00:55:01 +0000 (00:55 +0000)]
re PR go/61244 (gccgo: ICE in write_specific_type_functions [GoSmith])

PR go/61244
compiler: Traverse type descriptor expressions.

From-SVN: r218715

9 years agoDaily bump.
GCC Administrator [Sun, 14 Dec 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218714

9 years agore PR libstdc++/64239 (regex_iterator::operator= should copy match_results::position)
Tim Shen [Sat, 13 Dec 2014 22:19:18 +0000 (22:19 +0000)]
re PR libstdc++/64239 (regex_iterator::operator= should copy match_results::position)

PR libstdc++/64239
* include/bits/regex.h (match_results<>::match_results,
match_results<>::operator=, match_results<>::position,
match_results<>::swap): Remove match_results::_M_in_iterator.
Fix ctor/assign/swap.
* include/bits/regex.tcc: (__regex_algo_impl<>,
regex_iterator<>::operator++): Set match_results::_M_begin as
"start position".
* testsuite/28_regex/iterators/regex_iterator/char/
string_position_01.cc: Test cases.

From-SVN: r218710

9 years agoPost-Urbana updates to Library Fundamentals v1.
Jonathan Wakely [Sat, 13 Dec 2014 20:44:06 +0000 (20:44 +0000)]
Post-Urbana updates to Library Fundamentals v1.

* include/experimental/any (any): Remove allocator support and update
feature-testing macro.
* include/experimental/functional: Update feature-testing macro.
* include/experimental/optional (optional::_M_get()): Add constexpr.
(optional::operator*(), optional::value()): Overload and add
ref-qualifiers. Update feature-testing macro.
* include/experimental/string_view (basic_string_view::clear): Remove
and update feature-testing macro.
* testsuite/experimental/any/cons/3.cc: Remove.
* testsuite/experimental/any/cons/4.cc: Remove.
* testsuite/experimental/any/misc/any_cast.cc: Remove allocator tests.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
* testsuite/experimental/string_view/capacity/1.cc: Don't test clear().

From-SVN: r218709

9 years agore PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)
Oleg Endo [Sat, 13 Dec 2014 13:17:55 +0000 (13:17 +0000)]
re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)

gcc/testsuite/
PR target/53513
* gcc.target/sh/attr-isr-nosave_low_regs.c: Fix matching of expected
register push/pop sequences.
* gcc.target/sh/attr-isr.c: Likewise.
* gcc.target/sh/attr-isr-trapa.c: Likewise.
* gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise.
* gcc.target/sh/pragma-isr-trapa.c: Likewise.
* gcc.target/sh/pragma-isr-trapa2.c: Likewise.

From-SVN: r218707

9 years agosp-switch.c: Match zero or more underscores in alt_stack symbol.
Oleg Endo [Sat, 13 Dec 2014 13:02:23 +0000 (13:02 +0000)]
sp-switch.c: Match zero or more underscores in alt_stack symbol.

gcc/testsuite/
* gcc.target/sh/sp-switch.c: Match zero or more underscores in
alt_stack symbol.

From-SVN: r218706

9 years agore PR bootstrap/64023 (r216964 breaks bootstrap on darwin when using gcc as the boots...
Jakub Jelinek [Sat, 13 Dec 2014 11:24:37 +0000 (12:24 +0100)]
re PR bootstrap/64023 (r216964 breaks bootstrap on darwin when using gcc as the bootstrap compiler.)

PR bootstrap/64023
* Makefile.tpl (EXTRA_TARGET_FLAGS): Set STAGE1_LDFLAGS
to POSTSTAGE1_LDFLAGS and STAGE1_LIBS to POSTSTAGE1_LIBS.
Add -B to libstdc++-v3/src/.libs and libstdc++-v3/libsupc++/.libs
to CXX.
* Makefile.in: Regenerated.

From-SVN: r218705

9 years agore PR go/61258 (gccgo: assertion failure go-map-delete.c:37 [GoSmith])
Ian Lance Taylor [Sat, 13 Dec 2014 01:58:46 +0000 (01:58 +0000)]
re PR go/61258 (gccgo: assertion failure go-map-delete.c:37 [GoSmith])

PR go/61258
runtime: Don't crash when deleting zero-sized key.

From-SVN: r218702

9 years agore PR go/61254 (gccgo: spurious "error: slice end must be integer" [GoSmith])
Ian Lance Taylor [Sat, 13 Dec 2014 01:41:49 +0000 (01:41 +0000)]
re PR go/61254 (gccgo: spurious "error: slice end must be integer" [GoSmith])

PR go/61254
compiler: Don't move nil subexpressions into temporaries.

From-SVN: r218701

9 years agotesting: Add testing.MainStart function.
Ian Lance Taylor [Sat, 13 Dec 2014 01:00:49 +0000 (01:00 +0000)]
testing: Add testing.MainStart function.

This patches in the Go 1.4 function, for convenience for
people using the Go 1.4 go tool with mainline gccgo.

From-SVN: r218700

9 years agoruntime: Clear stack pointers for extra G's.
Ian Lance Taylor [Sat, 13 Dec 2014 00:52:20 +0000 (00:52 +0000)]
runtime: Clear stack pointers for extra G's.

Fix an unusual C to Go callback case.  Newly created C threads
call into Go code, forcing the Go code to allocate new M and G
structures.  While executing Go code, the stack is split.  The
Go code then returns.  Returning from a Go callback is treated
as entering a system call, so the G gcstack field is set to
point to the Go stack.  In this case, though, we were called
from a newly created C thread, so we drop the extra M and G
structures.  The C thread then exits.

Then a new C thread calls into Go code, reusing the previously
created M and G.  The Go code requires a larger stack frame,
causing the old stack segment to be unmapped and a new stack
segment allocated.  At this point the gcstack field is
pointing to the old stack segment.

Then a garbage collection occurs.  The garbage collector sees
that the gcstack field is not nil, so it scans it as the first
stack segment.  Unfortunately it points to memory that was
unmapped.  So the program crashes.

The fix is simple: when handling extra G structures created
for callbacks from new C threads, clear the gcstack field.

From-SVN: r218699

9 years agore PR libstdc++/58594 (std::make_shared does not accept const types as parameters)
Jonathan Wakely [Sat, 13 Dec 2014 00:44:17 +0000 (00:44 +0000)]
re PR libstdc++/58594 (std::make_shared does not accept const types as parameters)

PR libstdc++/58594
* include/bits/shared_ptr_base.h: Real fix for cv-qualified types.

From-SVN: r218698

9 years agoDaily bump.
GCC Administrator [Sat, 13 Dec 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218697

9 years agoerror.c (gfc_error): Add variant which takes a va_list.
Tobias Burnus [Fri, 12 Dec 2014 23:12:06 +0000 (00:12 +0100)]
error.c (gfc_error): Add variant which takes a va_list.

2014-12-13  Tobias Burnus  <burnus@net-b.de>
            Manuel López-Ibáñez  <manu@gcc.gnu.org>

fortran/
        * error.c (gfc_error): Add variant which takes a va_list.
        (gfc_notify_std): Convert to common diagnostic.
        * array.c: Use %qs, %<...%> in more gfc_error calls and
        for gfc_notify_std.
        * check.c: Ditto.
        * data.c: Ditto.
        * decl.c: Ditto.
        * expr.c: Ditto.
        * interface.c: Ditto.
        * intrinsic.c: Ditto.
        * io.c: Ditto.
        * match.c: Ditto.
        * matchexp.c: Ditto.
        * module.c: Ditto.
        * openmp.c: Ditto.
        * parse.c: Ditto.
        * primary.c: Ditto.
        * resolve.c: Ditto.
        * simplify.c: Ditto.
        * symbol.c: Ditto.
        * trans-common.c: Ditto.
        * trans-intrinsic.c: Ditto.

gcc/testsuite/
        * gfortran.dg/realloc_on_assign_21.f90: Update dg-error.
        * gfortran.dg/warnings_are_errors_1.f: Ditto.
        * gfortran.dg/warnings_are_errors_1.f90: Ditto.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r218694

9 years agore PR c++/59240 (ICE in varpool_get_node)
Paolo Carlini [Fri, 12 Dec 2014 22:40:29 +0000 (22:40 +0000)]
re PR c++/59240 (ICE in varpool_get_node)

2014-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59240
* g++.dg/torture/pr59240.C: New.

From-SVN: r218693

9 years agore PR c++/59628 (ICE with invalid OpenMP "declare reduction" clause)
Paolo Carlini [Fri, 12 Dec 2014 21:50:12 +0000 (21:50 +0000)]
re PR c++/59628 (ICE with invalid OpenMP "declare reduction" clause)

/cp
2014-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59628
* semantics.c (finish_omp_reduction_clause): Early return true
if DECL_SAVED_TREE (id) is NULL_TREE.

/testsuite
2014-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59628
* g++.dg/gomp/pr59628.C: New.

From-SVN: r218692

9 years agore PR libstdc++/58594 (std::make_shared does not accept const types as parameters)
Jonathan Wakely [Fri, 12 Dec 2014 21:05:35 +0000 (21:05 +0000)]
re PR libstdc++/58594 (std::make_shared does not accept const types as parameters)

PR libstdc++/58594
* include/bits/shared_ptr_base.h: Cast away cv-quals.
* testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc: New.
* testsuite/20_util/shared_ptr/creation/private.cc: Make allocator
rebindable so test passes with -fno-rtti.

From-SVN: r218691

9 years agore PR c++/61924 ([C++11] ICE in instantiate_template_1, at cp/pt.c:15618)
Paolo Carlini [Fri, 12 Dec 2014 20:30:11 +0000 (20:30 +0000)]
re PR c++/61924 ([C++11] ICE in instantiate_template_1, at cp/pt.c:15618)

2014-12-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61924
* g++.dg/cpp0x/pr61924.C: New.

From-SVN: r218690

9 years agonvptx: Define valid ASM_OUTPUT_ALIGN.
Thomas Schwinge [Fri, 12 Dec 2014 20:14:10 +0000 (21:14 +0100)]
nvptx: Define valid ASM_OUTPUT_ALIGN.

gcc/
* config/nvptx/nvptx.h (ASM_OUTPUT_ALIGN): Define as a C statment.

    gcc/doc/tm.texi:@defmac ASM_OUTPUT_ALIGN (@var{stream}, @var{power})
    gcc/doc/tm.texi-A C statement to output to the stdio stream @var{stream} an assembler
    gcc/doc/tm.texi-command to advance the location counter to a multiple of 2 to the
    gcc/doc/tm.texi-@var{power} bytes.  @var{power} will be a C expression of type @code{int}.
    gcc/doc/tm.texi-@end defmac

    gcc/config/nvptx/nvptx.h:#define ASM_OUTPUT_ALIGN(FILE, POWER)

"Empty" is not a C statement, and so in code such as:

    gcc/dwarf2out.c-              if (lsda_encoding == DW_EH_PE_aligned)
    gcc/dwarf2out.c:                ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE));
    gcc/dwarf2out.c-              dw2_asm_output_data (size_of_encoded_value (lsda_encoding), 0,
    gcc/dwarf2out.c-                                   "Language Specific Data Area (none)");

    gcc/varasm.c-      if (align > BITS_PER_UNIT)
    gcc/varasm.c:        ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
    gcc/varasm.c-      assemble_variable_contents (decl, name, dont_output_data);

    gcc/varasm.c-  if (align > 0)
    gcc/varasm.c:    ASM_OUTPUT_ALIGN (asm_out_file, align);
    gcc/varasm.c-
    gcc/varasm.c-  targetm.asm_out.internal_label (asm_out_file, "LTRAMP", 0);

    gcc/varasm.c-      if (align > BITS_PER_UNIT)
    gcc/varasm.c:        ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
    gcc/varasm.c-      assemble_constant_contents (exp, XSTR (symbol, 0), align);

..., GCC warns:

    [...]/source-gcc/gcc/dwarf2out.c: In function 'void output_fde(dw_fde_ref, bool, bool, char*, int, char*, bool, int)':
    [...]/source-gcc/gcc/dwarf2out.c:665:3: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
       ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE));
       ^

    [...]/source-gcc/gcc/varasm.c: In function 'void assemble_variable(tree, int, int, int)':
    [...]/source-gcc/gcc/varasm.c:2217:2: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
      ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
      ^
    [...]/source-gcc/gcc/varasm.c: In function 'rtx_def* assemble_trampoline_template()':
    [...]/source-gcc/gcc/varasm.c:2603:5: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
         ASM_OUTPUT_ALIGN (asm_out_file, align);
         ^
    [...]/source-gcc/gcc/varasm.c: In function 'void output_constant_def_contents(rtx)':
    [...]/source-gcc/gcc/varasm.c:3413:2: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
      ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (align / BITS_PER_UNIT));
      ^

Also, "use" the values, to get rid of that one:

    [...]/source-gcc/gcc/final.c: In function 'rtx_insn* final_scan_insn(rtx_insn*, FILE*, int, int, int*)':
    [...]/source-gcc/gcc/final.c:2450:12: warning: variable 'log_align' set but not used [-Wunused-but-set-variable]
            int log_align;
                ^

From-SVN: r218689

9 years agore PR rtl-optimization/64110 (ICE: Max. number of generated reload insns per insn...
Vladimir Makarov [Fri, 12 Dec 2014 20:11:10 +0000 (20:11 +0000)]
re PR rtl-optimization/64110 (ICE: Max. number of generated reload insns per insn is achieved (90))

2014-12-12  Vladimir Makarov  <vmakarov@redhat.com>

PR target/64110
* lra-constraints.c (process_alt_operands): Refuse alternative
when reload pseudo of given class can not hold value of given
mode.

2014-12-12  Vladimir Makarov  <vmakarov@redhat.com>

PR target/64110
* gcc.target/i386/pr64110.c: New.

From-SVN: r218688

9 years agoOpenMP target nesting tests.
Thomas Schwinge [Fri, 12 Dec 2014 20:01:29 +0000 (21:01 +0100)]
OpenMP target nesting tests.

gcc/testsuite/
* c-c++-common/gomp/nesting-1.c: New file.
* c-c++-common/gomp/nesting-warn-1.c: Likewise.

From-SVN: r218687

9 years agoA bit of walk_gimple_op maintenance.
Thomas Schwinge [Fri, 12 Dec 2014 20:01:18 +0000 (21:01 +0100)]
A bit of walk_gimple_op maintenance.

* gimple-walk.c (walk_gimple_op) <GIMPLE_OMP_FOR>: Also check
intermediate walk_tree results for for_incr.
<GIMPLE_OMP_TARGET>: Walk child_fn and data_arg, too.
<GIMPLE_OMP_CRITICAL, GIMPLE_OMP_ATOMIC_STORE>: Pretty printing.

From-SVN: r218686

9 years agopt.c (do_auto_deduction): In direct-init context, { x } deduces from x.
Jason Merrill [Fri, 12 Dec 2014 17:52:28 +0000 (12:52 -0500)]
pt.c (do_auto_deduction): In direct-init context, { x } deduces from x.

N3922
* pt.c (do_auto_deduction): In direct-init context, { x } deduces
from x.

From-SVN: r218685

9 years agocp-tree.h (NAMESPACE_ABI_TAG): New.
Jason Merrill [Fri, 12 Dec 2014 17:52:21 +0000 (12:52 -0500)]
cp-tree.h (NAMESPACE_ABI_TAG): New.

* cp-tree.h (NAMESPACE_ABI_TAG): New.
* name-lookup.c (handle_namespace_attrs): Set it.
* class.c (check_tag): Split out from find_abi_tags_r.
(find_abi_tags_r): Also check namespace tags.
(mark_type_abi_tags): Also mark namespace tags.

From-SVN: r218684

9 years agore PR c++/63996 (Infinite loop in invalid C++14 constexpr fn)
Kai Tietz [Fri, 12 Dec 2014 17:17:58 +0000 (18:17 +0100)]
re PR c++/63996 (Infinite loop in invalid C++14 constexpr fn)

PR c++/63996
* g++.dg/cpp1y/pr63996.C: New file.

From-SVN: r218683

9 years agore PR c++/63996 (Infinite loop in invalid C++14 constexpr fn)
Kai Tietz [Fri, 12 Dec 2014 17:14:54 +0000 (18:14 +0100)]
re PR c++/63996 (Infinite loop in invalid C++14 constexpr fn)

PR c++/63996
* constexpr.c (cxx_eval_loop_expr): Don't loop
endless on none-constant expression.

From-SVN: r218682

9 years ago* g++.dg/ubsan/cxx1y-vla.C: Remove.
Jason Merrill [Fri, 12 Dec 2014 16:43:21 +0000 (11:43 -0500)]
* g++.dg/ubsan/cxx1y-vla.C: Remove.

From-SVN: r218681

9 years agore PR c++/61402 (-Wsequence-point doesn't notice unsequenced lambda init and function...
Jason Merrill [Fri, 12 Dec 2014 16:43:16 +0000 (11:43 -0500)]
re PR c++/61402 (-Wsequence-point doesn't notice unsequenced lambda init and function argument)

PR c++/61402
* lambda.c (add_capture): Don't pass a dependent type to
variably_modified_type_p.

From-SVN: r218680

9 years agore PR libstdc++/64276 (would be better to use __cpp_exceptions rather than __EXCEPTIO...
Jonathan Wakely [Fri, 12 Dec 2014 15:58:49 +0000 (15:58 +0000)]
re PR libstdc++/64276 (would be better to use __cpp_exceptions rather than __EXCEPTIONS to determine whether exceptions are available)

PR libstdc++/64276
* doc/doxygen/user.cfg.in: Define __cpp_exceptions and __cpp_rtti.
* doc/html/manual/using_exceptions.html: Regenerate.
* doc/xml/manual/using_exceptions.xml: Use SD-6 feature-testing
macros, __cpp_exceptions and __cpp_rtti, instead of __EXCEPTIONS and
__GXX_RTTI.
* include/bits/c++config: Likewise.
* include/bits/locale_classes.tcc: Likewise.
* include/bits/shared_ptr.h: Likewise.
* include/bits/shared_ptr_base.h: Likewise.
* include/debug/formatter.h: Likewise.
* include/experimental/any: Likewise.
* include/ext/rope: Likewise.
* include/ext/ropeimpl.h: Likewise.
* include/std/functional: Likewise.
* include/tr1/functional: Likewise.
* include/tr1/shared_ptr.h: Likewise.
* libsupc++/eh_call.cc: Likewise.
* libsupc++/eh_personality.cc: Likewise.
* libsupc++/exception_defines.h: Likewise.
* libsupc++/exception_ptr.h: Likewise.
* libsupc++/guard.cc: Likewise.
* libsupc++/pbase_type_info.cc: Likewise.
* libsupc++/pointer_type_info.cc: Likewise.
* libsupc++/vterminate.cc: Likewise.
* src/c++11/thread.cc: Likewise.

From-SVN: r218679

9 years agore PR middle-end/64182 (wide-int rounding division is broken)
Richard Sandiford [Fri, 12 Dec 2014 15:46:57 +0000 (15:46 +0000)]
re PR middle-end/64182 (wide-int rounding division is broken)

gcc/
PR middle-end/64182
* wide-int.h (wi::div_round, wi::mod_round): Fix rounding of tied
cases.
* double-int.c (div_and_round_double): Fix handling of unsigned
cases.  Use same rounding approach as wide-int.h.

gcc/testsuite/
2014-xx-xx  Richard Sandiford  <richard.sandiford@arm.com>
    Joseph Myers  <joseph@codesourcery.com>

PR middle-end/64182
* gcc.dg/plugin/wide-int-test-1.c,
gcc.dg/plugin/wide-int_plugin.c: New test.
* gcc.dg/plugin/plugin.exp: Register it.
* gnat.dg/round_div.adb: New test.

Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
From-SVN: r218678

9 years agore PR libstdc++/64241 (make_exception_ptr returns garbage with -fno-exceptions)
Jonathan Wakely [Fri, 12 Dec 2014 15:10:08 +0000 (15:10 +0000)]
re PR libstdc++/64241 (make_exception_ptr returns garbage with -fno-exceptions)

PR libstdc++/64241
* libsupc++/exception_ptr.h: Return empty object when exceptions are
disabled.
* testsuite/18_support/exception_ptr/64241.cc: New.

From-SVN: r218675

9 years agore PR middle-end/64274 ([ARM] gcc.target/arm/fixed-point-exec.c ICE in fold_binary_loc)
Marek Polacek [Fri, 12 Dec 2014 14:02:37 +0000 (14:02 +0000)]
re PR middle-end/64274 ([ARM] gcc.target/arm/fixed-point-exec.c ICE in fold_binary_loc)

PR middle-end/64274
* fold-const.c (fold_binary_loc): Add ANY_INTEGRAL_TYPE_P check.

From-SVN: r218671

9 years agostl_iterator.h (make_reverse_iterator): LWG DR 2285.
Jonathan Wakely [Fri, 12 Dec 2014 13:35:55 +0000 (13:35 +0000)]
stl_iterator.h (make_reverse_iterator): LWG DR 2285.

* include/bits/stl_iterator.h (make_reverse_iterator): LWG DR 2285.
* include/std/tuple: Add feature-test macro.
* testsuite/24_iterators/reverse_iterator/make.cc: New.

From-SVN: r218670

9 years agore PR tree-optimization/64269 (ICE with -O3 enabled on Ubuntu 14.04)
Jakub Jelinek [Fri, 12 Dec 2014 13:32:16 +0000 (14:32 +0100)]
re PR tree-optimization/64269 (ICE with -O3 enabled on Ubuntu 14.04)

PR tree-optimization/64269
* tree-ssa-forwprop.c (simplify_builtin_call): Bail out if
len2 or diff are too large.

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

From-SVN: r218669

9 years agore PR tree-optimization/64280 (ICE in replace_uses_by, at tree-cfg.c:1789)
Richard Biener [Fri, 12 Dec 2014 13:26:15 +0000 (13:26 +0000)]
re PR tree-optimization/64280 (ICE in replace_uses_by, at tree-cfg.c:1789)

2014-12-12  Richard Biener  <rguenther@suse.de>

PR middle-end/64280
* tree-cfg.c (replace_uses_by): Guard assert properly.

* g++.dg/torture/pr64280.C: New testcase.

From-SVN: r218668

9 years agoAdd use of zex instruction for moxie port
Anthony Green [Fri, 12 Dec 2014 12:52:45 +0000 (12:52 +0000)]
Add use of zex instruction for moxie port

From-SVN: r218666

9 years agore PR rtl-optimization/64255 (failures with -O2 optimization on i >= 0 ? (unsigned...
Jakub Jelinek [Fri, 12 Dec 2014 12:43:34 +0000 (13:43 +0100)]
re PR rtl-optimization/64255 (failures with -O2 optimization on i >= 0 ? (unsigned long) i : - (unsigned long) i)

PR rtl-optimization/64255
* gcc.c-torture/execute/pr64255.c: New test.

PR rtl-optimization/64260
* gcc.c-torture/execute/pr64260.c: New test.

From-SVN: r218665

9 years agoAdd load of target-utils.exp to libatomic, libitm, libvtv, libgo testsuite drivers
Kyrylo Tkachov [Fri, 12 Dec 2014 12:00:01 +0000 (12:00 +0000)]
Add load of target-utils.exp to libatomic, libitm, libvtv, libgo testsuite drivers

* testsuite/lib/libatomic.exp: Load target-utils.exp

* testsuite/lib/libitm.exp: Load target-utils.exp.
Move load of target-supports.exp earlier.

* testsuite/lib/libvtv.exp: Load target-utils.exp

From-SVN: r218664

9 years agoreal.h (HONOR_SNANS, [...]): Replace macros with 3 overloaded declarations.
Marc Glisse [Fri, 12 Dec 2014 10:46:00 +0000 (11:46 +0100)]
real.h (HONOR_SNANS, [...]): Replace macros with 3 overloaded declarations.

2014-12-12  Marc Glisse  <marc.glisse@inria.fr>

* real.h (HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
HONOR_SIGN_DEPENDENT_ROUNDING): Replace macros with 3 overloaded
declarations.
* real.c (HONOR_NANS): Fix indentation.
(HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
HONOR_SIGN_DEPENDENT_ROUNDING): Define three overloads.
* builtins.c (fold_builtin_cproj, fold_builtin_signbit,
fold_builtin_fmin_fmax, fold_builtin_classify): Simplify argument
of HONOR_*.
* fold-const.c (operand_equal_p, fold_comparison, fold_binary_loc):
Likewise.
* gimple-fold.c (gimple_val_nonnegative_real_p): Likewise.
* ifcvt.c (noce_try_move, noce_try_minmax, noce_try_abs): Likewise.
* omp-low.c (omp_reduction_init): Likewise.
* rtlanal.c (may_trap_p_1): Likewise.
* simplify-rtx.c (simplify_const_relational_operation): Likewise.
* tree-ssa-dom.c (record_equality, record_edge_info): Likewise.
* tree-ssa-phiopt.c (value_replacement, abs_replacement): Likewise.
* tree-ssa-reassoc.c (eliminate_using_constants): Likewise.
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.

From-SVN: r218663

9 years ago[libgomp][testsuite] Explicitly include target-utils.exp (fix libgomp testsuite ERROR)
Kyrylo Tkachov [Fri, 12 Dec 2014 10:31:44 +0000 (10:31 +0000)]
[libgomp][testsuite] Explicitly include target-utils.exp (fix libgomp testsuite ERROR)

* testsuite/lib/libgomp.exp: Load target-utils.exp.
Move load of target-supportes.exp earlier.

From-SVN: r218662

9 years ago[libstdc++][testsuite] Mark as UNSUPPORTED tests that don't fit into tiny memory...
Kyrylo Tkachov [Fri, 12 Dec 2014 09:36:35 +0000 (09:36 +0000)]
[libstdc++][testsuite] Mark as UNSUPPORTED tests that don't fit into tiny memory model

* testsuite/lib/libstdc++.exp: Include target-utils.exp.
(v3_target_compile): Check if test is unsupported.
(v3_target_compile_as_c): Likewise.

From-SVN: r218661

9 years agoipa-inline.c (ipa_inline): Fix condition on when TODO_remove_unreachable_functions...
Jan Hubicka [Fri, 12 Dec 2014 09:05:56 +0000 (10:05 +0100)]
ipa-inline.c (ipa_inline): Fix condition on when TODO_remove_unreachable_functions is needed.

* ipa-inline.c (ipa_inline): Fix condition on when
TODO_remove_unreachable_functions is needed.

From-SVN: r218660

9 years agoipa-devirt.c (possible_polymorphic_call_targets): Return early if otr_type has no...
Jan Hubicka [Fri, 12 Dec 2014 08:46:56 +0000 (09:46 +0100)]
ipa-devirt.c (possible_polymorphic_call_targets): Return early if otr_type has no BINFO.

* ipa-devirt.c (possible_polymorphic_call_targets): Return early
if otr_type has no BINFO.

From-SVN: r218659

9 years agore PR rtl-optimization/63917 (r217646 caused many failures)
Zhenqiang Chen [Fri, 12 Dec 2014 05:51:19 +0000 (05:51 +0000)]
re PR rtl-optimization/63917 (r217646 caused many failures)

2014-12-12  Zhenqiang Chen  <zhenqiang.chen@arm.com>

PR rtl-optimization/63917
* ifcvt.c (cc_in_cond): New function.
(end_ifcvt_sequence): Make sure new generated insns do not clobber CC.
(noce_process_if_block, check_cond_move_block): Check CC references.

testsuite/ChangeLog:
2014-12-12  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* gcc.dg/pr64007.c: New test.

From-SVN: r218658

9 years agoldp_stp_2.c: Make test less vulnerable.
Bin Cheng [Fri, 12 Dec 2014 04:45:58 +0000 (04:45 +0000)]
ldp_stp_2.c: Make test less vulnerable.

gcc/testsuite
* gcc.target/aarch64/ldp_stp_2.c: Make test less vulnerable.
* gcc.target/aarch64/ldp_stp_3.c: Ditto.

From-SVN: r218657

9 years ago* c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
Jason Merrill [Fri, 12 Dec 2014 03:49:19 +0000 (22:49 -0500)]
* c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.

From-SVN: r218656

9 years agoRemove N3639 "array of runtime length" from -std=c++14.
Jason Merrill [Fri, 12 Dec 2014 03:49:13 +0000 (22:49 -0500)]
Remove N3639 "array of runtime length" from -std=c++14.

gcc/cp/
* decl.c (compute_array_index_type): VLAs are not part of C++14.
(create_array_type_for_decl, grokdeclarator): Likewise.
* lambda.c (add_capture): Likewise.
* pt.c (tsubst): Likewise.
* rtti.c (get_tinfo_decl): Likewise.
* semantics.c (finish_decltype_type): Likewise.
* typeck.c (cxx_sizeof_or_alignof_type): Likewise.
(cp_build_addr_expr_1): Likewise.
* init.c (build_vec_init): Don't throw bad_array_length.
gcc/c-family/
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
we aren't complaining about VLAs.
libstdc++-v3/
* libsupc++/new (bad_array_length): Move...
* bad_array_length.cc: ...here.
* cxxabi.h, eh_aux_runtime.cc (__cxa_throw_bad_array_new_length): Also
move to bad_array_length.cc.

* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
we aren't complaining about VLAs.

From-SVN: r218655

9 years agore PR c++/64248 (Error: declarator-id missing; using reserved word ‘__FUNCTION__’)
Jason Merrill [Fri, 12 Dec 2014 03:49:03 +0000 (22:49 -0500)]
re PR c++/64248 (Error: declarator-id missing; using reserved word ‘__FUNCTION__’)

PR c++/64248
Revert:
* parser.c (cp_parser_unqualified_id): Handle __func__ here.
(cp_parser_primary_expression): Not here.

From-SVN: r218654

9 years agore PR c++/57510 (subobjects not destroyed when exception thrown during list-initializ...
Jason Merrill [Fri, 12 Dec 2014 03:48:55 +0000 (22:48 -0500)]
re PR c++/57510 (subobjects not destroyed when exception thrown during list-initialization)

PR c++/57510
* typeck2.c (split_nonconstant_init_1): Handle arrays here.
(store_init_value): Not here.
(split_nonconstant_init): Look through TARGET_EXPR.  No longer static.
* cp-tree.h: Declare split_nonconstant_init.
* call.c (set_up_extended_ref_temp): Use split_nonconstant_init.

From-SVN: r218653

9 years agoAdjust the comment in contrib/download_prerequisties.
Chung-Ju Wu [Fri, 12 Dec 2014 03:23:16 +0000 (03:23 +0000)]
Adjust the comment in contrib/download_prerequisties.

contrib/
* download_prerequisites: Modify the comment for GRAPHITE_LOOP_OPT.

From-SVN: r218652

9 years agoDaily bump.
GCC Administrator [Fri, 12 Dec 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218651

9 years agoaarch64-protos.h (tune_params): Add align field.
Andrew Pinski [Thu, 11 Dec 2014 23:11:03 +0000 (23:11 +0000)]
aarch64-protos.h (tune_params): Add align field.

2014-12-11  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-protos.h (tune_params): Add align field.
        * config/aarch64/aarch64.c (generic_tunings): Specify align.
        (cortexa53_tunings): Likewise.
        (cortexa57_tunings): Likewise.
        (thunderx_tunings): Likewise.
        (aarch64_override_options): Set align_loops, align_jumps,
        align_functions based on what the tuning struct.

From-SVN: r218645

9 years ago* doc/md.texi (Insn Lengths): Fix description of (pc).
Eric Botcazou [Thu, 11 Dec 2014 22:37:56 +0000 (22:37 +0000)]
* doc/md.texi (Insn Lengths): Fix description of (pc).

From-SVN: r218642

9 years agobuiltin-arith-overflow-1.c (fn2): Take signed char.
Eric Botcazou [Thu, 11 Dec 2014 22:16:09 +0000 (22:16 +0000)]
builtin-arith-overflow-1.c (fn2): Take signed char.

* gcc.dg/builtin-arith-overflow-1.c (fn2): Take signed char.
(fn3): Likewise.

From-SVN: r218641

9 years agore PR ipa/61324 (ICE: SIGSEGV at ipa-comdats.c:321 with -fno-use-cxa-atexit -fkeep...
Jan Hubicka [Thu, 11 Dec 2014 21:48:48 +0000 (22:48 +0100)]
re PR ipa/61324 (ICE: SIGSEGV at ipa-comdats.c:321 with -fno-use-cxa-atexit -fkeep-inline-functions)

PR ipa/61324
* testsuite/g++.dg/pr61324.C: New testcase by Trevor Saunders.
* testsuite/g++.dg/tm/pr51411-2.C: Update se the extern function is
not eliminated early.
* testsuite/gcc.target/i386/pr57756.c: Turn extern inline into static
inline.

* passes.c (execute_todo): Update call of remove_unreachable_nodes.
* ipa-chkp.c (chkp_produce_thunks): Use TODO_remove_functions.
* cgraphunit.c (symbol_table::process_new_functions): Add
IPA_SSA_AFTER_INLINING.
(ipa_passes): Update call of remove_unreachable_nodes.
(symbol_table::compile): Remove call of remove_unreachable_nodes.
* ipa-inline.c (inline_small_functions): Do not ICE with
-flto-partition=none
(ipa_inline): Update symtab->state; fix formatting
update call of remove_unreachable_nodes.
* cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
* cgraph.h (enum symtab_state): Add IPA_SSA_AFTER_INLINING.
(remove_unreachable_nodes): Update.
* ipa.c (process_references): Keep external references only
when optimizing.
(walk_polymorphic_call_targets): Keep possible polymorphic call
target only when devirtualizing.
(symbol_table::remove_unreachable_nodes): Remove BEFORE_INLINING_P
parameter.
(ipa_single_use): Update comment.
* ipa-pure-const.c (cdtor_p): New function.
(propagate_pure_const): Track if some cdtor was turned pure/const.
(execute): Return TODO_remove_functions if needed.
* ipa-comdats.c (ipa_comdats): Update comment.

* lto.c (read_cgraph_and_symbols): Update call of
remove_unreachable_nodes.
(do_whole_program_analysis): Remove call of
symtab->remove_unreachable_nodes

From-SVN: r218640

9 years agodwarf2out.c (gen_lexical_block_die): Remove unused `depth' parameter.
Aldy Hernandez [Thu, 11 Dec 2014 19:13:57 +0000 (19:13 +0000)]
dwarf2out.c (gen_lexical_block_die): Remove unused `depth' parameter.

* dwarf2out.c (gen_lexical_block_die): Remove unused `depth'
parameter.
(gen_inlined_subroutine_die): Same.
(gen_block_die): Same.
(decls_for_scope): Same.

From-SVN: r218639

9 years ago3.cc: Only use a thread_local when __cxa_thread_atexit_impl is available.
Jonathan Wakely [Thu, 11 Dec 2014 17:58:22 +0000 (17:58 +0000)]
3.cc: Only use a thread_local when __cxa_thread_atexit_impl is available.

* testsuite/30_threads/condition_variable/members/3.cc: Only use
a thread_local when __cxa_thread_atexit_impl is available.

From-SVN: r218638

9 years agoMove changelog entries from r218617 from gcc/ChangeLog to gcc/jit/ChangeLog
David Malcolm [Thu, 11 Dec 2014 17:55:22 +0000 (17:55 +0000)]
Move changelog entries from r218617 from gcc/ChangeLog to gcc/jit/ChangeLog

From-SVN: r218637

9 years agoDocument gccjit::context::set_str_option
David Malcolm [Thu, 11 Dec 2014 17:50:56 +0000 (17:50 +0000)]
Document gccjit::context::set_str_option

gcc/jit/ChangeLog:
* docs/cp/topics/contexts.rst (gccjit::context::set_str_option):
Document new function.
* docs/_build/texinfo/libgccjit.texi: Regenerate.

From-SVN: r218636

9 years ago[AArch64]Use AARCH64_FL_FPSIMD flags for all cores in aarch64-cores.def
Renlin Li [Thu, 11 Dec 2014 17:30:39 +0000 (17:30 +0000)]
[AArch64]Use AARCH64_FL_FPSIMD flags for all cores in aarch64-cores.def

gcc/

2014-12-11  Renlin Li  <renlin.li@arm.com>

* config/aarch64/aarch64-cores.def: Change all AARCH64_FL_FPSIMD to
AARCH64_FL_FOR_ARCH8.
* config/aarch64/aarch64.c (all_cores): Use FLAGS from
aarch64-cores.def file only.

From-SVN: r218635

9 years agore PR tree-optimization/42108 (50% performance regression)
Richard Biener [Thu, 11 Dec 2014 15:52:47 +0000 (15:52 +0000)]
re PR tree-optimization/42108 (50% performance regression)

2014-12-11  Richard Biener  <rguenther@suse.de>

PR tree-optimization/42108
* trans-stmt.c (gfc_trans_do): Execute the division computing
countm1 before the loop entry check.

* gfortran.dg/pr42108.f90: Amend.

From-SVN: r218630

9 years agotypeck.c (maybe_warn_about_useless_cast): Remove unnecessary conditional.
Paolo Carlini [Thu, 11 Dec 2014 15:45:32 +0000 (15:45 +0000)]
typeck.c (maybe_warn_about_useless_cast): Remove unnecessary conditional.

2014-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

* typeck.c (maybe_warn_about_useless_cast): Remove unnecessary
conditional.

From-SVN: r218629

9 years agodo_iterator.f90: Remove bogus dg-warning.
Manuel López-Ibáñez [Thu, 11 Dec 2014 15:28:27 +0000 (15:28 +0000)]
do_iterator.f90: Remove bogus dg-warning.

gcc/testsuite/ChangeLog:

2014-12-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * gfortran.dg/do_iterator.f90: Remove bogus dg-warning.

From-SVN: r218628

9 years agore PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagn...
Manuel López-Ibáñez [Thu, 11 Dec 2014 15:13:33 +0000 (15:13 +0000)]
re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)

gcc/ChangeLog:

2014-12-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* diagnostic.c (diagnostic_action_after_output): Make it extern.
Take diagnostic_t argument instead of diagnostic_info. Count also
DK_WERROR towards max_errors.
(diagnostic_report_diagnostic): Update call according to the above.
(error_recursion): Likewise.
* diagnostic.h (diagnostic_action_after_output): Declare.
* pretty-print.c (pp_formatted_text_data): Delete.
(pp_append_r): Call output_buffer_append_r.
(pp_formatted_text): Call output_buffer_formatted_text.
(pp_last_position_in_text): Call output_buffer_last_position_in_text.
* pretty-print.h (output_buffer_formatted_text): New.
(output_buffer_append_r): New.
(output_buffer_last_position_in_text): New.

gcc/fortran/ChangeLog:

2014-12-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR fortran/44054
* error.c (pp_error_buffer): New static variable.
(pp_warning_buffer): Make it a pointer.
(gfc_output_buffer_empty_p): New.
(gfc_error_init_1): Call gfc_buffer_error.
(gfc_buffer_error): Do not use pp_warning_buffer.flush_p as the
buffered_p flag.
(gfc_clear_warning): Likewise.
(gfc_warning_check): Call gfc_clear_warning. Only check the new
pp_warning_buffer if the old warning_buffer was empty. Call
diagnostic_action_after_output.
(gfc_error_1): Renamed from gfc_error.
(gfc_error): New.
(gfc_clear_error): Clear also pp_error_buffer.
(gfc_error_flag_test): Check also pp_error_buffer.
(gfc_error_check): Likewise. Only check the new pp_error_buffer
if the old error_buffer was empty.
(gfc_move_output_buffer_from_to): New.
(gfc_push_error): Use it here. Take also an output_buffer as argument.
(gfc_pop_error): Likewise.
(gfc_free_error): Likewise.
(gfc_diagnostics_init): Use XNEW and placement-new to init
pp_error_buffer and pp_warning_buffer. Set flush_p to false for
both pp_warning_buffer and pp_error_buffer.

* Update gfc_push_error, gfc_pop_error and gfc_free_error calls
according to the above changes.
* Use gfc_error_1 for all gfc_error calls that use multiple
locations.
* Use %qs instead of '%s' for many gfc_error calls.

From-SVN: r218627

9 years ago[AArch64] Fix usage of +no in error message for aarch64_parse_extension
Kyrylo Tkachov [Thu, 11 Dec 2014 15:09:01 +0000 (15:09 +0000)]
[AArch64] Fix usage of +no in error message for aarch64_parse_extension

* config/aarch64/aarch64.c (aarch64_parse_extension): Update error
message to say +no only when removing extension.

From-SVN: r218626

9 years agogen-mul-tables.cc: Add insn-codes.h to include list for generator file.
Andrew MacLeod [Thu, 11 Dec 2014 14:57:00 +0000 (14:57 +0000)]
gen-mul-tables.cc: Add insn-codes.h to include list for generator file.

2014-12-11  Andrew MacLeod  <amacleod@redhat.com>

* config/tilepro/gen-mul-tables.cc: Add insn-codes.h to include list
for generator file.  Add comment indicating it is a generated file.
* config/tilepro/mul-tables.c: Update generated file.
* config/tilegx/mul-tables.c: Likewise.

From-SVN: r218624

9 years agocombine.c (try_combine): Do not allow combining a PARALLEL I2 with a register move...
Segher Boessenkool [Thu, 11 Dec 2014 14:29:14 +0000 (15:29 +0100)]
combine.c (try_combine): Do not allow combining a PARALLEL I2 with a register move I3 if that I2 is an asm.

* combine.c (try_combine): Do not allow combining a PARALLEL I2
with a register move I3 if that I2 is an asm.

From-SVN: r218623

9 years ago[ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32
Kyrylo Tkachov [Thu, 11 Dec 2014 13:34:22 +0000 (13:34 +0000)]
[ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32

* config/arm/arm_neon.h (vrndqn_f32): Rename to...
(vrndnq_f32): ... this.
(vrndqa_f32): Rename to...
(vrndaq_f32): ... this.
(vrndqp_f32): Rename to...
(vrndpq_f32): ... this.
(vrndqm_f32): Rename to...
(vrndmq_f32): ... this.
(vrndx_f32): New intrinsic.
(vrndxq_f32): Likewise.

* config/arm/arm_neon.h (vrndqn_f32): Rename to...
(vrndnq_f32): ... this.
(vrndqa_f32): Rename to...
(vrndaq_f32): ... this.
(vrndqp_f32): Rename to...
(vrndpq_f32): ... this.
(vrndqm_f32): Rename to...
(vrndmq_f32): ... this.
(vrndx_f32): New intrinsic.
(vrndxq_f32): Likewise.

From-SVN: r218622

9 years agofold-const.c (fold_negate_expr): Add ANY_INTEGRAL_TYPE_P check.
Marek Polacek [Thu, 11 Dec 2014 11:07:58 +0000 (11:07 +0000)]
fold-const.c (fold_negate_expr): Add ANY_INTEGRAL_TYPE_P check.

* fold-const.c (fold_negate_expr): Add ANY_INTEGRAL_TYPE_P check.
(extract_muldiv_1): Likewise.
(maybe_canonicalize_comparison_1): Likewise.
(fold_comparison): Likewise.
(tree_binary_nonnegative_warnv_p): Likewise.
(tree_binary_nonzero_warnv_p): Likewise.
* gimple-ssa-strength-reduction.c (legal_cast_p_1): Likewise.
* tree-scalar-evolution.c (simple_iv): Likewise.
(scev_const_prop): Likewise.
* tree-ssa-loop-niter.c (expand_simple_operations): Likewise.
* tree-vect-generic.c (expand_vector_operation): Likewise.
* tree.h (ANY_INTEGRAL_TYPE_CHECK): Define.
(ANY_INTEGRAL_TYPE_P): Define.
(TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED, TYPE_OVERFLOW_TRAPS):
Add ANY_INTEGRAL_TYPE_CHECK.
(any_integral_type_check): New function.

From-SVN: r218621

9 years ago[testsuite][1/2] Move ${tool}_check_unsupported_p into separate file
Kyrylo Tkachov [Thu, 11 Dec 2014 09:43:53 +0000 (09:43 +0000)]
[testsuite][1/2] Move ${tool}_check_unsupported_p into separate file

* lib/target-utils.exp: New file.
* lib/gcc-defs.exp (${tool}_check_unsupported_p): Delete.
Include target-utils.exp.
* lib/objc.exp: Likewise.
* lib/mike-gcc.exp: Load target-utils.exp.
* lib/mike-g++.exp: Likewise.
* lib/go-torture.exp: Likewise.
* lib/fortran-torture.exp: Likewise.
* lib/c-torture.exp: Likewise.

From-SVN: r218620

9 years agodiagnostic.c (get_terminal_width): Renamed from
Tobias Burnus [Thu, 11 Dec 2014 08:20:24 +0000 (09:20 +0100)]
diagnostic.c (get_terminal_width): Renamed from

2014-12-11  Tobias Burnus  <burnus@net-b.de>
            Manuel López-Ibáñez  <manu@gcc.gnu.org>

gcc/
        * diagnostic.c (get_terminal_width): Renamed from
        * getenv_columns,
        removed static, and additionally use ioctl to get width.
        (diagnostic_set_caret_max_width): Update call.
        * diagnostic.h (get_terminal_width): Add prototype.
        * opts.c (print_specific_help): Use it for x_help_columns.
        * doc/invoke.texi (fdiagnostics-show-caret): Document how the
        width is set.

gcc/fortran/
        * error.c (gfc_get_terminal_width): Renamed from
        get_terminal_width and use same-named common function.
        (gfc_error_init_1): Update call.

Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r218619

9 years agoxvasprintf.c: New file.
Uros Bizjak [Thu, 11 Dec 2014 08:15:37 +0000 (09:15 +0100)]
xvasprintf.c: New file.

* xvasprintf.c: New file.
* vprintf-support.h: Likewise.
* vprintf-support.c: Likewise.
* Makefile.in (CFILES): Add vprintf-support.c, xvasprintf.c.
(REQUIRED_OFILES): Add vprintf-support.$(objext), xvasprintf.$(objext).
(vprintf-support.$(objext), xvasprintf.$(objext)): New targets.
(vasprintf.$(objext)): Depend on $(srcdir)/vprintf-support.h.
* functions.texi: Regenerate.
* vasprintf.c (int_vasprintf): Use libiberty_vprintf_buffer_size.

include/ChangeLog:

* libiberty.h (xvasprintf): Declare.

libcpp/ChangeLog:

* directives.c (cpp_define_formatted): Use xvasprintf.

Co-Authored-By: Ben Elliston <bje@au.ibm.com>
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r218618

9 years agoMinor interface cleanups of libgccjit
Ulrich Drepper [Thu, 11 Dec 2014 04:31:52 +0000 (04:31 +0000)]
Minor interface cleanups of libgccjit

        Minor interface cleanups of libgccjit
        * jit/jit-playback.c (convert_to_dso): Use auto_vec instead
        of automatic array to build up command line.
        * jit/jit-recording.c (recording::context::set_str_option):
        Make copy of the string.
        (recording::context::~context): Free string options.
        * jit/jit-recording.h (recording::context): Adjust type
        of m_str_options member.
        * jit/libgccjit.h: Adjust comment about
        gcc_jit_context_set_str_option parameter begin used after
        the call.
        Update comment now that all interfaces are copy strings
        if necessary.
        * jit/libgccjit++.h (gccjit::context): Add set_str_option
        member function.

From-SVN: r218617

9 years agoDaily bump.
GCC Administrator [Thu, 11 Dec 2014 00:16:24 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r218616

9 years agogdbhooks.py (class DWDieRefPrinter): New class.
Aldy Hernandez [Wed, 10 Dec 2014 23:16:42 +0000 (23:16 +0000)]
gdbhooks.py (class DWDieRefPrinter): New class.

* gdbhooks.py (class DWDieRefPrinter): New class.
(build_pretty_printer): Register dw_die_ref's.

From-SVN: r218612

9 years agoAdd march=knl.
Ilya Tocar [Wed, 10 Dec 2014 21:25:12 +0000 (21:25 +0000)]
Add march=knl.

gcc/

* config.gcc: Support "knl".
* config/i386/driver-i386.c (host_detect_local_cpu): Detect "knl".
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
PROCESSOR_KNL.
* config/i386/i386.c (m_KNL): Define.
(processor_target_table): Add "knl".
(PTA_KNL): Define.
(ix86_issue_rate): Add PROCESSOR_KNL.
(ix86_adjust_cost): Ditto.
(ia32_multipass_dfa_lookahead): Ditto.
(get_builtin_code_for_version): Handle "knl".
(fold_builtin_cpu): Ditto.
* config/i386/i386.h (TARGET_KNL): Define.
(processor_type): Add PROCESSOR_KNL.
* config/i386/i386.md (attr "cpu"): Add knl.
* config/i386/x86-tune.def: Add m_KNL.

gcc/testsuite/

* gcc.target/i386/funcspec-5.c: Test avx512f and knl.

From-SVN: r218610

9 years agoinvoke.texi: (-devirtualize-at-ltrans): Document.
Jan Hubicka [Wed, 10 Dec 2014 21:17:28 +0000 (22:17 +0100)]
invoke.texi: (-devirtualize-at-ltrans): Document.

* doc/invoke.texi: (-devirtualize-at-ltrans): Document.
* lto-cgraph.c (lto_output_varpool_node): Mark initializer as removed
when it is not streamed to the given ltrans.
(compute_ltrans_boundary): Make code adding all polymorphic
call targets conditional with !flag_wpa || flag_ltrans_devirtualize.
* common.opt (fdevirtualize-at-ltrans): New flag.

From-SVN: r218609