gcc.git
10 years ago* gcc.dg/c11-complex-1.c: New test.
Joseph Myers [Wed, 13 Nov 2013 00:43:03 +0000 (00:43 +0000)]
* gcc.dg/c11-complex-1.c: New test.

From-SVN: r204732

10 years agoextend.texi (Statement Exprs, Typeof): Discuss __auto_type.
Joseph Myers [Wed, 13 Nov 2013 00:38:49 +0000 (00:38 +0000)]
extend.texi (Statement Exprs, Typeof): Discuss __auto_type.

* doc/extend.texi (Statement Exprs, Typeof): Discuss __auto_type.
* ginclude/stdatomic.h (kill_dependency, atomic_store_explicit)
(atomic_load_explicit, atomic_exchange_explicit)
(atomic_compare_exchange_strong_explicit)
(atomic_compare_exchange_weak_explicit): Use __auto_type to
declare variable initialized with PTR argument.

c-family:
* c-common.h (enum rid): Add RID_AUTO_TYPE.
* c-common.c (c_common_reswords): Add __auto_type.
(keyword_begins_type_specifier): Handle RID_AUTO_TYPE.

c:
* c-tree.h (c_typespec_keyword): Add cts_auto_type.
* c-decl.c (declspecs_add_type, finish_declspecs): Handle
__auto_type.
* c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
(c_parser_attribute_any_word, c_parser_objc_selector): Handle
RID_AUTO_TYPE.
(c_parser_declspecs): Take argument AUTO_TYPE_OK.
(c_parser_declaration_or_fndef, c_parser_struct_declaration)
(c_parser_declarator, c_parser_direct_declarator_inner)
(c_parser_parameter_declaration, c_parser_type_name): All callers
changed.
(c_parser_declaration_or_fndef): Handle declarations with type
determined from the initializer.

testsuite:
* gcc.dg/atomic/stdatomic-vm.c, gcc.dg/auto-type-1.c,
gcc.dg/auto-type-2.c: New tests.

From-SVN: r204731

10 years agoThe patch re-factors libgcov.c to make it better modulelized.
Rong Xu [Wed, 13 Nov 2013 00:24:49 +0000 (00:24 +0000)]
The patch re-factors libgcov.c to make it better modulelized.

2013-11-12  Rong Xu  <xur@google.com>

The patch re-factors libgcov.c to make it better modulelized.
It contains two pieces of work:
1. break gcov_exit() into the following structure:
   gcov_exit()
      --> gcov_exit_compute_summary()
      --> allocate_filename_struct()
          for gi_ptr in gcov_list
            --> gcov_exit_dump_gcov()
                   --> gcov_exit_open_gcda_file()
                   --> gcov_exit_merge_gcda ()
                   --> gcov_exit_merge_summary ()
                   --> gcov_exit_write_gcda ()
2. split libgcov.c into the following files:
     libgcov-profiler.c
     libgcov-merge.c
     libgcov-interface.c
     libgcov-driver.c
       libgcov-driver-system.c (source included into libgcov-driver.c)

* libgcc/libgcov.c: Delete as part of re-factoring.
* gcc/gcov-io.h (__gcov_indirect_call_profiler): Add the decl to
        avoid warning.
* libgcc/libgcov-interface.c (init_mx): Moved from libgcov.c.
(init_mx_once): Ditto.
(__gcov_flush): Ditto.
(__gcov_reset): Ditto.
(__gcov_dump): Ditto.
(__gcov_fork): Ditto.
(__gcov_execl): Ditto.
(__gcov_execlp): Ditto.
(__gcov_execle): Ditto.
(__gcov_execv): Ditto.
(__gcov_execvp): Ditto.
(__gcov_execve): Ditto.
        * libgcc/libgcov-merge.c (__gcov_merge_time_profile): Moved from
        libgcov.c.
