ian [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218699
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Sat, 13 Dec 2014 00:44:17 +0000 (00:44 +0000)]
PR libstdc++/58594
* include/bits/shared_ptr_base.h: Real fix for cv-qualified types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218698
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 13 Dec 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218697
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Fri, 12 Dec 2014 23:12:06 +0000 (23:12 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218694
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 12 Dec 2014 22:40:29 +0000 (22:40 +0000)]
2014-12-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59240
* g++.dg/torture/pr59240.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218693
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 12 Dec 2014 21:50:12 +0000 (21:50 +0000)]
/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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218692
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 12 Dec 2014 21:05:35 +0000 (21:05 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218691
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Fri, 12 Dec 2014 20:30:11 +0000 (20:30 +0000)]
2014-12-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61924
* g++.dg/cpp0x/pr61924.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218690
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Fri, 12 Dec 2014 20:14:10 +0000 (20:14 +0000)]
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;
^
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218689
138bc75d-0d04-0410-961f-
82ee72b054a4
vmakarov [Fri, 12 Dec 2014 20:11:10 +0000 (20:11 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218688
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Fri, 12 Dec 2014 20:01:29 +0000 (20:01 +0000)]
OpenMP target nesting tests.
gcc/testsuite/
* c-c++-common/gomp/nesting-1.c: New file.
* c-c++-common/gomp/nesting-warn-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218687
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Fri, 12 Dec 2014 20:01:18 +0000 (20:01 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218686
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 12 Dec 2014 17:52:28 +0000 (17:52 +0000)]
N3922
* pt.c (do_auto_deduction): In direct-init context, { x } deduces
from x.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218685
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 12 Dec 2014 17:52:21 +0000 (17:52 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218684
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Fri, 12 Dec 2014 17:17:58 +0000 (17:17 +0000)]
PR c++/63996
* g++.dg/cpp1y/pr63996.C: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218683
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Fri, 12 Dec 2014 17:14:54 +0000 (17:14 +0000)]
PR c++/63996
* constexpr.c (cxx_eval_loop_expr): Don't loop
endless on none-constant expression.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218682
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 12 Dec 2014 16:43:21 +0000 (16:43 +0000)]
* g++.dg/ubsan/cxx1y-vla.C: Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218681
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 12 Dec 2014 16:43:16 +0000 (16:43 +0000)]
PR c++/61402
* lambda.c (add_capture): Don't pass a dependent type to
variably_modified_type_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218680
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 12 Dec 2014 15:58:49 +0000 (15:58 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218679
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Fri, 12 Dec 2014 15:46:57 +0000 (15:46 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218678
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 12 Dec 2014 15:10:08 +0000 (15:10 +0000)]
PR libstdc++/64241
* libsupc++/exception_ptr.h: Return empty object when exceptions are
disabled.
* testsuite/18_support/exception_ptr/64241.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218675
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Fri, 12 Dec 2014 14:02:37 +0000 (14:02 +0000)]
PR middle-end/64274
* fold-const.c (fold_binary_loc): Add ANY_INTEGRAL_TYPE_P check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218671
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 12 Dec 2014 13:35:55 +0000 (13:35 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218670
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 12 Dec 2014 13:32:16 +0000 (13:32 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218669
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 12 Dec 2014 13:26:15 +0000 (13:26 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218668
138bc75d-0d04-0410-961f-
82ee72b054a4
green [Fri, 12 Dec 2014 12:52:45 +0000 (12:52 +0000)]
Add use of zex instruction for moxie port
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218666
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Fri, 12 Dec 2014 12:43:34 +0000 (12:43 +0000)]
PR rtl-optimization/64255
* gcc.c-torture/execute/pr64255.c: New test.
PR rtl-optimization/64260
* gcc.c-torture/execute/pr64260.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218665
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218664
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Fri, 12 Dec 2014 10:46:00 +0000 (10:46 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218663
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218662
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218661
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 12 Dec 2014 09:05:56 +0000 (09:05 +0000)]
* ipa-inline.c (ipa_inline): Fix condition on when
TODO_remove_unreachable_functions is needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218660
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Fri, 12 Dec 2014 08:46:56 +0000 (08:46 +0000)]
* ipa-devirt.c (possible_polymorphic_call_targets): Return early
if otr_type has no BINFO.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218659
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Fri, 12 Dec 2014 05:51:19 +0000 (05:51 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218658
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Fri, 12 Dec 2014 04:45:58 +0000 (04:45 +0000)]
gcc/testsuite
* gcc.target/aarch64/ldp_stp_2.c: Make test less vulnerable.
* gcc.target/aarch64/ldp_stp_3.c: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218657
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 12 Dec 2014 03:49:19 +0000 (03:49 +0000)]
* c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218656
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 12 Dec 2014 03:49:13 +0000 (03:49 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218655
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 12 Dec 2014 03:49:03 +0000 (03:49 +0000)]
PR c++/64248
Revert:
* parser.c (cp_parser_unqualified_id): Handle __func__ here.
(cp_parser_primary_expression): Not here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218654
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 12 Dec 2014 03:48:55 +0000 (03:48 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218653
138bc75d-0d04-0410-961f-
82ee72b054a4
jasonwucj [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218652
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 12 Dec 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218651
138bc75d-0d04-0410-961f-
82ee72b054a4
pinskia [Thu, 11 Dec 2014 23:11:03 +0000 (23:11 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218645
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 11 Dec 2014 22:37:56 +0000 (22:37 +0000)]
* doc/md.texi (Insn Lengths): Fix description of (pc).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218642
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 11 Dec 2014 22:16:09 +0000 (22:16 +0000)]
* gcc.dg/builtin-arith-overflow-1.c (fn2): Take signed char.
(fn3): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218641
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 11 Dec 2014 21:48:48 +0000 (21:48 +0000)]
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
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218640
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Thu, 11 Dec 2014 19:13:57 +0000 (19:13 +0000)]
* dwarf2out.c (gen_lexical_block_die): Remove unused `depth'
parameter.
(gen_inlined_subroutine_die): Same.
(gen_block_die): Same.
(decls_for_scope): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218639
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Thu, 11 Dec 2014 17:58:22 +0000 (17:58 +0000)]
* testsuite/30_threads/condition_variable/members/3.cc: Only use
a thread_local when __cxa_thread_atexit_impl is available.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218638
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Thu, 11 Dec 2014 17:55:22 +0000 (17:55 +0000)]
Move changelog entries from r218617 from gcc/ChangeLog to gcc/jit/ChangeLog
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218637
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218636
138bc75d-0d04-0410-961f-
82ee72b054a4
renlin [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218635
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 11 Dec 2014 15:52:47 +0000 (15:52 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218630
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Thu, 11 Dec 2014 15:45:32 +0000 (15:45 +0000)]
2014-12-11 Paolo Carlini <paolo.carlini@oracle.com>
* typeck.c (maybe_warn_about_useless_cast): Remove unnecessary
conditional.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218629
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Thu, 11 Dec 2014 15:28:27 +0000 (15:28 +0000)]
gcc/testsuite/ChangeLog:
2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
* gfortran.dg/do_iterator.f90: Remove bogus dg-warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218628
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Thu, 11 Dec 2014 15:13:33 +0000 (15:13 +0000)]
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/testsuite/ChangeLog:
2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
* gfortran.dg/do_iterator.f90: Remove bogus dg-warning.
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218627
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218626
138bc75d-0d04-0410-961f-
82ee72b054a4
amacleod [Thu, 11 Dec 2014 14:57:00 +0000 (14:57 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218624
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Thu, 11 Dec 2014 14:29:14 +0000 (14:29 +0000)]
* combine.c (try_combine): Do not allow combining a PARALLEL I2
with a register move I3 if that I2 is an asm.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218623
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218622
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Thu, 11 Dec 2014 11:07:58 +0000 (11:07 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218621
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218620
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Thu, 11 Dec 2014 08:20:24 +0000 (08:20 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218619
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Thu, 11 Dec 2014 08:15:37 +0000 (08:15 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218618
138bc75d-0d04-0410-961f-
82ee72b054a4
drepper [Thu, 11 Dec 2014 04:31:52 +0000 (04:31 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218617
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 11 Dec 2014 00:16:24 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218616
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Wed, 10 Dec 2014 23:16:42 +0000 (23:16 +0000)]
* gdbhooks.py (class DWDieRefPrinter): New class.
(build_pretty_printer): Register dw_die_ref's.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218612
138bc75d-0d04-0410-961f-
82ee72b054a4
tocarip [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218610
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Wed, 10 Dec 2014 21:17:28 +0000 (21:17 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218609
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Wed, 10 Dec 2014 21:14:36 +0000 (21:14 +0000)]
Commit missing part of patch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218608
138bc75d-0d04-0410-961f-
82ee72b054a4
iverbin [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218607
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 10 Dec 2014 20:38:13 +0000 (20:38 +0000)]
PR go/61316
compiler: Don't lower multi-valued arguments into temporaries.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218606
138bc75d-0d04-0410-961f-
82ee72b054a4
glisse [Wed, 10 Dec 2014 20:26:05 +0000 (20:26 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218605
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 10 Dec 2014 20:01:12 +0000 (20:01 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218603
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 10 Dec 2014 19:59:57 +0000 (19:59 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218602
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Wed, 10 Dec 2014 19:08:57 +0000 (19:08 +0000)]
* gcc.dg/lto/chkp-privatize_0.c: Remove unneeded selector
from target check.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218601
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 10 Dec 2014 19:05:56 +0000 (19:05 +0000)]
2014-12-10 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp/pr64127.C: Fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218600
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 10 Dec 2014 19:05:43 +0000 (19:05 +0000)]
2014-12-10 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp/pr64127.C: Fix.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218599
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Wed, 10 Dec 2014 18:41:37 +0000 (18:41 +0000)]
* config/rs6000/rs6000.md (*add<mode>3): Remove condition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218598
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Wed, 10 Dec 2014 18:40:26 +0000 (18:40 +0000)]
* 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".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218597
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Wed, 10 Dec 2014 18:39:14 +0000 (18:39 +0000)]
* config/rs6000/rs6000.md (*anddi3_2rld_dot, *anddi3_rld_dot2):
Change type from "compare" to "two".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218596
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Wed, 10 Dec 2014 18:37:58 +0000 (18:37 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218595
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Wed, 10 Dec 2014 18:36:18 +0000 (18:36 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218594
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Wed, 10 Dec 2014 18:33:26 +0000 (18:33 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218593
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Wed, 10 Dec 2014 18:32:15 +0000 (18:32 +0000)]
PR target/64180
* config/rs6000/rs6000.md (*add<mode>3_internal1): Remove addic
alternative.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218592
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Wed, 10 Dec 2014 18:31:15 +0000 (18:31 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218591
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Wed, 10 Dec 2014 18:30:07 +0000 (18:30 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218590
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Wed, 10 Dec 2014 18:28:57 +0000 (18:28 +0000)]
PR target/64180
* config/rs6000/rs6000.c (TARGET_MD_ASM_CLOBBERS): Define.
(rs6000_md_asm_clobbers): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218589
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218588
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 10 Dec 2014 15:47:30 +0000 (15:47 +0000)]
2014-12-10 Richard Biener <rguenther@suse.de>
PR testsuite/64048
* gcc.dg/tree-prof/peel-1.c: Update dump scanning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218585
138bc75d-0d04-0410-961f-
82ee72b054a4
edlinger [Wed, 10 Dec 2014 15:29:19 +0000 (15:29 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218584
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 10 Dec 2014 15:23:34 +0000 (15:23 +0000)]
2014-12-10 Richard Biener <rguenther@suse.de>
* gcc.dg/tree-ssa/forwprop-29.c: Add -fno-ipa-icf.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218583
138bc75d-0d04-0410-961f-
82ee72b054a4
fyang [Wed, 10 Dec 2014 15:02:06 +0000 (15:02 +0000)]
* config/aarch64/aarch64-protos.h (aarch64_function_profiler): Remove
declaration of removed function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218582
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218580
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Wed, 10 Dec 2014 14:10:21 +0000 (14:10 +0000)]
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 ().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218579
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Wed, 10 Dec 2014 14:07:47 +0000 (14:07 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218578
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Wed, 10 Dec 2014 13:49:19 +0000 (13:49 +0000)]
gcc/
* config/linux.c (linux_has_ifunc_p): Remove.
* config/linux.h (TARGET_HAS_IFUNC_P): Use default version.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218577
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Wed, 10 Dec 2014 13:42:20 +0000 (13:42 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218576
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218575
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Wed, 10 Dec 2014 11:32:00 +0000 (11:32 +0000)]
PR c++/64127
* g++.dg/cpp/pr64127.C: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218574
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Wed, 10 Dec 2014 11:29:22 +0000 (11:29 +0000)]
PR c++/64127
* parser.c (cp_parser_diagnose_invalid_type_name): Check id
for being an identifier before accessing it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218573
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Wed, 10 Dec 2014 11:26:47 +0000 (11:26 +0000)]
PR c++/64100
* g++.dg/template/pr64100.C: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218572
138bc75d-0d04-0410-961f-
82ee72b054a4