platform/upstream/linaro-gcc.git
10 years ago2013-11-12 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Tue, 12 Nov 2013 20:55:58 +0000 (20:55 +0000)]
2013-11-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/59054
* config/rs6000/rs6000.md (movdi_internal32): Eliminate
constraints that would allow DImode into the traditional Altivec
registers, but cause undesirable code generation when loading 0 as
a constant.
(movdi_internal64): Likewise.
(cmp<mode>_fpr): Do not use %x for CR register output.
(extendsfdf2_fpr): Fix constraints when -mallow-upper-df and
-mallow-upper-sf debug switches are used.

[gcc/testsuite]
2013-11-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

PR target/59054
* gcc.target/powerpc/pr59054.c: New test.

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

10 years ago2013-11-12 Andrew MacLeod <amacleod@redhat.com>
amacleod [Tue, 12 Nov 2013 20:26:43 +0000 (20:26 +0000)]
2013-11-12  Andrew MacLeod  <amacleod@redhat.com>

* gimple-expr.h (create_tmp_var_name, create_tmp_var_raw,
create_tmp_var, create_tmp_reg, mark_addressable, is_gimple_reg_rhs):
Relocate prototypes from gimple.h.
* gimplify.h: New File.  Relocate some prototypes from gimple.h here.
(gimple_predicate, enum fallback, enum gimplify_status): Relocate
from gimple.h.
* gimple.h: Move some prototypes to gimplify.h.
(gimple_predicate, enum fallback, enum gimplify_status): Move to
gimplify.h.
(gimple_do_not_emit_location_p, gimple_set_do_not_emit_location):
Relocate from gimpify.c.
* gimple-expr.c (remove_suffix, tmp_var_id_num, create_tmp_var_name,
create_tmp_var_raw, create_tmp_var, create_tmp_reg, mark_addressable,
is_gimple_reg_rhs) Relocate from gimplify.c.
* gimplify.c (mark_addressable): Move to gimple-expr.c.
(gimple_seq_add_stmt_without_update): Move to gimple.c.
(remove_suffix, tmp_var_id_num, create_tmp_var_name, create_tmp_var_raw,
create_tmp_var, create_tmp_reg, is_gimple_reg_rhs): Move to
gimple-expr.c.
(should_carry_location_p): Move to gimple.c.
(gimple_do_not_emit_location_p, gimple_set_do_not_emit_location): Move
to gimple.h.
(annotate_one_with_location, annotate_all_with_location_after,
annotate_all_with_location): Move to gimple.c.
(compare_case_labels, sort_case_labels,
preprocess_case_label_vec_for_gimple): Move to gimple.c.
(rhs_predicate_for): Make static.
(gimplify_assign): Relocate from gimple.c.
* gimple.c (gimplify_assign): Move to gimplify.c.
(gimple_seq_add_stmt_without_update, should_carry_location_p,
annotate_one_with_location, annotate_all_with_location_after,
annotate_all_with_location, compare_case_labels, sort_case_labels,
preprocess_case_label_vec_for_gimple): Relocate from gimplify.c.
* tree.h (unshare_expr, unshare_expr_without_location,
mark_addressable): Move prototypes to gimplify.h.
* Makefile.in (GTFILES): gimple-expr.c now has the GTY tag for
tmp_var_id_num
* asan.c: Include gimplify.h rather than gimple.h.
* cfgloopmanip.c: Likewise.
* cgraphunit.c: Likewise.
* cilk-common.c: Likewise.
* dwarf2out.c: Dont include gimple.h.
* fold-const.c: Include gimplify.h rather than gimple.h.
* function.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-split.c: Likewise.
* ipa.c: Likewise.
* langhooks.c: Dont include gimple.h.
* loop-init.c: Include gimplify.h rather than gimple.h.
* omp-low.c: Likewise.
* sese.c: Likewise.
* stor-layout.c: Likewise.
* targhooks.c: Likewise.
* trans-mem.c: Likewise.
* tree-affine.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-complex.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-iterator.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-nested.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa.c: Likewise.
* tree-switch-conversio: Likewise.n.c
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tsan.c: Likewise.
* value-prof.c: Likewise.
* config/aarch64/aarch64.c: Include gimplify.h instead of gimple.h.
* config/alpha/alpha.c: Likewise.
* config/darwin.c: Likewise.
* config/i386/i386.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/mep/mep.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
* config/xtensa/xtensa.c: Likewise.

* ada/gcc-interface/trans.c: Include gimplify.h.

* c/c-typeck.c: Include gimplify.h.

* c-family/c-common.c: Include gimplify.h.
* c-family/c-gimplify.c: Likewise.
* c-family/cilk.c: Likewise.
* c-family/c-omp.c: Include gimple-expr.h instead of gimple.h.
* c-family/c-ubsan.c: Don't include gimple.h.

* cp/class.c: Include gimplify.h.
* cp/cp-gimplify.c: Likewise.
* cp/error.c: Likewise.
* cp/init.c: Likewise.
* cp/optimize.c: Likewise.
* cp/pt.c: Likewise.
* cp/semantics.c: Likewise.
* cp/tree.c: Likewise.
* cp/vtable-class-hierarchy.c: Likewise.
* cp/decl2.c: Don't include gimple.h.
* cp/except.c: Likewise.
* cp/method.c: Include pointer-set.h instead of gimple.h.

* fortran/f95-lang.c: Don't include gimple.h.
* fortran/trans-array.c: Include gimple-expr.h instead of gimple.h.
* fortran/trans.c: Likewise.
* fortran/trans-decl.c: Likewise.
* fortran/trans-expr.c: Include gimplify.h.
* fortran/trans-openmp.c: Likewise.

* go/go-lang.c: Include gimplify.h.

* java/java-gimplify.c: Include gimplify.h.

* objc/objc-act.c: Include gimplify.h.

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

10 years agoAdd some generic lambda test cases.
abutcher [Tue, 12 Nov 2013 20:17:54 +0000 (20:17 +0000)]
Add some generic lambda test cases.

gcc/testsuite/g++.dg/cpp1y/
* lambda-generic.C: New test case.
* lambda-generic-cfun.C: New test case.
* lambda-generic-dep.C: New test case.
* lambda-generic-udt.C: New test case.
* lambda-generic-variadic.C: New test case.
* lambda-generic-x.C: New test case.
* lambda-generic-xcfun.C: New test case.
* lambda-generic-xudt.C: New test case.
* lambda-generic-mixed.C: New test case.

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

10 years agoSupport implicit parameter packs.
abutcher [Tue, 12 Nov 2013 20:17:44 +0000 (20:17 +0000)]
Support implicit parameter packs.

* pt.c (convert_generic_types_to_packs): New function to transform
a range of implicitly introduced non-pack template parms to be parameter
packs.
* cp-tree.h (convert_generic_types_to_packs): Declare.
* parser.c (cp_parser_parameter_declaration_list): If a function
parameter pack contains generic types, convert them to packs prior to
grokdeclarator.

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

10 years agoRefactor implicit function template implementation and fix 58534, 58536, 58548, 58549...
abutcher [Tue, 12 Nov 2013 20:17:33 +0000 (20:17 +0000)]
Refactor implicit function template implementation and fix 58534, 58536, 58548, 58549 and 58637.

gcc/
* tree.c (grow_tree_vec_stat): New function ...
* tree.h (grow_tree_vec_stat) (grow_tree_vec): ... and its declaration
and macro front-end.

gcc/cp/
PR c++/58534
PR c++/58536
PR c++/58548
PR c++/58549
PR c++/58637
* parser.h (struct cp_parser): New members implicit_template_parms,
implicit_template_scope and auto_is_implicit_function_template_parm_p.
* parser.c (add_implicit_template_parms): Refactor as ...
(synthesize_implicit_template_parm): ... this to append a new template
type parm to the current template parameter list (introducing a new list
if necessary).  Removed push_deferring_access_checks.
(finish_fully_implicit_template): Removed pop_deferring_access_checks.
(cp_parser_new): Initialize new cp_parser members.
(cp_parser_parameter_declaration_clause): Consider auto as implicit
template parm when parsing a parameter declaration (unless parsing an
explicit specialization).
(cp_parser_parameter_declaration_list): Remove local
implicit_template_parms counter and reset cp_parser implicit template
state when complete.
(cp_parser_lambda_expression): Reset implicit template cp_parser members
whilst generating lambda class.
(cp_parser_function_definition_after_declarator): Reset implicit
template cp_parser members whilst parsing function definition.
(make_generic_type_name): Respell '<autoN>' as 'auto:N' which works
better with template diagnostics.
(cp_parser_simple_type_specifier): Synthesize implicit template parm on
parsing 'auto' if auto_is_implicit_function_template_parm_p and provide
diagnostics ...
* decl.c (grokdeclarator): ... that were previously done here.

