gcc.git
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

9 years agoCommit missing part of patch.
David Edelsohn [Wed, 10 Dec 2014 21:14:36 +0000 (16:14 -0500)]
Commit missing part of patch.

From-SVN: r218608

9 years agoForce output of vars with "omp declare target" attribute in gcc/varpool.c
Ilya Verbin [Wed, 10 Dec 2014 20:52:10 +0000 (20:52 +0000)]
Force output of vars with "omp declare target" attribute in gcc/varpool.c

gcc/
* varpool.c (varpool_node::get_create): Force output of vars with
"omp declare target" attribute.
libgomp/
* testsuite/libgomp.c/target-9.c: New test.

From-SVN: r218607

9 years agore PR go/61316 (gccgo: spurious "incompatible types in assignment" error [GoSmith])
Ian Lance Taylor [Wed, 10 Dec 2014 20:38:13 +0000 (20:38 +0000)]
re PR go/61316 (gccgo: spurious "incompatible types in assignment" error [GoSmith])

PR go/61316
compiler: Don't lower multi-valued arguments into temporaries.

From-SVN: r218606

9 years agoreal.h (HONOR_NANS): Replace macro with 3 overloaded declarations.
Marc Glisse [Wed, 10 Dec 2014 20:26:05 +0000 (21:26 +0100)]
real.h (HONOR_NANS): Replace macro with 3 overloaded declarations.

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

* real.h (HONOR_NANS): Replace macro with 3 overloaded declarations.
* real.c: Include rtl.h and options.h.
(HONOR_NANS): Define three overloads.
* builtins.c (fold_builtin_classify, fold_builtin_unordered_cmp):
Simplify argument of HONOR_NANS.
* fold-const.c (combine_comparisons, fold_truth_not_expr,
fold_cond_expr_with_comparison, merge_truthop_with_opposite_arm,
fold_comparison, fold_binary_loc): Likewise.
* ifcvt.c (noce_try_move, noce_try_minmax): Likewise.
* ipa-inline-analysis.c (add_clause,
set_cond_stmt_execution_predicate): Likewise.
* match.pd: Likewise.
* rtlanal.c (may_trap_p_1): Likewise.
* simplify-rtx.c (simplify_const_relational_operation): Likewise.
* tree-if-conv.c (parse_predicate): Likewise.
* tree-ssa-ccp.c (valid_lattice_transition): Likewise.
* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
* tree-ssa-phiopt.c (minmax_replacement, neg_replacement): Likewise.
* tree-ssa-reassoc.c (eliminate_using_constants): Likewise.
* tree-ssa-tail-merge.c (gimple_equal_p): Likewise.

From-SVN: r218605

9 years agore PR tree-optimization/62021 (ICE in verify_gimple_assign_single)
Jakub Jelinek [Wed, 10 Dec 2014 20:01:12 +0000 (21:01 +0100)]
re PR tree-optimization/62021 (ICE in verify_gimple_assign_single)

PR tree-optimization/62021
* omp-low.c (simd_clone_adjust_return_type): Use
vector of pointer_sized_int_node types instead vector of pointer
types.
(simd_clone_adjust_argument_types): Likewise.

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

From-SVN: r218603

9 years agore PR target/64252 (expand_vec_perm_pblendv caused miscompilation)
Jakub Jelinek [Wed, 10 Dec 2014 19:59:57 +0000 (20:59 +0100)]
re PR target/64252 (expand_vec_perm_pblendv caused miscompilation)

PR target/64252
* config/i386/i386.c (expand_vec_perm_pblendv): If not testing_p,
set dcopy.target to a new pseudo.

* gcc.dg/vect/pr64252.c: New test.
* gcc.dg/pr64252.c: New test.
* gcc.target/i386/avx2-pr64252.c: New test.

Co-Authored-By: Evgeny Stupachenko <evstupac@gmail.com>
From-SVN: r218602

9 years agochkp-privatize_0.c: Remove unneeded selector from target check.
Ilya Enkovich [Wed, 10 Dec 2014 19:08:57 +0000 (19:08 +0000)]
chkp-privatize_0.c: Remove unneeded selector from target check.

* gcc.dg/lto/chkp-privatize_0.c: Remove unneeded selector
from target check.

From-SVN: r218601

9 years agopr64127.C: Fix.
Paolo Carlini [Wed, 10 Dec 2014 19:05:56 +0000 (19:05 +0000)]
pr64127.C: Fix.

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

* g++.dg/cpp/pr64127.C: Fix.

From-SVN: r218600