(__gcov_merge_add): Ditto.
(__gcov_merge_ior): Ditto.
(__gcov_merge_single): Ditto.
(__gcov_merge_delta): Ditto.
* libgcc/libgcov-profiler.c
(__gcov_interval_profiler): Ditto.
(__gcov_pow2_profiler): Ditto.
(__gcov_one_value_profiler_body): Ditto.
(__gcov_one_value_profiler): Ditto.
(__gcov_indirect_call_profiler): Ditto.
(__gcov_indirect_call_profiler_v2): Ditto.
(__gcov_time_profiler): Ditto.
(__gcov_average_profiler): Ditto.
(__gcov_ior_profiler): Ditto.
* libgcc/libgcov-driver.c (set_gcov_list): New.
(get_gcov_dump_complete): Ditto.
(set_gcov_dump_complete):Ditto.
(reset_gcov_dump_complete):Ditto.
(gcov_exit_compute_summary): New function split from gcov_exit().
(gcov_exit_merge_gcda): Ditto.
(gcov_exit_write_gcda): Ditto.
(gcov_exit_merge_summary): Ditto.
(gcov_exit_dump_gcov): Ditto.
(struct gcov_fn_buffer): Moved from libgcov.c
(struct gcov_summary_buffer): Ditto.
(free_fn_data): Ditto.
(buffer_fn_data): Ditto.
(crc32_unsigned): Ditto.
(gcov_version): Ditto.
(gcov_histogram_insert): Ditto.
(gcov_compute_histogram): Ditto.
(gcov_exit): Ditto.
(gcov_clear): Ditto.
(__gcov_init): Ditto.
        (this_prg): Make it file scope static variable.
        (all_prg): Ditto.
        (crc32): Ditto.
        (gi_filename): Ditto.
        (fn_buffer): Ditto.
        (sum_buffer): Ditto.
        (struct gcov_filename_aux): New types to store auxiliary information
        for gi_filename.
* libgcc/libgcov-driver-system.c (gcov_error): New utility function.
(allocate_filename_struct): New function split from gcov_exit().
(gcov_exit_open_gcda_file): Ditto.
(create_file_directory): Moved from libgcov.c
* libgcc/Makefile.in: Change to build newly added files.

From-SVN: r204730