gcc/testsuite/g++.dg/
* cpp1y/pr58534.C: New testcase.
* cpp1y/pr58536.C: New testcase.
* cpp1y/pr58548.C: New testcase.
* cpp1y/pr58549.C: New testcase.
* cpp1y/pr58637.C: New testcase.

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

10 years ago * cp-demangle.c (d_copy_templates): Cast result of malloc
uros [Tue, 12 Nov 2013 20:02:21 +0000 (20:02 +0000)]
* cp-demangle.c (d_copy_templates): Cast result of malloc
to (struct d_print_template *).
(d_print_comp): Cast result of realloc to (struct d_saved scope *).

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

10 years ago2013-11-12 Marek Polacek <polacek@redhat.com>
mpolacek [Tue, 12 Nov 2013 17:56:48 +0000 (17:56 +0000)]
2013-11-12  Marek Polacek  <polacek@redhat.com>

* final.c (update_alignments): Initialize label to NULL_RTX.

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

10 years agoc-family:
jsm28 [Tue, 12 Nov 2013 17:38:47 +0000 (17:38 +0000)]
c-family:
* c-common.c (c_common_reswords): Add _Thread_local.

c:
* c-tree.h (struct c_declspecs): Add thread_gnu_p field.
* c-parser.c (c_parser_declspecs): Mention _Thread_local in
comment.
* c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
or _Thread_local as appropriate in diagnostics.
(build_null_declspecs): Initialize ret->thread_gnu_p.
(declspecs_add_scspec): Handle either __thread or _Thread_local
for RID_THREAD.  Diagnose _Thread_local for pre-C11 standards if
pedantic.  Do not disallow _Thread_local extern and _Thread_local
static.

testsuite:
* gcc.dg/c90-thread-local-1.c, gcc.dg/c99-thread-local-1.c,
gcc.dg/c11-thread-local-1.c, gcc.dg/c11-thread-local-2.c: New
tests.
* gcc.dg/tls/diag-2.c, objc.dg/tls/diag-2.m: Update expected
diagnostics.

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

10 years ago * gnat.dg/aggr21.adb: New test.
ebotcazou [Tue, 12 Nov 2013 17:34:16 +0000 (17:34 +0000)]
* gnat.dg/aggr21.adb: New test.
* gnat.dg/aggr21_pkg.ad[sb]: New helper.

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

10 years ago * gimple-ssa-isolate-paths.c (check_loadstore): New function.
law [Tue, 12 Nov 2013 16:41:51 +0000 (16:41 +0000)]
* gimple-ssa-isolate-paths.c (check_loadstore): New function.
(insert_trap_and_remove_trailing_statements): New argument OP which
is the NULL pointer.  Emit the trap after the load/store through
the NULL pointer.  Simplify the RHS of a store through a NULL pointer
when trivial to do so.
(isolate_path): Corresponding changes.
(gimple_ssa_isolate_erroneous_path): Likewise.

* gcc.dg/tree-ssa/isolate-1.c: Update expected output.
* gcc.dg/tree-ssa/isolate-5.c: New test.

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

10 years ago2013-11-12 Teresa Johnson <tejohnson@google.com>
tejohnson [Tue, 12 Nov 2013 15:03:28 +0000 (15:03 +0000)]
2013-11-12  Teresa Johnson  <tejohnson@google.com>
    Jan Hubicka  <jh@suse.cz>

* predict.c (drop_profile): New function.
(handle_missing_profiles): Ditto.
(counts_to_freqs): Don't overwrite estimated frequencies
when function has no profile counts.
* predict.h (handle_missing_profiles): Declare.
* tree-inline.c (freqs_to_counts): New function.
(copy_cfg_body): Invoke freqs_to_counts as needed.
* tree-profile.c (tree_profiling): Invoke handle_missing_profiles.

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

10 years agoTurn on SEE unaligned load and store for Haswell
hjl [Tue, 12 Nov 2013 13:52:08 +0000 (13:52 +0000)]
Turn on SEE unaligned load and store for Haswell

PR target/59088
* config/i386/x86-tune.def (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL):
Set for m_HASWELL.
(X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Set for m_HASWELL.

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

10 years agoProperly handle AVX256 unaligned load and store
hjl [Tue, 12 Nov 2013 13:26:51 +0000 (13:26 +0000)]
Properly handle AVX256 unaligned load and store

PR target/59084
* config/i386/i386.c (ix86_option_override_internal): Check
X86_TUNE_AVX256_UNALIGNED_LOAD_OPTIMAL and
X86_TUNE_AVX256_UNALIGNED_STORE_OPTIMAL for
MASK_AVX256_SPLIT_UNALIGNED_LOAD and
MASK_AVX256_SPLIT_UNALIGNED_STORE.

* config/i386/x86-tune.def (X86_TUNE_AVX256_UNALIGNED_LOAD_OPTIMAL):
Clear m_COREI7_AVX and update comments.
(X86_TUNE_AVX256_UNALIGNED_STORE_OPTIMAL): Likewise.

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

10 years ago2013-11-12 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 12 Nov 2013 12:53:53 +0000 (12:53 +0000)]
2013-11-12  Martin Jambor  <mjambor@suse.cz>

PR rtl-optimization/10474
* ira.c (interesting_dest_for_shprep): New function.
(split_live_ranges_for_shrink_wrap): Likewise.
(find_moveable_pseudos): Move calculation of dominance info,
df_analysios and the final anlyses to...
(ira): ...here, call split_live_ranges_for_shrink_wrap.

testsuite/
* gcc.dg/pr10474.c: New testcase.
* gcc.dg/ira-shrinkwrap-prep-1.c: Likewise.
* gcc.dg/ira-shrinkwrap-prep-2.c: Likewise.

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

10 years ago/cp
paolo [Tue, 12 Nov 2013 09:21:45 +0000 (09:21 +0000)]
/cp
2013-11-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57734
* pt.c (lookup_template_class_1): Handle alias template declarations
of enumeration types.

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

PR c++/57734
* g++.dg/cpp0x/alias-decl-enum-1.C: New.

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

10 years ago * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Refactor the code.
amker [Tue, 12 Nov 2013 06:42:05 +0000 (06:42 +0000)]
* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Refactor the code.
Handle type conversion.

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

10 years agoDaily bump.
gccadmin [Tue, 12 Nov 2013 00:17:00 +0000 (00:17 +0000)]
Daily bump.

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

10 years agoTime profiler introduced.
marxin [Mon, 11 Nov 2013 23:21:02 +0000 (23:21 +0000)]
Time profiler introduced.

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

10 years agonet: Fix TCP keepalive handling for Solaris.
ian [Mon, 11 Nov 2013 21:25:42 +0000 (21:25 +0000)]
net: Fix TCP keepalive handling for Solaris.

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

10 years agomksysinfo, net: Always define F_DUPFD_CLOEXEC.
ian [Mon, 11 Nov 2013 21:21:50 +0000 (21:21 +0000)]
mksysinfo, net: Always define F_DUPFD_CLOEXEC.

For Solaris and CentOS portability.

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

10 years ago2013-11-11 Marc Glisse <marc.glisse@inria.fr>
glisse [Mon, 11 Nov 2013 20:56:19 +0000 (20:56 +0000)]
2013-11-11  Marc Glisse  <marc.glisse@inria.fr>
    Jeff Law  <law@redhat.com>

gcc/
* tree-ssa-alias.c (stmt_kills_ref_p_1): Use
ao_ref_init_from_ptr_and_size for builtins.

gcc/testsuite/
* gcc.dg/tree-ssa/alias-27.c: New testcase.

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