9 years agopr64127.C: Fix.
Paolo Carlini [Wed, 10 Dec 2014 19:05:43 +0000 (19:05 +0000)]
pr64127.C: Fix.

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

* g++.dg/cpp/pr64127.C: Fix.

From-SVN: r218599

9 years ago* config/rs6000/rs6000.md (*add<mode>3): Remove condition.
Segher Boessenkool [Wed, 10 Dec 2014 18:41:37 +0000 (19:41 +0100)]
* config/rs6000/rs6000.md (*add<mode>3): Remove condition.

From-SVN: r218598

9 years ago40x.md (ppc403-compare): Remove "compare".
Segher Boessenkool [Wed, 10 Dec 2014 18:40:26 +0000 (19:40 +0100)]
40x.md (ppc403-compare): Remove "compare".

* config/rs6000/40x.md (ppc403-compare): Remove "compare".
config/rs6000/440.md (ppc440-compare): Remove "compare".
config/rs6000/476.md (ppc476-compare): Remove "compare".
config/rs6000/601.md (ppc601-compare): Remove "compare".
config/rs6000/603.md (ppc603-compare): Remove "compare".
config/rs6000/6xx.md (ppc604-compare): Remove "compare".
config/rs6000/7450.md (ppc7450-compare): Remove "compare".
config/rs6000/7xx.md (ppc750-compare): Remove "compare".
config/rs6000/8540.md (ppc8540_su): Remove "compare".
config/rs6000/cell.md (cell-fast-cmp, cell-cmp-microcoded): Remove
"compare".
config/rs6000/e300c2c3.md (ppce300c3_cmp): Remove "compare".
config/rs6000/e500mc.md (e500mc_su): Remove "compare".
config/rs6000/e500mc64.md (e500mc64_su2): Remove "compare".
config/rs6000/e5500.md (e5500_sfx2): Remove "compare".
config/rs6000/e6500.md (e6500_sfx2): Remove "compare".
config/rs6000/mpc.md (mpccore-compare): Remove "compare".
config/rs6000/power4.md (power4-compare): Remove "compare".
config/rs6000/power5.md (power5-compare): Remove "compare".
config/rs6000/power6.md (power6-compare): Remove "compare".
config/rs6000/power7.md (power7-compare): Remove "compare".
config/rs6000/power8.md (power8-compare): Remove "compare".  Update
comment.
config/rs6000/rs6000.c (rs6000_adjust_cost) <TYPE_COMPARE>: Remove
(three times).
(is_cracked_insn): Remove TYPE_COMPARE case.
(insn_must_be_first_in_group) <TYPE_COMPARE>: Remove (twice).
config/rs6000/rs6000.md (type): Remove "compare".
(cell_micro): Remove "compare".
config/rs6000/rs64.md (rs64a-compare): Remove "compare".

From-SVN: r218597

9 years agors6000.md (*anddi3_2rld_dot, [...]): Change type from "compare" to "two".
Segher Boessenkool [Wed, 10 Dec 2014 18:39:14 +0000 (19:39 +0100)]
rs6000.md (*anddi3_2rld_dot, [...]): Change type from "compare" to "two".

* config/rs6000/rs6000.md (*anddi3_2rld_dot, *anddi3_rld_dot2):
Change type from "compare" to "two".

From-SVN: r218596

9 years agore PR target/64180 (PowerPC carry bit improvements)
Segher Boessenkool [Wed, 10 Dec 2014 18:37:58 +0000 (19:37 +0100)]
re PR target/64180 (PowerPC carry bit improvements)