10 years agoDaily bump.
GCC Administrator [Wed, 13 Nov 2013 00:17:16 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r204729

10 years agosanitizer_platform_limits_linux.cc: Temporarily ifdef out almost the whole source.
Jakub Jelinek [Tue, 12 Nov 2013 23:42:55 +0000 (00:42 +0100)]
sanitizer_platform_limits_linux.cc: Temporarily ifdef out almost the whole source.

* sanitizer_common/sanitizer_platform_limits_linux.cc: Temporarily
ifdef out almost the whole source.
* sanitizer_common/sanitizer_common_syscalls.inc: Likewise.

From-SVN: r204726

10 years ago+2013-11-12 Balaji V.
Balaji V. Iyer [Tue, 12 Nov 2013 23:17:26 +0000 (23:17 +0000)]
+2013-11-12 Balaji V.

+2013-11-12  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       * gcc.dg/cilk-plus/cilk-plus.exp: Added a check for LTO before running
+       LTO tests.
+

From-SVN: r204725

10 years agotree-ssa-threadedge.c (thread_around_empty_blocks): New argument backedge_seen_p.
Jeff Law [Tue, 12 Nov 2013 23:15:13 +0000 (16:15 -0700)]
tree-ssa-threadedge.c (thread_around_empty_blocks): New argument backedge_seen_p.

* tree-ssa-threadedge.c (thread_around_empty_blocks): New
argument backedge_seen_p.  Set, use and pass it to children
appropriately.
(thread_through_normal_block): Similarly.
(thread_across_edge): Similarly.

From-SVN: r204724

10 years agoMakefile.am (libcilkrts_la_LDFLAGS): Added a check for availability of "-ldl" flag.
Balaji V. Iyer [Tue, 12 Nov 2013 23:13:13 +0000 (23:13 +0000)]
Makefile.am (libcilkrts_la_LDFLAGS): Added a check for availability of "-ldl" flag.

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

        * Makefile.am (libcilkrts_la_LDFLAGS): Added a check for availability
        of "-ldl" flag.
        * configure.ac: Likewise.
        * configure: Regenerate
        * Makefile.in: Likewise.

From-SVN: r204723

10 years agogimple-ssa-isolate-paths.c (check_loadstore): Mark discovered memory references as...
Jeff Law [Tue, 12 Nov 2013 23:09:09 +0000 (16:09 -0700)]
gimple-ssa-isolate-paths.c (check_loadstore): Mark discovered memory references as volatile.

* gimple-ssa-isolate-paths.c (check_loadstore): Mark discovered
memory references as volatile.
(insert_trap_and_remove_trailing_statements): Fix comment.

* gcc.dg/tree-ssa/isolate-1.c: Update expected output.
* gcc.dg/tree-ssa/isolate-5.c: Verify the load survives through
the SSA optimizers.

From-SVN: r204722

10 years agocompiler: Update for mainline changes.
Ian Lance Taylor [Tue, 12 Nov 2013 22:44:15 +0000 (22:44 +0000)]
compiler: Update for mainline changes.

From Andrew MacLeod.

From-SVN: r204721

10 years agore PR other/58712 (issues found by --enable-checking=valgrind)
Vladimir Makarov [Tue, 12 Nov 2013 21:33:06 +0000 (21:33 +0000)]
re PR other/58712 (issues found by --enable-checking=valgrind)

2013-11-12  Vladimir Makarov  <vmakarov@redhat.com>

PR other/58712
* ira-costs.c (record_operand_costs): Check operands number for
the single set.

From-SVN: r204720

10 years agore PR target/59054 (Powerpc -O0 -mcpu=power7 generates sub-optimal code to load 0)
Michael Meissner [Tue, 12 Nov 2013 20:55:58 +0000 (20:55 +0000)]
re PR target/59054 (Powerpc -O0 -mcpu=power7 generates sub-optimal code to load 0)

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.

From-SVN: r204718

10 years agogimple-expr.h (create_tmp_var_name, [...]): Relocate prototypes from gimple.h.
Andrew MacLeod [Tue, 12 Nov 2013 20:26:43 +0000 (20:26 +0000)]
gimple-expr.h (create_tmp_var_name, [...]): Relocate prototypes from gimple.h.

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.

From-SVN: r204717

10 years agoAdd some generic lambda test cases.
Adam Butcher [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.

From-SVN: r204716

10 years agoSupport implicit parameter packs.
Adam Butcher [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.

From-SVN: r204715

10 years agoRefactor implicit function template implementation and fix 58534, 58536, 58548, 58549...
Adam Butcher [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.

From-SVN: r204714

10 years agocp-demangle.c (d_copy_templates): Cast result of malloc to (struct d_print_template *).
Uros Bizjak [Tue, 12 Nov 2013 20:02:21 +0000 (21:02 +0100)]
cp-demangle.c (d_copy_templates): Cast result of malloc to (struct d_print_template *).

* 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 *).

From-SVN: r204713

10 years agofinal.c (update_alignments): Initialize label to NULL_RTX.
Marek Polacek [Tue, 12 Nov 2013 17:56:48 +0000 (17:56 +0000)]
final.c (update_alignments): Initialize label to NULL_RTX.

2013-11-12  Marek Polacek  <polacek@redhat.com>

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

From-SVN: r204712

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

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.

From-SVN: r204711

10 years agoaggr21.adb: New test.
Tristan Gingold [Tue, 12 Nov 2013 17:34:16 +0000 (17:34 +0000)]
aggr21.adb: New test.

* gnat.dg/aggr21.adb: New test.
* gnat.dg/aggr21_pkg.ad[sb]: New helper.

From-SVN: r204710

10 years agogimple-ssa-isolate-paths.c (check_loadstore): New function.
Jeff Law [Tue, 12 Nov 2013 16:41:51 +0000 (09:41 -0700)]
gimple-ssa-isolate-paths.c (check_loadstore): New function.

* 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.

From-SVN: r204708

10 years agopredict.c (drop_profile): New function.
Teresa Johnson [Tue, 12 Nov 2013 15:03:28 +0000 (15:03 +0000)]
predict.c (drop_profile): New function.

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.

Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r204704

10 years agoTurn on SEE unaligned load and store for Haswell
H.J. Lu [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.

From-SVN: r204701

10 years agoProperly handle AVX256 unaligned load and store
H.J. Lu [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.

From-SVN: r204700

10 years agore PR rtl-optimization/10474 (shrink wrapping for functions)
Martin Jambor [Tue, 12 Nov 2013 12:53:53 +0000 (13:53 +0100)]
re PR rtl-optimization/10474 (shrink wrapping for functions)

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.

From-SVN: r204698

10 years agore PR c++/57734 (Returning template alias to enum class fails with "invalid declarator")
Paolo Carlini [Tue, 12 Nov 2013 09:21:45 +0000 (09:21 +0000)]
re PR c++/57734 (Returning template alias to enum class fails with "invalid declarator")

/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.

From-SVN: r204697

10 years agotree-ssa-loop-ivopts.c (force_expr_to_var_cost): Refactor the code.
Bin Cheng [Tue, 12 Nov 2013 06:42:05 +0000 (06:42 +0000)]
tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Refactor the code.

* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Refactor the code.
Handle type conversion.

From-SVN: r204695

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

From-SVN: r204693

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

Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r204690

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

From-SVN: r204688

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

For Solaris and CentOS portability.

From-SVN: r204687

10 years agotree-ssa-alias.c (stmt_kills_ref_p_1): Use ao_ref_init_from_ptr_and_size for builtins.
Marc Glisse [Mon, 11 Nov 2013 20:56:19 +0000 (21:56 +0100)]
tree-ssa-alias.c (stmt_kills_ref_p_1): Use ao_ref_init_from_ptr_and_size for builtins.

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.

Co-Authored-By: Jeff Law <law@redhat.com>
From-SVN: r204686

10 years agore PR target/58853 (ICE in expand_set_or_movmem_prologue_epilogue_by_misaligned_moves)
Uros Bizjak [Mon, 11 Nov 2013 20:02:19 +0000 (21:02 +0100)]
re PR target/58853 (ICE in expand_set_or_movmem_prologue_epilogue_by_misaligned_moves)

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.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
From-SVN: r204685

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

From-SVN: r204684

10 years agore PR tree-optimization/59050 (ICE: tree check: expected integer_cst, have nop_expr...
Cong Hou [Mon, 11 Nov 2013 19:03:39 +0000 (14:03 -0500)]
re PR tree-optimization/59050 (ICE: tree check: expected integer_cst, have nop_expr in tree_int_cst_lt, at tree.c:7083)

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.

From-SVN: r204683

10 years agore PR middle-end/59049 (Two VOIDmode constant in comparison passed to cstoresi4)
Joern Rennecke [Mon, 11 Nov 2013 18:57:25 +0000 (18:57 +0000)]
re PR middle-end/59049 (Two VOIDmode constant in comparison passed to cstoresi4)

        PR middle-end/59049
        * expmed.c (emit_store_flag): Fail for const-const comparison.

From-SVN: r204682

10 years agoforwprop-28.c: Adjust for ARC LOGICAL_OP_NON_SHORT_CIRCUIT definition.
Joern Rennecke [Mon, 11 Nov 2013 18:46:33 +0000 (18:46 +0000)]
forwprop-28.c: Adjust for ARC LOGICAL_OP_NON_SHORT_CIRCUIT definition.

        * 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.

From-SVN: r204681

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

From-SVN: r204680

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

From-SVN: r204679

10 years agogimplify.c (gimplify_init_constructor): Do not clear the object when the constructor...
Eric Botcazou [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...

* gimplify.c (gimplify_init_constructor): Do not clear the object when
the constructor is incomplete and CONSTRUCTOR_NO_CLEARING is set.

From-SVN: r204678

10 years agotree.h (CONSTRUCTOR_NO_CLEARING): Define.
Tristan Gingold [Mon, 11 Nov 2013 16:55:29 +0000 (16:55 +0000)]
tree.h (CONSTRUCTOR_NO_CLEARING): Define.

* 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.

From-SVN: r204677

10 years agotoplev.c (toplev_main): Move PLUGIN_FINISH invocation before diagnostic_finish.
Basile Starynkevitch [Mon, 11 Nov 2013 14:54:14 +0000 (14:54 +0000)]
toplev.c (toplev_main): Move PLUGIN_FINISH invocation before diagnostic_finish.

2013-11-11  Basile Starynkevitch  <basile@starynkevitch.net>

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

From-SVN: r204674

10 years agoarm.c (arm_new_rtx_costs): Return after handling comparisons.
Kyrylo Tkachov [Mon, 11 Nov 2013 13:53:26 +0000 (13:53 +0000)]
arm.c (arm_new_rtx_costs): Return after handling comparisons.

* config/arm/arm.c (arm_new_rtx_costs): Return after handling
comparisons.

From-SVN: r204673

10 years agore PR libstdc++/54562 (mutex and condition variable timers)
Jonathan Wakely [Mon, 11 Nov 2013 13:33:48 +0000 (13:33 +0000)]
re PR libstdc++/54562 (mutex and condition variable timers)

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.

From-SVN: r204672

10 years agoconfig.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf in tmake_file.
Eric Botcazou [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.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf
in tmake_file.
* config/arm/t-vxworks: Delete.

From-SVN: r204669

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

From-SVN: r204666

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

       * tree-ssa-threadupdate.c (mark_threaded_blocks): Truncate jump
        threading paths first, then perform PHI node checks if applicable.

From-SVN: r204659

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

From-SVN: r204658

10 years agocvt.c (cp_convert_to_pointer): Call build_ptrmemfunc before maybe_warn_zero_as_null_p...
Paolo Carlini [Sun, 10 Nov 2013 23:40:57 +0000 (23:40 +0000)]
cvt.c (cp_convert_to_pointer): Call build_ptrmemfunc before maybe_warn_zero_as_null_pointer_constant to avoid...

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.

From-SVN: r204655

10 years agoSet close-on-exec flag when opening files.
Janne Blomqvist [Sun, 10 Nov 2013 20:34:29 +0000 (22:34 +0200)]
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.

From-SVN: r204654

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

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

From-SVN: r204651

10 years agore PR plugins/52872 (--enable-plugin; incorrect test for "exported symbols" and ...
Karlson2k [Sun, 10 Nov 2013 19:24:43 +0000 (19:24 +0000)]
re PR plugins/52872 (--enable-plugin; incorrect test for "exported symbols" and "-rdynamic" in gcc/configure.ac)

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

Co-Authored-By: Kai Tietz <ktietz@redhat.com>
From-SVN: r204650

10 years agomode-switching.c (optimize_mode_switching): Mark block as nontransparent, if last_mod...
Uros Bizjak [Sun, 10 Nov 2013 18:38:36 +0000 (19:38 +0100)]
mode-switching.c (optimize_mode_switching): Mark block as nontransparent, if last_mode at block exit is different from no_mode.

* mode-switching.c (optimize_mode_switching): Mark block as
nontransparent, if last_mode at block exit is different from no_mode.

From-SVN: r204649

10 years agocygming-crtbegin.c (__gcc_register_frame): Increment load-count on use of LIBGCC_SONA...
Kai Tietz [Sun, 10 Nov 2013 11:47:18 +0000 (12:47 +0100)]
cygming-crtbegin.c (__gcc_register_frame): Increment load-count on use of LIBGCC_SONAME DLL.

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.

From-SVN: r204635

10 years agofenv.c: New file.
Uros Bizjak [Sun, 10 Nov 2013 11:45:42 +0000 (12:45 +0100)]
fenv.c: New file.

* config/x86/fenv.c: New file.

From-SVN: r204634

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

From-SVN: r204623

10 years agofunction.c (NAME__MAIN): Move to...
Jan-Benedict Glaw [Sat, 9 Nov 2013 20:12:59 +0000 (20:12 +0000)]
function.c (NAME__MAIN): Move to...

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

From-SVN: r204620

10 years agoc-common.c (atomic_size_supported_p): New function.
Joseph Myers [Sat, 9 Nov 2013 16:32:34 +0000 (16:32 +0000)]
c-common.c (atomic_size_supported_p): New function.

* 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.

From-SVN: r204618

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

From-SVN: r204617

10 years agore PR libstdc++/58982 (std::vector<std::atomic<int>> vai(10); does not compile anymore)
Jonathan Wakely [Sat, 9 Nov 2013 12:38:00 +0000 (12:38 +0000)]
re PR libstdc++/58982 (std::vector<std::atomic<int>> vai(10); does not compile anymore)

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.

From-SVN: r204615

10 years agotarget.def (can_use_doloop_p): New hook.
Richard Sandiford [Sat, 9 Nov 2013 11:42:16 +0000 (11:42 +0000)]
target.def (can_use_doloop_p): New hook.

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.

From-SVN: r204614

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

From-SVN: r204611

10 years agoRe-factor tree.h - Part 1.
Diego Novillo [Fri, 8 Nov 2013 22:46:16 +0000 (17:46 -0500)]
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.

From-SVN: r204606

10 years agoMove Cilk Plus Builtins node before Other Builtins node
H.J. Lu [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.

From-SVN: r204604

10 years ago[multiple changes]
Joseph Myers [Fri, 8 Nov 2013 22:15:09 +0000 (22:15 +0000)]
[multiple changes]

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.

From-SVN: r204603

10 years agosafe_iterator.h (_BeforeBeginHelper<>::_S_Is): Take only a const safe iterator reference.
François Dumont [Fri, 8 Nov 2013 21:03:58 +0000 (21:03 +0000)]
safe_iterator.h (_BeforeBeginHelper<>::_S_Is): Take only a const safe iterator reference.

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.

From-SVN: r204598

10 years ago+2013-11-08 Balaji V.
Balaji V. Iyer [Fri, 8 Nov 2013 19:52:27 +0000 (19:52 +0000)]
+2013-11-08 Balaji V.

+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.
+

From-SVN: r204592

10 years agore PR tree-optimization/58508 ([Missed-Optimization] Redundant vector load of "actual...
Cong Hou [Fri, 8 Nov 2013 18:44:46 +0000 (13:44 -0500)]
re PR tree-optimization/58508 ([Missed-Optimization] Redundant vector load of "actual" loop invariant in loop body.)

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

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

From-SVN: r204590

10 years agoarm.c (arm_new_rtx_costs): Break after handling comparisons.
Kyrylo Tkachov [Fri, 8 Nov 2013 17:36:21 +0000 (17:36 +0000)]
arm.c (arm_new_rtx_costs): Break after handling comparisons.

* config/arm/arm.c (arm_new_rtx_costs): Break after handling
comparisons.

From-SVN: r204584

10 years agocompiler: Fix bogus init loop error with struct composite literal.
Ian Lance Taylor [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.

From-SVN: r204583

10 years agoregex_compiler.h (__detail::__has_contiguous_iter): vector<bool> storage is not conti...
Jonathan Wakely [Fri, 8 Nov 2013 17:33:31 +0000 (17:33 +0000)]
regex_compiler.h (__detail::__has_contiguous_iter): vector<bool> storage is not contiguous.

* include/bits/regex_compiler.h (__detail::__has_contiguous_iter):
vector<bool> storage is not contiguous.

From-SVN: r204582

10 years agotree-ssa-threadupdate.h (delete_thread_path): Declare.
Jeff Law [Fri, 8 Nov 2013 16:24:06 +0000 (09:24 -0700)]
tree-ssa-threadupdate.h (delete_thread_path): Declare.

       * 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.

From-SVN: r204579

10 years ago[ARM, AArch64] Make aarch-common.c files more robust.
James Greenhalgh [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.

From-SVN: r204575

10 years agoregex_compiler.h (__detail::__compile_nfa): Overload so that std::basic_string<C...
Jonathan Wakely [Fri, 8 Nov 2013 14:30:40 +0000 (14:30 +0000)]
regex_compiler.h (__detail::__compile_nfa): Overload so that std::basic_string<C> and std::vector<C> iterators dispatch to...

* 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.

From-SVN: r204574

10 years agoregex_compiler.h (__detail::_AnyMatcher, [...]): Remove redundant _CharT template...
Jonathan Wakely [Fri, 8 Nov 2013 14:30:34 +0000 (14:30 +0000)]
regex_compiler.h (__detail::_AnyMatcher, [...]): Remove redundant _CharT template parameters.

* include/bits/regex_compiler.h (__detail::_AnyMatcher,
__detail::_CharMatcher, __detail::_BracketMatcher): Remove redundant
_CharT template parameters.
* include/bits/regex_compiler.tcc: Likewise.

From-SVN: r204573

10 years agoregex_automaton.h (__detail::_State, [...]): Remove redundant _CharT template parameters.
Jonathan Wakely [Fri, 8 Nov 2013 14:30:29 +0000 (14:30 +0000)]
regex_automaton.h (__detail::_State, [...]): Remove redundant _CharT template parameters.

* 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.

From-SVN: r204572

10 years agoregex_automaton.h (__detail::_State): Split non-dependent parts into new _State_base.
Jonathan Wakely [Fri, 8 Nov 2013 14:30:22 +0000 (14:30 +0000)]
regex_automaton.h (__detail::_State): Split non-dependent parts into new _State_base.

* 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.

From-SVN: r204571

10 years agore PR tree-optimization/59047 (wrong code for bitfields at -O3 on x86_64-linux-gnu)
Richard Biener [Fri, 8 Nov 2013 12:49:10 +0000 (12:49 +0000)]
re PR tree-optimization/59047 (wrong code for bitfields at -O3 on x86_64-linux-gnu)

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.

From-SVN: r204566

10 years agocommon.opt (fcheck-pointer-bounds): Move to ...
Ilya Enkovich [Fri, 8 Nov 2013 10:57:54 +0000 (10:57 +0000)]
common.opt (fcheck-pointer-bounds): Move to ...

        * 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.

From-SVN: r204563

10 years agolibgcc: check for fenv.h in dfp configure check
Bernhard Reutner-Fischer [Fri, 8 Nov 2013 10:18:27 +0000 (11:18 +0100)]
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

From-SVN: r204562

10 years agore PR tree-optimization/59038 (r204398 causes 186.crafty init.c to be miscompiled)
Richard Biener [Fri, 8 Nov 2013 08:44:02 +0000 (08:44 +0000)]
re PR tree-optimization/59038 (r204398 causes 186.crafty init.c to be miscompiled)

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.

From-SVN: r204561

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

From-SVN: r204559

10 years agoRemove duplicate contents in gcc/config/rs6000/t-xilinx
Tom de 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.

From-SVN: r204555

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

From-SVN: r204554

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

From-SVN: r204551

10 years agore PR fortran/58471 (ICE on invalid with missing type constructor and -Wall)
Janus Weil [Thu, 7 Nov 2013 22:39:15 +0000 (23:39 +0100)]
re PR fortran/58471 (ICE on invalid with missing type constructor and -Wall)

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.

From-SVN: r204547

10 years agosfp-exceptions.c (__sfp_handle_exceptions): Rewrite FP_EX_INEXACT handling.
Uros Bizjak [Thu, 7 Nov 2013 21:53:54 +0000 (22:53 +0100)]
sfp-exceptions.c (__sfp_handle_exceptions): Rewrite FP_EX_INEXACT handling.

* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Rewrite
FP_EX_INEXACT handling.

From-SVN: r204546

10 years agoatomic-compare-exchange-1.c, [...]: Declare main as returning int.
Joseph Myers [Thu, 7 Nov 2013 21:20:18 +0000 (21:20 +0000)]
atomic-compare-exchange-1.c, [...]: Declare main as returning int.

* 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.

From-SVN: r204545

10 years agotree-core.h (enum cv_qualifier): Add TYPE_QUAL_ATOMIC.
Joseph Myers [Thu, 7 Nov 2013 21:15:25 +0000 (21:15 +0000)]
tree-core.h (enum cv_qualifier): Add TYPE_QUAL_ATOMIC.

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.

From-SVN: r204544

10 years agomti-linux.h (SYSROOT_SUFFIX_SPEC): Add fp64 directory.
Steve Ellcey [Thu, 7 Nov 2013 20:42:51 +0000 (20:42 +0000)]
mti-linux.h (SYSROOT_SUFFIX_SPEC): Add fp64 directory.

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.

From-SVN: r204542

10 years agogimplify.c (gimple_regimplify_operands): Do not set SSA_NAME_DEF_STMT.
Aldy Hernandez [Thu, 7 Nov 2013 20:20:48 +0000 (20:20 +0000)]
gimplify.c (gimple_regimplify_operands): Do not set SSA_NAME_DEF_STMT.

* 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.

From-SVN: r204541

10 years agosfp-exceptions.c (__sfp_handle_exceptions): Handle FP_EX_DENORM.
Uros Bizjak [Thu, 7 Nov 2013 19:45:28 +0000 (20:45 +0100)]
sfp-exceptions.c (__sfp_handle_exceptions): Handle FP_EX_DENORM.

* 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.

From-SVN: r204540

10 years agopdp11.c: Include dbxout.h.
Mike Stump [Thu, 7 Nov 2013 19:35:03 +0000 (19:35 +0000)]
pdp11.c: Include dbxout.h.

* config/pdp11/pdp11.c: Include dbxout.h.
* config/picochip/picochip.c: Likewise.

From-SVN: r204539

10 years agore PR tree-optimization/56764 (vect_prune_runtime_alias_test_list not smart enough)
Cong Hou [Thu, 7 Nov 2013 19:29:45 +0000 (14:29 -0500)]
re PR tree-optimization/56764 (vect_prune_runtime_alias_test_list not smart enough)

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.

From-SVN: r204538

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

From-SVN: r204537

10 years agoMakefile.in: Regenerate.
Thomas Schwinge [Thu, 7 Nov 2013 18:09:31 +0000 (19:09 +0100)]
Makefile.in: Regenerate.

* Makefile.in: Regenerate.

Follow-up to r204173.

From-SVN: r204536

10 years agoarc.c (arc_ifcvt): Use commutativity, e.g.: reg_a := reg_b + reg_a ==> reg_a := reg_a...
Joern Rennecke [Thu, 7 Nov 2013 17:37:11 +0000 (17:37 +0000)]
arc.c (arc_ifcvt): Use commutativity, e.g.: reg_a := reg_b + reg_a ==> reg_a := reg_a + reg_b

        * config/arc/arc.c (arc_ifcvt): Use commutativity, e.g.:
        reg_a := reg_b + reg_a  ==>  reg_a := reg_a + reg_b

From-SVN: r204534

10 years agoinvoke.texi (-fisolate-erroneous-paths): Document.
Jeff Law [Thu, 7 Nov 2013 17:05:18 +0000 (10:05 -0700)]
invoke.texi (-fisolate-erroneous-paths): Document.

* 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.

From-SVN: r204533

10 years agosourcebuild.texi (Top Level): GNU ld can use linker plugins, too.
Thomas Schwinge [Thu, 7 Nov 2013 15:08:22 +0000 (16:08 +0100)]
sourcebuild.texi (Top Level): GNU ld can use linker plugins, too.

gcc/
* doc/sourcebuild.texi (Top Level) <lto-plugin>: GNU ld can use
linker plugins, too.

From-SVN: r204521

10 years agoMakefile.tpl: Fix typo.
Thomas Schwinge [Thu, 7 Nov 2013 15:08:10 +0000 (16:08 +0100)]
Makefile.tpl: Fix typo.

* Makefile.tpl: Fix typo.
* Makefile.in: Regenerate.

From-SVN: r204520