Janus Weil [Sun, 14 Dec 2014 12:04:49 +0000 (13:04 +0100)]
re PR fortran/63674 ([F03] procedure pointer and non/pure procedure)
2014-12-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/63674
* resolve.c (pure_function): Treat procedure-pointer components.
(check_pure_function): New function.
(resolve_function): Use it.
(pure_subroutine): Return a bool to indicate success and modify
arguments.
(resolve_generic_s0,resolve_specific_s0,resolve_unknown_s): Use return
value of 'pure_subroutine'.
(resolve_ppc_call): Call 'pure_subroutine'.
(resolve_expr_ppc): Call 'check_pure_function'.
2014-12-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/63674
* gfortran.dg/proc_ptr_comp_39.f90: New.
* gfortran.dg/pure_dummy_length_1.f90: Modified error message.
* gfortran.dg/stfunc_6.f90: Ditto.
* gfortran.dg/typebound_operator_4.f90: Ditto.
From-SVN: r218717
Ian Lance Taylor [Sun, 14 Dec 2014 00:55:01 +0000 (00:55 +0000)]
re PR go/61244 (gccgo: ICE in write_specific_type_functions [GoSmith])
PR go/61244
compiler: Traverse type descriptor expressions.
From-SVN: r218715
GCC Administrator [Sun, 14 Dec 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r218714
Tim Shen [Sat, 13 Dec 2014 22:19:18 +0000 (22:19 +0000)]
re PR libstdc++/64239 (regex_iterator::operator= should copy match_results::position)
PR libstdc++/64239
* include/bits/regex.h (match_results<>::match_results,
match_results<>::operator=, match_results<>::position,
match_results<>::swap): Remove match_results::_M_in_iterator.
Fix ctor/assign/swap.
* include/bits/regex.tcc: (__regex_algo_impl<>,
regex_iterator<>::operator++): Set match_results::_M_begin as
"start position".
* testsuite/28_regex/iterators/regex_iterator/char/
string_position_01.cc: Test cases.
From-SVN: r218710
Jonathan Wakely [Sat, 13 Dec 2014 20:44:06 +0000 (20:44 +0000)]
Post-Urbana updates to Library Fundamentals v1.
* include/experimental/any (any): Remove allocator support and update
feature-testing macro.
* include/experimental/functional: Update feature-testing macro.
* include/experimental/optional (optional::_M_get()): Add constexpr.
(optional::operator*(), optional::value()): Overload and add
ref-qualifiers. Update feature-testing macro.
* include/experimental/string_view (basic_string_view::clear): Remove
and update feature-testing macro.
* testsuite/experimental/any/cons/3.cc: Remove.
* testsuite/experimental/any/cons/4.cc: Remove.
* testsuite/experimental/any/misc/any_cast.cc: Remove allocator tests.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
* testsuite/experimental/string_view/capacity/1.cc: Don't test clear().
From-SVN: r218709
Oleg Endo [Sat, 13 Dec 2014 13:17:55 +0000 (13:17 +0000)]
re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)
gcc/testsuite/
PR target/53513
* gcc.target/sh/attr-isr-nosave_low_regs.c: Fix matching of expected
register push/pop sequences.
* gcc.target/sh/attr-isr.c: Likewise.
* gcc.target/sh/attr-isr-trapa.c: Likewise.
* gcc.target/sh/pragma-isr-nosave_low_regs.c: Likewise.
* gcc.target/sh/pragma-isr-trapa.c: Likewise.
* gcc.target/sh/pragma-isr-trapa2.c: Likewise.
From-SVN: r218707
Oleg Endo [Sat, 13 Dec 2014 13:02:23 +0000 (13:02 +0000)]
sp-switch.c: Match zero or more underscores in alt_stack symbol.
gcc/testsuite/
* gcc.target/sh/sp-switch.c: Match zero or more underscores in
alt_stack symbol.
From-SVN: r218706
Jakub Jelinek [Sat, 13 Dec 2014 11:24:37 +0000 (12:24 +0100)]
re PR bootstrap/64023 (r216964 breaks bootstrap on darwin when using gcc as the bootstrap compiler.)
PR bootstrap/64023
* Makefile.tpl (EXTRA_TARGET_FLAGS): Set STAGE1_LDFLAGS
to POSTSTAGE1_LDFLAGS and STAGE1_LIBS to POSTSTAGE1_LIBS.
Add -B to libstdc++-v3/src/.libs and libstdc++-v3/libsupc++/.libs
to CXX.
* Makefile.in: Regenerated.
From-SVN: r218705
Ian Lance Taylor [Sat, 13 Dec 2014 01:58:46 +0000 (01:58 +0000)]
re PR go/61258 (gccgo: assertion failure go-map-delete.c:37 [GoSmith])
PR go/61258
runtime: Don't crash when deleting zero-sized key.
From-SVN: r218702
Ian Lance Taylor [Sat, 13 Dec 2014 01:41:49 +0000 (01:41 +0000)]
re PR go/61254 (gccgo: spurious "error: slice end must be integer" [GoSmith])
PR go/61254
compiler: Don't move nil subexpressions into temporaries.
From-SVN: r218701
Ian Lance Taylor [Sat, 13 Dec 2014 01:00:49 +0000 (01:00 +0000)]
testing: Add testing.MainStart function.
This patches in the Go 1.4 function, for convenience for
people using the Go 1.4 go tool with mainline gccgo.
From-SVN: r218700
Ian Lance Taylor [Sat, 13 Dec 2014 00:52:20 +0000 (00:52 +0000)]
runtime: Clear stack pointers for extra G's.
Fix an unusual C to Go callback case. Newly created C threads
call into Go code, forcing the Go code to allocate new M and G
structures. While executing Go code, the stack is split. The
Go code then returns. Returning from a Go callback is treated
as entering a system call, so the G gcstack field is set to
point to the Go stack. In this case, though, we were called
from a newly created C thread, so we drop the extra M and G
structures. The C thread then exits.
Then a new C thread calls into Go code, reusing the previously
created M and G. The Go code requires a larger stack frame,
causing the old stack segment to be unmapped and a new stack
segment allocated. At this point the gcstack field is
pointing to the old stack segment.
Then a garbage collection occurs. The garbage collector sees
that the gcstack field is not nil, so it scans it as the first
stack segment. Unfortunately it points to memory that was
unmapped. So the program crashes.
The fix is simple: when handling extra G structures created
for callbacks from new C threads, clear the gcstack field.
From-SVN: r218699
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
GCC Administrator [Sat, 13 Dec 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r218697
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
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
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
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
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
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
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
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
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
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
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
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
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
Jason Merrill [Fri, 12 Dec 2014 16:43:21 +0000 (11:43 -0500)]
* g++.dg/ubsan/cxx1y-vla.C: Remove.
From-SVN: r218681
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
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
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
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
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
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
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
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
Anthony Green [Fri, 12 Dec 2014 12:52:45 +0000 (12:52 +0000)]
Add use of zex instruction for moxie port
From-SVN: r218666
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 12 Dec 2014 00:16:29 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r218651
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Thu, 11 Dec 2014 00:16:24 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r218616
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
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
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
David Edelsohn [Wed, 10 Dec 2014 21:14:36 +0000 (16:14 -0500)]
Commit missing part of patch.
From-SVN: r218608
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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