PR target/64180
* config/rs6000/predicates.md (unsigned_comparison_operator): New.
(signed_comparison_operator): New.
* config/rs6000/rs6000-protos.h (rs6000_emit_eqne): Declare.
* config/rs6000/rs6000.c (rs6000_emit_eqne): New function.
(rs6000_emit_sCOND): Remove ISEL test (move it to the expander).
* config/rs6000/rs6000.md (add<mode>3 for SDI): Expand DImode
add to addc,adde directly, if !TARGET_POWERPC64.
(sub<mode>3 for SDI): Expand DImode sub to subfc,subfe directly,
if !TARGET_POWERPC64.
(neg<mode>2): Delete expander.
(*neg<mode>2): Rename to "neg<mode>2".
(addti3, subti3): Delete.
(addti3, subti3): New expanders.
(*adddi3_noppc64, *subdi3_noppc64, *negdi2_noppc64): Delete.
(cstore<mode>4_unsigned): New expander.
(cstore<mode>4): Allow GPR as output (not just SI).  Rewrite.
(cstore<mode>4 for FP): Remove superfluous quotes.
(*eq<mode>, *eq<mode>_compare, *plus_eqsi and splitter,
*compare_plus_eqsi and splitter, *plus_eqsi_compare and splitter,
*neg_eq0<mode>, *neg_eq<mode>, *ne0_<mode>, plus_ne0_<mode>,
compare_plus_ne0_<mode> and splitter, *compare_plus_ne0_<mode>_1 and
splitter, *plus_ne0_<mode>_compare and splitter, *leu<mode>,
*leu<mode>_compare and splitter, *plus_leu<mode>, *neg_leu<mode>,
*and_neg_leu<mode>, *ltu<mode>, *ltu<mode>_compare, *plus_ltu<mode>,
*plus_ltu<mode>_1, *plus_ltu<mode>compare, *neg_ltu<mode>, *geu<mode>,
*geu<mode>_compare and splitter, *plus_geu<mode>, *neg_geu<mode>,
*and_neg_geu<mode>, *plus_gt0<mode>, *gtu<mode>, *gtu<mode>_compare,
*plus_gtu<mode>, *plus_gtu<mode>_1, *plus_gtu<mode>_compare,
*neg_gtu<mode>, 12 anonymous insns, and 12 anonymous splitters):
Delete.
(eq<mode>3, ne<mode>3): New.
(*neg_eq_<mode>, *neg_ne_<mode>): New.
(*plus_eq_<mode>, *plus_ne_<mode>): New.
(*minus_eq_<mode>, *minus_ne_<mode>): New.

From-SVN: r218595

9 years agore PR target/64180 (PowerPC carry bit improvements)
Segher Boessenkool [Wed, 10 Dec 2014 18:36:18 +0000 (19:36 +0100)]
re PR target/64180 (PowerPC carry bit improvements)

PR target/64180
* config/rs6000/predicates.md (adde_operand): New.
* config/rs6000/rs6000.md (add<mode>3_carry): New.
(*add<mode>3_imm_carry_pos): New.
(*add<mode>3_imm_carry_0): New.
(*add<mode>3_imm_carry_m1): New.
(*add<mode>3_imm_carry_neg): New.
(add<mode>3_carry_in): New.
(*add<mode>3_carry_in_internal): New.
(add<mode>3_carry_in_0): New.
(add<mode>3_carry_in_m1): New.
(subf<mode>3_carry): New.
(*subf<mode>3_imm_carry_0): New.
(*subf<mode>3_imm_carry_m1): New.
(subf<mode>3_carry_in): New.
(*subf<mode>3_carry_in_internal): New.
(subf<mode>3_carry_in_0): New.
(subf<mode>3_carry_in_m1): New.
(subf<mode>3_carry_in_xx): New.

From-SVN: r218594

9 years agore PR target/64180 (PowerPC carry bit improvements)
Segher Boessenkool [Wed, 10 Dec 2014 18:33:26 +0000 (19:33 +0100)]
re PR target/64180 (PowerPC carry bit improvements)

PR target/64180
* config/rs6000/rs6000.md (*add<mode>3_internal1): Rename to
"*add<mode>3".
(*add<mode>3_internal2, *add<mode>3_internal3, and (their splitters):
Delete.
(*add<mode>3_dot, *add<mode>3_dot2): New.
(*add<mode>3_imm_dot, *add<mode>3_imm_dot2): New.

From-SVN: r218593

9 years agore PR target/64180 (PowerPC carry bit improvements)
Segher Boessenkool [Wed, 10 Dec 2014 18:32:15 +0000 (19:32 +0100)]
re PR target/64180 (PowerPC carry bit improvements)

PR target/64180
* config/rs6000/rs6000.md (*add<mode>3_internal1): Remove addic
alternative.

From-SVN: r218592

9 years agore PR target/64180 (PowerPC carry bit improvements)
Segher Boessenkool [Wed, 10 Dec 2014 18:31:15 +0000 (19:31 +0100)]
re PR target/64180 (PowerPC carry bit improvements)

PR target/64180
* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
*ctr<mode>_internal5, *ctr<mode>_internal6): Change "r" alternatives
to "b".  Increase length.
(splitters for these): Split to cmp+addi instead of addic.

From-SVN: r218591

9 years agore PR target/64180 (PowerPC carry bit improvements)
Segher Boessenkool [Wed, 10 Dec 2014 18:30:07 +0000 (19:30 +0100)]
re PR target/64180 (PowerPC carry bit improvements)

