platform/upstream/linaro-gcc.git
10 years ago PR c++/58627
jakub [Thu, 12 Dec 2013 13:35:21 +0000 (13:35 +0000)]
PR c++/58627
* call.c (add_template_candidate_real): Don't call ggc_free on targs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205927 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-12 Max Ostapenko <m.ostapenko@partner.samsung.com>
chefmax [Thu, 12 Dec 2013 11:44:23 +0000 (11:44 +0000)]
2013-12-12  Max Ostapenko  <m.ostapenko@partner.samsung.com>

* c-c++-common/tsan/free_race2.c: New file.
* c-c++-common/tsan/race_on_barrier2.c: Likewise.
* c-c++-common/tsan/race_on_mutex.c: Likewise.
* c-c++-common/tsan/race_on_mutex2.c: Likewise.
* c-c++-common/tsan/simple_race.c: Likewise.
* c-c++-common/tsan/simple_stack.c: Likewise.
* g++.dg/tsan/aligned_vs_unaligned_race.C: Likewise. Test applies only on x86_64-linux targets.
* g++.dg/tsan/atomic_free.C: Likewise.
* g++.dg/tsan/atomic_free2.C: Likewise.
* g++.dg/tsan/benign_race.C: Likewise.
* g++.dg/tsan/cond_race.C: Likewise.
* g++.dg/tsan/default_options.C: Likewise.
* g++.dg/tsan/fd_close_norace.C: Likewise.
* g++.dg/tsan/fd_close_norace2.C: Likewise.
* g++-dg/tsan/tsan.exp: Modified to run additional C++ tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205925 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoMinor fixes
ebotcazou [Thu, 12 Dec 2013 10:13:18 +0000 (10:13 +0000)]
Minor fixes

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205924 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR libgomp/59467
jakub [Thu, 12 Dec 2013 08:52:06 +0000 (08:52 +0000)]
PR libgomp/59467
* gimplify.c (omp_check_private): Add copyprivate argument, if it
is true, don't check omp_privatize_by_reference.
(gimplify_scan_omp_clauses): For OMP_CLAUSE_COPYPRIVATE verify
decl is private in outer context.  Adjust omp_check_private caller.

* gfortran.dg/gomp/pr59467.f90: New test.
* c-c++-common/gomp/pr59467.c: New test.

* testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
!$omp parallel.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205922 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR testsuite/59442
uros [Thu, 12 Dec 2013 07:49:42 +0000 (07:49 +0000)]
PR testsuite/59442
* gcc.target/i386/sse2-movapd-1.c: Fix alignment attributes.
* gcc.target/i386/sse2-movapd-2.c: Likewise.
* gcc.target/i386/avx-vmovapd-256-1.c: Likewise.
* gcc.target/i386/avx-vmovapd-256-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205919 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-12 Zhenqiang Chen <zhenqiang.chen@arm.com>
zqchen [Thu, 12 Dec 2013 05:48:08 +0000 (05:48 +0000)]
2013-12-12  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* config.host (arm*-*-uclinux*): Move t-arm before t-bpabi.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205917 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * go-lang.c (go_langhook_post_options): Disable sibling calls by
ian [Thu, 12 Dec 2013 02:24:20 +0000 (02:24 +0000)]
* go-lang.c (go_langhook_post_options): Disable sibling calls by
default.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205915 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler, reflect, runtime: Implement method values in reflect.
ian [Thu, 12 Dec 2013 01:08:52 +0000 (01:08 +0000)]
compiler, reflect, runtime: Implement method values in reflect.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205913 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Thu, 12 Dec 2013 00:16:27 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205912 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoreflect, runtime: Let reflect.MakeFunc functions call recover.
ian [Wed, 11 Dec 2013 23:43:16 +0000 (23:43 +0000)]
reflect, runtime: Let reflect.MakeFunc functions call recover.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205908 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agocompiler: Minor fixes for recover thunks.
ian [Wed, 11 Dec 2013 22:42:20 +0000 (22:42 +0000)]
compiler: Minor fixes for recover thunks.

Avoid name collisions when a method calls recover.

Don't crash if a method with an unnamed receiver calls
recover.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205906 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR rtl-optimization/59446
law [Wed, 11 Dec 2013 22:15:14 +0000 (22:15 +0000)]
PR rtl-optimization/59446
* tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
test for crossing a loop header.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205905 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-11 Sriraman Tallam <tmsriram@google.com>
tmsriram [Wed, 11 Dec 2013 20:06:46 +0000 (20:06 +0000)]
2013-12-11  Sriraman Tallam  <tmsriram@google.com>

PR target/59390
* config/i386/i386.c (get_builtin): New function.
(ix86_builtin_vectorized_function): Replace all instances of
ix86_builtins[...] with get_builtin(...).
(ix86_builtin_reciprocal): Ditto.

PR target/59390
* gcc.target/i386/pr59390.c: New test.
* gcc.target/i386/pr59390_1.c: New test.
* gcc.target/i386/pr59390_2.c: New test.

Tested boot-strap on all languages and test parity on x86_64 and with -m32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205904 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-11 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 11 Dec 2013 19:50:56 +0000 (19:50 +0000)]
2013-12-11  Tobias Burnus  <burnus@net-b.de>

        * config/fpu-387.h (sigill_hdlr, get_fpu_rounding_mode): Emit
        * SSE
        instructions when __SSE_MATH__ is defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205903 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdded Compiler Support for _Cilk_spawn and _Cilk_sync for C++.