10 years ago PR target/58853
uros [Mon, 11 Nov 2013 20:02:19 +0000 (20:02 +0000)]
PR target/58853
* config/i386/x86-tune.def
(X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Rename from
TARGET_MISALIGNED_MOVE_STRING_PROLOGUES.
* config/i386/i386.h
(TARGET_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Rename from
TARGET_MISALIGNED_MOVE_STRING_PROLOGUES_EPILOGUES.  Update for renamed
X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES.
* config/i386/i386.c (ix86_expand_set_or_movmem): Use
TARGET_MISALIGNED_MOVE_STRING_PRO_EPILOGUES to calculate
misaligned_prologue_used.  Check that
desired_aling <= epilogue_size_needed.

testsuite/ChangeLog:

PR target/58853
* gcc.target/i386/pr58853.c: New test.

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

10 years agoos: Do not try to run go command in test.
ian [Mon, 11 Nov 2013 19:41:00 +0000 (19:41 +0000)]
os: Do not try to run go command in test.

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

10 years ago2013-11-11 Cong Hou <congh@google.com>
congh [Mon, 11 Nov 2013 19:03:39 +0000 (19:03 +0000)]
2013-11-11  Cong Hou  <congh@google.com>

    PR tree-optimization/59050
    * tree-vect-data-refs.c (comp_dr_addr_with_seg_len_pair): Bug fix.

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

10 years ago PR middle-end/59049
amylaar [Mon, 11 Nov 2013 18:57:25 +0000 (18:57 +0000)]
    PR middle-end/59049
        * expmed.c (emit_store_flag): Fail for const-const comparison.

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

10 years ago * gcc.dg/tree-ssa/forwprop-28.c: Adjust for ARC
amylaar [Mon, 11 Nov 2013 18:46:33 +0000 (18:46 +0000)]
    * gcc.dg/tree-ssa/forwprop-28.c: Adjust for ARC
        LOGICAL_OP_NON_SHORT_CIRCUIT definition.
        * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Likewise.
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-1.c: Likewise.
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-4.c: Likewise.
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-5.c: Likewise.
        * gcc.dg/tree-ssa/ssa-ifcombine-ccmp-6.c: Likewise.
        * gcc.dg/tree-ssa/vrp47.c: Likewise.
        * gcc.dg/tree-ssa/vrp87.c: Likewise.

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

10 years agoRemove ChangeLog merge turd from r204590.
amylaar [Mon, 11 Nov 2013 18:40:04 +0000 (18:40 +0000)]
Remove ChangeLog merge turd from r204590.

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

10 years agocompiler: Support Go 1.2 nil checks.
ian [Mon, 11 Nov 2013 17:49:10 +0000 (17:49 +0000)]
compiler: Support Go 1.2 nil checks.

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

10 years ago * gimplify.c (gimplify_init_constructor): Do not clear the object when
ebotcazou [Mon, 11 Nov 2013 16:59:23 +0000 (16:59 +0000)]
* gimplify.c (gimplify_init_constructor): Do not clear the object when
the constructor is incomplete and CONSTRUCTOR_NO_CLEARING is set.

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

10 years ago * tree.h (CONSTRUCTOR_NO_CLEARING): Define.
ebotcazou [Mon, 11 Nov 2013 16:55:29 +0000 (16:55 +0000)]
* tree.h (CONSTRUCTOR_NO_CLEARING): Define.
* tree-core.h (CONSTRUCTOR_NO_CLEARING): Document it.
* tree.def (CONSTRUCTOR): Likewise.
* doc/generic.texi (CONSTRUCTOR): Likewise.  Update description.
* gimplify.c (gimplify_init_constructor): Do not clear the object when
the constructor is incomplete and CONSTRUCTOR_NO_CLEARING is set.
ada/
* gcc-interface/utils2.c (gnat_build_constructor): Also set the flag
CONSTRUCTOR_NO_CLEARING on the constructor.

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

10 years ago2013-11-11 Basile Starynkevitch <basile@starynkevitch.net>
bstarynk [Mon, 11 Nov 2013 14:54:14 +0000 (14:54 +0000)]
2013-11-11  Basile Starynkevitch  <basile@starynkevitch.net>

         * toplev.c (toplev_main): Move PLUGIN_FINISH invocation before
           diagnostic_finish.

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

10 years ago * config/arm/arm.c (arm_new_rtx_costs): Return after handling
ktkachov [Mon, 11 Nov 2013 13:53:26 +0000 (13:53 +0000)]
* config/arm/arm.c (arm_new_rtx_costs): Return after handling
comparisons.

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

10 years ago PR libstdc++/54562
redi [Mon, 11 Nov 2013 13:33:48 +0000 (13:33 +0000)]
PR libstdc++/54562
* include/std/mutex (__timed_mutex_impl::__clock_t): Use
high_resolution_clock for absolute timeouts, because
pthread_mutex_timedlock uses CLOCK_REALTIME not CLOCK_MONOTONIC.
(__timed_mutex_impl::_M_try_lock_for): Use steady_clock for relative
timeouts as per [thread.req.timing].
(__timed_mutex_impl::_M_try_lock_until<Clock,Duration>): Convert to
__clock_t time point instead of using _M_try_lock_for.

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

10 years ago * config.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf
ebotcazou [Mon, 11 Nov 2013 11:46:17 +0000 (11:46 +0000)]
* config.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf
in tmake_file.
* config/arm/t-vxworks: Delete.

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

10 years ago * config/arc/arc.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define.
amylaar [Mon, 11 Nov 2013 10:22:58 +0000 (10:22 +0000)]
    * config/arc/arc.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define.

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

10 years ago * tree-ssa-threadupdate.c (mark_threaded_blocks): Truncate jump
law [Mon, 11 Nov 2013 03:04:57 +0000 (03:04 +0000)]
   * tree-ssa-threadupdate.c (mark_threaded_blocks): Truncate jump
        threading paths first, then perform PHI node checks if applicable.

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

10 years agoDaily bump.
gccadmin [Mon, 11 Nov 2013 00:16:51 +0000 (00:16 +0000)]
Daily bump.

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

10 years ago2013-11-10 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 10 Nov 2013 23:40:57 +0000 (23:40 +0000)]
2013-11-10  Paolo Carlini  <paolo.carlini@oracle.com>

* cvt.c (cp_convert_to_pointer): Call build_ptrmemfunc before
maybe_warn_zero_as_null_pointer_constant to avoid duplicate
-Wzero-as-null-pointer-constant diagnostics.

* typeck.c (build_ptrmemfunc): Use cp_build_c_cast.

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

10 years agoSet close-on-exec flag when opening files.
jb [Sun, 10 Nov 2013 20:34:29 +0000 (20:34 +0000)]
Set close-on-exec flag when opening files.

2013-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

* configure.ac: Check presence of mkostemp.
* io/unix.c (set_close_on_exec): New function.
(tempfile_open): Use mkostemp and O_CLOEXEC if available, fallback
to calling set_close_on_exec.
(regular_file): Add O_CLOEXEC to flags if defined.
(open_external): Call set_close_on_exec if O_CLOEXEC is not
defined.
* config.h.in: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
* aclocal.m4: Regenerated.

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

10 years agoFixed typo about bug-number ...
ktietz [Sun, 10 Nov 2013 19:27:38 +0000 (19:27 +0000)]
Fixed typo about bug-number ...

        PR plugin/52872
        * configure.ac: Adding for exported symbols check
        and for rdynamic-check executable-extension.
        * configure: Regenerated.

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

10 years ago PR plugin/52862
ktietz [Sun, 10 Nov 2013 19:24:43 +0000 (19:24 +0000)]
    PR plugin/52862
        * configure.ac: Adding for exported symbols check
        and for rdynamic-check executable-extension.
        * configure: Regenerated.

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

10 years ago * mode-switching.c (optimize_mode_switching): Mark block as
uros [Sun, 10 Nov 2013 18:38:36 +0000 (18:38 +0000)]
* mode-switching.c (optimize_mode_switching): Mark block as
nontransparent, if last_mode at block exit is different from no_mode.

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

10 years ago2013-11-10 Kai Tietz <ktietz@redhat.com>
ktietz [Sun, 10 Nov 2013 11:47:18 +0000 (11:47 +0000)]
2013-11-10  Kai Tietz  <ktietz@redhat.com>

* config/i386/cygming-crtbegin.c (__gcc_register_frame):
Increment load-count on use of LIBGCC_SONAME DLL.
(hmod_libgcc): New static variable to hold handle of
LIBGCC_SONAME DLL.
(__gcc_deregister_frame): Decrement load-count of
LIBGCC_SONAME DLL.

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

10 years ago * config/x86/fenv.c: New file.
uros [Sun, 10 Nov 2013 11:45:42 +0000 (11:45 +0000)]
* config/x86/fenv.c: New file.

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

10 years agoDaily bump.
gccadmin [Sun, 10 Nov 2013 00:16:57 +0000 (00:16 +0000)]
Daily bump.

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

10 years ago2013-11-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
jbglaw [Sat, 9 Nov 2013 20:12:59 +0000 (20:12 +0000)]
2013-11-09  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* function.c (NAME__MAIN): Move to...
* cfgexpand.c (NAME__MAIN): ...here.

[BR]: http://gcc.gnu.org/ml/gcc-patches/2013-11/msg01003.html

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

10 years ago * c-common.c (atomic_size_supported_p): New function.
jsm28 [Sat, 9 Nov 2013 16:32:34 +0000 (16:32 +0000)]
* c-common.c (atomic_size_supported_p): New function.
(resolve_overloaded_atomic_exchange)
(resolve_overloaded_atomic_compare_exchange)
(resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
Use it instead of comparing size with a local list of sizes.

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

10 years agoruntime: Correct flag (FlagNoGC => FlagNoInvokeGC).
ian [Sat, 9 Nov 2013 16:23:00 +0000 (16:23 +0000)]
runtime: Correct flag (FlagNoGC => FlagNoInvokeGC).

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

10 years ago PR libstdc++/58982
redi [Sat, 9 Nov 2013 12:38:00 +0000 (12:38 +0000)]
PR libstdc++/58982
* include/bits/stl_algobase.h (__copy_move::__copy_m): Use assertion
to prevent using memmove() on non-assignable types.
(__copy_move_backward::__copy_move_b): Likewise.
* include/bits/stl_uninitialized.h (uninitialized_copy
uninitialized_copy_n, uninitialized_fill, uninitialized_fill_n,
__uninitialized_default, __uninitialized_default_n): Check for
assignable as well as trivial.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
58982.cc: New.
* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
58982.cc: New.
* testsuite/20_util/specialized_algorithms/uninitialized_fill/
58982.cc: New.
* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
58982.cc: New.
* testsuite/25_algorithms/copy/58982.cc: New.
* testsuite/25_algorithms/copy_n/58982.cc: New.

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

10 years agogcc/
rsandifo [Sat, 9 Nov 2013 11:42:16 +0000 (11:42 +0000)]
gcc/
* target.def (can_use_doloop_p): New hook.
* doc/tm.texi.in (TARGET_CAN_USE_DOLOOP_P): Add.
* doc/tm.texi: Regenerate.
* doc/md.texi (doloop_begin, doloop_end): Update documentation.
* hooks.h (hook_bool_dint_dint_uint_true): Declare.
* hooks.c (hook_bool_dint_dint_uint_true): New function.
* targhooks.h (can_use_doloop_if_innermost): Declare.
* targhooks.c (can_use_doloop_if_innermost): New function.
* target.h: Include double-int.h.
* loop-doloop.c (doloop_optimize): Call targetm.can_use_doloop_p.
Remove iteration count, maximum iteration count, loop depth and
enter-at-top inputs from doloop_begin and doloop_end.
* config/arc/arc.md (doloop_begin, doloop_end): Update for new
interface.
* config/arc/arc.c (arc_can_use_doloop_p): New function.
(TARGET_CAN_USE_DOLOOP_P): Define.
* config/arm/thumb2.md (doloop_end): Update for new interface.
* config/arm/arm.c (TARGET_CAN_USE_DOLOOP_P): Define.
* config/bfin/bfin.md (doloop_end): Update for new interface.
* config/bfin/bfin.c (bfin_can_use_doloop_p): New function.
(TARGET_CAN_USE_DOLOOP_P): Define.
* config/c6x/c6x.md (doloop_end): Update for new interface.
* config/ia64/ia64.md (doloop_end): Update for new interface.
* config/ia64/ia64.c (TARGET_CAN_USE_DOLOOP_P): Define.
* config/mep/mep.md (doloop_begin, doloop_end): Update for new
interface.
* config/mep/mep.c (mep_emit_doloop): Likewise.
(TARGET_CAN_USE_DOLOOP_P): Define.
* config/rs6000/rs6000.md (doloop_end): Update for new interface.
* config/rs6000/rs6000.c (TARGET_CAN_USE_DOLOOP_P): Define.
* config/s390/s390.md (doloop_end): Update for new interface.
* config/sh/sh.md (doloop_end): Likewise.
* config/spu/spu.md (doloop_end): Likewise.
* config/spu/spu.c (TARGET_CAN_USE_DOLOOP_P): Define.
* config/tilegx/tilegx.md (doloop_end): Update for new interface.
* config/tilegx/tilegx.c (TARGET_CAN_USE_DOLOOP_P): Define.
* config/tilepro/tilepro.md (doloop_end): Update for new interface.
* config/tilepro/tilepro.c (TARGET_CAN_USE_DOLOOP_P): Define.
* config/v850/v850.md (doloop_begin, doloop_end): Update for new
interface.
* config/v850/v850.c (TARGET_CAN_USE_DOLOOP_P): Define.

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

10 years agoDaily bump.
gccadmin [Sat, 9 Nov 2013 00:16:56 +0000 (00:16 +0000)]
Daily bump.

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

10 years agoRe-factor tree.h - Part 1.
dnovillo [Fri, 8 Nov 2013 22:46:16 +0000 (22:46 +0000)]
Re-factor tree.h - Part 1.

This is the first patch in a series of patches to cleanup tree.h to
reduce the exposure it has all over the compiler.

In this patch, I'm moving functions that are used once into the files
that use them, and make them private to that file. These functions
were declared extern in tree.h and called from exactly one place.

The patch does not move EVERY function. This usually happens
when the function uses private state from its original file, and
moving that private state would mean moving other functions that made
no sense to move.

Additionally, the patch removes functions that were never used.

In subsequent patches, I will be moving out of tree.h extern definitions
that should be grouped in other files (e.g., all functions defined in
some FOO.c will be moved to the corresponding FOO.h). This will allow
me to remove the inclusion of tree.h from some files.

    * attribs.c (lookup_scoped_attribute_spec): Make static.
    (get_attribute_namespace): Likewise.
    * builtins.c (more_const_call_expr_args_p): Move from
    tree.h.
    (validate_arglist): Move earlier in the file. Make static.
    (expand_stack_restore): Move from stmt.c
    (expand_stack_save): Move from stmt.c
    (rewrite_call_expr_array): Move earlier in the file.
    (rewrite_call_expr_valist): Likewise.
    * cfgexpand.c: Include hard-reg-set.h before tree.h
    Include recog.h.
    Include output.h.
    (expand_asm_loc): Move from stmt.c.
    (n_occurrences): Move from stmt.c.
    (check_operand_nalternatives): Move from stmt.c.
    (tree_conflicts_with_clobbers_p): Move from stmt.c.
    (expand_asm_operands): Move from stmt.c
    (expand_asm_stmt): Move from stmt.c
    (expand_computed_goto): Move from stmt.c
    (expand_goto): Move from stmt.c
    (expand_null_return_1): Move from stmt.c
    (expand_null_return): Move from stmt.c
    (expand_value_return): Move from stmt.c
    (expand_return): Move from stmt.c
    (expand_main_function): Move from function.c
    (stack_protect_prologue): Move from function.c
    * cgraphclones.c (build_function_type_skip_args): Move from tree.c.
    (build_function_decl_skip_args): Move from tree.c.
    * explow.c (tree_expr_size): Move from tree.c.
    * expr.c (addr_expr_of_non_mem_decl_p): Remove.
    (fields_length): Move from tree.c.
    * fold-const.c (size_low_cst): Move from tree.c.
    (tree_expr_nonzero_warnv_p): Make static. Move earlier in the file.
    (tree_expr_nonzero_p): Make static. Move earlier in the file.
    (fold_build3_initializer_loc): Remove.
    (tree_invalid_nonnegative_warnv_p): Make static.
    * function.c (expand_main_function): Move to cfgexpand.c.
    (stack_protect_prologue): Move to cfgexpand.c.
    (set_insn_locations): Move earlier in the file.
    * gimple-fold.c: Include langhooks.h.
    (truth_type_for): Move from tree.c.
    * print-tree.c (print_vec_tree): Remove.
    * stmt.c (expand_computed_goto): Move to cfgexpand.c.
    (expand_goto): Move to cfgexpand.c.
    (n_occurrences): Move to cfgexpand.c.
    (expand_asm_loc): Move to cfgexpand.c
    (tree_conflicts_with_clobbers_p): Move to cfgexpand.c.
    (expand_asm_operands): Move to cfgexpand.c.
    (expand_asm_stmt): Move to cfgexpand.c.
    (check_operand_nalternatives): Move to cfgexpand.c
    (expand_null_return): Move to cfgexpand.c.
    (expand_value_return): Move to cfgexpand.c.
    (expand_null_return_1): Move to cfgexpand.c.
    (expand_return): Move to cfgexpand.c.
    (expand_stack_save): Move to builtins.c.
    (expand_stack_restore): Move to builtins.c
    * symtab.c: Include output.h.
    (decl_assembler_name_hash): Move from tree.c.
    (decl_assembler_name_equal): Move from tree.c.
    * trans-mem.c (is_tm_safe_or_pure): Move from tree.h.
    * tree-eh.c (in_array_bounds_p): Move from tree.c.
    (range_in_array_bounds_p): Move from tree.c.
    * tree-object-size.c (fini_object_sizes): Make static.
    * tree-ssa-dom.c (iterative_hash_exprs_commutative): Move from tree.h.
    * tree-vrp.c (ssa_name_nonnegative_p): Remove.
    * tree.c (decl_assembler_name_equal): Move to symtab.c.
    (tree_expr_size): Move to explow.c.
    (decl_assembler_name_hash): Move to symtab.c.
    (real_twop): Remove.
    (tree_expr_size): Move to explow.c.
    (stabilize_reference_1): Move earlier in the file. Make static.
    (omp_remove_redundant_declare_simd_attrs): Remove.
    (simple_cst_list_equal): Move earlier in the file. Make static.
    (size_low_cst): Move to fold-const.c.
    (build_type_no_quals): Remove.
    (build_function_type_skip_args): Move to cgraphclones.c.
    (build_function_decl_skip_args): Move to cgraphclones.c.
    (in_array_bounds_p): Move to tree-eh.c.
    (range_in_array_bounds_p): Move to tree-eh.c.
    (truth_type_for): Move to gimple-fold.c.
    (list_equal_p): remove.
    * tree.h (decl_assembler_name_equal): Remove.
    (decl_assembler_name_hash): Remove.
    (truth_type_for): Remove.
    (build_type_no_quals): Remove.
    (build_function_decl_skip_args): Remove.
    (in_array_bounds_p): Remove.
    (range_in_array_bounds_p): Remove.
    (size_low_cst): Remove.
    (omp_remove_redundant_declare_simd_attrs): Remove.
    (tree_expr_size): Remove.
    (fields_length): Remove.
    (stabilize_reference_1): Remove.
    (expand_goto): Remove.
    (expand_stack_save): Remove.
    (expand_stack_restore): Remove.
    (expand_return): Remove.
    (fold_build3_initializer_loc): Remove.
    (tree_expr_nonzero_p): Remove.
    (tree_invalid_nonnegative_warnv_p): Remove.
    (tree_expr_nonzero_warnv_p): Remove.
    (fold_builtin_snprintf_chk): Remove.
    (validate_arglist): Remove.
    (iterative_hash_exprs_commutative): Move to tree-ssa-dom.c.
    (simple_cst_list_equal): Remove.
    (real_twop): Remove.
    (expand_main_function): Remove.
    (stack_protect_prologue): Remove.
    (print_vec_tree): Remove.
    (lookup_scoped_attribute_spec): Remove.
    (get_attribute_namespace): Remove.
    (expand_computed_goto): Remove.
    (expand_asm_stmt): Remove.
    (list_equal_p): Remove.
    (ssa_name_nonnegative_p): Remove.
    (fini_object_sizes): Remove.
    (addr_expr_of_non_mem_decl_p): Remove.
    (is_tm_safe_or_pure): Move to trans-mem.c.
    (more_const_call_expr_args_p): Remove.
    (save_vtable_map_decl): Remove.

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

10 years agoMove Cilk Plus Builtins node before Other Builtins node
hjl [Fri, 8 Nov 2013 22:16:59 +0000 (22:16 +0000)]
Move Cilk Plus Builtins node before Other Builtins node

PR other/59055
* doc/extend.texi: Move Cilk Plus Builtins node before Other
Builtins node.

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

10 years ago2013-11-08 Andrew MacLeod <amacleod@redhat.com>
jsm28 [Fri, 8 Nov 2013 22:15:09 +0000 (22:15 +0000)]
2013-11-08  Andrew MacLeod  <amacleod@redhat.com>
    Joseph Myers  <joseph@codesourcery.com>

* ginclude/stdatomic.h: New file.
* Makefile.in (USER_H): Add stdatomic.h.

testsuite:
2013-11-08  Joseph Myers  <joseph@codesourcery.com>

* gcc.dg/atomic/stdatomic-compare-exchange-1.c,
gcc.dg/atomic/stdatomic-compare-exchange-2.c,
gcc.dg/atomic/stdatomic-compare-exchange-3.c,
gcc.dg/atomic/stdatomic-compare-exchange-4.c,
gcc.dg/atomic/stdatomic-exchange-1.c,
gcc.dg/atomic/stdatomic-exchange-2.c,
gcc.dg/atomic/stdatomic-exchange-3.c,
gcc.dg/atomic/stdatomic-exchange-4.c,
gcc.dg/atomic/stdatomic-fence.c, gcc.dg/atomic/stdatomic-flag.c,
gcc.dg/atomic/stdatomic-generic.c,
gcc.dg/atomic/stdatomic-kill-dep.c,
gcc.dg/atomic/stdatomic-load-1.c,
gcc.dg/atomic/stdatomic-load-2.c,
gcc.dg/atomic/stdatomic-load-3.c,
gcc.dg/atomic/stdatomic-load-4.c,
gcc.dg/atomic/stdatomic-lockfree.c,
gcc.dg/atomic/stdatomic-op-1.c, gcc.dg/atomic/stdatomic-op-2.c,
gcc.dg/atomic/stdatomic-op-3.c, gcc.dg/atomic/stdatomic-op-4.c,
gcc.dg/atomic/stdatomic-store-1.c,
gcc.dg/atomic/stdatomic-store-2.c,
gcc.dg/atomic/stdatomic-store-3.c,
gcc.dg/atomic/stdatomic-store-4.c, gcc.dg/c11-stdatomic-1.c: New
tests.

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

10 years ago2013-11-08 François Dumont <fdumont@gcc.gnu.org>
fdumont [Fri, 8 Nov 2013 21:03:58 +0000 (21:03 +0000)]
2013-11-08  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/safe_iterator.h (_BeforeBeginHelper<>::_S_Is):
Take only a const safe iterator reference.
(_BeforeBeginHelper<>::_S_Is_beginnest): Likewise.
(__get_distance): Take only one type of iterator.
(_Safe_iterator<>::_M_valid_range<>): Not template anymore.
(_Safe_iterator<>::_M_get_sequence()): Return pointer to const
sequence from a const_iterator and a pointer to sequence from an
iterator.
* include/debug/safe_iterator.tcc: Adapt.
* include/debug/safe_local_iterator.h
(_Safe_local_iterator<>::_M_valid_range<>): Not template anymore.
(_Safe_local_iterator<>::_M_get_sequence()): Return pointer to
const sequence from a const_iterator and a pointer to sequence
from an iterator.
* include/debug/safe_local_iterator.tcc: Adapt.
* include/debug/forward_list
(_BeforeBeginHelper<std::__debug::forward_list<>>): Adapt.

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

10 years ago+2013-11-08 Balaji V. Iyer <balaji.v.iyer@intel.com>
bviyer [Fri, 8 Nov 2013 19:52:27 +0000 (19:52 +0000)]
+2013-11-08  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       PR c/59039
+       * runtime/cilk_fiber-unix.cpp: Fixed a crash in run() function
+       when optimization is turned on.
+

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

10 years ago2013-11-08 Cong Hou <congh@google.com>
congh [Fri, 8 Nov 2013 18:44:46 +0000 (18:44 +0000)]
2013-11-08  Cong Hou  <congh@google.com>

PR tree-optimization/58508
* gcc.dg/vect/pr58508.c: Update.

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

10 years ago * config/arm/arm.c (arm_new_rtx_costs): Break after handling
ktkachov [Fri, 8 Nov 2013 17:36:21 +0000 (17:36 +0000)]
* config/arm/arm.c (arm_new_rtx_costs): Break after handling
comparisons.

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

10 years agocompiler: Fix bogus init loop error with struct composite literal.
ian [Fri, 8 Nov 2013 17:35:24 +0000 (17:35 +0000)]
compiler: Fix bogus init loop error with struct composite literal.

This should eventually be bug482.go in the master testsuite.

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

10 years ago * include/bits/regex_compiler.h (__detail::__has_contiguous_iter):
redi [Fri, 8 Nov 2013 17:33:31 +0000 (17:33 +0000)]
* include/bits/regex_compiler.h (__detail::__has_contiguous_iter):
vector<bool> storage is not contiguous.

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

10 years ago * tree-ssa-threadupdate.h (delete_thread_path): Declare.
law [Fri, 8 Nov 2013 16:24:06 +0000 (16:24 +0000)]
   * tree-ssa-threadupdate.h (delete_thread_path): Declare.
        * tree-ssa-threadupdate.c (delete_thread_path): New function.
        (ssa_redirect_edges, thread_block_1): Use it.
        (thread_through_loop_header, mark_threaded_blocks): Likewise.
        (thread_through_all_blocks, register_jump_thread): Likewise.
        * tree-ssa-threadedge.c (thread_across_edge): Likewise.

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

10 years ago[ARM, AArch64] Make aarch-common.c files more robust.
jgreenhalgh [Fri, 8 Nov 2013 15:09:50 +0000 (15:09 +0000)]
[ARM, AArch64] Make aarch-common.c files more robust.

gcc/
* config/arm/aarch-common.c
(search_term): New typedef.
(shift_rtx_costs): New array.
(arm_rtx_shift_left_p): New.
(arm_find_sub_rtx_with_search_term): Likewise.
(arm_find_sub_rtx_with_code): Likewise.
(arm_early_load_addr_dep): Add sanity checking.
(arm_no_early_alu_shift_dep): Likewise.
(arm_no_early_alu_shift_value_dep): Likewise.
(arm_no_early_mul_dep): Likewise.
(arm_no_early_store_addr_dep): Likewise.

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

10 years ago * include/bits/regex_compiler.h (__detail::__compile_nfa): Overload
redi [Fri, 8 Nov 2013 14:30:40 +0000 (14:30 +0000)]
* include/bits/regex_compiler.h (__detail::__compile_nfa): Overload
so that std::basic_string<C> and std::vector<C> iterators dispatch to
the const C* compiler.

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

10 years ago * include/bits/regex_compiler.h (__detail::_AnyMatcher,
redi [Fri, 8 Nov 2013 14:30:34 +0000 (14:30 +0000)]
* include/bits/regex_compiler.h (__detail::_AnyMatcher,
__detail::_CharMatcher, __detail::_BracketMatcher): Remove redundant
_CharT template parameters.
* include/bits/regex_compiler.tcc: Likewise.

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

10 years ago * include/bits/regex_automaton.h (__detail::_State, __detail::_NFA,
redi [Fri, 8 Nov 2013 14:30:29 +0000 (14:30 +0000)]
* include/bits/regex_automaton.h (__detail::_State, __detail::_NFA,
__detail::_StateSeq): Remove redundant _CharT template parameters.
* include/bits/regex_automaton.tcc: Likewise.
* include/bits/regex_compiler.h (__detail::_Compiler): Likewise.
(__compile_nfa): Add object generator for _Compiler.
* include/bits/regex_compiler.tcc: Remove _CharT template parameters.
* include/bits/regex_executor.h: Likewise.
* include/bits/regex_executor.tcc: Likewise.
* include/bits/regex.h (basic_regex): Assert char_type matches. Use
__compile_nfa object generator. Remove _CharT template parameter.

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

10 years ago * include/bits/regex_automaton.h (__detail::_State): Split
redi [Fri, 8 Nov 2013 14:30:22 +0000 (14:30 +0000)]
* include/bits/regex_automaton.h (__detail::_State): Split
non-dependent parts into new _State_base.
(__detail::_NFA): Likewise for _NFA_base. Use std::move() to avoid
copies when inserting _MatcherT and _StateT objects.
* include/bits/regex_automaton.tcc: Move member definitions to base
class. Qualify dependent names.
* include/bits/regex_compiler.h (__detail::_Compiler::_M_get_nfa): Make
non-const and use std::move to avoid copying.
* include/bits/regex_compiler.tcc: Likewise.
* include/bits/regex_executor.h (__detail::_Executor::_M_is_word): Use
array, so past-the-end iterator is valid.

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

10 years ago2013-11-08 Richard Biener <rguenther@suse.de>
rguenth [Fri, 8 Nov 2013 12:49:10 +0000 (12:49 +0000)]
2013-11-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59047
* tree-predcom.c (ref_at_iteration): Handle bitfield accesses
properly.

* gcc.dg/torture/pr59047.c: New testcase.

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

10 years ago * common.opt (fcheck-pointer-bounds): Move to ...
kyukhin [Fri, 8 Nov 2013 10:57:54 +0000 (10:57 +0000)]
    * common.opt (fcheck-pointer-bounds): Move to ...
        * c-family/c.opt: ... here.
        * langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): Remove.
        (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CHKP_SUPPORTED.
        * langhooks.h (lang_hooks): Remove chkp_supported field.
        * toplev.c (process_options): Remove chkp_supported check.

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

10 years agolibgcc: check for fenv.h in dfp configure check
aldot [Fri, 8 Nov 2013 10:18:27 +0000 (10:18 +0000)]
libgcc: check for fenv.h in dfp configure check

uClibc can be built without fenv support, extend the configure check for
decimal floating point to probe the existance of fenv.h, too.

libgcc/ChangeLog:

2013-03-24  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

* configure.ac (libgcc_cv_dfp): Extend check to probe fenv.h
availability.
* configure: Regenerate

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

10 years ago2013-11-08 Richard Biener <rguenther@suse.de>
rguenth [Fri, 8 Nov 2013 08:44:02 +0000 (08:44 +0000)]
2013-11-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/59038
PR tree-optimization/58955
* tree-loop-distribution.c (pg_add_dependence_edges): Revert
previous change.  Handle known dependences correctly.

* gcc.dg/torture/pr59038.c: New testcase.

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

10 years agocompiler: Correct types when type conversion makes backend call.
ian [Fri, 8 Nov 2013 05:46:22 +0000 (05:46 +0000)]
compiler: Correct types when type conversion makes backend call.

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

10 years agoRemove duplicate contents in gcc/config/rs6000/t-xilinx
vries [Fri, 8 Nov 2013 00:38:08 +0000 (00:38 +0000)]
Remove duplicate contents in gcc/config/rs6000/t-xilinx

2013-11-08  Tom de Vries  <tom@codesourcery.com>

* config/rs6000/t-xilinx: Remove duplicate contents.

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

10 years agoDaily bump.
gccadmin [Fri, 8 Nov 2013 00:16:23 +0000 (00:16 +0000)]
Daily bump.

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

10 years agoruntime: Fixes for Alpha.
ian [Thu, 7 Nov 2013 23:38:47 +0000 (23:38 +0000)]
runtime: Fixes for Alpha.

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

10 years ago2013-11-07 Janus Weil <janus@gcc.gnu.org>
janus [Thu, 7 Nov 2013 22:39:15 +0000 (22:39 +0000)]
2013-11-07  Janus Weil  <janus@gcc.gnu.org>

PR fortran/58471
* primary.c (gfc_expr_attr): Check for result symbol.

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

PR fortran/58471
* gfortran.dg/constructor_9.f90: New.

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

10 years ago * config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Rewrite
uros [Thu, 7 Nov 2013 21:53:54 +0000 (21:53 +0000)]
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Rewrite
FP_EX_INEXACT handling.

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

10 years ago * gcc.dg/atomic-compare-exchange-1.c,
jsm28 [Thu, 7 Nov 2013 21:20:18 +0000 (21:20 +0000)]
* gcc.dg/atomic-compare-exchange-1.c,
gcc.dg/atomic-compare-exchange-2.c,
gcc.dg/atomic-compare-exchange-3.c,
gcc.dg/atomic-compare-exchange-4.c,
gcc.dg/atomic-compare-exchange-5.c, gcc.dg/atomic-exchange-1.c,
gcc.dg/atomic-exchange-2.c, gcc.dg/atomic-exchange-3.c,
gcc.dg/atomic-exchange-4.c, gcc.dg/atomic-exchange-5.c,
gcc.dg/atomic-fence.c, gcc.dg/atomic-flag.c,
gcc.dg/atomic-generic.c, gcc.dg/atomic-invalid.c,
gcc.dg/atomic-load-1.c, gcc.dg/atomic-load-2.c,
gcc.dg/atomic-load-3.c, gcc.dg/atomic-load-4.c,
gcc.dg/atomic-load-5.c, gcc.dg/atomic-lockfree.c,
gcc.dg/atomic-noinline.c, gcc.dg/atomic-op-1.c,
gcc.dg/atomic-op-2.c, gcc.dg/atomic-op-3.c, gcc.dg/atomic-op-4.c,
gcc.dg/atomic-op-5.c, gcc.dg/atomic-param.c,
gcc.dg/atomic-store-1.c, gcc.dg/atomic-store-2.c,
gcc.dg/atomic-store-3.c, gcc.dg/atomic-store-4.c,
gcc.dg/atomic-store-5.c: Declare main as returning int.
* gcc.dg/atomic-exchange-1.c, gcc.dg/atomic-exchange-2.c,
gcc.dg/atomic-exchange-3.c, gcc.dg/atomic-exchange-4.c,
gcc.dg/atomic-exchange-5.c: Separate increments of count from
expression using value of count.

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

10 years agogcc:
jsm28 [Thu, 7 Nov 2013 21:15:25 +0000 (21:15 +0000)]
gcc:
2013-11-05  Andrew MacLeod  <amacleod@redhat.com>
    Joseph Myers  <joseph@codesourcery.com>

* tree-core.h (enum cv_qualifier): Add TYPE_QUAL_ATOMIC.
(enum tree_index): Add TI_ATOMICQI_TYPE, TI_ATOMICHI_TYPE,
TI_ATOMICSI_TYPE, TI_ATOMICDI_TYPE and TI_ATOMICTI_TYPE.
(struct tree_base): Add atomic_flag field.
* tree.h (TYPE_ATOMIC): New accessor macro.
(TYPE_QUALS, TYPE_QUALS_NO_ADDR_SPACE): Add TYPE_QUAL_ATOMIC.
(TYPE_QUALS_NO_ADDR_SPACE_NO_ATOMIC): New macro.
(atomicQI_type_node, atomicHI_type_node, atomicSI_type_node)
(atomicDI_type_node, atomicTI_type_node): New macros for type
nodes.
* tree.c (set_type_quals): Set TYPE_ATOMIC.
(find_atomic_core_type): New function.
(build_qualified_type): Adjust alignment for qualified types.
(build_atomic_base): New function
(build_common_tree_nodes): Build atomicQI_type_node,
atomicHI_type_node, atomicSI_type_node, atomicDI_type_node and
atomicTI_type_node.
* print-tree.c (print_node): Print atomic qualifier.
* tree-pretty-print.c (dump_generic_node): Print atomic type
attribute.
* target.def (atomic_assign_expand_fenv): New hook.
* doc/tm.texi.in (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New @hook.
* doc/tm.texi: Regenerate.
* targhooks.c (default_atomic_assign_expand_fenv): New function.
* targhooks.h (default_atomic_assign_expand_fenv): Declare.
* sync-builtins.def (__atomic_feraiseexcept): New built-in
function.
* config/i386/i386-builtin-types.def (VOID_FTYPE_PUSHORT): New
function type.
* config/i386/i386.c (enum ix86_builtins): Add
IX86_BUILTIN_FNSTENV, IX86_BUILTIN_FLDENV, IX86_BUILTIN_FNSTSW and
IX86_BUILTIN_FNCLEX.
(bdesc_special_args): Add __builtin_ia32_fnstenv,
__builtin_ia32_fldenv, __builtin_ia32_fnstsw and
__builtin_ia32_fnclex.
(ix86_expand_builtin): Handle the new built-in functions.
(ix86_atomic_assign_expand_fenv): New function.
(TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New macro.
* config/i386/i386.md (UNSPECV_FNSTENV, UNSPECV_FLDENV)
(UNSPECV_FNSTSW, UNSPECV_FNCLEX): New unspecs.
(fnstenv, fldenv, fnstsw, fnclex): New insns.

gcc/c-family:
2013-11-05  Andrew MacLeod  <amacleod@redhat.com>
    Joseph Myers  <joseph@codesourcery.com>

* c-common.h (enum rid): Add RID_ATOMIC.
* c-common.c (c_common_reswords): Add _Atomic.
(sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
(keyword_is_type_qualifier): Accept RID_ATOMIC.
* c-format.c (check_format_types): Check for extra _Atomic
qualifiers in format argument.
* c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
(pp_c_type_qualifier_list): Mention _Atomic in comment.

gcc/c:
2013-11-05  Joseph Myers  <joseph@codesourcery.com>
    Andrew MacLeod  <amacleod@redhat.com>

* c-aux-info.c (gen_type): Handle atomic qualifier.
* c-decl.c (validate_proto_after_old_defn): Do not remove atomic
qualifiers when compating types.
(shadow_tag_warned): Handle atomic_p in declspecs.
(quals_from_declspecs): Likewise.
(start_decl): Use c_type_promotes_to when promoting argument
types.
(grokdeclarator): Handle _Atomic.
(get_parm_info): Diagnose any qualifier on "void" as only
parameter.
(store_parm_decls_oldstyle): Do not remove atomic qualifiers when
comparing types.  Use c_type_promotes_to when promoting argument
types.
(finish_function): Use c_type_promotes_to when promoting argument
types.
(build_null_declspecs): Handle atomic_p in declspecs.
(declspecs_add_qual): Handle RID_ATOMIC.
* c-parser.c (c_token_starts_typename, c_token_is_qualifier)
(c_token_starts_declspecs): Handle RID_ATOMIC.
(c_parser_declspecs): Handle atomic type specifiers and
qualifiers.
(c_parser_typeof_specifier): Remove const and _Atomic qualifiers
from types of expressions with atomic type.
(c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
(c_parser_attribute_any_word): Handle RID_ATOMIC.
(c_parser_initializer, c_parser_initelt, c_parser_initval)
(c_parser_statement_after_labels, c_parser_switch_statement)
(c_parser_for_statement, c_parser_expr_no_commas)
(c_parser_conditional_expression, c_parser_binary_expression)
(c_parser_cast_expression, c_parser_unary_expression)
(c_parser_postfix_expression)
(c_parser_postfix_expression_after_primary, c_parser_expression):
Use convert_lvalue_to_rvalue.
(c_parser_expression_conv, c_parser_expr_list): Document
conversion of lvalues to rvalues.  Use convert_lvalue_to_rvalue.
(c_parser_objc_synchronized_statement): Use
convert_lvalue_to_rvalue.
(c_parser_objc_selector): Handle RID_ATOMIC.
(c_parser_objc_receiver, c_parser_array_notation): Use
convert_lvalue_to_rvalue.
* c-tree.h (ctsk_typeof): Adjust comment to mention use for
_Atomic (type-name).
(struct c_declspecs): Add atomic_p field.
(convert_lvalue_to_rvalue): Declare.
* c-typeck.c (c_type_promotes_to): Promote atomic types to
corresponding atomic types.
(qualify_type): Don't add _Atomic qualifiers from second argument.
(comp_target_types): Do not allow _Atomic mismatches.
(type_lists_compatible_p): Do not remove atomic qualifiers when
comparing types.
(really_atomic_lvalue, convert_lvalue_to_rvalue)
(build_atomic_assign): New functions.
(build_unary_op): Use build_atomic_assign for atomic increment and
decrement.
(build_conditional_expr): Do not treat _Atomic void as a qualified
version of void.
(build_modify_expr): Use build_atomic_assign for atomic LHS.
(find_anonymous_field_with_type, convert_to_anonymous_field)
(convert_for_assignment): Do not remove atomic qualifiers when
comparing types.
(digest_init): Do not accept initialization of arrays of atomic
elements by string constants.
(build_asm_expr): Use convert_lvalue_to_rvalue.
(build_binary_op): Do not treat _Atomic void as a qualified
version of void.

gcc/objc:
2013-11-05  Andrew MacLeod  <amacleod@redhat.com>

* objc-act.c (objc_push_parm): Handle atomic qualifier.

gcc/testsuite:
2013-11-05  Joseph Myers  <joseph@codesourcery.com>

* lib/target-supports.exp
(check_effective_target_fenv_exceptions): New function.
* lib/atomic-dg.exp, gcc.dg/atomic/atomic.exp: New files.
* gcc.dg/atomic/c11-atomic-exec-1.c,
gcc.dg/atomic/c11-atomic-exec-2.c,
gcc.dg/atomic/c11-atomic-exec-3.c,
gcc.dg/atomic/c11-atomic-exec-4.c,
gcc.dg/atomic/c11-atomic-exec-5.c, gcc.dg/c11-atomic-1.c,
gcc.dg/c11-atomic-2.c, gcc.dg/c11-atomic-3.c,
gcc.dg/c90-atomic-1.c, gcc.dg/c99-atomic-1.c: New tests.

libatomic:
2013-11-05  Joseph Myers  <joseph@codesourcery.com>

* fenv.c: New file.
* libatomic.map (LIBATOMIC_1.1): New symbol version.  Include
__atomic_feraiseexcept.
* configure.ac (libtool_VERSION): Change to 2:0:1.
(fenv.h): Test for header.
* Makefile.am (libatomic_la_SOURCES): Add fenv.c.
* Makefile.in, auto-config.h.in, configure: Regenerate.

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

10 years ago2013-11-07 Steve Ellcey <sellcey@mips.com>
sje [Thu, 7 Nov 2013 20:42:51 +0000 (20:42 +0000)]
2013-11-07  Steve Ellcey  <sellcey@mips.com>

* config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Add fp64 directory.
* config/mips/t-mti-linux (MULTILIB_OPTIONS): Add -mfp64 flag.
(MULTILIB_DIRNAMES): Add fp64 directory.
(MULTILIB_EXCEPTIONS): Add new exclusions.

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

10 years ago * gimplify.c (gimple_regimplify_operands): Do not set
aldyh [Thu, 7 Nov 2013 20:20:48 +0000 (20:20 +0000)]
* gimplify.c (gimple_regimplify_operands): Do not set
SSA_NAME_DEF_STMT.
* graphite-sese-to-poly.c (remove_simple_copy_phi): Same.
(rewrite_close_phi_out_of_ssa): Same.
(rewrite_phi_out_of_ssa): Same.
(rewrite_degenerate_phi): Same.
(handle_scalar_deps_crossing_scop_limits): Same.
* tree-if-conv.c (predicate_scalar_phi): Same.
* tree-parloops.c (create_loads_for_reductions): Same.
(create_final_loads_for_reduction): Same.
(create_loads_and_stores_for_name): Same.
(transform_to_exit_first_loop): Same.
(create_parallel_loop): Same.
* tree-ssa-loop-im.c
(move_computations_dom_walker::before_dom_children): Same.
* tree-ssa-loop-manip.c (rewrite_phi_with_iv): Same.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Same.
* tree-ssa-propagate.c (substitute_and_fold): Same.
* tree-vect-loop.c (vect_finalize_reduction): Same.
* tree-vect-stmts.c (vectorizable_call): Same.

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

10 years ago * config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Handle
uros [Thu, 7 Nov 2013 19:45:28 +0000 (19:45 +0000)]
* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Handle
FP_EX_DENORM.  Store result to volatile location after SSE division
to close interrupt window.  Remove unneeded fwait after x87
division since interrupt window will be closed by emitted fstp.

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

10 years ago * config/pdp11/pdp11.c: Include dbxout.h.
mrs [Thu, 7 Nov 2013 19:35:03 +0000 (19:35 +0000)]
* config/pdp11/pdp11.c: Include dbxout.h.
* config/picochip/picochip.c: Likewise.

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

10 years ago2013-11-07 Cong Hou <congh@google.com>
congh [Thu, 7 Nov 2013 19:29:45 +0000 (19:29 +0000)]
2013-11-07  Cong Hou  <congh@google.com>

PR tree-optimization/56764
* tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
   Combine alias checks if it is possible to amortize the runtime
   overhead.  Return the number of alias checks after merging.
   * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
     Use the function vect_create_cond_for_alias_checks () to check
     the number of alias checks.

2013-11-07  Cong Hou  <congh@google.com>

     * gcc.dg/vect/vect-alias-check.c: New.

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

10 years ago * varpool.c (ctor_for_folding): Fix typo in comment.
law [Thu, 7 Nov 2013 19:26:25 +0000 (19:26 +0000)]
    * varpool.c (ctor_for_folding): Fix typo in comment.

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

10 years ago * Makefile.in: Regenerate.
tschwinge [Thu, 7 Nov 2013 18:09:31 +0000 (18:09 +0000)]
* Makefile.in: Regenerate.

Follow-up to r204173.

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

10 years ago * config/arc/arc.c (arc_ifcvt): Use commutativity, e.g.:
amylaar [Thu, 7 Nov 2013 17:37:11 +0000 (17:37 +0000)]
    * config/arc/arc.c (arc_ifcvt): Use commutativity, e.g.:
        reg_a := reg_b + reg_a  ==>  reg_a := reg_a + reg_b

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

10 years ago * doc/invoke.texi (-fisolate-erroneous-paths): Document.
law [Thu, 7 Nov 2013 17:05:18 +0000 (17:05 +0000)]
* doc/invoke.texi (-fisolate-erroneous-paths): Document.

* gimple-ssa-isolate-paths.c (gate_isolate_erroneous_paths):
No longer check if we have __builtin_trap, assume it's
available.

java/

* builtins.c (initialize_builtins): Provide __builtin_trap.

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

10 years ago gcc/
tschwinge [Thu, 7 Nov 2013 15:08:22 +0000 (15:08 +0000)]
gcc/
* doc/sourcebuild.texi (Top Level) <lto-plugin>: GNU ld can use
linker plugins, too.

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

10 years ago * Makefile.tpl: Fix typo.
tschwinge [Thu, 7 Nov 2013 15:08:10 +0000 (15:08 +0000)]
* Makefile.tpl: Fix typo.
* Makefile.in: Regenerate.

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

10 years agolibgomp: Prepare for testcases without -fopenmp.
tschwinge [Thu, 7 Nov 2013 15:07:58 +0000 (15:07 +0000)]
libgomp: Prepare for testcases without -fopenmp.

libgomp/
* testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
ALWAYS_CFLAGS.
* testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
* testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
* testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
* testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
Likewise.

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

10 years agoAdd missing include.
tschwinge [Thu, 7 Nov 2013 15:07:46 +0000 (15:07 +0000)]
Add missing include.

libgomp/
* libgomp_g.h: Include <stddef.h> for size_t.

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

10 years agoGenerally link to libgomp for -ftree-parallelize-loops=*.
tschwinge [Thu, 7 Nov 2013 15:07:34 +0000 (15:07 +0000)]
Generally link to libgomp for -ftree-parallelize-loops=*.

gcc/
* config/arc/arc.h (LINK_COMMAND_SPEC): For
-ftree-parallelize-loops=*, link to libgomp and its dependencies.
* config/ia64/hpux.h (LIB_SPEC): Likewise.
* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
* config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
* gcc.c (GOMP_SELF_SPECS): Update comment about libgomp's
dependencies.
libgomp/
* libgomp.spec.in: Update comment about libgomp's dependencies.
* configure.ac: Likewise.
* configure: Regenerate.

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

10 years ago * tree-ssa-loop-niter.c: Include tree-ssanames.h.
jakub [Thu, 7 Nov 2013 14:31:00 +0000 (14:31 +0000)]
* tree-ssa-loop-niter.c: Include tree-ssanames.h.
(determine_value_range): Add loop argument.  Use get_range_info to
improve range.
(bound_difference): Adjust caller.

* gcc.dg/tree-ssa/loop-39.c: New test.

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

10 years ago * tree-vrp.c (find_assert_locations): Pre-seed live bitmaps for loop
jakub [Thu, 7 Nov 2013 14:28:57 +0000 (14:28 +0000)]
* tree-vrp.c (find_assert_locations): Pre-seed live bitmaps for loop
latches from header PHI arguments from the latch edge.

        * gcc.dg/unroll_1.c: Add -fno-tree-vrp to dg-options.
        * gcc.dg/unroll_2.c: Likewise.
        * gcc.dg/unroll_3.c: Likewise.
        * gcc.dg/unroll_4.c: Likewise.
* gcc.dg/vrp90.c: New test.

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

10 years ago2013-11-07 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 7 Nov 2013 14:26:17 +0000 (14:26 +0000)]
2013-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58176
* varasm.c (output_constant): Handle NULLPTR_TYPE.

/testsuite
2013-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58176
* g++.dg/cpp0x/nullptr30.C: New.

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

10 years agoDon't set misaligned_prologue_used twice
hjl [Thu, 7 Nov 2013 13:59:22 +0000 (13:59 +0000)]
Don't set misaligned_prologue_used twice

* config/i386/i386.c (ix86_expand_set_or_movmem): Don't set
misaligned_prologue_used when it has been set.

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

10 years agoFixed typo in ChangeLog.
ygribov [Thu, 7 Nov 2013 12:55:42 +0000 (12:55 +0000)]
Fixed typo in ChangeLog.

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

10 years agoAllow integer literals as addresses in instrumented builtins.
ygribov [Thu, 7 Nov 2013 12:04:45 +0000 (12:04 +0000)]
Allow integer literals as addresses in instrumented builtins.

gcc/
PR sanitizer/59029
* gcc/asan.c (get_mem_refs_of_builtin_call): Allow
integer literals as addresses in instrumented builtins.

gcc-testsuite/
PR sanitizer/59029
* c-c++-common/asan/pr59029.c: New test.

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

10 years ago * config/aarch64/aarch64.c (aarch64_legitimize_reload_address):
ktkachov [Thu, 7 Nov 2013 11:44:04 +0000 (11:44 +0000)]
* config/aarch64/aarch64.c (aarch64_legitimize_reload_address):
Explain why plus_constant is not used.

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

10 years ago2013-11-07 Richard Biener <rguenther@suse.de>
rguenth [Thu, 7 Nov 2013 11:33:03 +0000 (11:33 +0000)]
2013-11-07  Richard Biener  <rguenther@suse.de>

* tree-ssa-ccp.c (canonicalize_float_value): Rename to ...
(canonicalize_value): ... this.  Also handle stripping of
TREE_OVERFLOW.
(get_value, set_lattice_value, get_value_for_expr): Adjust.
* gimple-fold.c (canonicalize_constructor_val): Strip
TREE_OVERFLOW.
* tree-ssa-threadedge.c (set_ssa_name_value): Likewise.

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