PR target/64180
* config/rs6000/darwin.md (macho_low_si): Remove "r" alternative.
(macho_low_di): Ditto.
* config/rs6000/rs6000.md (*largetoc_low): Ditto.
(tocref<mode>): Ditto.
(elf_low): Ditto.
* config/rs6000/spe.md (mov_si<mode>_e500_subreg0_elf_low_be): Ditto.
(mov_si<mode>_e500_subreg0_elf_low_le): Ditto.
(mov_si<mode>_e500_subreg4_elf_low_be): Ditto.  Reformat condition.
(mov_si<mode>_e500_subreg4_elf_low_le): Ditto.

From-SVN: r218590

9 years agore PR target/64180 (PowerPC carry bit improvements)
Segher Boessenkool [Wed, 10 Dec 2014 18:28:57 +0000 (19:28 +0100)]
re PR target/64180 (PowerPC carry bit improvements)

PR target/64180
* config/rs6000/rs6000.c (TARGET_MD_ASM_CLOBBERS): Define.
(rs6000_md_asm_clobbers): New function.

From-SVN: r218589

9 years agoDocument libgccjit++.h
David Malcolm [Wed, 10 Dec 2014 18:25:58 +0000 (18:25 +0000)]
Document libgccjit++.h

gcc/jit/ChangeLog:
* docs/cp/index.rst: New file.
* docs/cp/intro/index.rst: New file.
* docs/cp/intro/tutorial01.rst: New file.
* docs/cp/intro/tutorial02.rst: New file.
* docs/cp/intro/tutorial03.rst: New file.
* docs/cp/intro/tutorial04.rst: New file.
* docs/cp/topics/contexts.rst: New file.
* docs/cp/topics/expressions.rst: New file.
* docs/cp/topics/functions.rst: New file.
* docs/cp/topics/index.rst: New file.
* docs/cp/topics/locations.rst: New file.
* docs/cp/topics/objects.rst: New file.
* docs/cp/topics/results.rst: New file.
* docs/cp/topics/types.rst: New file.
* docs/examples/tut01-hello-world.cc: New file.
* docs/examples/tut02-square.c: Fix missing newline in output.
* docs/examples/tut02-square.cc: New file.
* docs/examples/tut03-sum-of-squares.cc: New file.
* docs/examples/tut04-toyvm/toyvm.cc: New file.
* docs/index.rst: Move summary to above the table of contents.
Add text about the C vs C++ APIs.
* docs/topics/contexts.rst: Fix a typo.

* docs/_build/texinfo/libgccjit.texi: Regenerate.
* docs/_build/texinfo/factorial1.png: New file.
* docs/_build/texinfo/sum-of-squares1.png: New file.

From-SVN: r218588

9 years agore PR testsuite/64048 (UNRESOLVED: gcc.dg/tree-prof/peel-1.c scan-rtl-dump loop2_unroll)
Richard Biener [Wed, 10 Dec 2014 15:47:30 +0000 (15:47 +0000)]
re PR testsuite/64048 (UNRESOLVED: gcc.dg/tree-prof/peel-1.c scan-rtl-dump loop2_unroll)

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

PR testsuite/64048
* gcc.dg/tree-prof/peel-1.c: Update dump scanning.

From-SVN: r218585

9 years agore PR fortran/60718 (Test case gfortran.dg/select_type_4.f90 fails on ARM)
Bernd Edlinger [Wed, 10 Dec 2014 15:29:19 +0000 (15:29 +0000)]
re PR fortran/60718 (Test case gfortran.dg/select_type_4.f90 fails on ARM)

2014-12-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR fortran/60718
* trans-expr.c (gfc_conv_procedure_call): Fix a strict aliasing
violation when passing a class object to a formal parameter which has
different pointer or allocatable attributes.

testsuite:
2014-12-10  Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR fortran/60718
* gfortran.dg/class_alias.f90: New.

From-SVN: r218584

9 years agoforwprop-29.c: Add -fno-ipa-icf.
Richard Biener [Wed, 10 Dec 2014 15:23:34 +0000 (15:23 +0000)]
forwprop-29.c: Add -fno-ipa-icf.

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

* gcc.dg/tree-ssa/forwprop-29.c: Add -fno-ipa-icf.

From-SVN: r218583

9 years agoaarch64-protos.h (aarch64_function_profiler): Remove declaration of removed function.
Felix Yang [Wed, 10 Dec 2014 15:02:06 +0000 (15:02 +0000)]
aarch64-protos.h (aarch64_function_profiler): Remove declaration of removed function.

        * config/aarch64/aarch64-protos.h (aarch64_function_profiler): Remove
        declaration of removed function.

From-SVN: r218582

