Jakub Jelinek [Tue, 29 Apr 2014 14:44:07 +0000 (16:44 +0200)]
re PR tree-optimization/60971 (Wrong code when coercing unsigned char to bool)
PR tree-optimization/60971
* tree-tailcall.c (process_assignment): Reject conversions which
reduce precision.
* c-c++-common/turtore/pr60971.c: New test.
From-SVN: r209900
Nick Clifton [Tue, 29 Apr 2014 13:59:00 +0000 (13:59 +0000)]
msp430.md (umulsidi): Fix typo.
* config/msp430/msp430.md (umulsidi): Fix typo.
(mulhisi3): Enable even inside interrupt handlers.
* config/msp430/msp430.c (msp430_print_operand): %O: Allow for the
bigger return address pushed in large mode.
From-SVN: r209898
James Greenhalgh [Tue, 29 Apr 2014 13:46:23 +0000 (13:46 +0000)]
Remove PUSH_ARGS_REVERSED from the RTL expander.
gcc/
* calls.c (initialize_argument_information): Always treat
PUSH_ARGS_REVERSED as 1, simplify code accordingly.
(expand_call): Likewise.
(emit_library_call_calue_1): Likewise.
* expr.c (PUSH_ARGS_REVERSED): Do not define.
(emit_push_insn): Always treat PUSH_ARGS_REVERSED as 1, simplify
code accordingly.
From-SVN: r209897
Alan Lawrence [Tue, 29 Apr 2014 13:20:52 +0000 (13:20 +0000)]
MAINTAINERS (Write After Approval): Put myself in correct order.
* MAINTAINERS (Write After Approval): Put myself in correct order.
From-SVN: r209896
Alan Lawrence [Tue, 29 Apr 2014 13:14:38 +0000 (13:14 +0000)]
MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r209895
Nick Clifton [Tue, 29 Apr 2014 13:09:03 +0000 (13:09 +0000)]
arc.c (arc_select_cc_mode): Fix parentheses.
* config/arc/arc.c (arc_select_cc_mode): Fix parentheses.
(arc_init_reg_tables): Use a machine_mode enum to iterate over
available modes.
* config/m32r/m32r.c (init_reg_tables): Likewise.
* config/m32c/m32c.c (m32c_illegal_subreg_p): Use a machine_mode
enum to hold the modes.
From-SVN: r209894
Alan Lawrence [Tue, 29 Apr 2014 13:08:46 +0000 (13:08 +0000)]
Add execution + assembler tests of the AArch64 ZIP Intrinsics.
* gcc.target/aarch64/simd/simd.exp: New file.
* gcc.target/aarch64/simd/vzipf32_1.c: New file.
* gcc.target/aarch64/simd/vzipf32.x: New file.
* gcc.target/aarch64/simd/vzipp16_1.c: New file.
* gcc.target/aarch64/simd/vzipp16.x: New file.
* gcc.target/aarch64/simd/vzipp8_1.c: New file.
* gcc.target/aarch64/simd/vzipp8.x: New file.
* gcc.target/aarch64/simd/vzipqf32_1.c: New file.
* gcc.target/aarch64/simd/vzipqf32.x: New file.
* gcc.target/aarch64/simd/vzipqp16_1.c: New file.
* gcc.target/aarch64/simd/vzipqp16.x: New file.
* gcc.target/aarch64/simd/vzipqp8_1.c: New file.
* gcc.target/aarch64/simd/vzipqp8.x: New file.
* gcc.target/aarch64/simd/vzipqs16_1.c: New file.
* gcc.target/aarch64/simd/vzipqs16.x: New file.
* gcc.target/aarch64/simd/vzipqs32_1.c: New file.
* gcc.target/aarch64/simd/vzipqs32.x: New file.
* gcc.target/aarch64/simd/vzipqs8_1.c: New file.
* gcc.target/aarch64/simd/vzipqs8.x: New file.
* gcc.target/aarch64/simd/vzipqu16_1.c: New file.
* gcc.target/aarch64/simd/vzipqu16.x: New file.
* gcc.target/aarch64/simd/vzipqu32_1.c: New file.
* gcc.target/aarch64/simd/vzipqu32.x: New file.
* gcc.target/aarch64/simd/vzipqu8_1.c: New file.
* gcc.target/aarch64/simd/vzipqu8.x: New file.
* gcc.target/aarch64/simd/vzips16_1.c: New file.
* gcc.target/aarch64/simd/vzips16.x: New file.
* gcc.target/aarch64/simd/vzips32_1.c: New file.
* gcc.target/aarch64/simd/vzips32.x: New file.
* gcc.target/aarch64/simd/vzips8_1.c: New file.
* gcc.target/aarch64/simd/vzips8.x: New file.
* gcc.target/aarch64/simd/vzipu16_1.c: New file.
* gcc.target/aarch64/simd/vzipu16.x: New file.
* gcc.target/aarch64/simd/vzipu32_1.c: New file.
* gcc.target/aarch64/simd/vzipu32.x: New file.
* gcc.target/aarch64/simd/vzipu8_1.c: New file.
* gcc.target/aarch64/simd/vzipu8.x: New file.
From-SVN: r209893
Richard Biener [Tue, 29 Apr 2014 11:37:55 +0000 (11:37 +0000)]
dominance.c (free_dominance_info): Add overload with function parameter.
2014-04-29 Richard Biener <rguenther@suse.de>
* dominance.c (free_dominance_info): Add overload with
function parameter.
(dom_info_state): Likewise.
(dom_info_available_p): Likewise.
* basic-block.h (free_dominance_info, dom_info_state,
dom_info_available_p): Declare overloads.
* passes.c (execute_function_todo): Verify that verifiers
don't change dominator info state. Drop dominator info
for IPA pass invocations.
* cgraph.c (release_function_body): Restore asserts that
dominator information is released.
From-SVN: r209892
Patrick Palka [Tue, 29 Apr 2014 09:30:20 +0000 (16:30 +0700)]
invoke.texi: Fix typo.
2014-04-29 Patrick Palka <patrick@parcs.ath.cx>
* doc/invoke.texi: Fix typo.
* tree-vrp.c: Fix typos.
* gimple.c (infer_nonnull_range): Reorder operands of an &&
condition.
From-SVN: r209891
Zhenqiang Chen [Tue, 29 Apr 2014 05:10:11 +0000 (05:10 +0000)]
aarch64.md (mov<mode>cc): New for GPF.
2014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* config/aarch64/aarch64.md (mov<mode>cc): New for GPF.
2014-04-29 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* gcc.target/aarch64/fcsel_1.c: New test case.
From-SVN: r209889
Jerry DeLisle [Tue, 29 Apr 2014 03:13:34 +0000 (03:13 +0000)]
re PR fortran/60810 (list directed io from array results in end of file)
2014-04-28 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/60810
* gfortran.dg/arrayio_13.f90: New test.
From-SVN: r209888
GCC Administrator [Tue, 29 Apr 2014 00:16:39 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r209887
James Greenhalgh [Mon, 28 Apr 2014 21:05:51 +0000 (21:05 +0000)]
[AArch64] Improve vst4_lane intrinsics
gcc/
* config/aarch64/aarch64-builtins.c
(aarch64_types_storestruct_lane_qualifiers): New.
(TYPES_STORESTRUCT_LANE): Likewise.
* config/aarch64/aarch64-simd-builtins.def (st2_lane): New.
(st3_lane): Likewise.
(st4_lane): Likewise.
* config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): New.
(vec_store_lanesci_lane<mode>): Likewise.
(vec_store_lanesxi_lane<mode>): Likewise.
(aarch64_st2_lane<VQ:mode>): Likewise.
(aarch64_st3_lane<VQ:mode>): Likewise.
(aarch64_st4_lane<VQ:mode>): Likewise.
* config/aarch64/aarch64.md (unspec): Add UNSPEC_ST{2,3,4}_LANE.
* config/aarch64/arm_neon.h
(__ST2_LANE_FUNC): Rewrite using builtins, update use points to
use new macro arguments.
(__ST3_LANE_FUNC): Likewise.
(__ST4_LANE_FUNC): Likewise.
* config/aarch64/iterators.md (V_TWO_ELEM): New.
(V_THREE_ELEM): Likewise.
(V_FOUR_ELEM): Likewise.
From-SVN: r209880
David Malcolm [Mon, 28 Apr 2014 21:02:28 +0000 (21:02 +0000)]
Add a class hierarchy diagram to gimple.texi
2014-04-28 David Malcolm <dmalcolm@redhat.com>
* doc/gimple.texi: Replace the description of the now-defunct
union gimple_statement_d with a diagram showing the
gimple_statement_base class hierarchy and its relationships to
the GSS_ and GIMPLE_ enums.
From-SVN: r209879
James Greenhalgh [Mon, 28 Apr 2014 21:00:38 +0000 (21:00 +0000)]
[AArch64] Relax modes_tieable_p and cannot_change_mode_class
gcc/
* config/aarch64/aarch64-protos.h (aarch64_modes_tieable_p): New.
* config/aarch64/aarch64.c
(aarch64_cannot_change_mode_class): Weaken conditions.
(aarch64_modes_tieable_p): New.
* config/aarch64/aarch64.h (MODES_TIEABLE_P): Use it.
From-SVN: r209878
Pat Haugen [Mon, 28 Apr 2014 20:21:29 +0000 (20:21 +0000)]
sync.md (AINT mode_iterator): Move definition.
* config/rs6000/sync.md (AINT mode_iterator): Move definition.
(loadsync_<mode>): Change mode.
(load_quadpti, store_quadpti): New.
(atomic_load<mode>, atomic_store<mode>): Add support for TI mode.
* config/rs6000/rs6000.md (unspec enum): Add UNSPEC_LSQ.
From-SVN: r209873
Richard Henderson [Mon, 28 Apr 2014 19:33:08 +0000 (12:33 -0700)]
Enable ada for aarch64-linux
* gcc-interface/Makefile.in: Support aarch64-linux.
From-SVN: r209871
Martin Jambor [Mon, 28 Apr 2014 16:55:40 +0000 (18:55 +0200)]
tree-sra.c (sra_modify_expr): Generate new memory accesses with same alias type as the original statement.
2014-04-28 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (sra_modify_expr): Generate new memory accesses with
same alias type as the original statement.
(subreplacement_assignment_data): New type.
(handle_unscalarized_data_in_subtree): New type of parameter,
generate new memory accesses with same alias type as the original
statement.
(load_assign_lhs_subreplacements): Likewise.
(sra_modify_constructor_assign): Generate new memory accesses with
same alias type as the original statement.
testsuite/
* gcc.dg/tree-ssa/sra-14.c: New test.
From-SVN: r209868
Eric Botcazou [Mon, 28 Apr 2014 14:58:28 +0000 (14:58 +0000)]
exp_dbug.ads (Get_External_Name): Add 'False' default to Has_Suffix, add 'Suffix' parameter and adjust comment.
* exp_dbug.ads (Get_External_Name): Add 'False' default to Has_Suffix,
add 'Suffix' parameter and adjust comment.
(Get_External_Name_With_Suffix): Delete.
* exp_dbug.adb (Get_External_Name_With_Suffix): Merge into...
(Get_External_Name): ...here. Add 'False' default to Has_Suffix, add
'Suffix' parameter.
(Get_Encoded_Name): Remove 2nd argument in call to Get_External_Name.
Call Get_External_Name instead of Get_External_Name_With_Suffix.
(Get_Secondary_DT_External_Name): Likewise.
* exp_cg.adb (Write_Call_Info): Likewise.
* exp_disp.adb (Export_DT): Likewise.
(Import_DT): Likewise.
* comperr.ads (Compiler_Abort): Remove Code parameter and add From_GCC
parameter with False default.
* comperr.adb (Compiler_Abort): Likewise. Adjust accordingly.
* types.h (Fat_Pointer): Rename into...
(String_Pointer): ...this. Add comment on interfacing rules.
* fe.h (Compiler_Abort): Adjust for above renaming.
(Error_Msg_N): Likewise.
(Error_Msg_NE): Likewise.
(Get_External_Name): Likewise. Add third parameter.
(Get_External_Name_With_Suffix): Delete.
* gcc-interface/decl.c (STDCALL_PREFIX): Define.
(create_concat_name): Adjust call to Get_External_Name, remove call to
Get_External_Name_With_Suffix, use STDCALL_PREFIX, adjust for renaming.
* gcc-interface/trans.c (post_error): Likewise.
(post_error_ne): Likewise.
* gcc-interface/misc.c (internal_error_function): Likewise.
From-SVN: r209866
Richard Biener [Mon, 28 Apr 2014 14:42:06 +0000 (14:42 +0000)]
tree-pass.h (TODO_verify_il): Define.
2014-04-28 Richard Biener <rguenther@suse.de>
* tree-pass.h (TODO_verify_il): Define.
(TODO_verify_all): Complete properly.
* passes.c (execute_function_todo): Move existing loop-closed
SSA verification under TODO_verify_il.
(execute_one_pass): Trigger TODO_verify_il at todo-after time.
* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
Fix tree sharing issue.
From-SVN: r209865
Richard Biener [Mon, 28 Apr 2014 14:36:13 +0000 (14:36 +0000)]
re PR middle-end/60092 (posix_memalign not recognized to derive alias and alignment info)
2014-04-28 Richard Biener <rguenther@suse.de>
PR middle-end/60092
* builtins.def (DEF_C11_BUILTIN): Add.
(BUILT_IN_ALIGNED_ALLOC): Likewise.
* coretypes.h (enum function_class): Add function_c11_misc.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
BUILT_IN_ALIGNED_ALLOC like BUILT_IN_MALLOC.
(call_may_clobber_ref_p_1): Likewise.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
(mark_all_reaching_defs_necessary_1): Likewise.
(propagate_necessity): Likewise.
(eliminate_unnecessary_stmts): Likewise.
* tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_ALIGNED_ALLOC.
ada/
* gcc-interface/utils.c: Define flag_isoc11.
lto/
* lto-lang.c: Define flag_isoc11.
* gcc.dg/tree-ssa/alias-32.c: New testcase.
* gcc.dg/vect/pr60092.c: Likewise.
From-SVN: r209863
Richard Biener [Mon, 28 Apr 2014 14:07:51 +0000 (14:07 +0000)]
tree-vrp.c (vrp_var_may_overflow): Remove.
2014-04-28 Richard Biener <rguenther@suse.de>
* tree-vrp.c (vrp_var_may_overflow): Remove.
(vrp_visit_phi_node): Rather than bumping to +-INF possibly
with overflow immediately bump to one before that value and
let iteration figure out overflow status.
* gcc.dg/tree-ssa/vrp91.c: New testcase.
* gcc.dg/Wstrict-overflow-14.c: XFAIL.
* gcc.dg/Wstrict-overflow-15.c: Likewise.
* gcc.dg/Wstrict-overflow-18.c: Remove XFAIL.
From-SVN: r209862
Richard Biener [Mon, 28 Apr 2014 14:01:40 +0000 (14:01 +0000)]
configure.ac: Do valgrind header checks unconditionally.
2014-04-28 Richard Biener <rguenther@suse.de>
* configure.ac: Do valgrind header checks unconditionally.
Add --enable-valgrind-annotations.
* system.h: Guard valgrind header inclusion with
ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING.
* alloc-pool.c (pool_alloc, pool_free): Use
ENABLE_VALGRIND_ANNOTATIONS instead of ENABLE_VALGRIND_CHECKING
to guard possibly dead code.
* config.in: Regenerated.
* configure: Likewise.
From-SVN: r209861
Jeff Law [Mon, 28 Apr 2014 13:38:19 +0000 (07:38 -0600)]
re PR tree-optimization/60902 (ffmpeg built with gcc 4.9 RC produces incorrect flac playback code)
PR tree-optimization/60902
* tree-ssa-threadedge.c
(record_temporary_equivalences_from_stmts_at_dest): Only iterate
over real defs when invalidating outputs from statements that do not
produce useful outputs for threading.
From-SVN: r209860
Richard Biener [Mon, 28 Apr 2014 13:13:50 +0000 (13:13 +0000)]
re PR tree-optimization/60979 (ICE: in gimple_redirect_edge_and_branch_force, at tree-cfg.c:5544, w/ -O -ftree-loop-linear or -fgraphite-identity)
2014-04-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/60979
* graphite-scop-detection.c (scopdet_basic_block_info): Reject
SCOPs that end in a block with a successor with abnormal
predecessors.
* gcc.dg/graphite/pr60979.c: New testcase.
From-SVN: r209859
Kyrylo Tkachov [Mon, 28 Apr 2014 12:42:54 +0000 (12:42 +0000)]
[ARM/AArch64] Use signed chars in gcc.dg/pr60114.c.
PR c/60983
* gcc.dg/pr60114.c: Use signed chars.
From-SVN: r209858
Paolo Carlini [Mon, 28 Apr 2014 12:32:06 +0000 (12:32 +0000)]
re PR c++/59120 ([c++11] ICE with invalid template alias)
/cp
2014-04-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59120
* parser.c (cp_parser_alias_declaration): Check return value of
cp_parser_require.
/testsuite
2014-04-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/59120
* g++.dg/cpp0x/alias-decl-43.C: New.
From-SVN: r209857
Richard Biener [Mon, 28 Apr 2014 11:30:09 +0000 (11:30 +0000)]
tree-pass.h (execute_pass_list): Adjust prototype.
2014-04-28 Richard Biener <rguenther@suse.de>
* tree-pass.h (execute_pass_list): Adjust prototype.
* passes.c (pass_manager::execute_early_local_passes):
Adjust.
(do_per_function): Change callback signature, push all actual
work to the callbals.
(do_per_function_toporder): Likewise.
(execute_function_dump): Adjust.
(execute_function_todo): Likewise.
(clear_last_verified): Likewise.
(verify_curr_properties): Likewise.
(update_properties_after_pass): Likewise.
(execute_pass_list_1): Split out from ...
(execute_pass_list): ... here. Adjust.
(execute_ipa_pass_list): Likewise.
* cgraphunit.c (cgraph_add_new_function): Adjust.
(analyze_function): Likewise.
(expand_function): Likewise.
* cgraph.c (release_function_body): Free dominance info
here instead of asserting it was magically freed elsewhere.
From-SVN: r209856
Eric Botcazou [Mon, 28 Apr 2014 10:03:46 +0000 (10:03 +0000)]
configure.ac: Tweak GAS check for LEON instructions on SPARC.
* configure.ac: Tweak GAS check for LEON instructions on SPARC.
* configure: Regenerate.
* config/sparc/sparc.opt (muser-mode): New option.
* config/sparc/sync.md (atomic_compare_and_swap<mode>_1): Do not enable
for LEON3.
(atomic_compare_and_swap_leon3_1): New instruction for LEON3.
* doc/invoke.texi (SPARC options): Document -muser-mode.
From-SVN: r209850
GCC Administrator [Mon, 28 Apr 2014 00:18:40 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r209848
Tim Shen [Sun, 27 Apr 2014 23:48:47 +0000 (23:48 +0000)]
regex_automaton.h (_NFA<>::_M_insert_repeat): Add _S_opcode_repeat support to distingush a loop from _S_opcode_alternative.
2014-04-27 Tim Shen <timshen91@gmail.com>
* include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
Add _S_opcode_repeat support to distingush a loop from
_S_opcode_alternative.
* include/bits/regex_automaton.tcc (_State_base::_M_print,
_State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
_StateSeq<>::_M_clone): Likewise.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
Likewise.
* include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
* include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
Uglify local variable __i.
* include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
Use size_t instead of int to compare with vector::size().
2014-04-27 Tim Shen <timshen91@gmail.com>
* include/bits/regex_executor.h: Add _M_rep_count to track how
many times this repeat node are visited.
* include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
_Executor<>::_M_dfs): Use _M_rep_count to prevent entering
infinite loop.
2014-04-27 Tim Shen <timshen91@gmail.com>
* include/bits/regex.tcc (__regex_algo_impl<>): Remove
_GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
_GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
* include/bits/regex_automaton.h: Remove quantifier counting variable.
* include/bits/regex_automaton.tcc (_State_base::_M_dot):
Adjust debug NFA dump.
From-SVN: r209844
Richard Sandiford [Sun, 27 Apr 2014 21:12:18 +0000 (21:12 +0000)]
cselib.c (find_slot_memmode): Delete.
gcc/
* cselib.c (find_slot_memmode): Delete.
(cselib_hasher): Change compare_type to a struct.
(cselib_hasher::equal): Update accordingly. Don't expect wrapped
constants.
(preserve_constants_and_equivs): Adjust for new compare_type.
(cselib_find_slot): Likewise. Take the mode of the rtx as argument.
(wrap_constant): Delete.
(cselib_lookup_mem, cselib_lookup_1): Update calls to cselib_find_slot.
From-SVN: r209843
Thomas Koenig [Sun, 27 Apr 2014 10:48:56 +0000 (10:48 +0000)]
re PR fortran/59604 (Constant comparisons with -fno-range-check and int(z'...'))
2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/59604
PR fortran/58003
* gfortran.h (gfc_convert_mpz_to_signed): Add prototype.
* arith.c (gfc_int2int): Convert number to signed if
arithmetic overflow is not checked.
* simplify.c (convert_mpz_to_unsigned): Only trigger assert for
size if range checking is in force.
(convert_mpz_to_signed): Make non-static, rename to
(gfc_convert_mpz_to_signed).
(simplify_dshift): Use gfc_convert_mpz_to_signed.
(gfc_simplify_ibclr): Likewise.
(gfc_simplify_ibits): Likewise.
(gfc_simplify_ibset): Likewise.
(simplify_shift): Likewise.
(gfc_simplify_ishiftc): Likewise.
(gfc_simplify_maskr): Likewise.
(gfc_simplify_maskl): Likewise.
2014-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/59604
PR fortran/58003
* gfortran.dg/no_range_check_3.f90: New test.
From-SVN: r209836
GCC Administrator [Sun, 27 Apr 2014 00:17:03 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r209835
Eric Botcazou [Sat, 26 Apr 2014 23:09:32 +0000 (23:09 +0000)]
* gnatvsn.ads (Library_Version): Bump to 4.10.
From-SVN: r209830
Jerry DeLisle [Sat, 26 Apr 2014 21:56:48 +0000 (21:56 +0000)]
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write)
2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/52539
* gfortran.dg/namelist_utf8.f90: New test.
From-SVN: r209829
Jerry DeLisle [Sat, 26 Apr 2014 21:52:26 +0000 (21:52 +0000)]
re PR libfortran/52539 (I/O: Wrong result for UTF-8/UCS-4 list-directed and namelist read and nml write)
2014-04-26 Jerry DeLisle <jvdelisle@gcc.gnu>
PR libfortran/52539
* io/list_read.c: Add uchar typedef. (push_char4): New function
to save kind=4 character. (next_char_utf8): New function to read
a single UTF-8 encoded character value. (read_chracter): Update
to use the new functions for reading UTF-8 strings.
(list_formatted_read_scalar): Update to handle list directed
reads of UTF-8 strings. (nml_read_obj): Likewise update for
UTF-8 strings in namelists.
* io/write.c (nml_write_obj): Add kind=4 character support for
namelist writes.
From-SVN: r209828
Markus Trippelsdorf [Sat, 26 Apr 2014 20:18:21 +0000 (20:18 +0000)]
Parallel profiledbootstrap is now supported
Parallel profiledbootstrap is supported on all maintained releases. So
just remove a misleading outdated sentence, that states the opposite,
from doc/install.texi.
2014-04-26 Markus Trippelsdorf <markus@trippelsdorf.de>
* doc/install.texi (Building with profile feedback): Remove
outdated sentence.
From-SVN: r209826
Tom de Vries [Sat, 26 Apr 2014 16:32:56 +0000 (16:32 +0000)]
Fix out-of-bounds array accesses in ldexpxf3.
2014-04-26 Tom de Vries <tom@codesourcery.com>
* config/i386/i386.md (define_expand "ldexpxf3"): Fix out-of-bounds
array accesses.
From-SVN: r209824
Uros Bizjak [Sat, 26 Apr 2014 14:31:29 +0000 (16:31 +0200)]
alias-30.c (dg-options): Dump only fre1 details.
* gcc.dg/tree-ssa/alias-30.c (dg-options): Dump only fre1 details.
* gcc.dg/vect/pr60505.c: Cleanup vect tree dump.
* g++.dg/ipa/devirt-27.C (dg-options): Remove -fdump-ipa-devirt.
From-SVN: r209823
Chris Manghane [Sat, 26 Apr 2014 03:38:34 +0000 (03:38 +0000)]
compiler: Use backend interface for defining global declarations.
* go-gcc.cc: Include "cgraph.h" and "gimplify.h".
(Gcc_backend::return_statement): Push and pop function.
(Gcc_backend::label): Likewise.
(Gcc_backend::function_defer_statement): Likewise.
(Gcc_backend::switch_statement): Add function parameter.
(Gcc_backend::block): Don't permit function to be NULL.
(Gcc_backend::temporary_variable): Change go_assert to
gcc_assert.
(Gcc_backend::gc_root_variable): New function.
(Gcc_backend::write_global_definitions): New function.
From-SVN: r209819
GCC Administrator [Sat, 26 Apr 2014 00:16:56 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r209818
Cary Coutant [Fri, 25 Apr 2014 23:05:14 +0000 (23:05 +0000)]
Fix a few ICEs and other problems with -fdebug-types-sections.
(1) If a function contains a local typedef of an anonymous structure, GCC
will generate a typedef DIE in the function, where the typedef DIE points
to a structure_type DIE at the top level. That structure_type DIE, if
it's a non-POD, can contain ctor and dtor definitions. This causes an
assertion in should_move_die_to_comdat to fail, as we have up to now
assumed that this could never happen.
(2) With --std=c++11, a template parameter can refer to a local type defined
within a function. Because that local type doesn't qualify for its own
type unit, we copy it as an "unworthy" type into the type unit that refers
to it, but we copy too much, leading to a comdat type unit that contains a
DIE with subprogram definitions rather than declarations. These DIEs may
have DW_AT_low_pc/high_pc or DW_AT_ranges attributes, and consequently can
refer to range list entries that don't get emitted because they're not
marked when the compile unit is scanned, eventually causing an undefined
symbol at link time.
(3) When a class template instantiation is moved into a separate type unit,
it can bring along a lot of other referenced types into the type unit,
especially if the template is derived from another (large) type that
does not have an actually have a type definition in a type unit of its
own. When there are many instantiations of the same template, we get
a lot of duplication, and in the worst case (a template with several
parameters, instantiated multiple times along each dimension), GCC
can end up taking a long time and exhausting available memory.
This combinatorial explosion is being caused by copy_decls_walk, where
it finds a type DIE that is referenced by the type unit, but is not
itself a type unit, and copies a declaration for that type into the
type unit in order to resolve the reference within the type unit.
In the process, copy_decls_walk also copies all of the children of
that DIE. In the case of a base class with member function templates,
every one of the instantiated member functions is copied into every
type unit that references the base class.
gcc/
PR debug/60929
* dwarf2out.c (should_move_die_to_comdat): A type definition
can contain a subprogram definition, but don't move it to a
comdat unit.
(clone_as_declaration): Copy DW_AT_abstract_origin attribute.
(generate_skeleton_bottom_up): Remove DW_AT_object_pointer attribute
from original DIE.
(clone_tree_hash): Rename to...
(clone_tree_partial): ...this; change callers. Copy
DW_TAG_subprogram DIEs as declarations.
(copy_decls_walk): Don't copy children of a declaration into a
type unit.
gcc/testsuite/
PR debug/60929
* g++.dg/debug/dwarf2/dwarf4-nested.C: New test case.
* g++.dg/debug/dwarf2/dwarf4-typedef.C: Add
-fdebug-types-section flag.
From-SVN: r209812
H.J. Lu [Fri, 25 Apr 2014 20:52:01 +0000 (20:52 +0000)]
Set MODE to SI for alternative 12 in *movsf_internal
PR target/60969
* config/i386/i386.md (*movsf_internal): Set MODE to SI for
alternative 12.
From-SVN: r209811
Lars Gullik Bjønnes [Fri, 25 Apr 2014 19:34:42 +0000 (19:34 +0000)]
re PR libstdc++/60710 (experimental::optional<T> is using T::operator!=)
2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
PR libstdc++/60710
* include/experimental/optional (operator!=): Implement in terms of
operator==.
* testsuite/experimental/optional/relops/1.cc: Remove operator!=.
* testsuite/experimental/optional/relops/2.cc: Likewise.
* testsuite/experimental/optional/relops/3.cc: Likewise.
* testsuite/experimental/optional/relops/4.cc: Likewise.
* testsuite/experimental/optional/relops/5.cc: Likewise.
* testsuite/experimental/optional/relops/6.cc: Likewise.
From-SVN: r209810
Jiong Wang [Fri, 25 Apr 2014 17:00:33 +0000 (17:00 +0000)]
[ARM] Enable tail call optimization for long call
gcc/
* config/arm/predicates.md (call_insn_operand): Add long_call check.
* config/arm/arm.md (sibcall, sibcall_value): Force the address to
reg for long_call.
* config/arm/arm.c (arm_function_ok_for_sibcall): Remove long_call
restriction.
gcc/testsuite
* gcc.target/arm/tail-long-call.c: New test.
From-SVN: r209808
Jonathan Wakely [Fri, 25 Apr 2014 16:10:25 +0000 (17:10 +0100)]
re PR libstdc++/60958 (Initialization of arrays in tr1/regex ill-formed or with undefined behaviour)
PR libstdc++/60958
* include/tr1/regex (regex_traits::isctype): Comment out broken code.
* testsuite/util/testsuite_regex.h (regex_match_debug): Improve
comment.
From-SVN: r209807
Kyrylo Tkachov [Fri, 25 Apr 2014 14:32:39 +0000 (14:32 +0000)]
[ARM] Initialise T16-related fields in Cortex-A8 tuning struct.
* config/arm/arm.c (arm_cortex_a8_tune): Initialise
T16-related fields.
From-SVN: r209806
Bill Schmidt [Fri, 25 Apr 2014 14:28:58 +0000 (14:28 +0000)]
re PR tree-optimization/60930 (Wrong folding of - ((unsigned long long) a * (unsigned long long) (unsigned int)-1))
[gcc]
2014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/60930
* gimple-ssa-strength-reduction.c (create_mul_imm_cand): Reject
creating a multiply candidate by folding two constant
multiplicands when the result overflows.
[gcc/testsuite]
2014-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR tree-optimization/60930
* gcc.dg/torture/pr60930.c: New test.
From-SVN: r209805
Jakub Jelinek [Fri, 25 Apr 2014 13:52:52 +0000 (15:52 +0200)]
re PR tree-optimization/60960 (Wrong result when a vector variable is divided by a literal constant)
PR tree-optimization/60960
* tree-vect-generic.c (expand_vector_operation): Only call
expand_vector_divmod if type's mode satisfies VECTOR_MODE_P.
* gcc.c-torture/execute/pr60960.c: New test.
From-SVN: r209802
Marek Polacek [Fri, 25 Apr 2014 13:22:13 +0000 (13:22 +0000)]
* gcc.dg/pr18079-2.c: Fix quoting in dg-warning.
From-SVN: r209801
Tom de Vries [Fri, 25 Apr 2014 11:21:40 +0000 (11:21 +0000)]
Add clobber_reg
2014-04-25 Tom de Vries <tom@codesourcery.com>
* expr.c (clobber_reg_mode): New function.
* expr.h (clobber_reg): New function.
From-SVN: r209800
Tom de Vries [Fri, 25 Apr 2014 11:21:29 +0000 (11:21 +0000)]
Register CALL_INSN_FUNCTION_USAGE in find_all_hard_reg_sets
2014-04-25 Tom de Vries <tom@codesourcery.com>
* rtlanal.c (find_all_hard_reg_sets): Note INSN_CALL_FUNCTION_USAGE
clobbers.
From-SVN: r209799
Radovan Obradovic [Fri, 25 Apr 2014 11:21:18 +0000 (11:21 +0000)]
Add implicit parameter to find_all_hard_reg_sets
2014-04-25 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* rtlanal.c (find_all_hard_reg_sets): Add bool implicit parameter and
handle.
* rtl.h (find_all_hard_reg_sets): Add bool parameter.
* haifa-sched.c (recompute_todo_spec, check_clobbered_conditions): Add
new argument to find_all_hard_reg_sets call.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r209798
Kyrylo Tkachov [Fri, 25 Apr 2014 11:09:03 +0000 (11:09 +0000)]
[ARM] Wrap long literals in HOST_WIDE_INT_C in aarch-common.c
* config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p):
Use HOST_WIDE_INT_C for mask literal.
(aarch_rev16_shleft_mask_imm_p): Likewise.
From-SVN: r209797
Marek Polacek [Fri, 25 Apr 2014 11:04:40 +0000 (11:04 +0000)]
re PR c/18079 (Contradicting function attributes (always_inline vs noinline))
PR c/18079
c/
* c-decl.c (diagnose_mismatched_decls): Warn for mismatched
always_inline/noinline and hot/cold attributes.
c-family/
* c-common.c (handle_noinline_attribute): Warn if the attribute
conflicts with always_inline attribute.
(handle_always_inline_attribute): Warn if the attribute conflicts
with noinline attribute.
testsuite/
* gcc.dg/pr18079.c: New test.
* gcc.dg/pr18079-2.c: New test.
From-SVN: r209796
Uros Bizjak [Fri, 25 Apr 2014 10:51:24 +0000 (12:51 +0200)]
pr60823-2.c: Require effective target vect_simd_clones.
* c-c++-common/gomp/pr60823-2.c: Require effective target
vect_simd_clones.
From-SVN: r209795
Marek Polacek [Fri, 25 Apr 2014 10:49:56 +0000 (10:49 +0000)]
re PR c/60114 (Incorrect column number for -pedantic and -Wconversion)
PR c/60114
c/
* c-parser.c (c_parser_initelt): Pass input_location to
process_init_element.
(c_parser_initval): Pass loc to process_init_element.
* c-tree.h (process_init_element): Adjust declaration.
* c-typeck.c (push_init_level): Pass input_location to
process_init_element.
(pop_init_level): Likewise.
(set_designator): Likewise.
(output_init_element): Add location_t parameter. Pass loc to
digest_init.
(output_pending_init_elements): Pass input_location to
output_init_element.
(process_init_element): Add location_t parameter. Pass loc to
output_init_element.
testsuite/
* gcc.dg/pr60114.c: New test.
From-SVN: r209794
Eric Botcazou [Fri, 25 Apr 2014 10:39:14 +0000 (10:39 +0000)]
re PR target/60941 (miscompilation of firefox javascript interpreter)
PR target/60941
* config/sparc/sparc.md (ashlsi3_extend): Delete.
From-SVN: r209790
Marc Glisse [Fri, 25 Apr 2014 09:23:15 +0000 (11:23 +0200)]
re PR target/56540 (No __SIZEOF__XXX__ macro for __float128)
2014-04-25 Marc Glisse <marc.glisse@inria.fr>
PR preprocessor/56540
* config/i386/i386-c.c (ix86_target_macros): Define
__SIZEOF_FLOAT80__ and __SIZEOF_FLOAT128__.
From-SVN: r209789
Marek Polacek [Fri, 25 Apr 2014 08:22:47 +0000 (08:22 +0000)]
re PR c/60156 (GCC doesn't warn about variadic main)
PR c/60156
* c-common.c (check_main_parameter_types): Warn about variadic main.
* c-c++-common/pr60156.c: New test.
From-SVN: r209787
Marc Glisse [Fri, 25 Apr 2014 08:20:24 +0000 (10:20 +0200)]
testsuite_abi.cc (check_version): Update for CXXABI_1.3.9.
2014-04-25 Marc Glisse <marc.glisse@inria.fr>
* testsuite/util/testsuite_abi.cc (check_version): Update for
CXXABI_1.3.9.
From-SVN: r209786
Rainer Orth [Fri, 25 Apr 2014 08:08:41 +0000 (08:08 +0000)]
Remove LIB_TLS_SPEC on Solaris
* configure.ac (tga_func): Remove.
(LIB_TLS_SPEC): Remove.
* configure: Regenerate.
* config.in: Regenerate.
* config/sol2.h (LIB_SPEC): Don't use LIB_TLS_SPEC.
From-SVN: r209785
Marc Glisse [Fri, 25 Apr 2014 08:03:08 +0000 (10:03 +0200)]
re PR target/43538 (config/mt-gnu CXXFLAGS_FOR_TARGET)
2014-04-25 Marc Glisse <marc.glisse@inria.fr>
PR target/43538
* mt-gnu: Don't reset CXXFLAGS_FOR_TARGET.
From-SVN: r209784
Rainer Orth [Fri, 25 Apr 2014 08:01:09 +0000 (08:01 +0000)]
Remove SSE execution test in crtfastmath.c
* config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]
(sigill_caught, sigill_hdlr): Remove.
From-SVN: r209783
Richard Biener [Fri, 25 Apr 2014 07:47:22 +0000 (07:47 +0000)]
re PR ipa/60912 (wrong code with -O -fno-inline -fipa-pta)
2014-04-25 Richard Biener <rguenther@suse.de>
PR ipa/60912
* tree-ssa-structalias.c (ipa_pta_execute): Compute direct
call stmt use/clobber sets during stmt walk instead of
walking the possibly incomplete set of caller edges.
* g++.dg/opt/pr60912.C: New testcase.
From-SVN: r209780
Richard Biener [Fri, 25 Apr 2014 07:44:40 +0000 (07:44 +0000)]
re PR ipa/60911 (wrong code with -O2 -flto -fipa-pta)
2014-04-25 Richard Biener <rguenther@suse.de>
PR ipa/60911
* passes.c (apply_ipa_transforms): Inline into only caller ...
(execute_one_pass): ... here. Properly bring in function
bodies for nodes we want to apply IPA transforms to.
* gcc.dg/lto/pr60911_0.c: New testcase.
From-SVN: r209779
Ian Lance Taylor [Fri, 25 Apr 2014 04:29:07 +0000 (04:29 +0000)]
re PR go/60931 (libgo has issues when page size is not 4k)
PR go/60931
runtime: Fix garbage collector issue with non 4kB system page size
The go garbage collector tracks memory in terms of 4kB pages.
Most of the code checks getpagesize() at runtime and does the
right thing.
On a 64kB ppc64 box I see SEGVs in long running processes
which has been diagnosed as a bug in scavengelist.
scavengelist does a madvise(MADV_DONTNEED) without rounding
the arguments to the system page size. A strace of one of the
failures shows the problem:
madvise(0xc211030000, 4096, MADV_DONTNEED) = 0
The kernel rounds the length up to 64kB and we mark 60kB of
valid data as no longer needed.
Round start up to a system page and end down before calling
madvise.
From-SVN: r209777
Mike Stump [Fri, 25 Apr 2014 00:53:34 +0000 (00:53 +0000)]
* c.opt (Wshadow-ivar): Default to on.
From-SVN: r209774
Cong Hou [Fri, 25 Apr 2014 00:20:44 +0000 (20:20 -0400)]
re PR tree-optimization/60896 (ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1449)
2014-04-24 Cong Hou <congh@google.com>
PR tree-optimization/60896
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up
all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern.
(vect_mark_pattern_stmts): Set the def type of all statements in
PATTERN_DEF_SEQ as vect_internal_def.
2014-04-24 Cong Hou <congh@google.com>
PR tree-optimization/60896
* g++.dg/vect/pr60896.cc: New test.
From-SVN: r209773
GCC Administrator [Fri, 25 Apr 2014 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r209772
Michael Meissner [Thu, 24 Apr 2014 22:42:25 +0000 (22:42 +0000)]
extend.texi (PowerPC Built-in Functions): Document new powerpc extended divide, bcd, pack/unpack 128-bit, builtin functions.
[gcc]
2014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* doc/extend.texi (PowerPC Built-in Functions): Document new
powerpc extended divide, bcd, pack/unpack 128-bit, builtin
functions.
(PowerPC AltiVec/VSX Built-in Functions): Likewise.
* config/rs6000/predicates.md (const_0_to_3_operand): New
predicate to match 0..3 integer constants.
* config/rs6000/rs6000-builtin.def (BU_DFP_MISC_1): Add new macros
to support adding miscellaneous builtin functions.
(BU_DFP_MISC_2): Likewise.
(BU_P7_MISC_1): Likewise.
(BU_P7_MISC_2): Likewise.
(BU_P8V_MISC_3): Likewise.
(BU_MISC_1): Likewise.
(BU_MISC_2): Likewise.
(DIVWE): Add extended divide builtin functions.
(DIVWEO): Likewise.
(DIVWEU): Likewise.
(DIVWEUO): Likewise.
(DIVDE): Likewise.
(DIVDEO): Likewise.
(DIVDEU): Likewise.
(DIVDEUO): Likewise.
(DXEX): Add decimal floating-point builtin functions.
(DXEXQ): Likewise.
(DDEDPD): Likewise.
(DDEDPDQ): Likewise.
(DENBCD): Likewise.
(DENBCDQ): Likewise.
(DIEX): Likewise.
(DIEXQ): Likewise.
(DSCLI): Likewise.
(DSCLIQ): Likewise.
(DSCRI): Likewise.
(DSCRIQ): Likewise.
(CDTBCD): Add new BCD builtin functions.
(CBCDTD): Likewise.
(ADDG6S): Likewise.
(BCDADD): Likewise.
(BCDADD_LT): Likewise.
(BCDADD_EQ): Likewise.
(BCDADD_GT): Likewise.
(BCDADD_OV): Likewise.
(BCDSUB): Likewise.
(BCDSUB_LT): Likewise.
(BCDSUB_EQ): Likewise.
(BCDSUB_GT): Likewise.
(BCDSUB_OV): Likewise.
(PACK_TD): Add new pack/unpack 128-bit type builtin functions.
(UNPACK_TD): Likewise.
(PACK_TF): Likewise.
(UNPACK_TF): Likewise.
(UNPACK_TF_0): Likewise.
(UNPACK_TF_1): Likewise.
(PACK_V1TI): Likewise.
(UNPACK_V1TI): Likewise.
* config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
support for decimal floating point builtin functions.
(rs6000_expand_ternop_builtin): Add checks for the new builtin
functions that take constant arguments.
(rs6000_invalid_builtin): Add decimal floating point builtin
support.
(rs6000_init_builtins): Setup long double, _Decimal64, and
_Decimal128 types for new builtin functions.
(builtin_function_type): Set the unsigned flags appropriately for
the new builtin functions.
(rs6000_opt_masks): Add support for decimal floating point builtin
functions.
* config/rs6000/rs6000.h (RS6000_BTM_DFP): Add support for decimal
floating point builtin functions.
(RS6000_BTM_COMMON): Likewise.
(RS6000_BTI_long_double): Likewise.
(RS6000_BTI_dfloat64): Likewise.
(RS6000_BTI_dfloat128): Likewise.
(long_double_type_internal_node): Likewise.
(dfloat64_type_internal_node): Likewise.
(dfloat128_type_internal_node): Likewise.
* config/rs6000/altivec.h (UNSPEC_BCDADD): Add support for ISA
2.07 bcd arithmetic instructions.
(UNSPEC_BCDSUB): Likewise.
(UNSPEC_BCD_OVERFLOW): Likewise.
(UNSPEC_BCD_ADD_SUB): Likewise.
(bcd_add_sub): Likewise.
(BCD_TEST): Likewise.
(bcd<bcd_add_sub>): Likewise.
(bcd<bcd_add_sub>_test): Likewise.
(bcd<bcd_add_sub>_test2): Likewise.
(bcd<bcd_add_sub>_<code>): Likewise.
(peephole2 for combined bcd ops): Likewise.
* config/rs6000/dfp.md (UNSPEC_DDEDPD): Add support for new
decimal floating point builtin functions.
(UNSPEC_DENBCD): Likewise.
(UNSPEC_DXEX): Likewise.
(UNSPEC_DIEX): Likewise.
(UNSPEC_DSCLI): Likewise.
(UNSPEC_DSCRI): Likewise.
(D64_D128): Likewise.
(dfp_suffix): Likewise.
(dfp_ddedpd_<mode>): Likewise.
(dfp_denbcd_<mode>): Likewise.
(dfp_dxex_<mode>): Likewise.
(dfp_diex_<mode>): Likewise.
(dfp_dscli_<mode>): Likewise.
(dfp_dscri_<mode>): Likewise.
* config/rs6000/rs6000.md (UNSPEC_ADDG6S): Add support for new BCD
builtin functions.
(UNSPEC_CDTBCD): Likewise.
(UNSPEC_CBCDTD): Likewise.
(UNSPEC_DIVE): Add support for new extended divide builtin
functions.
(UNSPEC_DIVEO): Likewise.
(UNSPEC_DIVEU): Likewise.
(UNSPEC_DIVEUO): Likewise.
(UNSPEC_UNPACK_128BIT): Add support for new builtin functions to
pack/unpack 128-bit types.
(UNSPEC_PACK_128BIT): Likewise.
(idiv_ldiv): New mode attribute to set the 32/64-bit divide type.
(udiv<mode>3): Use idiv_ldiv mode attribute.
(div<mode>3): Likewise.
(addg6s): Add new BCD builtin functions.
(cdtbcd): Likewise.
(cbcdtd): Likewise.
(UNSPEC_DIV_EXTEND): Add support for new extended divide
instructions.
(div_extend): Likewise.
(div<div_extend>_<mode>"): Likewise.
(FP128_64): Add support for new builtin functions to pack/unpack
128-bit types.
(unpack<mode>): Likewise.
(unpacktf_0): Likewise.
(unpacktf_1): Likewise.
(unpack<mode>_dm): Likewise.
(unpack<mode>_nodm): Likewise.
(pack<mode>): Likewise.
(unpackv1ti): Likewise.
(packv1ti): Likewise.
[gcc/testsuite]
2014-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/pack01.c: New test to test the new pack and
unpack builtin functionss for 128-bit types.
* gcc.target/powerpc/pack02.c: Likewise.
* gcc.target/powerpc/pack03.c: Likewise.
* gcc.target/powerpc/extend-divide-1.c: New test to test extended
divide builtin functionss.
* gcc.target/powerpc/extend-divide-2.c: Likewise.
* gcc.target/powerpc/bcd-1.c: New test for the new BCD builtin
functions.
* gcc.target/powerpc/bcd-2.c: Likewise.
* gcc.target/powerpc/bcd-3.c: Likewise.
* gcc.target/powerpc/dfp-builtin-1.c: New test for the new DFP
builtin functionss.
* gcc.target/powerpc/dfp-builtin-2.c: Likewise.
From-SVN: r209768
Vishnu K S [Thu, 24 Apr 2014 22:05:07 +0000 (22:05 +0000)]
avr.c: Add comment on why -fdelete-null-pointer-checks is disabled.
2014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
* gcc/config/avr/avr.c: Add comment on why -fdelete-null-pointer-checks
is disabled.
2014-04-24 Vishnu K S <Vishnu.k_s@atmel.com>
* gcc/testsuite/gcc.dg/tree-ssa/isolate-1.c: Skip test if
keeps_null_pointer_checks.
* gcc/testsuite/gcc.dg/tree-ssa/isolate-2.c: Ditto
* gcc/testsuite/gcc.dg/tree-ssa/isolate-3.c: Ditto
* gcc/testsuite/gcc.dg/tree-ssa/isolate-4.c: Ditto
* gcc/testsuite/gcc.dg/tree-ssa/isolate-5.c: Ditto
From-SVN: r209767
Prathamesh Kulkarni [Thu, 24 Apr 2014 21:29:45 +0000 (21:29 +0000)]
c-parser.c (c_parser_sizeof_expression): Reorganize slightly to avoid goto.
* c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
avoid goto.
From-SVN: r209765
Jakub Jelinek [Thu, 24 Apr 2014 21:20:28 +0000 (23:20 +0200)]
c-parser.c (c_parser_omp_atomic): Allow seq_cst before atomic-clause...
gcc/c/
* c-parser.c (c_parser_omp_atomic): Allow seq_cst before
atomic-clause, allow comma in between atomic-clause and
seq_cst.
gcc/cp/
* parser.c (cp_parser_omp_atomic): Allow seq_cst before
atomic-clause, allow comma in between atomic-clause and
seq_cst.
gcc/testsuite/
* c-c++-common/gomp/atomic-16.c: Remove all dg-error directives.
Replace load with read and store with write.
libgomp/
* testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
atomic type clauses in any order and optional comma in between.
* testsuite/libgomp.c++/atomic-15.C: Likewise.
* testsuite/libgomp.c/atomic-17.c: Likewise.
From-SVN: r209762
Jakub Jelinek [Thu, 24 Apr 2014 21:17:32 +0000 (23:17 +0200)]
tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
* tree.h (OMP_CLAUSE_LINEAR_GIMPLE_SEQ): Define.
* gimplify.c (omp_is_private): Change last argument's type to int.
Only diagnose lastprivate if the simd argument is 1, only diagnose
linear if the simd argument is 2.
(gimplify_omp_for): Adjust omp_is_private callers. When adding
lastprivate or private, add the clause to OMP_FOR_CLAUSES. Pass
GOVD_EXPLICIT to omp_add_variable. For simd with collapse == 1
create OMP_CLAUSE_LINEAR rather than OMP_CLAUSE_PRIVATE for var.
If var != decl and decl is in OMP_CLAUSE_LINEAR, gimplify decl
increment to OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
* omp-low.c (scan_sharing_clauses, lower_lastprivate_clauses): Handle
OMP_CLAUSE_LINEAR_GIMPLE_SEQ.
* tree-nested.c (convert_nonlocal_omp_clauses,
convert_local_omp_clauses): Handle OMP_CLAUSE_LINEAR.
* testsuite/libgomp.c/simd-7.c: New test.
* testsuite/libgomp.c/simd-8.c: New test.
* testsuite/libgomp.c/simd-9.c: New test.
* testsuite/libgomp.c/loop-16.c: New test.
From-SVN: r209760
Jeff Law [Thu, 24 Apr 2014 20:45:10 +0000 (14:45 -0600)]
[multiple changes]
2014-04-24 Segher Boessenkool <segher@kernel.crashing.org>
PR target/60822
* config/m68k/m68k.md (extendplussidi): Don't allow memory for
operand 1.
2014-04-24 Jeff Law <law@redhat.com>
PR target/60822
* gcc.c-torture/pr60822.c: New test.
* gcc.c-torture/pr60822.x: New test.
From-SVN: r209759
Dinar Temirbulatov [Thu, 24 Apr 2014 18:51:29 +0000 (22:51 +0400)]
add recored to gcc/testsuite/ChangeLog for PR c++/57958
From-SVN: r209757
Tim Shen [Thu, 24 Apr 2014 18:29:21 +0000 (18:29 +0000)]
regex_automaton.tcc (_StateSeq<>::_M_clone()): Do _M_alt before _M_next.
2014-04-24 Tim Shen <timshen91@gmail.com>
* include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
Do _M_alt before _M_next.
* testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
From-SVN: r209756
Mike Stump [Thu, 24 Apr 2014 16:03:39 +0000 (16:03 +0000)]
Link to bug report.
From-SVN: r209754
Dimitris Papavasiliou [Thu, 24 Apr 2014 15:58:44 +0000 (15:58 +0000)]
flag-types.h (enum ivar_visibility): Add.
2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
* flag-types.h (enum ivar_visibility): Add.
c-family:
* c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
objc:
* objc-act.c (objc_ivar_visibility, objc_default_ivar_visibility): Add.
(objc_init): Initialize objc_default_ivar_visibility.
(objc_start_class_interface): Use objc_default_ivar_visibility.
(objc_start_class_implementation): Likewise.
(objc_lookup_ivar): Implement -fno-local-ivars.
From-SVN: r209753
Jincheng Miao [Thu, 24 Apr 2014 15:44:13 +0000 (15:44 +0000)]
zh_CN.po: Fix typo for -mfentry.
2014-04-24 Jincheng Miao <jincheng.miao@gmail.com>
* zh_CN.po: Fix typo for -mfentry.
From-SVN: r209752
Trevor Saunders [Thu, 24 Apr 2014 15:33:30 +0000 (15:33 +0000)]
fixup sh bustage after r209483
When making pass::execute functions take a function * argument I missed
the sh_treg_combine pass, so fix that here.
gcc/
* config/sh/sh_treg_combine.c (sh_treg_combine::execute): Take
function * argument.
From-SVN: r209751
Alan Lawrence [Thu, 24 Apr 2014 14:18:48 +0000 (14:18 +0000)]
[AArch64] Enable TBL for big-endian.
gcc/ChangeLog:
2014-04-11 Alan Lawrence <alan.lawrence@arm.com>
* config/aarch64/aarch64.c (aarch64_evpc_tbl): Enable for bigendian.
gcc/testsuite/ChangeLog:
2014-04-11 Alan Lawrence <alan.lawrence@arm.com>
* lib/target-supports.exp (check_effective_target_vect_perm): Return
true for aarch64_be.
From-SVN: r209749
Marc Glisse [Thu, 24 Apr 2014 13:58:36 +0000 (15:58 +0200)]
re PR libstdc++/43622 (Incomplete C++ library support for __float128)
2014-04-24 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/43622
gcc/cp/
* rtti.c (emit_support_tinfos): Do not iterate on
registered_builtin_types (partial revert).
libstdc++/
* config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
* config/abi/pre/gnu-versioned-namespace.ver: Likewise.
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
From-SVN: r209748
Kyrylo Tkachov [Thu, 24 Apr 2014 11:03:56 +0000 (11:03 +0000)]
Fix warning in libgfortran configure script
* configure.ac: Quote usage of ac_cv_func_clock_gettime in if test.
* configure: Regenerate.
From-SVN: r209747
Andreas Schwab [Thu, 24 Apr 2014 10:44:57 +0000 (10:44 +0000)]
Update libstdc++ baseline symbols for ia64
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
new CXXABI_1.3.9 symbols.
From-SVN: r209746
Radovan Obradovic [Thu, 24 Apr 2014 10:27:16 +0000 (10:27 +0000)]
-fuse-caller-save - Add test-case
2014-04-24 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* gcc.dg/fuse-caller-save.c: New test.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r209745
Radovan Obradovic [Thu, 24 Apr 2014 09:34:15 +0000 (09:34 +0000)]
-fuse-caller-save - Add new reg-note REG_CALL_DECL
2014-04-24 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* reg-notes.def (REG_NOTE (CALL_DECL)): New reg-note REG_CALL_DECL.
* calls.c (expand_call, emit_library_call_value_1): Add REG_CALL_DECL
reg-note.
* combine.c (distribute_notes): Handle REG_CALL_DECL reg-note.
* emit-rtl.c (try_split): Same.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r209744
Radovan Obradovic [Thu, 24 Apr 2014 09:34:06 +0000 (09:34 +0000)]
-fuse-caller-save - Add command line option
2014-04-24 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* common.opt (fuse-caller-save): New option.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r209743
Tejas Belagod [Thu, 24 Apr 2014 09:08:48 +0000 (10:08 +0100)]
[AArch64] Reverse TBL indices for big-endian.
2014-04-24 Tejas Belagod <tejas.belagod@arm.com>
* config/aarch64/aarch64.c (aarch64_evpc_tbl): Reverse order of elements
for big-endian.
From-SVN: r209742
Richard Biener [Thu, 24 Apr 2014 08:55:05 +0000 (08:55 +0000)]
expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree during TER and instead use the sepops interface...
2014-04-24 Richard Biener <rguenther@suse.de>
* expr.c (expand_expr_real_1): Avoid gimple_assign_rhs_to_tree
during TER and instead use the sepops interface for expanding
non-GIMPLE_SINGLE_RHS.
From-SVN: r209741
Rainer Orth [Thu, 24 Apr 2014 08:48:34 +0000 (08:48 +0000)]
Only redefine ASM_PREFERRED_EH_DATA_FORMAT if necessary on Solaris/x86
* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Only redefine
if not HAVE_AS_IX86_DIFF_SECT_DELTA.
From-SVN: r209740
Rainer Orth [Thu, 24 Apr 2014 08:38:06 +0000 (08:38 +0000)]
Fix gcc_cv_as_cfi_directive test for Solaris as
* configure.ac (gcc_cv_as_cfi_directive): Support Solaris/x86
assembler 64-bit option.
* configure: Regenerate.
From-SVN: r209739
Joey Ye [Thu, 24 Apr 2014 08:24:37 +0000 (08:24 +0000)]
nsdmi-union5.C: Change to runtime test.
2014-04-24 Joey Ye <joey.ye@arm.com>
* g++.dg/cpp0x/nsdmi-union5.C: Change to runtime test.
From-SVN: r209738
Kyrylo Tkachov [Thu, 24 Apr 2014 08:22:43 +0000 (08:22 +0000)]
[AArch64] Wire up TARGET_SIMD and TARGET_FLOAT properly
* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Check
TARGET_SIMD rather than TARGET_GENERAL_REGS_ONLY.
(TARGET_SIMD): Take AARCH64_ISA_SIMD into account.
(TARGET_FLOAT): Take AARCH64_ISA_FP into account.
(TARGET_CRYPTO): Take TARGET_SIMD into account.
From-SVN: r209737
Kyrylo Tkachov [Thu, 24 Apr 2014 08:05:07 +0000 (08:05 +0000)]
[AArch64] Vectorise bswap[16,32,64]
* config/aarch64/aarch64-builtins.c
(aarch64_builtin_vectorized_function): Handle BUILT_IN_BSWAP16,
BUILT_IN_BSWAP32, BUILT_IN_BSWAP64.
* config/aarch64/aarch64-simd.md (bswap<mode>): New pattern.
* config/aarch64/aarch64-simd-builtins.def: Define vector bswap
builtins.
* config/aarch64/iterator.md (VDQHSD): New mode iterator.
(Vrevsuff): New mode attribute.
* lib/target-supports.exp (check_effective_target_vect_bswap): New.
* gcc.dg/vect/vect-bswap16: New test.
* gcc.dg/vect/vect-bswap32: Likewise.
* gcc.dg/vect/vect-bswap64: Likewise.
From-SVN: r209736
Terry Guo [Thu, 24 Apr 2014 06:40:24 +0000 (06:40 +0000)]
arm.h (machine_function): Define variable after_arm_reorg here.
2014-04-24 Terry Guo <terry.guo@arm.com>
* config/arm/arm.h (machine_function): Define variable
after_arm_reorg here.
* config/arm/arm.c (after_arm_reorg): Remove the definition.
(arm_split_constant): Update the way to access variable
after_arm_reorg.
(arm_reorg): Ditto.
(arm_output_function_epilogue): Remove the reset of after_arm_reorg.
From-SVN: r209735
Laurynas Biveinis [Thu, 24 Apr 2014 03:45:14 +0000 (03:45 +0000)]
MAINTAINERS: Move myself from Reviewers to Write After Approval section.
2014-04-24 Laurynas Biveinis <laurynas.biveinis@gmail.com>
* MAINTAINERS: Move myself from Reviewers to Write After Approval
section.
From-SVN: r209732
GCC Administrator [Thu, 24 Apr 2014 00:17:09 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r209731