bviyer [Wed, 11 Dec 2013 18:23:27 +0000 (18:23 +0000)]
Added Compiler Support for _Cilk_spawn and _Cilk_sync for C++.
gcc/c-family/ChangeLog
2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * cilk.c (cilk_outline): Made this function non-static.
(gimplify_cilk_spawn): Removed pre_p and post_p arguments.
(create_cilk_wrapper): Added a new parameter: a function pointer.
(c_install_body_w_frame_cleanup): Remove
(extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
        * c-common.h (cilk_outline): New prototype.
(gimplify_cilk_spawn): Removed two parameters.
        (cilk_install_body_with_frame_cleanup): New prototype.
* c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
CILK_SPAWN_STMT case.

gcc/c/ChangeLog
2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>

* c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
(LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
* c-typeck.c (cilk_install_body_with_frame_cleanup): New function.

gcc/ChangeLog
2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * langhooks.h (lang_hooks_for_decls): Remove lang_hooks_for_cilkplus.
(lang_hooks_for_cilkplus): Remove.
* langhooks.c (lhd_cilk_detect_spawn): Likewise.
(lhd_install_body_with_frame_cleanup): Likewise.
* langhooks-def.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
(LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
(LANG_HOOKS_CILKPLUS): Likewise.
(LANG_HOOKS_DECLS): Remove LANG_HOOKS_CILKPLUS.
* gimplify.c (gimplify_expr): Removed CILK_SPAWN_STMT case.
(gimplify_modify_expr): Removed handling of _Cilk_spawn in expr.
(gimplify_call_expr): Likewise.

gcc/cp/ChangeLog
2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * cp-tree.h (cilk_valid_spawn): New prototype.
        (gimplify_cilk_spawn): Likewise.
        (create_try_catch_expr): Likewise.
        * decl.c (finish_function): Insert Cilk function-calls when a
        _Cilk_spawn is used in a function.
        * parser.c (cp_parser_postfix_expression): Added RID_CILK_SPAWN and
        RID_CILK_SYNC cases.
        * cp-cilkplus.c (set_cilk_except_flag): New function.
        (set_cilk_except_data): Likewise.
        (cilk_install_body_with_frame_cleanup): Likewise.
        * except.c (create_try_catch_expr): Likewise.
        * parser.h (IN_CILK_SPAWN): New #define.
        * pt.c (tsubst_expr): Added CILK_SPAWN_STMT and CILK_SYNC_STMT cases.
        * semantics.c (potential_constant_expression_1): Likewise.
        * typeck.c (cp_build_compound_expr): Reject a spawned function in a
        compound expression.
        (check_return_expr): Reject a spawned function in a return expression.
* cp-gimplify.c (cp_gimplify_expr): Added a CILK_SPAWN_STMT and
CALL_EXPR case.  Added handling of spawned function in MODIFY_EXPR
and INIT_EXPR.

gcc/testsuite/ChangeLog
2013-12-11  Balaji V. Iyer  <balaji.v.iyer@intel.com>

        * g++.dg/cilk-plus/CK/catch_exc.cc: New test case.
        * g++.dg/cilk-plus/CK/const_spawn.cc: Likewise.
        * g++.dg/cilk-plus/CK/fib-opr-overload.cc: Likewise.
        * g++.dg/cilk-plus/CK/fib-tplt.cc: Likewise.
        * g++.dg/cilk-plus/CK/lambda_spawns.cc: Likewise.
        * g++.dg/cilk-plus/CK/lambda_spawns_tplt.cc: Likewise.
        * g++.dg/cilk-plus/cilk-plus.exp: Added support to run Cilk Keywords
        test stored in c-c++-common.  Also, added the Cilk runtime's library
        to the ld_library_path.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205902 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Wed, 11 Dec 2013 17:15:44 +0000 (17:15 +0000)]
2013-12-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        * expr.c (expand_assignment): Remove dependency on
        flag_strict_volatile_bitfields. Always set the memory
        access mode.
        (expand_expr_real_1): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205899 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Wed, 11 Dec 2013 17:09:17 +0000 (17:09 +0000)]
2013-12-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR middle-end/59134
        * expmed.c (store_bit_field): Use narrow_bit_field_mem and
        store_fixed_bit_field_1 for -fstrict-volatile-bitfields.
        (store_fixed_bit_field): Split up.  Call store_fixed_bit_field_1
        to do the real work.
        (store_fixed_bit_field_1): New function.
        (store_split_bit_field): Limit the unit size to the memory mode size,
        to prevent recursion.

testsuite:
        * gcc.c-torture/compile/pr59134.c: New test.
        * gnat.dg/misaligned_volatile.adb: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205898 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
edlinger [Wed, 11 Dec 2013 16:59:24 +0000 (16:59 +0000)]
2013-12-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
            Sandra Loosemore  <sandra@codesourcery.com>

        PR middle-end/23623
        PR middle-end/48784
        PR middle-end/56341
        PR middle-end/56997
        * expmed.c (strict_volatile_bitfield_p): Add bitregion_start
        and bitregion_end parameters.  Test for compliance with C++
        memory model.
        (store_bit_field): Adjust call to strict_volatile_bitfield_p.
        Add fallback logic for cases where -fstrict-volatile-bitfields
        is supposed to apply, but cannot.
        (extract_bit_field): Likewise. Use narrow_bit_field_mem and
        extract_fixed_bit_field_1 to do the extraction.
        (extract_fixed_bit_field): Revert to previous mode selection algorithm.
        Call extract_fixed_bit_field_1 to do the real work.
        (extract_fixed_bit_field_1): New function.

testsuite:
        * gcc.dg/pr23623.c: Update to test interaction with C++
        memory model.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205897 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-11 Sandra Loosemore <sandra@codesourcery.com>
edlinger [Wed, 11 Dec 2013 16:50:05 +0000 (16:50 +0000)]
2013-12-11  Sandra Loosemore  <sandra@codesourcery.com>

        PR middle-end/23623
        PR middle-end/48784
        PR middle-end/56341
        PR middle-end/56997

        gcc/
        * expmed.c (strict_volatile_bitfield_p): New function.
        (store_bit_field_1): Don't special-case strict volatile
        bitfields here.
        (store_bit_field): Handle strict volatile bitfields here instead.
        (store_fixed_bit_field): Don't special-case strict volatile
        bitfields here.
        (extract_bit_field_1): Don't special-case strict volatile
        bitfields here.
        (extract_bit_field): Handle strict volatile bitfields here instead.
        (extract_fixed_bit_field): Don't special-case strict volatile
        bitfields here.  Simplify surrounding code to resemble that in
        store_fixed_bit_field.
        * doc/invoke.texi (Code Gen Options): Update
        -fstrict-volatile-bitfields description.

        gcc/testsuite/
        * gcc.dg/pr23623.c: New test.
        * gcc.dg/pr48784-1.c: New test.
        * gcc.dg/pr48784-2.c: New test.
        * gcc.dg/pr56341-1.c: New test.
        * gcc.dg/pr56341-2.c: New test.
        * gcc.dg/pr56997-1.c: New test.
        * gcc.dg/pr56997-2.c: New test.
        * gcc.dg/pr56997-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205896 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-11 Janus Weil <janus@gcc.gnu.org>
janus [Wed, 11 Dec 2013 14:02:44 +0000 (14:02 +0000)]
2013-12-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58916
* resolve.c (conformable_arrays): Treat scalar 'e2'.
(resolve_allocate_expr): Check rank also for unlimited-polymorphic
variables.

2013-12-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58916
* gfortran.dg/allocate_with_source_4.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205894 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRegenerate gcc/configure and gcc/config.in
clyon [Wed, 11 Dec 2013 13:13:43 +0000 (13:13 +0000)]
Regenerate gcc/configure and gcc/config.in

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205892 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-11 Kugan Vivekanandarajah <kuganv@linaro.org>
clyon [Wed, 11 Dec 2013 12:57:08 +0000 (12:57 +0000)]
2013-12-11  Kugan Vivekanandarajah  <kuganv@linaro.org>

* configure.ac: Add check for aarch64 assembler -mabi support.
* configure: Regenerate.
* config.in: Regenerate.
* config/aarch64/aarch64-elf.h (ASM_MABI_SPEC): New define.
(ASM_SPEC): Update to substitute -mabi with ASM_MABI_SPEC.
* config/aarch64/aarch64.h (aarch64_override_options): Issue error
if assembler does not support -mabi and option ilp32 is selected.
* doc/install.texi: Added note that building gcc 4.9 and after
with pre 2.24 binutils will not support -mabi=ilp32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205891 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoAdd a missing tree code to a switch.
bernds [Wed, 11 Dec 2013 12:40:08 +0000 (12:40 +0000)]
Add a missing tree code to a switch.

* c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205890 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemove an unused global tree, last used by objc some years ago.
bernds [Wed, 11 Dec 2013 12:40:00 +0000 (12:40 +0000)]
Remove an unused global tree, last used by objc some years ago.

        * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
        (int_array_type_node): Remove.
        * c-common.c (c_common_nodes_and_builtins): Don't build it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205889 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR sanitizer/59399
mpolacek [Wed, 11 Dec 2013 12:25:05 +0000 (12:25 +0000)]
PR sanitizer/59399
* expr.c (expand_expr_real_1): Remove assert dealing with
internal calls and turn that into a condition instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205888 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-11 Yvan Roux <yvan.roux@linaro.org>
yroux [Wed, 11 Dec 2013 12:04:09 +0000 (12:04 +0000)]
2013-12-11  Yvan Roux  <yvan.roux@linaro.org>

        * config/arm/arm.opt (mlra): Enable LRA by default.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205887 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR tree-optimization/59417
jakub [Wed, 11 Dec 2013 09:19:41 +0000 (09:19 +0000)]
PR tree-optimization/59417
* tree-ssa-copy.c (fini_copy_prop): If copy_of[i].value is defined
in a different bb rhan var, only duplicate points-to info and
not alignment info and don't duplicate range info.
* tree-ssa-loop-niter.c (determine_value_range): Instead of
assertion failure handle inconsistencies in range info by only
using var's range info and not PHI result range infos.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205884 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR tree-optimization/59386
jakub [Wed, 11 Dec 2013 09:18:33 +0000 (09:18 +0000)]
PR tree-optimization/59386
* tree-inline.c (remap_gimple_stmt): If not id->do_not_unshare,
unshare_expr (id->retval) before passing it to gimple_build_assign.

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205883 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago Reverted:
amker [Wed, 11 Dec 2013 00:58:35 +0000 (00:58 +0000)]
Reverted:
2013-12-10  Bin Cheng  <bin.cheng@arm.com>
PR tree-optimization/41488
* tree-ssa-loop-ivopts.c (add_old_iv_candidates): Don't add cand
for PEELED_CHREC kind IV.
* tree-scalar-evolution.c: Include necessary header files.
(peeled_chrec_map, simplify_peeled_chrec): New.
(analyze_evolution_in_loop): New static variable.
Call simplify_peeled_chrec.
(scev_initialize): Initialize peeled_chrec_map.
(scev_reset, scev_finalize): Reset and release peeled_chrec_map.

Reverted:
2013-12-10  Bin Cheng  <bin.cheng@arm.com>
PR tree-optimization/41488
* gcc.dg/tree-ssa/scev-7.c: New test.
* gcc.dg/pr41488.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205880 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Wed, 11 Dec 2013 00:16:56 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205879 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoProperly handle alternative 13 in *movsf_internal
hjl [Tue, 10 Dec 2013 23:21:06 +0000 (23:21 +0000)]
Properly handle alternative 13 in *movsf_internal

PR target/59458
* config/i386/i386.md (*movsf_internal): Set mode to SI for
alternative 13.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205876 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR rtl-optimization/58295
ebotcazou [Tue, 10 Dec 2013 22:58:37 +0000 (22:58 +0000)]
PR rtl-optimization/58295
* simplify-rtx.c (simplify_truncation): Restrict the distribution for
WORD_REGISTER_OPERATIONS targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205874 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-10 Janus Weil <janus@gcc.gnu.org>
janus [Tue, 10 Dec 2013 21:41:43 +0000 (21:41 +0000)]
2013-12-10  Janus Weil  <janus@gcc.gnu.org>

PR fortran/35831
* interface.c (check_dummy_characteristics): Add checks for several
attributes.

2013-12-10  Janus Weil  <janus@gcc.gnu.org>

PR fortran/35831
* gfortran.dg/c_by_val_5.f90: Modified.
* gfortran.dg/dummy_procedure_10.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205873 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
ian [Tue, 10 Dec 2013 20:55:41 +0000 (20:55 +0000)]
* Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
separately.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205872 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-10 Janus Weil <janus@gcc.gnu.org>
janus [Tue, 10 Dec 2013 20:33:12 +0000 (20:33 +0000)]
2013-12-10  Janus Weil  <janus@gcc.gnu.org>

* gfortran.texi: Add possible kind values (and default) for
DOUBLE PRECISION.
* invoke.texi: Correct documentation of -fdefault-integer-8,
-fdefault-real-8 and -fdefault-double-8.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205871 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Tue, 10 Dec 2013 18:28:51 +0000 (18:28 +0000)]
gcc/
* genrecog.c (validate_pattern): Treat all messages except missing
modes as errors.
* config/epiphany/epiphany.md: Remove constraints from
define_peephole2s.
* config/h8300/h8300.md: Remove constraints from define_splits.
* config/msp430/msp430.md: Likewise.
* config/mcore/mcore.md (movdi_i, movsf_i, movdf_k): Use
nonimmediate_operand rather than general_operand for operand 0.
* config/moxie/moxie.md (*movsi, *movqi, *movhi): Likewise.
* config/pdp11/predicates.md (float_operand, float_nonimm_operand):
Use match_operator rather than match_test to invoke general_operand.
* config/v850/v850.md (*movqi_internal, *movhi_internal)
(*movsi_internal_v850e, *movsi_internal, *movsf_internal): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205870 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/
rsandifo [Tue, 10 Dec 2013 18:17:30 +0000 (18:17 +0000)]
gcc/
* config/tilegx/tilegx.md (insn_ld_add<bitsuffix>): Use
register_operand rather than pointer_operand.  Add modes to the
operands.
(insn_ldna_add<bitsuffix>): Likewise.
(insn_ld<I124MODE:n><s>_add<I48MODE:bitsuffix>): Likewise.
(insn_ldnt_add<bitsuffix>): Likewise.
(insn_ldnt<I124MODE:n><s>_add<I48MODE:bitsuffix>): Likewise.
(insn_ld_add_L2<bitsuffix>): Likewise.
(insn_ldna_add_L2<bitsuffix>): Likewise.
(insn_ld<I124MODE:n><s>_add_L2<I48MODE:bitsuffix>): Likewise.
(insn_ldnt_add_L2<bitsuffix>): Likewise.
(insn_ldnt<I124MODE:n><s>_add_L2<I48MODE:bitsuffix>): Likewise.
(insn_ld_add_miss<bitsuffix>): Likewise.
(insn_ldna_add_miss<bitsuffix>): Likewise.
(insn_ld<I124MODE:n><s>_add_miss<I48MODE:bitsuffix>): Likewise.
(insn_ldnt_add_miss<bitsuffix>): Likewise.
(insn_ldnt<I124MODE:n><s>_add_miss<I48MODE:bitsuffix>): Likewise.
(insn_st_add<bitsuffix>): Likewise.
(insn_st<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
(*insn_st<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
(insn_stnt_add<bitsuffix>): Likewise.
(insn_stnt<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
(*insn_stnt<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
(vec_pack_<pack_optab>_v4hi): Use register_operand rather than
reg_or_0_operand for operand 0.
(insn_v2<pack_insn>): Likewise.
(vec_pack_hipart_v4hi): Likewise.
(insn_v2packh): Likewise.
(vec_pack_ssat_v2si): Likewise.
(insn_v4packsc): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205868 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoPut back typedef for gcov_working_set_t/gcov_bucket_type
hjl [Tue, 10 Dec 2013 17:48:42 +0000 (17:48 +0000)]
Put back typedef for gcov_working_set_t/gcov_bucket_type

* basic-block.h (gcov_working_set_t): Put back typedef.
* gcov-io.h (gcov_bucket_type): Likewise.
(gcov_working_set_info, gcov_working_set_t): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205866 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRemove gcc/ from filenames
hjl [Tue, 10 Dec 2013 17:47:12 +0000 (17:47 +0000)]
Remove gcc/ from filenames

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205865 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc/cgraph.h (cgraph_node_set_iterator, varpool_node_set_iterator):
olegendo [Tue, 10 Dec 2013 16:48:44 +0000 (16:48 +0000)]
* gcc/cgraph.h (cgraph_node_set_iterator, varpool_node_set_iterator):
Remove typedef.
(cgraph_inline_failed_enum, cgraph_inline_failed_t): Remove typedef and
rename to cgraph_inline_failed_t.
* gcc/tree-ssa-alias.h (ao_ref_s, ao_ref): Remove typedef and rename
to ao_ref.
* gcc/reload.h (reg_equivs_s, reg_equivs_t): Remove typedef and rename
to reg_equivs_t.
* gcc/conditions.h (CC_STATUS): Remove typedef.
* gcc/bitmap.h (bitmap_obstack): Remove typedef.
(bitmap_element_def, bitmap_element): Remove typedef and rename to
bitmap_element.
(bitmap_head_def, bitmap_head): Remove typedef and rename to
bitmap_head.
(bitmap_iterator): Remove typedef.
* gcc/target.h (cumulative_args_t, print_switch_type,
secondary_reload_info): Remove typedef.
* gcc/dwarf2out.h (dw_cfi_oprnd_struct, dw_cfi_oprnd): Remove
dw_cfi_oprnd_struct alias.
(dw_cfi_struct, dw_cfi_node): Remove typedef and rename to dw_cfi_node.
(dw_fde_struct, dw_fde_node): Remove typedef and rename to dw_fde_node.
(cfa_loc, dw_cfa_location): Remove typedef and rename to
dw_cfa_location.
(dw_vec_struct, dw_vec_const): Remove typedef and rename to
dw_vec_const.
(dw_val_struct, dw_val_node): Remove typedef and rename to dw_val_node.
(dw_loc_descr_struct, dw_loc_descr_node): Remove typedef and rename to
dw_loc_descr_node.
* gcc/params.h (param_info, compiler_param): Remove typedef.
* gcc/opts.h (cl_deferred_param): Remove typedef.
* gcc/sreal.h (sreal): Remove typedef.
* gcc/ddg.h (dep_type, dep_data_type): Remove typedef.
* gcc/graphite-clast-to-gimple.h (cloog_prog_clast, bb_pbb_def): Remove
typedef.
* gcc/lto-streamer.h (lto_decl_stream_e_t, lto_encoder_entry,
lto_symtab_encoder_iterator, res_pair): Remove typedef.
* gcc/tree-affine.h (affine_tree_combination, aff_tree): Remove typedef
and rename to aff_tree.
* gcc/sched-int.h (region): Remove typedef.
* gcc/diagnostic.h (diagnostic_info,
diagnostic_classification_change_t): Remove typedef.
* gcc/tree-ssa-loop.h (affine_iv_d): Remove typedef and rename to
affine_iv.
* gcc/sbitmap.h (sbitmap_iterator): Remove typedef.
* gcc/ssa-iterators.h (immediate_use_iterator_d, imm_use_iterator):
Remove typedef and rename to imm_use_iterator.
(ssa_operand_iterator_d, ssa_op_iter): Remove typedef and rename to
ssa_op_iter.
* gcc/ggc-internal.h (ggc_statistics): Remove typedef.
* gcc/cselib.h (cselib_val_struct, cselib_val): Remove typedef and
rename to cselib_val.
* gcc/tree-core.h (alias_pair): Remove typedef.
(constructor_elt_d, constructor_elt): Remove typedef and rename to
constructor_elt.
(ssa_use_operand_d, ssa_use_operand_t): Remove typedef and rename to
ssa_use_operand_t.
* gcc/graphite-sese-to-poly.h (base_alias_pair): Remove typedef.
* gcc/tree-data-ref.h (conflict_function): Remove typedef.
* gcc/tree-inline.h (copy_body_data): Remove typedef.
* gcc/ipa-inline.h (condition, size_time_entry, inline_param_summary_t,
edge_growth_cache_entry): Remove typedef.
* gcc/regrename.h (operand_rr_info, insn_rr_info): Remove typedef.
* gcc/gimple-iterator.h (gimple_stmt_iterator_d, gimple_stmt_iterator):
Remove typedef and rename to gimple_stmt_iterator.
* gcc/basic-block.h (ce_if_block, ce_if_block_t): Remove typedef and
rename to ce_if_block.
(edge_iterator): Remove typedef.
* gcc/ipa-prop.h (ipa_agg_jf_item, ipa_agg_jf_item_t): Remove typedef
and rename to ipa_agg_jf_item.
(ipa_agg_jump_function_t, ipa_param_descriptor_t, ipa_node_params_t,
ipa_parm_adjustment_t): Remove typedef.
(ipa_jump_func, ipa_jump_func_t): Remove typedef and rename to
ipa_jump_func.
(ipa_edge_args, ipa_edge_args_t): Remove typedef and rename to
ipa_edge_args.
* gcc/gcov-io.h (gcov_bucket_type): Remove typedef.
(gcov_working_set_info, gcov_working_set_t): Remove typedef and rename
to gcov_working_set_t.
* gcc/ira-int.h (minmax_set_iterator, ira_allocno_iterator,
ira_object_iterator, ira_allocno_object_iterator, ira_pref_iterator,
ira_copy_iterator, ira_object_conflict_iterator): Remove typedef.
* gcc/tree-iterator.h (tree_stmt_iterator): Remove typedef.
* gcc/rtl.h (addr_diff_vec_flags, mem_attrs, reg_attrs,
replace_label_data): Remove typedef.
(rtunion_def, rtunion): Remove typedef and rename to rtunion.
* gcc/hard-reg-set.h (hard_reg_set_iterator): Remove typedef.
* gcc/sel-sched-ir.h (_list_iterator, sel_global_bb_info_def,
sel_region_bb_info_def, succ_iterator): Remove typedef.
(deps_where_def, deps_where_t): Remove typedef and rename to
deps_where_t.
* gcc/coretypes.h: Adapt forward declarations.
* gcc/tree-scalar-evolution.h: Likewise.
* gcc/tree-ssa-address.h: Likewise.
* gcc/tree-ssa-operands.h: Likewise.
* gcc/function.h: Likewise.
* gcc/config/frv/frv-protos.h: Likewise.
* gcc/targhooks.h: Likewise.
* gcc/basic_block.h: Likewise.
* gcc/rtl.def: Adapt documentation.
* gcc/doc/tm.texi: Likewise.
* gcc/ipa-cp.c: Adapt uses.
* gcc/bitmap.c: Likewise.
* gcc/dwarf2out.c: Likewise.
* gcc/target.def: Likewise.
* gcc/ipa-inline-analysis.c: Likewise.
* gcc/dwarf2cfi.c: Likewise.
* gcc/tree-ssa-loop-ivopts.c: Likewise.
* gcc/lto-cgraph.c: Likewise.
* gcc/config/frv/frv.c: Likewise.
* gcc/ifcvt.c: Likewise.
* gcc/ipa-prop.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205863 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-10 Janus Weil <janus@gcc.gnu.org>
janus [Tue, 10 Dec 2013 16:44:04 +0000 (16:44 +0000)]
2013-12-10  Janus Weil  <janus@gcc.gnu.org>

* gfortran.texi: Modify documentation of kind type parameters.
* invoke.texi: Extend documentation of -fdefault-integer-8 and
-fdefault-real-8.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205862 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/56807
ktietz [Tue, 10 Dec 2013 16:36:53 +0000 (16:36 +0000)]
PR target/56807
    * config/i386/i386.c (ix86_expand_prologue): Address saved
    registers stack-relative, not via frame-pointer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205860 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-10 Yury Gribov <y.gribov@samsung.com>
ygribov [Tue, 10 Dec 2013 15:51:55 +0000 (15:51 +0000)]
2013-12-10  Yury Gribov  <y.gribov@samsung.com>

* gcc-dg/tsan/tsan.exp: Added missing call to torture-finish.
* g++-dg/tsan/tsan.exp: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205858 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-10 Richard Biener <rguenther@suse.de>
rguenth [Tue, 10 Dec 2013 12:31:39 +0000 (12:31 +0000)]
2013-12-10  Richard Biener  <rguenther@suse.de>

PR middle-end/38474
* tree-ssa-structalias.c (solution_set_expand): Expand into
a different possibly cached bitmap and return the result.
(set_union_with_increment): Pass in a shared expanded bitmap
and adjust.
(do_sd_constraint): Likewise.
(do_ds_constraint): Likewise.
(do_complex_constraint): Likewise.
(solve_graph): Manage the shared expanded bitmap.

* gcc.dg/ipa/ipa-pta-14.c: Un-XFAIL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205857 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * tree-vectorizer.h (struct _loop_vec_info): Add scalar_loop field.
jakub [Tue, 10 Dec 2013 11:46:01 +0000 (11:46 +0000)]
* tree-vectorizer.h (struct _loop_vec_info): Add scalar_loop field.
(LOOP_VINFO_SCALAR_LOOP): Define.
(slpeel_tree_duplicate_loop_to_edge_cfg): Add scalar_loop argument.
* config/i386/sse.md (maskload<mode>, maskstore<mode>): New expanders.
* tree-data-ref.c (get_references_in_stmt): Handle MASK_LOAD and
MASK_STORE.
* internal-fn.def (LOOP_VECTORIZED, MASK_LOAD, MASK_STORE): New
internal fns.
* tree-if-conv.c: Include expr.h, optabs.h, tree-ssa-loop-ivopts.h and
tree-ssa-address.h.
(release_bb_predicate): New function.
(free_bb_predicate): Use it.
(reset_bb_predicate): Likewise.  Don't unallocate bb->aux
just to immediately allocate it again.
(add_to_predicate_list): Add loop argument.  If basic blocks that
dominate loop->latch don't insert any predicate.
(add_to_dst_predicate_list): Adjust caller.
(if_convertible_phi_p): Add any_mask_load_store argument, if true,
handle it like flag_tree_loop_if_convert_stores.
(insert_gimplified_predicates): Likewise.
(ifcvt_can_use_mask_load_store): New function.
(if_convertible_gimple_assign_stmt_p): Add any_mask_load_store
argument, check if some conditional loads or stores can't be
converted into MASK_LOAD or MASK_STORE.
(if_convertible_stmt_p): Add any_mask_load_store argument,
pass it down to if_convertible_gimple_assign_stmt_p.
(predicate_bbs): Don't return bool, only check if the last stmt
of a basic block is GIMPLE_COND and handle that.  Adjust
add_to_predicate_list caller.
(if_convertible_loop_p_1): Only call predicate_bbs if
flag_tree_loop_if_convert_stores and free_bb_predicate in that case
afterwards, check gimple_code of stmts here.  Replace is_predicated
check with dominance check.  Add any_mask_load_store argument,
pass it down to if_convertible_stmt_p and if_convertible_phi_p,
call if_convertible_phi_p only after all if_convertible_stmt_p
calls.
(if_convertible_loop_p): Add any_mask_load_store argument,
pass it down to if_convertible_loop_p_1.
(predicate_mem_writes): Emit MASK_LOAD and/or MASK_STORE calls.
(combine_blocks): Add any_mask_load_store argument, pass
it down to insert_gimplified_predicates and call predicate_mem_writes
if it is set.  Call predicate_bbs.
(version_loop_for_if_conversion): New function.
(tree_if_conversion): Adjust if_convertible_loop_p and combine_blocks
calls.  Return todo flags instead of bool, call
version_loop_for_if_conversion if if-conversion should be just
for the vectorized loops and nothing else.
(main_tree_if_conversion): Adjust caller.  Don't call
tree_if_conversion for dont_vectorize loops if if-conversion
isn't explicitly enabled.
* tree-vect-data-refs.c (vect_check_gather): Handle
MASK_LOAD/MASK_STORE.
(vect_analyze_data_refs, vect_supportable_dr_alignment): Likewise.
* gimple.h (gimple_expr_type): Handle MASK_STORE.
* internal-fn.c (expand_LOOP_VECTORIZED, expand_MASK_LOAD,
expand_MASK_STORE): New functions.
* tree-vectorizer.c: Include tree-cfg.h and gimple-fold.h.
(vect_loop_vectorized_call, fold_loop_vectorized_call): New functions.
(vectorize_loops): Don't try to vectorize loops with
loop->dont_vectorize set.  Set LOOP_VINFO_SCALAR_LOOP for if-converted
loops, fold LOOP_VECTORIZED internal call depending on if loop
has been vectorized or not.
* tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
New function.
(slpeel_tree_duplicate_loop_to_edge_cfg): Add scalar_loop argument.
If non-NULL, copy basic blocks from scalar_loop instead of loop, but
still to loop's entry or exit edge.
(slpeel_tree_peel_loop_to_edge): Add scalar_loop argument, pass it
down to slpeel_tree_duplicate_loop_to_edge_cfg.
(vect_do_peeling_for_loop_bound, vect_do_peeling_for_loop_alignment):
Adjust callers.
(vect_loop_versioning): If LOOP_VINFO_SCALAR_LOOP, perform loop
versioning from that loop instead of LOOP_VINFO_LOOP, move it to the
right place in the CFG afterwards.
* tree-vect-loop.c (vect_determine_vectorization_factor): Handle
MASK_STORE.
* cfgloop.h (struct loop): Add dont_vectorize field.
* tree-loop-distribution.c (copy_loop_before): Adjust
slpeel_tree_duplicate_loop_to_edge_cfg caller.
* optabs.def (maskload_optab, maskstore_optab): New optabs.
* passes.def: Add a note that pass_vectorize must immediately follow
pass_if_conversion.
* tree-predcom.c (split_data_refs_to_components): Give up if
DR_STMT is a call.
* tree-vect-stmts.c (vect_mark_relevant): Don't crash if lhs
is NULL.
(exist_non_indexing_operands_for_use_p): Handle MASK_LOAD
and MASK_STORE.
(vectorizable_mask_load_store): New function.
(vectorizable_call): Call it for MASK_LOAD or MASK_STORE.
(vect_transform_stmt): Handle MASK_STORE.
* tree-ssa-phiopt.c (cond_if_else_store_replacement): Ignore
DR_STMT where lhs is NULL.
* optabs.h (can_vec_perm_p): Fix up comment typo.
(can_vec_mask_load_store_p): New prototype.
* optabs.c (can_vec_mask_load_store_p): New function.

* gcc.dg/vect/vect-cond-11.c: New test.
* gcc.target/i386/vect-cond-1.c: New test.
* gcc.target/i386/avx2-gather-5.c: New test.
* gcc.target/i386/avx2-gather-6.c: New test.
* gcc.dg/vect/vect-mask-loadstore-1.c: New test.
* gcc.dg/vect/vect-mask-load-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205856 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * expr.c (expand_expr_real_1) <normal_inner_ref>: Always return 0 for
ebotcazou [Tue, 10 Dec 2013 11:07:28 +0000 (11:07 +0000)]
* expr.c (expand_expr_real_1) <normal_inner_ref>: Always return 0 for
the extraction of a bit-field of null size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205855 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR sanitizer/59437
mpolacek [Tue, 10 Dec 2013 10:49:39 +0000 (10:49 +0000)]
PR sanitizer/59437
* vtable-verify.c (var_is_used_for_virtual_call_p): Check the
return value of gimple_call_fn.  Use is_gimple_call/is_gimple_assign
instead of gimple_code.
testsuite/
* g++.dg/ubsan/pr59437.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205854 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-10 Max Ostapenko <m.ostapenko@partner.samsung.com>
ygribov [Tue, 10 Dec 2013 10:36:40 +0000 (10:36 +0000)]
2013-12-10  Max Ostapenko  <m.ostapenko@partner.samsung.com>

* c-c++-common/tsan/thread_leak2.c: `dg-skip-if' removed.
* gcc-dg/tsan/tsan.exp: Run only with '-O0' and '-O2' options.
* g++-dg/tsan/tsan.exp: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205853 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc.dg/vect/pr58508.c: XFAIL for vect_no_align.
ebotcazou [Tue, 10 Dec 2013 10:11:50 +0000 (10:11 +0000)]
* gcc.dg/vect/pr58508.c: XFAIL for vect_no_align.
* gcc.dg/vect/vect-reduc-pattern-3.c: Require vect_int_mult.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205852 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-10 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 10 Dec 2013 09:48:50 +0000 (09:48 +0000)]
2013-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/20_util/is_base_of/value.cc: Add test.

* include/std/fstream: Tiny formatting tweak.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205851 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoFix mips64-linux and s390x-linux builds.
mkuvyrkov [Tue, 10 Dec 2013 08:24:10 +0000 (08:24 +0000)]
Fix mips64-linux and s390x-linux builds.

* config.gcc (mips*-mti-linux*, mips64*-*-linux*):
Add android definitions.
(s390x-*-linux*): Use linux-protos.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205849 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR tree-optimization/41488
amker [Tue, 10 Dec 2013 06:31:41 +0000 (06:31 +0000)]
PR tree-optimization/41488
* tree-ssa-loop-ivopts.c (add_old_iv_candidates): Don't add cand
for PEELED_CHREC kind IV.
* tree-scalar-evolution.c: Include necessary header files.
(peeled_chrec_map, simplify_peeled_chrec): New.
(analyze_evolution_in_loop): New static variable.
Call simplify_peeled_chrec.
(scev_initialize): Initialize peeled_chrec_map.
(scev_reset, scev_finalize): Reset and release peeled_chrec_map.

PR tree-optimization/41488
* gcc.dg/tree-ssa/scev-7.c: New test.
* gcc.dg/pr41488.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205848 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR preprocessor/55715
jsm28 [Tue, 10 Dec 2013 01:23:37 +0000 (01:23 +0000)]
PR preprocessor/55715
libcpp:
* expr.c (num_binary_op): Implement subtraction directly rather
than with negation and falling through into addition case.

gcc/testsuite:
* gcc.dg/cpp/expr-overflow-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205846 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * src/powerpc/ffitarget.h: Import from upstream.
amodra [Tue, 10 Dec 2013 00:42:14 +0000 (00:42 +0000)]
* src/powerpc/ffitarget.h: Import from upstream.
* src/powerpc/ffi_powerpc.h: Likewise.
* src/powerpc/ffi.c: Likewise.
* src/powerpc/ffi_sysv.c: Likewise.
* src/powerpc/ffi_linux64.c: Likewise.
* src/powerpc/sysv.S: Likewise.
* src/powerpc/ppc_closure.S: Likewise.
* src/powerpc/linux64.S: Likewise.
* src/powerpc/linux64_closure.S: Likewise.
* src/types.c: Likewise.
* Makefile.am (EXTRA_DIST): Add new src/powerpc files.
(nodist_libffi_la_SOURCES <POWERPC, POWERPC_FREEBSD>): Likewise.
* configure.ac (HAVE_LONG_DOUBLE_VARIANT): Define for powerpc.
* include/ffi.h.in (ffi_prep_types): Declare.
* src/prep_cif.c (ffi_prep_cif_core): Call ffi_prep_types.
* configure: Regenerate.
* fficonfig.h.in: Regenerate.
* Makefile.in: Regenerate.
* man/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205844 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-09 Andrew Pinski <apinski@cavium.com>
pinskia [Tue, 10 Dec 2013 00:19:03 +0000 (00:19 +0000)]
2013-12-09  Andrew Pinski  <apinski@cavium.com>

* config/aarch64/t-aarch64 (MULTILIB_OPTIONS): Fix definition so
that options are conflicting ones.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205843 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Tue, 10 Dec 2013 00:16:46 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205842 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-10 Janus Weil <janus@gcc.gnu.org>
janus [Mon, 9 Dec 2013 23:41:23 +0000 (23:41 +0000)]
2013-12-10  Janus Weil  <janus@gcc.gnu.org>

* invoke.texi: Add -freal-4-real-16. Rearrange kind promotion options.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205839 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-10 Tobias Burnus <burnus@net-b.de>
burnus [Mon, 9 Dec 2013 23:17:06 +0000 (23:17 +0000)]
2013-12-10  Tobias Burnus  <burnus@net-b.de>

        PR fortran/59428
        PR fortran/58099
        PR fortran/58676
        PR fortran/41724
        * gfortran.dg/proc_ptr_result_4.f90: Fix proc-ptr interface.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205838 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-09 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 9 Dec 2013 23:02:18 +0000 (23:02 +0000)]
2013-12-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/59427
* include/bits/fstream.tcc (basic_filebuf<>::overflow,
basic_filebuf<>::xsputn): Per lwg/596, ios_base::app implies
ios_base:out.
* include/std/fstream (basic_filebuf<>::_M_set_buffer): Likewise.
* testsuite/27_io/basic_filebuf/sputc/char/59427.cc: New.
* testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205837 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago/cp
paolo [Mon, 9 Dec 2013 22:59:33 +0000 (22:59 +0000)]
/cp
2013-12-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59435
* parser.c (cp_parser_cache_defarg): sizeof ... ( p ) can
occur in a default argument too.

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

PR c++/59435
* g++.dg/cpp0x/variadic-sizeof3.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205836 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * optabs.c (gen_int_libfunc): Do not compare modes directly.
ebotcazou [Mon, 9 Dec 2013 22:29:58 +0000 (22:29 +0000)]
* optabs.c (gen_int_libfunc): Do not compare modes directly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205835 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoEliminate FOR_ALL_BB macro.
dmalcolm [Mon, 9 Dec 2013 21:29:15 +0000 (21:29 +0000)]
Eliminate FOR_ALL_BB macro.

gcc/
* basic-block.h (FOR_ALL_BB): Eliminate macro.

* cfg.c (alloc_aux_for_blocks, clear_aux_for_blocks): Replace
uses of FOR_ALL_BB with FOR_ALL_BB_FN, making uses of cfun explicit.

* cfganal.c (inverted_post_order_compute): Likewise.
* cfgcleanup.c (try_optimize_cfg): Likewise.
* cfgexpand.c (add_scope_conflicts): Likewise.
* cfghooks.c (dump_flow_info, account_profile_record): Likewise.
* cfgrtl.c (relink_block_chain): Likewise.
* dce.c (mark_artificial_uses): Likewise.
* df-core.c (df_set_blocks, df_compute_cfg_image, df_dump): Likewise.
* df-problems.c (df_lr_verify_solution_start,
df_lr_verify_solution_end, df_lr_verify_transfer_functions,
df_live_verify_solution_start, df_live_verify_solution_end,
df_live_set_all_dirty, df_live_verify_transfer_functions,
df_md_local_comput): Likewise.
* df-scan.c (df_scan_free_internal, df_scan_alloc)
df_reorganize_refs_by_insn, df_scan_verify): Likewise.
* dominance.c (compute_dom_fast_query, calculate_dominance_info,
free_dominance_info): Likewise.
* dse.c (dse_step1, dse_step3, dse_step4, dse_step6): Likewise.
* graph.c (draw_cfg_edges): Likewise.
* graphite-scop-detection.c (print_graphite_scop_statistics,
dot_all_scops_1): Likewise.
* graphite.c (print_global_statistics,
print_graphite_scop_statistics): Likewise.
* ira.c (do_reload): Likewise.
* loop-init.c (loop_optimizer_finalize): Likewise.
* lto-streamer-in.c (input_function): Likewise.
* lto-streamer-out.c (output_function): Likewise.
* mcf.c (adjust_cfg_counts): Likewise.
* predict.c (estimate_loops): Likewise.
* sched-rgn.c (haifa_find_rgns): Likewise.
* tree-cfg.c (split_critical_edges): Likewise.
  * tree-dfa.c (renumber_gimple_stmt_uids): Likewise.
* tree-loop-distribution.c (tree_loop_distribution): Likewise.
* tree-ssa-pre.c (compute_antic, insert, init_pre): Likewise.
* tree-ssa-propagate.c (ssa_prop_init): Likewise.
* var-tracking.c (vt_initialize, vt_finalize): Likewise.
* vtable-verify.c (vtable_verify_main): Likewise.
* web.c (web_main): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205830 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoEliminate FOR_EACH_BB_REVERSE macro.
dmalcolm [Mon, 9 Dec 2013 21:16:25 +0000 (21:16 +0000)]
Eliminate FOR_EACH_BB_REVERSE macro.

gcc/
* basic-block.h (FOR_EACH_BB_REVERSE): Eliminate macro.

* cfghooks.c (verify_flow_info): Replace uses of FOR_EACH_BB_REVERSE
with FOR_EACH_BB_REVERSE_FN, making uses of cfun explicit.
* cfgrtl.c (print_rtl_with_bb, rtl_verify_edges,
rtl_verify_bb_insns, rtl_verify_bb_pointers,
rtl_verify_bb_insn_chain, rtl_verify_fallthru): Likewise.
* config/ia64/ia64.c (emit_predicate_relation_info): Likewise.
* config/sh/sh.c (sh_md_init_global): Likewise.
* config/sh/sh_optimize_sett_clrt.cc
(sh_optimize_sett_clrt::execute): Likewise.
* dce.c (reset_unmarked_insns_debug_uses, delete_unmarked_insns):
Likewise.
* dominance.c (calc_dfs_tree): Likewise.
* final.c (final): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
* gcse.c (compute_code_hoist_vbeinout): Likewise.
* ira.c (update_equiv_regs, build_insn_chain): Likewise.
* lcm.c (compute_antinout_edge): Likewise.
* mode-switching.c (optimize_mode_switching): Likewise.
* postreload.c (reload_combine): Likewise.
* recog.c (split_all_insns, peephole2_optimize): Likewise.
* tree-ssa-live.c (live_worklist): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205829 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoEliminate FOR_EACH_BB macro.
dmalcolm [Mon, 9 Dec 2013 21:06:06 +0000 (21:06 +0000)]
Eliminate FOR_EACH_BB macro.

gcc/
* basic-block.h (FOR_EACH_BB): Eliminate macro.

* asan.c (transform_statements, execute_sanopt): Eliminate
use of FOR_EACH_BB in favor of FOR_EACH_BB_FN, to make use of cfun
explicit.
* auto-inc-dec.c (rest_of_handle_auto_inc_dec): Likewise.
* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges,
set_edge_can_fallthru_flag, fix_up_fall_thru_edges,
fix_crossing_unconditional_branches, add_reg_crossing_jump_notes,
insert_section_boundary_note, rest_of_handle_reorder_blocks,
duplicate_computed_gotos): Likewise.
* cfg.c (clear_edges, compact_blocks, brief_dump_cfg): Likewise.
* cfganal.c (find_unreachable_blocks, add_noreturn_fake_exit_edges,
compute_dominance_frontiers_1, single_pred_before_succ_order): Likewise.
* cfgbuild.c (find_many_sub_basic_blocks): Likewise.
* cfgcleanup.c (try_optimize_cfg, delete_dead_jumptables): Likewise.
* cfgexpand.c (add_scope_conflicts, discover_nonconstant_array_refs):
Likewise.
* cfgloop.c (flow_loops_cfg_dump, get_loop_body, record_loop_exits,
verify_loop_structure): Likewise.
* cfgloopanal.c (mark_loop_exit_edges): Likewise.
* cfgrtl.c (compute_bb_for_insn, find_partition_fixes,
verify_hot_cold_block_grouping, purge_all_dead_edges,
fixup_abnormal_edges, record_effective_endpoints,
outof_cfg_layout_mode, fixup_reorder_chain, force_one_exit_fallthru,
break_superblocks): Likewise.
* cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges,
cgraph_rebuild_references): Likewise.
* combine-stack-adj.c (combine_stack_adjustments): Likewise.
* combine.c (delete_noop_moves, create_log_links,
combine_instructions): Likewise.
* config/arm/arm.c (thumb1_reorg, thumb2_reorg): Likewise.
* config/bfin/bfin.c (bfin_gen_bundles, reorder_var_tracking_notes):
Likewise.
* config/c6x/c6x.c (c6x_gen_bundles, conditionalize_after_sched,
c6x_reorg): Likewise.
* config/epiphany/resolve-sw-modes.c (resolve_sw_modes): Likewise.
* config/frv/frv.c (frv_optimize_membar): Likewise.
* config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.
* config/ia64/ia64.c (ia64_reorg): Likewise.
* config/mips/mips.c (mips_annotate_pic_calls): Likewise.
* config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
* config/rs6000/rs6000.c (rs6000_alloc_sdmode_stack_slot): Likewise.
* config/s390/s390.c (s390_regs_ever_clobbered): Likewise.
* config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Likewise.
* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
* config/tilegx/tilegx.c (tilegx_gen_bundles,
reorder_var_tracking_notes): Likewise.
* config/tilepro/tilepro.c (tilepro_gen_bundles,
reorder_var_tracking_notes): Likewise.
* coverage.c (coverage_compute_cfg_checksum): Likewise.
* cprop.c (compute_hash_table_work, compute_cprop_data,
local_cprop_pass, find_implicit_sets): Likewise.
* cse.c (cse_condition_code_reg): Likewise.
* dce.c (prescan_insns_for_dce): Likewise.
* df-core.c (df_compact_blocks): Likewise.
* df-problems.c (df_word_lr_alloc): Likewise.
* df-scan.c (df_scan_start_dump, df_scan_blocks, df_insn_rescan_all,
df_update_entry_exit_and_calls): Likewise.
* dominance.c (calculate_dominance_info, verify_dominators,
debug_dominance_info): Likewise.
* dse.c (dse_step5_nospill): Likewise.
* except.c (finish_eh_generation): Likewise.
* final.c (compute_alignments): Likewise.
* function.c (thread_prologue_and_epilogue_insns,
rest_of_match_asm_constraints): Likewise.
* gcse.c (compute_hash_table_work, prune_expressions,
compute_pre_data, compute_code_hoist_vbeinout, hoist_code,
calculate_bb_reg_pressure, compute_ld_motion_mems): Likewise.
* gimple-iterator.c (gsi_commit_edge_inserts): Likewise.
* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour,
find_explicit_erroneous_behaviour): Likewise.
* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa,
rewrite_cross_bb_scalar_deps_out_of_ssa): Likewise.
* haifa-sched.c (haifa_sched_init): Likewise.
* hw-doloop.c (discover_loops, set_bb_indices, reorder_loops):
Likewise.
* ifcvt.c (if_convert): Likewise.
* init-regs.c (initialize_uninitialized_regs): Likewise.
* ipa-prop.c (ipcp_transform_function): Likewise.
* ipa-pure-const.c (analyze_function): Likewise.
* ipa-split.c (find_split_points, execute_split_functions): Likewise.
* ira-build.c (form_loop_tree): Likewise.
* ira-costs.c (find_costs_and_classes): Likewise.
* ira-emit.c (emit_moves, add_ranges_and_copies, ira_emit): Likewise.
* ira.c (decrease_live_ranges_number, compute_regs_asm_clobbered,
mark_elimination, update_equiv_regs, find_moveable_pseudos,
split_live_ranges_for_shrink_wrap, allocate_initial_values): Likewise.
* jump.c (mark_all_labels): Likewise.
* lcm.c (compute_laterin, compute_insert_delete, compute_available,
compute_nearerout, compute_rev_insert_delete): Likewise.
* loop-init.c (fix_loop_structure): Likewise.
* loop-invariant.c (calculate_loop_reg_pressure): Likewise.
* lower-subreg.c (decompose_multiword_subregs,
decompose_multiword_subregs): Likewise.
* lra-assigns.c (assign_by_spills): Likewise.
* lra-coalesce.c (lra_coalesce): Likewise.
* lra-constraints.c (lra_inheritance, remove_inheritance_pseudos):
Likewise.
* lra-eliminations.c (lra_init_elimination): Likewise.
* lra-spills.c (assign_spill_hard_regs, spill_pseudos,
lra_final_code_change): Likewise.
* lra.c (remove_scratches, check_rtl, has_nonexceptional_receiver,
update_inc_notes): Likewise.
* mcf.c (adjust_cfg_counts): Likewise.
* mode-switching.c (optimize_mode_switching): Likewise.
* modulo-sched.c (rest_of_handle_sms): Likewise.
* omp-low.c (optimize_omp_library_calls, expand_omp_taskreg,
expand_omp_target): Likewise.
* postreload-gcse.c (alloc_mem, compute_hash_table): Likewise.
* postreload.c (reload_cse_regs_1): Likewise.
* predict.c (strip_predict_hints, tree_bb_level_predictions,
tree_estimate_probability, expensive_function_p,
estimate_bb_frequencies, compute_function_frequency): Likewise.
* profile.c (is_inconsistent, compute_branch_probabilities,
branch_prob): Likewise.
* ree.c (find_removable_extensions): Likewise.
* reg-stack.c (compensate_edges, convert_regs, reg_to_stack): Likewise.
* regcprop.c (copyprop_hardreg_forward): Likewise.
* reginfo.c (init_subregs_of_mode): Likewise.
* regrename.c (regrename_analyze): Likewise.
* regstat.c (regstat_compute_ri, regstat_compute_calls_crossed):
Likewise.
* reload1.c (has_nonexceptional_receiver, reload,
calculate_elim_costs_all_insns): Likewise.
* resource.c (init_resource_info, free_resource_info): Likewise.
* sched-ebb.c (schedule_ebbs): Likewise.
* sched-rgn.c (is_cfg_nonregular, find_single_block_region,
haifa_find_rgns, sched_rgn_local_init): Likewise.
* sel-sched-dump.c (sel_dump_cfg_2): Likewise.
* sel-sched-ir.c (init_lv_sets, free_lv_sets,
make_regions_from_the_rest): Likewise.
* sese.c (build_sese_loop_nests, sese_build_liveouts): Likewise.
* stack-ptr-mod.c (notice_stack_pointer_modification): Likewise.
* store-motion.c (compute_store_table, build_store_vectors,
one_store_motion_pass): Likewise.
* tracer.c (tail_duplicate): Likewise.
* trans-mem.c (compute_transaction_bits): Likewise.
* tree-call-cdce.c (tree_call_cdce): Likewise.
* tree-cfg.c (replace_loop_annotate, factor_computed_gotos,
fold_cond_expr_cond, make_edges, assign_discriminators,
make_abnormal_goto_edges, cleanup_dead_labels, group_case_labels,
dump_cfg_stats, gimple_verify_flow_info, print_loop,
execute_fixup_cfg): Likewise.
* tree-cfgcleanup.c (cleanup_tree_cfg_1, merge_phi_nodes): Likewise.
* tree-complex.c (init_dont_simulate_again, tree_lower_complex):
Likewise.
* tree-dfa.c (collect_dfa_stats, dump_enumerated_decls): Likewise.
* tree-eh.c (execute_lower_resx, execute_lower_eh_dispatch,
mark_reachable_handlers): Likewise.
* tree-emutls.c (lower_emutls_function_body): Likewise.
* tree-if-conv.c (main_tree_if_conversion): Likewise.
* tree-inline.c (optimize_inline_calls): Likewise.
* tree-into-ssa.c (rewrite_into_ssa, update_ssa): Likewise.
* tree-nrv.c (tree_nrv, execute_return_slot_opt): Likewise.
* tree-object-size.c (compute_object_sizes): Likewise.
* tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees,
insert_backedge_copies, tree_profiling): Likewise.
* tree-scalar-evolution.c (scev_const_prop): Likewise.
* tree-sra.c (scan_function, sra_modify_function_body,
propagate_dereference_distances, ipa_sra_modify_function_body,
convert_callers): Likewise.
* tree-ssa-ccp.c (ccp_initialize, execute_fold_all_builtins): Likewise.
* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
create_outofssa_var_map, coalesce_partitions): Likewise.
* tree-ssa-copy.c (init_copy_prop): Likewise.
* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
* tree-ssa-dce.c (find_obviously_necessary_stmts,
eliminate_unnecessary_stmts): Likewise.
* tree-ssa-dom.c (free_all_edge_infos, tree_ssa_dominator_optimize):
Likewise.
* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
* tree-ssa-live.c (clear_unused_block_pointer, remove_unused_locals,
new_tree_live_info, calculate_live_on_exit, dump_live_info,
analyze_memory_references, fill_always_executed_in,
tree_ssa_lim_finalize): Likewise.
* tree-ssa-loop-manip.c (find_uses_to_rename, verify_loop_closed_ssa):
Likewise.
* tree-ssa-math-opts.c (execute_cse_reciprocals, execute_cse_sincos,
execute_optimize_bswap, execute_optimize_widening_mul): Likewise.
* tree-ssa-propagate.c (substitute_and_fold): Likewise.
* tree-ssa-structalias.c (compute_points_to_sets): Likewise.
* tree-ssa-tail-merge.c (find_same_succ, reset_cluster_vectors):
Likewise.
* tree-ssa-ter.c (find_replaceable_exprs): Likewise.
* tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
* tree-ssa-uncprop.c (associate_equivalences_with_edges,
tree_ssa_uncprop): Likewise.
* tree-ssa-uninit.c (warn_uninitialized_vars,
execute_late_warn_uninitialized): Likewise.
* tree-ssa.c (verify_ssa, execute_update_addresses_taken): Likewise.
* tree-stdarg.c (check_all_va_list_escapes, execute_optimize_stdarg):
Likewise.
* tree-switch-conversion.c (do_switchconv): Likewise.
* tree-vect-generic.c (expand_vector_operations): Likewise.
* tree-vectorizer.c (adjust_simduid_builtins, note_simd_array_uses,
execute_vect_slp): Likewise.
* tree-vrp.c (check_all_array_refs, remove_range_assertions,
vrp_initialize, identify_jump_threads, instrument_memory_accesses):
Likewise.
* ubsan.c (ubsan_pass): Likewise.
* value-prof.c (verify_histograms, gimple_value_profile_transformations,
gimple_find_values_to_profile): Likewise.
* var-tracking.c (vt_find_locations, dump_dataflow_sets, vt_emit_notes,
vt_initialize, delete_debug_insns, vt_finalize): Likewise.

gcc/testsuite/
* g++.dg/plugin/selfassign.c (execute_warn_self_assign): Eliminate
use of FOR_EACH_BB in favor of FOR_EACH_BB_FN, to make use of cfun
explicit.
* gcc.dg/plugin/selfassign.c (execute_warn_self_assign): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205828 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoEliminate last_basic_block macro.
dmalcolm [Mon, 9 Dec 2013 20:44:49 +0000 (20:44 +0000)]
Eliminate last_basic_block macro.

* basic-block.h (last_basic_block): Eliminate macro.

* asan.c (transform_statements): Eliminate use of last_basic_block
in favor of last_basic_block_for_fn, in order to make use of cfun
explicit.
* bb-reorder.c (copy_bb, reorder_basic_blocks): Likewise.
* bt-load.c (compute_defs_uses_and_gen, compute_kill, compute_out,
link_btr_uses, build_btr_def_use_webs, migrate_btr_defs): Likewise.
* cfg.c (compact_blocks): Likewise.
* cfganal.c (mark_dfs_back_edges,
control_dependences::control_dependences, post_order_compute,
pre_and_rev_post_order_compute_fn, dfs_enumerate_from, compute_idf,
single_pred_before_succ_order): Likewise.
* cfgbuild.c (make_edges): Likewise.
* cfgexpand.c (add_scope_conflicts, gimple_expand_cfg): Likewise.
* cfghooks.c (verify_flow_info): Likewise.
* cfgloop.c (verify_loop_structure): Likewise.
* cfgloopanal.c (just_once_each_iteration_p,
mark_irreducible_loops): Likewise.
* cfgloopmanip.c (fix_bb_placements, remove_path,
update_dominators_in_loop): Likewise.
* cfgrtl.c (create_basic_block_structure, rtl_create_basic_block,
break_superblocks, rtl_flow_call_edges_add): Likewise.
* config/epiphany/resolve-sw-modes.c (resolve_sw_modes): Likewise.
* config/frv/frv.c (frv_optimize_membar): Likewise.
* config/mips/mips.c (r10k_insert_cache_barriers): Likewise.
* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
* cprop.c (compute_local_properties, find_implicit_sets,
bypass_conditional_jumps, one_cprop_pass): Likewise.
* cse.c (cse_main): Likewise.
* df-core.c (rest_of_handle_df_initialize, df_worklist_dataflow,
df_analyze, df_grow_bb_info, df_compact_blocks): Likewise.
* df-problems.c (df_lr_verify_solution_start,
df_live_verify_solution_start, df_md_local_compute): Likewise.
* dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
calc_idoms): Likewise.
* domwalk.c (dom_walker::walk): Likewise.
* dse.c (dse_step0, dse_step3): Likewise.
* function.c (epilogue_done): Likewise.
* gcse.c (alloc_gcse_mem, compute_local_properties,
prune_insertions_deletions, compute_pre_data,
pre_expr_reaches_here_p, one_pre_gcse_pass,
compute_code_hoist_vbeinout, should_hoist_expr_to_dom, hoist_code,
one_code_hoisting_pass): Likewise.
* graph.c (draw_cfg_nodes_no_loops): Likewise.
* graphite-sese-to-poly.c (build_scop_bbs): Likewise.
* haifa-sched.c (unlink_bb_notes): Likewise.
* ipa-split.c (execute_split_functions): Likewise.
* ira-build.c (create_loop_tree_nodes,
remove_unnecessary_regions): Likewise.
* ira-emit.c (ira_emit): Likewise.
* ira.c (find_moveable_pseudos, ira): Likewise.
* lcm.c (compute_antinout_edge, compute_laterin,
compute_insert_delete, pre_edge_lcm, compute_available,
compute_nearerout, compute_rev_insert_delete,
pre_edge_rev_lcm): Likewise.
* loop-unroll.c (opt_info_start_duplication,
apply_opt_in_copies): Likewise.
* lower-subreg.c (decompose_multiword_subregs): Likewise.
* lra-lives.c (lra_create_live_ranges): Likewise.
* lra.c (lra): Likewise.
* mode-switching.c (optimize_mode_switching): Likewise.
* recog.c (split_all_insns): Likewise.
* regcprop.c (copyprop_hardreg_forward): Likewise.
* regrename.c (regrename_analyze): Likewise.
* reload1.c (reload): Likewise.
* resource.c (init_resource_info): Likewise.
* sched-rgn.c (haifa_find_rgns, extend_rgns, compute_trg_info,
realloc_bb_state_array, schedule_region, extend_regions): Likewise.
* sel-sched-ir.c (sel_extend_global_bb_info, extend_region_bb_info,
recompute_rev_top_order, sel_init_pipelining,
make_regions_from_the_rest): Likewise.
* store-motion.c (remove_reachable_equiv_notes,build_store_vectors)
Likewise.
* tracer.c (tail_duplicate): Likewise.
* trans-mem.c (tm_region_init, get_bb_regions_instrumented): Likewise.
* tree-cfg.c (create_bb, cleanup_dead_labels, gimple_dump_cfg,
gimple_flow_call_edges_add): Likewise.
* tree-cfgcleanup.c (split_bbs_on_noreturn_calls,
cleanup_tree_cfg_1): Likewise.
* tree-complex.c (tree_lower_complex): Likewise.
* tree-inline.c (copy_cfg_body): Likewise.
* tree-into-ssa.c (mark_phi_for_rewrite, rewrite_into_ssa,
prepare_def_site_for, update_ssa): Likewise.
* tree-ssa-dce.c (tree_dce_init, perform_tree_ssa_dce): Likewise.
* tree-ssa-dom.c (record_edge_info): Likewise.
* tree-ssa-live.c (new_tree_live_info, live_worklist): Likewise.
* tree-ssa-loop-im.c (fill_always_executed_in_1): Likewise.
* tree-ssa-loop-manip.c (copy_phi_node_args
gimple_duplicate_loop_to_header_edge): Likewise.
* tree-ssa-pre.c (compute_antic): Likewise.
* tree-ssa-propagate.c (ssa_prop_init): Likewise.
* tree-ssa-reassoc.c (init_reassoc): Likewise.
* tree-ssa-sccvn.c (init_scc_vn): Likewise.
* tree-ssa-tail-merge.c (init_worklist): Likewise.
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
* tree-stdarg.c (reachable_at_most_once): Likewise.
* tree-vrp.c (find_assert_locations): Likewise.
* var-tracking.c (vt_find_locations): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205826 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoEliminate profile_status macro.
dmalcolm [Mon, 9 Dec 2013 20:38:21 +0000 (20:38 +0000)]
Eliminate profile_status macro.

gcc/
* basic-block.h (profile_status): Eliminate macro.

* cfgbuild.c (find_many_sub_basic_blocks): Eliminate use of
profile_status macro in favor of profile_status_for_fn, making
use of cfun explicit.
* cfghooks.c (account_profile_record): Likewise.
* cfgloopanal.c (single_likely_exit):
* cfgrtl.c (rtl_verify_edges, rtl_account_profile_record): Likewise.
* graphite.c (graphite_finalize):
* internal-fn.c (ubsan_expand_si_overflow_addsub_check,
ubsan_expand_si_overflow_neg_check,
ubsan_expand_si_overflow_mul_check): Likewise.
* ipa-split.c (consider_split, execute_split_functions):
* loop-unroll.c (decide_peel_simple):
* optabs.c (emit_cmp_and_jump_insn_1):
* predict.c (maybe_hot_edge_p, probably_never_executed,
predictable_edge_p, probability_reliable_p, gimple_predict_edge,
tree_estimate_probability_driver, estimate_bb_frequencies,
compute_function_frequency, rebuild_frequencies): Likewise.
* profile.c (compute_branch_probabilities): Likewise.
* tree-cfg.c (gimple_account_profile_record): Likewise.
* tree-inline.c (optimize_inline_calls): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205825 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoEliminate label_to_block_map macro.
dmalcolm [Mon, 9 Dec 2013 20:28:31 +0000 (20:28 +0000)]
Eliminate label_to_block_map macro.

gcc/
* basic-block.h (label_to_block_map): Eliminate macro.

* gimple.c (gimple_set_bb): Replace uses of label_to_block_map
with uses of label_to_block_map_for_fn, making uses of cfun be
explicit.
* tree-cfg.c (delete_tree_cfg_annotations): Likewise.
(verify_gimple_label): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205824 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoEliminate basic_block_info macro.
dmalcolm [Mon, 9 Dec 2013 20:17:32 +0000 (20:17 +0000)]
Eliminate basic_block_info macro.

gcc/
* basic-block.h (basic_block_info): Eliminate macro.

* cfgrtl.c (rtl_create_basic_block): Replace uses of
basic_block_info with basic_block_info_for_fn, making uses
of cfun be explicit.
* tree-cfg.c (build_gimple_cfg, create_bb): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205823 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoEliminate BASIC_BLOCK macro.
dmalcolm [Mon, 9 Dec 2013 20:09:29 +0000 (20:09 +0000)]
Eliminate BASIC_BLOCK macro.

gcc/
* basic-block.h (BASIC_BLOCK): Eliminate macro.

* alias.c (init_alias_analysis): Eliminate BASIC_BLOCK macro in
favor of uses of BASIC_BLOCK_FOR_FN, making uses of cfun explicit.
* bt-load.c (compute_defs_uses_and_gen, compute_out, link_btr_uses,
block_at_edge_of_live_range_p, migrate_btr_defs): Likewise.
* caller-save.c (insert_one_insn): Likewise.
* cfg.c (debug_bb, get_bb_original, get_bb_copy): Likewise.
* cfgexpand.c (add_scope_conflicts): Likewise.
* cfghooks.c (verify_flow_info): Likewise.
* cfgloop.c (flow_loops_find): Likewise.
* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
* config/mips/mips.c (r10k_insert_cache_barriers): Likewise.
* config/s390/s390.c (s390_optimize_nonescaping_tx): Likewise.
* config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
* cse.c (cse_main): Likewise.
* dce.c (fast_dce): Likewise.
* df-core.c (df_set_blocks, df_worklist_propagate_forward,
df_worklist_propagate_backward, df_worklist_dataflow_doublequeue,
df_bb_replace, df_dump_region): Likewise.
* df-problems.c (df_rd_bb_local_compute, df_lr_bb_local_compute,
df_live_bb_local_compute, df_chain_remove_problem)
df_chain_create_bb, df_word_lr_bb_local_compute, df_note_bb_compute,
df_md_bb_local_compute, df_md_local_compute,
df_md_transfer_function): Likewise.
* df-scan.c (df_scan_blocks, df_reorganize_refs_by_reg_by_insn,
df_reorganize_refs_by_insn, df_bb_refs_collect,
df_record_entry_block_defs, df_update_entry_block_defs,
df_record_exit_block_uses): Likewise.
* dominance.c (nearest_common_dominator_for_set): Likewise.
* gcse.c (hoist_code): Likewise.
* graph.c (draw_cfg_nodes_no_loops): Likewise.
* ipa-inline-analysis.c (param_change_prob,
estimate_function_body_sizes): Likewise.
* ipa-split.c (dominated_by_forbidden): Likewise.
* loop-unroll.c (apply_opt_in_copies): Likewise.
* lower-subreg.c (decompose_multiword_subregs): Likewise.
* lra-lives.c (lra_create_live_ranges): Likewise.
* predict.c (propagate_freq): Likewise.
* regrename.c (regrename_analyze): Likewise.
* regstat.c (regstat_bb_compute_ri,
regstat_bb_compute_calls_crossed): Likewise.
* resource.c (mark_target_live_regs): Likewise.
* sched-ebb.c (ebb_fix_recovery_cfg): Likewise.
* sched-int.h (EBB_FIRST_BB, EBB_LAST_BB): Likewise.
* sched-rgn.c (debug_region, dump_region_dot, too_large,
haifa_find_rgns, extend_rgns, compute_dom_prob_ps, update_live,
propagate_deps, sched_is_disabled_for_current_region_p): Likewise.
* sched-vis.c (debug_bb_n_slim): Likewise.
* sel-sched-ir.c (sel_finish_global_and_expr, verify_backedges,
purge_empty_blocks, sel_remove_loop_preheader): Likewise.
* sel-sched.c (remove_insns_that_need_bookkeeping)
(current_region_empty_p, sel_region_init,
simplify_changed_insns): Likewise.
* trans-mem.c (execute_tm_mark, execute_tm_edges,
tm_memopt_compute_antic, ipa_tm_scan_irr_function): Likewise.
* tree-cfg.c (make_edges, end_recording_case_labels,
label_to_block_fn, gimple_debug_bb, gimple_flow_call_edges_add,
remove_edge_and_dominated_blocks, remove_edge_and_dominated_blocks,
gimple_purge_all_dead_eh_edges,
gimple_purge_all_dead_abnormal_call_edges): Likewise.
* tree-cfgcleanup.c (fixup_noreturn_call,
split_bbs_on_noreturn_calls, cleanup_tree_cfg_1): Likewise.
* tree-inline.c (copy_cfg_body, fold_marked_statements): Likewise.
* tree-into-ssa.c (set_livein_block, prune_unused_phi_nodes,
insert_phi_nodes_for, insert_updated_phi_nodes_for): Likewise.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
* tree-ssa-live.c (live_worklist): Likewise.
* tree-ssa-loop-manip.c (compute_live_loop_exits,
add_exit_phis_var, find_uses_to_rename, copy_phi_node_args): Likewise.
* tree-ssa-pre.c (compute_antic): Likewise.
* tree-ssa-reassoc.c (update_range_test, optimize_range_tests): Likewise.
* tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
* tree-ssa-tail-merge.c (same_succ_hash, same_succ_def::equal,
same_succ_flush_bbs, update_worklist, set_cluster,
same_phi_alternatives, find_clusters_1, apply_clusters,
update_debug_stmts): Likewise.
* tree-ssa-threadupdate.c (mark_threaded_blocks,
thread_through_all_blocks): Likewise.
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
* tree-vrp.c (find_assert_locations): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205822 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoEliminate SET_BASIC_BLOCK macro.
dmalcolm [Mon, 9 Dec 2013 20:02:33 +0000 (20:02 +0000)]
Eliminate SET_BASIC_BLOCK macro.

gcc/
* basic-block.h (SET_BASIC_BLOCK): Eliminate macro.

* cfg.c (compact_blocks): Replace uses of SET_BASIC_BLOCK
with SET_BASIC_BLOCK_FOR_FN, making use of cfun explicit.
(expunge_block): Likewise.
* cfgrtl.c (create_basic_block_structure): Likewise.
* df-core.c (df_compact_blocks, df_bb_replace): Likewise.
* sel-sched.c (create_block_for_bookkeeping): Likewise.
* tree-cfg.c (create_bb): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205821 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRename profile_status_for_function to profile_status_for_fn.
dmalcolm [Mon, 9 Dec 2013 19:53:08 +0000 (19:53 +0000)]
Rename profile_status_for_function to profile_status_for_fn.

gcc/
* basic-block.h (profile_status_for_function): Rename to...
(profile_status_for_fn): ...this.

* cfg.c (check_bb_profile): Update for renaming.
* cgraphbuild.c (compute_call_stmt_bb_frequency): Likewise.
* lto-streamer-in.c (input_cfg): Likewise.
* lto-streamer-out.c (output_cfg):  Likewise.
* predict.c (maybe_hot_frequency_p, maybe_hot_count_p,
maybe_hot_bb_p, probably_never_executed)
(handle_missing_profiles): Likewise.
* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
* tree-inline.c (copy_bb, initialize_cfun): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205820 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRename label_to_block_map_for_function to label_to_block_map_for_fn.
dmalcolm [Mon, 9 Dec 2013 19:45:47 +0000 (19:45 +0000)]
Rename label_to_block_map_for_function to label_to_block_map_for_fn.

gcc/
* basic-block.h (label_to_block_map_for_function): Rename to...
(label_to_block_map_for_fn): ...this.

* lto-streamer-in.c (input_cfg): Update for renaming.
* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205818 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRename last_basic_block_for_function to last_basic_block_for_fn.
dmalcolm [Mon, 9 Dec 2013 19:35:13 +0000 (19:35 +0000)]
Rename last_basic_block_for_function to last_basic_block_for_fn.

gcc/
* basic-block.h (last_basic_block_for_function): Rename to...
(last_basic_block_for_fn): ...this.

* ipa-utils.c (ipa_merge_profiles): Update for renaming of
last_basic_block_for_function to last_basic_block_for_fn.
* lto-streamer-in.c (input_cfg): Likewise.
* lto-streamer-out.c (output_cfg): Likewise.
* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
* tree-sra.c (propagate_dereference_distances, ipa_early_sra):
Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205817 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRename macros (basic_block_info_for_function, BASIC_BLOCK_FOR_FUNCTION,
dmalcolm [Mon, 9 Dec 2013 19:28:00 +0000 (19:28 +0000)]
Rename macros (basic_block_info_for_function, BASIC_BLOCK_FOR_FUNCTION,
SET_BASIC_BLOCK_FOR_FUNCTION)

gcc/
* basic-block.h (basic_block_info_for_function): Rename to...
(basic_block_info_for_fn): ...this.
(BASIC_BLOCK_FOR_FUNCTION): Rename to...
(BASIC_BLOCK_FOR_FN): ...this.
(SET_BASIC_BLOCK_FOR_FUNCTION): Rename to...
(SET_BASIC_BLOCK_FOR_FN): ...this.

* gimple-streamer-in.c (input_phi, input_bb): Update for renaming
of BASIC_BLOCK_FOR_FUNCTION to BASIC_BLOCK_FOR_FN.
* ipa-utils.c (ipa_merge_profiles): Likewise.
* lto-streamer-in.c (make_new_block): Update for renaming of
SET_BASIC_BLOCK_FOR_FUNCTION to SET_BASIC_BLOCK_FOR_FN.
(input_cfg): Update for renamings.
* tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
(dump_function_to_file): Update for renaming of
basic_block_info_for_function to basic_block_info_for_fn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205816 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * libatomic/ChangeLog: Fix ChangeLog entry.
uros [Mon, 9 Dec 2013 17:41:40 +0000 (17:41 +0000)]
* libatomic/ChangeLog: Fix ChangeLog entry.
* libgcc/ChangeLog: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205812 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibgcc/ChangeLog:
uros [Mon, 9 Dec 2013 17:37:43 +0000 (17:37 +0000)]
libgcc/ChangeLog:

2013-12-09  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
instructions when __TARGET_SSE__ is defined.

libatomic/ChangeLog:

2013-12-09  Uros Bizjak  <ubizjak@gmail.com>

* config/x86/fenv.c (__atomic_feraiseexcept): Emit SSE
instructions when __TARGET_SSE__ is defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205811 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agolibstdc++-v3/
yufeng [Mon, 9 Dec 2013 17:23:50 +0000 (17:23 +0000)]
libstdc++-v3/

* testsuite/20_util/hash/chi2_quality.cc: Change -DSAMPLES=30000.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205810 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago* Makefile.am (toolexeclib_LTLIBRARIES) [USE_LIBGCJ_BC]: Use
schwab [Mon, 9 Dec 2013 15:19:30 +0000 (15:19 +0000)]
* Makefile.am (toolexeclib_LTLIBRARIES) [USE_LIBGCJ_BC]: Use
install/libgcj_bc.la instead of libgcj_bc.la.
(noinst_LTLIBRARIES) [USE_LIBGCJ_BC]: Define.
(install_libgcj_bc_la_SOURCES): Define.
(install/libgcj_bc.la): New rule.
* Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205809 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-09 Richard Biener <rguenther@suse.de>
rguenth [Mon, 9 Dec 2013 15:13:07 +0000 (15:13 +0000)]
2013-12-09  Richard Biener  <rguenther@suse.de>

PR middle-end/38474
* tree-ssa-structalias.c (set_union_with_increment): Remove
unreachable code.
(do_complex_constraint): Call set_union_with_increment with
the solution delta, not the full solution.
(make_transitive_closure_constraints): Merge the two
constraints.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205808 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR rtl-optimization/54300
rearnsha [Mon, 9 Dec 2013 14:54:00 +0000 (14:54 +0000)]
PR rtl-optimization/54300

gcc/

PR rtl-optimization/54300
* regcprop.c (copyprop_hardreg_forward_1): Ensure any unused
outputs in a single-set are killed from the value chains.

gcc/testsuite:

PR rtl-optimization/54300
* gcc.target/arm/pr54300.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205807 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-09 Martin Jambor <mjambor@suse.cz>
jamborm [Mon, 9 Dec 2013 14:51:52 +0000 (14:51 +0000)]
2013-12-09  Martin Jambor  <mjambor@suse.cz>

* gcc.c-torture/compile/pr39834.c: Remove optimization level option.
* gcc.c-torture/compile/pr48929.c: Likewise.
* gcc.c-torture/compile/pr55569.c: Likewise.
* gcc.c-torture/compile/sra-1.c: Likewise.
* gcc.c-torture/compile/pr45085.c: Moved to...
* gcc.dg/tree-ssa/pr45085.c: ...here, added compile dg-do.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205806 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR sanitizer/59415
mpolacek [Mon, 9 Dec 2013 14:44:03 +0000 (14:44 +0000)]
PR sanitizer/59415
* vtable-verify.c (verify_bb_vtables): Check the return value
of gimple_call_fn.  Use is_gimple_call instead of gimple_code.
testsuite/
* g++.dg/ubsan/pr59415.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205805 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
ktkachov [Mon, 9 Dec 2013 14:38:50 +0000 (14:38 +0000)]
2013-12-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* config/arm/arm.md (generic_sched): Add cortexa12.
(generic_vfp): Likewise.
* config/arm/arm.c (cortexa12_extra_costs): New cost table.
(arm_cortex_a12_tune): New tuning struct.
* config/arm/arm-cores.def: Add cortex-a12.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Likewise.
* config/arm/bpabi.h: Add cortex-a12.
* doc/invoke.texi: Document -mcpu=cortex-a12.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205804 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * doc/install.texi (Prerequisites): Explicitly mention C library
fxcoudert [Mon, 9 Dec 2013 11:16:16 +0000 (11:16 +0000)]
* doc/install.texi (Prerequisites): Explicitly mention C library
and its headers for multilib builds.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205802 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-09 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 9 Dec 2013 09:50:51 +0000 (09:50 +0000)]
2013-12-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52707
* g++.dg/cpp0x/deleted2.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205801 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
ktkachov [Mon, 9 Dec 2013 09:12:46 +0000 (09:12 +0000)]
2013-12-09  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

* gcc.dg/tree-ssa/loop-31.c: Update scan pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205800 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agogcc/testsuite/
rsandifo [Mon, 9 Dec 2013 08:04:57 +0000 (08:04 +0000)]
gcc/testsuite/
* lib/asan-dg.exp (asan-gtest): Remove expected output from the
pass/fail line and add it to the log instead.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205799 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Mon, 9 Dec 2013 00:17:05 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205798 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * testsuite/30_threads/async/async.cc: Fix race condition in test.
redi [Sun, 8 Dec 2013 22:18:19 +0000 (22:18 +0000)]
* testsuite/30_threads/async/async.cc: Fix race condition in test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205795 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago PR target/52898
olegendo [Sun, 8 Dec 2013 22:15:59 +0000 (22:15 +0000)]
PR target/52898
PR target/51697
* common/config/sh/sh-common.c (sh_option_optimization_table): Remove
OPT_mcbranchdi entry.
* config/sh/sh.opt (mcbranchdi, mcmpeqdi): Mark as undocumented and
emit a warning.
* config/sh/sh.c (sh_option_override): Initialize TARGET_CBRANCHDI4
and TARGET_CMPEQDI_T variables.
* doc/invoke.texi (SH options): Undocument -mcbranchdi and -mcmpeqdi.

PR target/52898
PR target/51697
* gcc.target/sh/pr51697.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205794 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agofenv.h on Ubuntu
korbb [Sun, 8 Dec 2013 21:55:46 +0000 (21:55 +0000)]
fenv.h on Ubuntu

plus fix the ordering of the patches:

* inclhack.def: many of the headers found under "bits/" are
  often stashed under architecture directories.  Apply fixes
  to those, too.  Also, re-ordered misordered fixes.
* tests/base/linux/vt.h: 80 columns in .def file limitation
* tests/base/iso/math_c99.h: adjust ordering
* tests/base/rtldef/string.h: likewise
* tests/base/bits/fenv.h: likewise
* tests/base/pthread.h: likewise

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205793 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * gcc.dg/macro-fusion-1.c: Cleanup sched2 rtl dump.
uros [Sun, 8 Dec 2013 21:45:08 +0000 (21:45 +0000)]
* gcc.dg/macro-fusion-1.c: Cleanup sched2 rtl dump.
* gcc.dg/macro-fusion-2.c: Ditto.
* gcc.dg/vect/vect-simd-clone-10a.c: Cleanup vect tree dump.
* gcc.dg/vect/vect-simd-clone-12a.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205792 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-08 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 8 Dec 2013 21:34:18 +0000 (21:34 +0000)]
2013-12-08  Tobias Burnus  <burnus@net-b.de>
            Janus Weil  <janus@gcc.gnu.org>

        PR fortran/58099
        PR fortran/58676
        PR fortran/41724
        * resolve.c (gfc_resolve_intrinsic): Set elemental/pure.
        (resolve_fl_procedure): Reject pure dummy procedures/procedure
        pointers.
        (gfc_explicit_interface_required): Don't require a
        match of ELEMENTAL for intrinsics.

2013-12-08  Tobias Burnus  <burnus@net-b.de>

        PR fortran/58099
        PR fortran/58676
        PR fortran/41724
        * gfortran.dg/elemental_subroutine_8.f90: New.
        * gfortran.dg/proc_decl_9.f90: Add ELEMENTAL to make valid.
        * gfortran.dg/proc_ptr_11.f90: Ditto.
        * gfortran.dg/proc_ptr_result_8.f90: Ditto.
        * gfortran.dg/proc_ptr_32.f90: Update dg-error.
        * gfortran.dg/proc_ptr_33.f90: Ditto.
        * gfortran.dg/proc_ptr_result_1.f90: Add abstract interface
        which is not elemental.
        * gfortran.dg/proc_ptr_result_7.f90: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205791 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-08 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 8 Dec 2013 09:44:48 +0000 (09:44 +0000)]
2013-12-08  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/20_util/add_const/requirements/explicit_instantiation.cc:
New.
* testsuite/20_util/add_const/value.cc: Likewise.
* testsuite/20_util/add_cv/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/add_cv/value.cc: Likewise.
* testsuite/20_util/add_pointer/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/add_pointer/value.cc: Likewise.
* testsuite/20_util/add_volatile/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/add_volatile/value.cc: Likewise.
* testsuite/20_util/alignment_of/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/alignment_of/requirements/typedefs.cc: Likewise.
* testsuite/20_util/alignment_of/value.cc: Likewise.
* testsuite/20_util/extent/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/extent/requirements/typedefs.cc: Likewise.
* testsuite/20_util/extent/value.cc: Likewise.
* testsuite/20_util/has_virtual_destructor/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/has_virtual_destructor/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/has_virtual_destructor/value.cc: Likewise.
* testsuite/20_util/is_abstract/requirements/explicit_instantiation.cc:
  Likewise.
* testsuite/20_util/is_abstract/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_abstract/value.cc: Likewise.
* testsuite/20_util/is_arithmetic/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_arithmetic/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_arithmetic/value.cc: Likewise.
* testsuite/20_util/is_array/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_array/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_array/value.cc: Likewise.
* testsuite/20_util/is_base_of/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_base_of/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_base_of/value.cc: Likewise.
* testsuite/20_util/is_class/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_class/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_class/value.cc: Likewise.
* testsuite/20_util/is_const/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_const/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_const/value.cc: Likewise.
* testsuite/20_util/is_empty/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_empty/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_empty/value.cc: Likewise.
* testsuite/20_util/is_enum/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_enum/requirements/typedefs.cc
* testsuite/20_util/is_enum/value.cc: Likewise.
* testsuite/20_util/is_pointer/requirements/explicit_instantiation.cc
* testsuite/20_util/is_pointer/value.cc: Likewise.
* testsuite/20_util/is_polymorphic/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_polymorphic/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_polymorphic/value.cc: Likewise.
* testsuite/20_util/is_same/requirements/explicit_instantiation.cc
* testsuite/20_util/is_same/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_same/value.cc: Likewise.
* testsuite/20_util/is_union/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_union/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_union/value.cc: Likewise.
* testsuite/20_util/is_void/requirements/explicit_instantiation.cc
* testsuite/20_util/is_void/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_void/value.cc: Likewise.
* testsuite/20_util/is_volatile/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_volatile/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_volatile/value.cc: Likewise.
* testsuite/20_util/rank/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/rank/requirements/typedefs.cc: Likewise.
* testsuite/20_util/rank/value.cc: Likewise.
* testsuite/20_util/remove_all_extents/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/remove_all_extents/value.cc: Likewise.
* testsuite/20_util/remove_const/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/remove_const/value.cc: Likewise.
* testsuite/20_util/remove_cv/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/remove_cv/value.cc: Likewise.
* testsuite/20_util/remove_extent/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/remove_extent/value.cc: Likewise.
* testsuite/20_util/remove_pointer/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/remove_pointer/value.cc: Likewise.
* testsuite/20_util/remove_volatile/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/remove_volatile/value.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205789 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoDaily bump.
gccadmin [Sun, 8 Dec 2013 00:16:42 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205788 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago2013-12-07 Janus Weil <janus@gcc.gnu.org>
janus [Sat, 7 Dec 2013 19:27:19 +0000 (19:27 +0000)]
2013-12-07  Janus Weil  <janus@gcc.gnu.org>

PR fortran/59414
* resolve.c (resolve_specific_f0): Handle CLASS-valued functions.

2013-12-07  Janus Weil  <janus@gcc.gnu.org>

PR fortran/59414
* gfortran.dg/class_result_2.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205785 138bc75d-0d04-0410-961f-82ee72b054a4

10 years ago * config/linux.h: Fix typo in a comment.
mkuvyrkov [Sat, 7 Dec 2013 08:58:37 +0000 (08:58 +0000)]
* config/linux.h: Fix typo in a comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205782 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoCleanup libc selection and Android support.
mkuvyrkov [Sat, 7 Dec 2013 08:47:33 +0000 (08:47 +0000)]
Cleanup libc selection and Android support.

* config.gcc (*linux*): Split libc selection from Android support.
Add libc selection to all *linux* targets.  Add Android support to
architectures that support it.
(arm*-*-linux-*, i[34567]86-*-linux*, x86_64-*-linux*,)
(mips*-*-linux*): Add Android support.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205781 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoCleanup definitions of libc-related target hooks.
mkuvyrkov [Sat, 7 Dec 2013 08:47:21 +0000 (08:47 +0000)]
Cleanup definitions of libc-related target hooks.

* config/bfin/uclinux.h, config/c6x/uclinux-elf.h,
* config/lm32/uclinux-elf.h, config/m68k/uclinux.h,
* config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Move definitions
to linux.h.
* config/linux-android.h (TARGET_HAS_IFUNC_P): Move definition
to linux.h.
* config/linux.h (TARGET_LIBC_HAS_FUNCTION, TARGET_HAS_IFUNC_P):
Define appropriately for Linux and uClinux targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205780 138bc75d-0d04-0410-961f-82ee72b054a4

10 years agoRobustify check for IFUNC support.
mkuvyrkov [Sat, 7 Dec 2013 08:47:09 +0000 (08:47 +0000)]
Robustify check for IFUNC support.

* config/linux.c (linux_has_ifunc_p): Use correct test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205779 138bc75d-0d04-0410-961f-82ee72b054a4