9 years ago2014-12-10 Richard Biener <rguenther@suse.de>
Richard Biener [Wed, 10 Dec 2014 14:20:43 +0000 (14:20 +0000)]
2014-12-10  Richard Biener  <rguenther@suse.de>

 * tree-ssa-loop-im.c
 (move_computations_dom_walker::before_dom_children): Clear
 SSA_NAME_RANGE_INFO on moved stmts.

From-SVN: r218580

9 years agoNew sreal implementation which uses int64_t as m_sig.
Martin Liska [Wed, 10 Dec 2014 14:10:21 +0000 (15:10 +0100)]
New sreal implementation which uses int64_t as m_sig.

* sreal.c (sreal::shift_right): New implementation
for int64_t as m_sig.
(sreal::normalize): Likewise.
(sreal::to_int): Likewise.
(sreal::operator+): Likewise.
(sreal::operator-): Likewise.
(sreal::operator*): Likewise.
(sreal::operator/): Likewise.
(sreal::signedless_minus): Removed.
(sreal::signedless_plus): Removed.
(sreal::debug): const keyword is added.
* sreal.h (sreal::operator<): New implementation
for int64_t as m_sig.
* ipa-inline.c (recursive_inlining): LONG_MIN is replaced
with sreal::min ().

From-SVN: r218579

9 years agore PR ipa/63909 (ICE: SIGSEGV in ipa_icf_gimple::func_checker::compare_bb())
Martin Liska [Wed, 10 Dec 2014 14:07:47 +0000 (15:07 +0100)]
re PR ipa/63909 (ICE: SIGSEGV in ipa_icf_gimple::func_checker::compare_bb())

PR ipa/63909

        * gimple-iterator.h (gsi_start_bb_nondebug): New function.
* ipa-icf-gimple.c (func_checker::compare_bb): Correct iteration
replaces loop based on precomputed number of non-debug statements.
* gcc.dg/ipa/pr63909.c: New test.

From-SVN: r218578

9 years agolinux.c (linux_has_ifunc_p): Remove.
Alexander Ivchenko [Wed, 10 Dec 2014 13:49:19 +0000 (13:49 +0000)]
linux.c (linux_has_ifunc_p): Remove.

gcc/
* config/linux.c (linux_has_ifunc_p): Remove.
* config/linux.h (TARGET_HAS_IFUNC_P): Use default version.

From-SVN: r218577

9 years agoconfig.h.in: Regenerate.
Varvara Rainchik [Wed, 10 Dec 2014 13:42:20 +0000 (13:42 +0000)]
config.h.in: Regenerate.

libgomp/
        * config.h.in: Regenerate.
        * configure: Regenerate.
        * configure.ac: Add GCC_CHECK_EMUTLS.
        * libgomp.h: Add check for USE_EMUTLS: this case
        is equal to HAVE_TLS.
        * team.c: Likewise.

From-SVN: r218576

9 years agocheck_GNU_style.sh "80 characters exceeded" error fix
Mantas Mikaitis [Wed, 10 Dec 2014 11:46:08 +0000 (11:46 +0000)]
check_GNU_style.sh "80 characters exceeded" error fix

2014-12-10  Mantas Mikaitis  <mantas.mikaitis@arm.com>

* contrib/check_GNU_style.sh (col): Got rid of cut operation
from the pipe chain and instead added cut inside awk command.

From-SVN: r218575

9 years agore PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have template_...
Kai Tietz [Wed, 10 Dec 2014 11:32:00 +0000 (12:32 +0100)]
re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980)

PR c++/64127
* g++.dg/cpp/pr64127.C: New file.

From-SVN: r218574

9 years agore PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have template_...
Kai Tietz [Wed, 10 Dec 2014 11:29:22 +0000 (12:29 +0100)]
re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980)

PR c++/64127
* parser.c (cp_parser_diagnose_invalid_type_name): Check id
for being an identifier before accessing it.

From-SVN: r218573

9 years agore PR c++/64100 (A static assert using the the current class in a noexcept test leads...
Kai Tietz [Wed, 10 Dec 2014 11:26:47 +0000 (12:26 +0100)]
re PR c++/64100 (A static assert using the the current class in a noexcept test leads to a segfault)

PR c++/64100
* g++.dg/template/pr64100.C: New file.

From-SVN: r218572

9 years agore PR c++/64100 (A static assert using the the current class in a noexcept test leads...
Kai Tietz [Wed, 10 Dec 2014 11:22:34 +0000 (12:22 +0100)]
re PR c++/64100 (A static assert using the the current class in a noexcept test leads to a segfault)

PR c++/64100
* typeck.c (lookup_destructor): Handle incomplete type.

From-SVN: r218571