gcc.git
10 years agore PR rtl-optimization/58968 (Powerpc -mlra cannot compile ormas1.f in gamess Spec...
Vladimir Makarov [Mon, 4 Nov 2013 16:12:29 +0000 (16:12 +0000)]
re PR rtl-optimization/58968 (Powerpc -mlra cannot compile ormas1.f in gamess Spec 2006 with -m32 -mcpu=power7 -O3 -mlra -w -ffast-math  -funroll-loops)

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

PR rtl-optimization/58968
* lra-spills.c (return_regno_p): New function.
(lra_final_code_change): Use it.

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

PR rtl-optimization/58968
* gfortran.dg/pr58968.f: New

From-SVN: r204353

10 years agore PR c++/58979 (ICE with invalid use of pointer-to-member)
Marek Polacek [Mon, 4 Nov 2013 16:01:49 +0000 (16:01 +0000)]
re PR c++/58979 (ICE with invalid use of pointer-to-member)

PR c++/58979
c-family/
* c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
testsuite/
* g++.dg/diagnostic/pr58979.C: New test.

From-SVN: r204352

10 years agocpp.texi (__GCC_IEC_559, [...]): Document macros.
Joseph Myers [Mon, 4 Nov 2013 15:39:57 +0000 (15:39 +0000)]
cpp.texi (__GCC_IEC_559, [...]): Document macros.

* doc/cpp.texi (__GCC_IEC_559, __GCC_IEC_559_COMPLEX): Document
macros.
* target.def (float_exceptions_rounding_supported_p): New hook.
* targhooks.c (default_float_exceptions_rounding_supported_p): New
function.
* targhooks.h (default_float_exceptions_rounding_supported_p):
Declare.
* doc/tm.texi.in (TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P):
New @hook.
* doc/tm.texi: Regenerate.
* config.gcc (powerpc*-*-linux*): Set extra_objs.
* config/rs6000/rs6000-linux.c: New file.
* config/rs6000/rs6000-protos.h
(rs6000_linux_float_exceptions_rounding_supported_p): Declare.
* config/rs6000/linux.h
(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): New macro.
* config/rs6000/linux64.h
(TARGET_FLOAT_EXCEPTIONS_ROUNDING_SUPPORTED_P): Likewise.
* config/rs6000/t-linux (rs6000-linux.o): New rule.
* config/rs6000/t-linux64 (rs6000-linux.o): Likewise.

c-family:
* c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
New functions.
(c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.

testsuite:
* gcc.dg/iec-559-macros-1.c, gcc.dg/iec-559-macros-2.c,
gcc.dg/iec-559-macros-3.c, gcc.dg/iec-559-macros-4.c,
gcc.dg/iec-559-macros-5.c, gcc.dg/iec-559-macros-6.c,
gcc.dg/iec-559-macros-7.c, gcc.dg/iec-559-macros-8.c,
gcc.dg/iec-559-macros-9.c: New tests.

From-SVN: r204351

10 years agovsx.md (*vsx_le_perm_store_<mode> for VSX_D): Replace the define_insn_and_split with...
Bill Schmidt [Mon, 4 Nov 2013 14:39:12 +0000 (14:39 +0000)]
vsx.md (*vsx_le_perm_store_<mode> for VSX_D): Replace the define_insn_and_split with a define_insn and two define_splits...

2013-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/vsx.md (*vsx_le_perm_store_<mode> for VSX_D):
Replace the define_insn_and_split with a define_insn and two
define_splits, with the split after reload re-permuting the source
register to its original value.
(*vsx_le_perm_store_<mode> for VSX_W): Likewise.
(*vsx_le_perm_store_v8hi): Likewise.
(*vsx_le_perm_store_v16qi): Likewise.

From-SVN: r204350

10 years agovector.md (vec_pack_trunc_v2df): Adjust for little endian.
Bill Schmidt [Mon, 4 Nov 2013 14:34:50 +0000 (14:34 +0000)]
vector.md (vec_pack_trunc_v2df): Adjust for little endian.

2013-11-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/vector.md (vec_pack_trunc_v2df):  Adjust for
little endian.

From-SVN: r204349

10 years agore PR tree-optimization/58946 (internal compiler error: in operator[], at vec.h:722)
Jakub Jelinek [Mon, 4 Nov 2013 10:29:42 +0000 (11:29 +0100)]
re PR tree-optimization/58946 (internal compiler error: in operator[], at vec.h:722)

PR tree-optimization/58946
* tree-ssa-reassoc.c (maybe_optimize_range_tests): Update all
bbs with bbinfo[idx].op != NULL before all blocks with
bbinfo[idx].op == NULL.

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

From-SVN: r204348

10 years agoos-unix.c: Include <sched.h>.
Rainer Orth [Mon, 4 Nov 2013 10:13:55 +0000 (10:13 +0000)]
os-unix.c: Include <sched.h>.

* runtime/os-unix.c [__sun__ && __svr4__]: Include <sched.h>.
(__cilkrts_hardware_cpu_count) [__sun__ && __svr4__]: Use sysconf.
(__cilkrts_yield) [__sun__ && __svr4__]: Use sched_yield.

From-SVN: r204347

10 years agoavr-log.c (avr_double_int_pop_digit): Delete.
Richard Sandiford [Mon, 4 Nov 2013 09:04:22 +0000 (09:04 +0000)]
avr-log.c (avr_double_int_pop_digit): Delete.

gcc/
* config/avr/avr-log.c (avr_double_int_pop_digit): Delete.
(avr_dump_double_int_hex): Likewise.
(avr_log_vadump): Remove %D and %X handling.
* config/avr/avr.c (avr_double_int_push_digit): Delete.
(avr_map_op_t): Change map from double_int to unsigned int.
(avr_map_op): Update accordingly.
(avr_map, avr_map_metric, avr_has_nibble_0xf, avr_map_decompose)
(avr_move_bits, avr_out_insert_bits, avr_fold_builtin): Operate on
unsigned ints rather than double_ints.

From-SVN: r204345

10 years agoc-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
Eric Botcazou [Mon, 4 Nov 2013 07:24:44 +0000 (07:24 +0000)]
c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.

c-family/
* c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
(dump_ada_specs): Adjust prototype of second callback.
* c-ada-spec.c (cpp_check): New global variable.
(dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
(print_generic_ada_decl): Likewise.
(has_static_fields): Change return type to bool and add guard.
(has_nontrivial_methods): New predicate.
(is_tagged_type): Change return type to bool.
(separate_class_package): Call has_nontrivial_methods.
(pp_ada_tree_identifier): Minor tweaks.
(dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
(dump_ada_array_domains): Likewise.
(dump_ada_array_type): Likewise.
(dump_template_types): Remove cpp_check parameter and do not pass it to
dump_generic_ada_node.
(dump_ada_template): Likewise.
(dump_generic_ada_node): Remove cpp_check parameter and do not pass it
recursively.
(print_ada_methods): Change return type to integer.  Remove cpp_check
parameter and do not pass it down.
(dump_nested_types): Remove cpp_check parameter and do not pass it to
dump_generic_ada_node.
(print_ada_declaration): Likewise.  Test RECORD_OR_UNION_TYPE_P before
accessing methods.
(print_ada_struct_decl): Remove cpp_check parameter and do not pass it
down.  Use has_nontrivial_methods to recognize C++ classes.  Use return
value of print_ada_methods.
(dump_ads): Rename cpp_check parameter to check and adjust prototype.
Set cpp_check to it before invoking dump_ada_nodes.
(dump_ada_specs): Likewise.
cp/
* decl2.c (cpp_check): Change type of first parameter and deal with
IS_TRIVIAL.

From-SVN: r204344

10 years agore PR c++/52071 (Constructor invocation confused)
Paolo Carlini [Mon, 4 Nov 2013 00:42:09 +0000 (00:42 +0000)]
re PR c++/52071 (Constructor invocation confused)

2013-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52071
* g++.dg/parse/pr52071.C: New.

From-SVN: r204343

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

From-SVN: r204342

10 years agore PR c++/38313 (g++ fails to parse a member function with a parenthesized type name...
Paolo Carlini [Sun, 3 Nov 2013 23:49:41 +0000 (23:49 +0000)]
re PR c++/38313 (g++ fails to parse a member function with a parenthesized type name as its declarator)

/cp
2013-11-03  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/38313
* parser.c (cp_parser_constructor_declarator_p): Check that the
class-name matches current_class_type.

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

PR c++/38313
* g++.dg/lookup/name-clash10.C: New.

From-SVN: r204339

10 years agoneon-vcond-gt.c: Scan for vbsl or vbit or vbif.
Kugan Vivekanandarajah [Sun, 3 Nov 2013 21:47:33 +0000 (21:47 +0000)]
neon-vcond-gt.c: Scan for vbsl or vbit or vbif.

2013-11-03  Kugan Vivekanandarajah  <kuganv@linaro.org>

gcc/testsuite/
* gcc.target/arm/neon-vcond-gt.c: Scan for vbsl or vbit or vbif.
* gcc.target/arm/neon-vcond-ltgt.c: Scan for vbsl or vbit or vbif.
* gcc.target/arm/neon-vcond-unordered.c: Scan for vbsl or vbit or
vbif.

From-SVN: r204336

10 years agoImplement -fsanitize=vla-bound.
Marek Polacek [Sun, 3 Nov 2013 17:59:31 +0000 (17:59 +0000)]
Implement -fsanitize=vla-bound.

* opts.c (common_handle_option): Handle vla-bound.
* sanitizer.def (BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE):
Define.
* flag-types.h (enum sanitize_code): Add SANITIZE_VLA.
* asan.c (initialize_sanitizer_builtins): Build BT_FN_VOID_PTR_PTR.
c-family/
* c-ubsan.c: Don't include hash-table.h.
(ubsan_instrument_vla): New function.
* c-ubsan.h: Declare it.
cp/
* decl.c (cp_finish_decl): Move C++1y bounds checking...
(compute_array_index_type): ...here.  Add VLA instrumentation.
Call stabilize_vla_size.
(grokdeclarator): Don't call stabilize_vla_size here.
c/
* c-decl.c (grokdeclarator): Add VLA instrumentation.
testsuite/
* g++.dg/ubsan/cxx1y-vla.C: New test.
* c-c++-common/ubsan/vla-3.c: New test.
* c-c++-common/ubsan/vla-2.c: New test.
* c-c++-common/ubsan/vla-4.c: New test.
* c-c++-common/ubsan/vla-1.c: New test.

From-SVN: r204334

10 years agocrtfastmath.c: Compile only for !_SOFT_FLOAT.
Uros Bizjak [Sun, 3 Nov 2013 10:12:12 +0000 (11:12 +0100)]
crtfastmath.c: Compile only for !_SOFT_FLOAT.

* config/i386/crtfastmath.c: Compile only for !_SOFT_FLOAT.
* config/i386/crtprec.c: Ditto.

From-SVN: r204327

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

From-SVN: r204324

10 years agors6000.c (rs6000_expand_vector_set): Adjust for little endian.
Bill Schmidt [Sun, 3 Nov 2013 00:06:43 +0000 (00:06 +0000)]
rs6000.c (rs6000_expand_vector_set): Adjust for little endian.

gcc:

2013-11-02  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

* config/rs6000/rs6000.c (rs6000_expand_vector_set): Adjust for
little endian.

gcc/testsuite:

2013-11-02  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

* gcc.dg/vmx/vec-set.c: New.

From-SVN: r204321

10 years agoconstraints.md (Ts, Tv): New address constrains.
Uros Bizjak [Sat, 2 Nov 2013 11:32:53 +0000 (12:32 +0100)]
constraints.md (Ts, Tv): New address constrains.

* config/i386/constraints.md (Ts, Tv): New address constrains.
* config/i386/i386.md (*lea<mode>, *<mode>_<bndcheck>): Use Ts
constraint for address_no_seg_operand.
* config/i386/sse.md (*avx512pf_gatherpf<mode>_mask)
(*avx512pf_gatherpf<mode>, *avx512pf_scatterpf<mode>_mask)
(*avx512pf_scatterpf<mode>, *avx2_gathersi<mode>)
(*avx2_gathersi<mode>_2, *avx2_gatherdi<mode>, *avx2_gatherdi<mode>_2)
(*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4)
(*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2)
(*avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2)
(*avx512f_scattersi<mode> *avx512f_scatterdi<mode>): Use Tv
constraint for vsib_address_operand.

From-SVN: r204317

10 years agore PR c++/29234 (Call to operator() of temporary object wrongly parsed)
Paolo Carlini [Sat, 2 Nov 2013 09:34:13 +0000 (09:34 +0000)]
re PR c++/29234 (Call to operator() of temporary object wrongly parsed)

/cp
2013-11-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29234
PR c++/56037
* parser.c (cp_parser_cast_expression): If we aren't looking at
a cast-expression don't call cp_parser_type_id.
(cp_parser_postfix_expression): Likewise for compound-literal.
(cp_parser_tokens_start_cast_expression): Adjust.

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

PR c++/29234
PR c++/56037
* g++.dg/parse/pr29234.C: New.
* g++.dg/parse/pr56037.C: Likewise.

From-SVN: r204312

10 years agoAdded libcilkrts's .lib dir to load path to Cilk keywords testsuite files.
Balaji V. Iyer [Sat, 2 Nov 2013 03:51:44 +0000 (03:51 +0000)]
Added libcilkrts's .lib dir to load path to Cilk keywords testsuite files.

+2013-11-01  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       * gcc.dg/cilk-plus/cilk-plus.exp: Loaded libcilkrts library path and
+       passed it in as one of the options to all Cilk keywords test.
+

From-SVN: r204310

10 years agogcse.c (pre_delete): Remove references to regmove from comments.
Steven Bosscher [Sat, 2 Nov 2013 00:26:48 +0000 (00:26 +0000)]
gcse.c (pre_delete): Remove references to regmove from comments.

* gcse.c (pre_delete): Remove references to regmove from comments.
* recog.c: (validate_replace_rtx_1): Likewise.
* config/rl78/rl78.c: Likewise.
* config/v850/v850.h: Likewise, and remove unused ENABLE_REGMOVE_PASS.
* common/config/m32r/m32r-common.c: Don't manipulate OPT_fregmove.
* common/config/mmix/mmix-common.c: Likewise.

From-SVN: r204309

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

From-SVN: r204308

10 years agore PR c++/58708 (string literal operator templates broken)
Edward Smith-Rowland [Fri, 1 Nov 2013 23:00:48 +0000 (23:00 +0000)]
re PR c++/58708 (string literal operator templates broken)

gcc/cp:

2013-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR c++/58708
* parser.c (make_string_pack): Discover non-const type and size
of character and build parm pack with correct type and chars.

gcc/testsuite:

2013-11-01  Edward Smith-Rowland  <3dw4rd@verizon.net>

PR c++/58708
* g++.dg/cpp1y/pr58708.C: New.

From-SVN: r204305

10 years ago* tr.po: Update.
Joseph Myers [Fri, 1 Nov 2013 22:26:30 +0000 (22:26 +0000)]
* tr.po: Update.

From-SVN: r204303

10 years ago* MAINTAINERS (Write After Approval): Add myself.
Trevor Saunders [Fri, 1 Nov 2013 22:10:37 +0000 (22:10 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r204302

10 years agoReplace some heap vectors with stack vectors.
Trevor Saunders [Fri, 1 Nov 2013 20:31:32 +0000 (20:31 +0000)]
Replace some heap vectors with stack vectors.

From http://gcc.gnu.org/ml/gcc-patches/2013-10/msg02735.html

This patch is pretty dull, it just replaces a bunch of things of the
form
vec<T> x;
x.create (N); // N is a constant
blah blah
x.release ();
by
stack_vec<T, N> x;
blah blah

2013-11-01  Trevor Saunders  <tsaunders@mozilla.com>

gcc/
* function.c (reorder_blocks): Convert block_stack to a stack_vec.
* gimplify.c (gimplify_compound_lval): Likewise.
* graphite-clast-to-gimple.c (gloog): Likewise.
* graphite-dependences.c (loop_is_parallel_p): Likewise.
* graphite-scop-detection.c (scopdet_basic_block_info): Likewise.
(limit_scop); Likewise.
(build_scops): Likewise.
(dot_scop): Likewise.
* graphite-sese-to-poly.c (sese_dom_walker): Likewise.
(build_scop_drs): Likewise.
(insert_stmts): Likewise.
(insert_out_of_ssa_copy): Likewise.
(remove_phi): Likewise.
(rewrite_commutative_reductions_out_of_ssa_close_phi): Likewise.
* hw-doloop.c (discover_loop): Likewise.
* tree-call-cdce.c (shrink_wrap_one_built_in_call): Likewise.
* tree-dfa.c (dump_enumerated_decls): Likewise.
* tree-if-conv.c (if_convertable_loop_p): Likewise.
* tree-inline.c (tree_function_versioning): Likewise.
* tree-loop-distribution.c (build_rdg): Likewise.
(rdg_flag_vertex_and_dependent): Likewise.
(distribute_loop): Likewise.
* tree-parloops.c (loop_parallel_p): Likewise.
(eliminate_local_variables): Likewise.
(separate_decls_in_region): Likewise.
* tree-predcom.c (tree_predictive_commoning_loop): Likewise.
* tree-ssa-phiopt.c (cond_if_else_store_replacement): Likewise.
* tree-ssa-uncprop.c (uncprop_dom_walker): Likewise.
* tree-vect-loop.c (vect_analyze_scaler_cycles_1): Likewise.
* tree-vect-patterns.c (vect_pattern_recog): Likewise.
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
(vectorizable_condition): Likewise.

gcc/cp/
* semantics.c (build_anon_member_initialization): Convert fields to be
        a stack_vec.

From-SVN: r204301

10 years agoFix date of previous ChangeLog entry.
Jonathan Wakely [Fri, 1 Nov 2013 20:10:51 +0000 (20:10 +0000)]
Fix date of previous ChangeLog entry.

From-SVN: r204300

10 years agoenable_special_members.h: New.
Michael Brune [Fri, 1 Nov 2013 20:08:39 +0000 (21:08 +0100)]
enable_special_members.h: New.

2013-10-31  Michael Brune  <lucdanton@free.fr>

* include/bits/enable_special_members.h: New.
* include/experimental/optional: New.
* include/Makefile.am: Handle include/experimental.
* include/Makefile.in: Regenerate.
* testsuite/libstdc++-dg/conformance.exp: Run tests from
testsuite/experimental sub-directory.
* testsuite/experimental/optional/assignment/1.cc: New.
* testsuite/experimental/optional/assignment/2.cc: New.
* testsuite/experimental/optional/assignment/3.cc: New.
* testsuite/experimental/optional/assignment/4.cc: New.
* testsuite/experimental/optional/assignment/5.cc: New.
* testsuite/experimental/optional/assignment/6.cc: New.
* testsuite/experimental/optional/cons/copy.cc: New.
* testsuite/experimental/optional/cons/default.cc: New.
* testsuite/experimental/optional/cons/move.cc: New.
* testsuite/experimental/optional/cons/value.cc: New.
* testsuite/experimental/optional/constexpr/cons/default.cc: New.
* testsuite/experimental/optional/constexpr/cons/value.cc: New.
* testsuite/experimental/optional/constexpr/in_place.cc: New.
* testsuite/experimental/optional/constexpr/make_optional.cc: New.
* testsuite/experimental/optional/constexpr/nullopt.cc: New.
* testsuite/experimental/optional/constexpr/observers/1.cc: New.
* testsuite/experimental/optional/constexpr/observers/2.cc: New.
* testsuite/experimental/optional/constexpr/observers/3.cc: New.
* testsuite/experimental/optional/constexpr/observers/4.cc: New.
* testsuite/experimental/optional/constexpr/observers/5.cc: New.
* testsuite/experimental/optional/constexpr/relops/1.cc: New.
* testsuite/experimental/optional/constexpr/relops/2.cc: New.
* testsuite/experimental/optional/constexpr/relops/3.cc: New.
* testsuite/experimental/optional/constexpr/relops/4.cc: New.
* testsuite/experimental/optional/constexpr/relops/5.cc: New.
* testsuite/experimental/optional/constexpr/relops/6.cc: New.
* testsuite/experimental/optional/in_place.cc: New.
* testsuite/experimental/optional/make_optional.cc: New.
* testsuite/experimental/optional/nullopt.cc: New.
* testsuite/experimental/optional/observers/1.cc: New.
* testsuite/experimental/optional/observers/2.cc: New.
* testsuite/experimental/optional/observers/3.cc: New.
* testsuite/experimental/optional/observers/4.cc: New.
* testsuite/experimental/optional/observers/5.cc: New.
* testsuite/experimental/optional/relops/1.cc: New.
* testsuite/experimental/optional/relops/2.cc: New.
* testsuite/experimental/optional/relops/3.cc: New.
* testsuite/experimental/optional/relops/4.cc: New.
* testsuite/experimental/optional/relops/5.cc: New.
* testsuite/experimental/optional/relops/6.cc: New.
* testsuite/experimental/optional/requirements.cc: New.
* testsuite/experimental/optional/swap/1.cc: New.

From-SVN: r204299

10 years agore PR c++/58834 (ICE on __builtin_shuffle within template function)
Marc Glisse [Fri, 1 Nov 2013 15:23:24 +0000 (16:23 +0100)]
re PR c++/58834 (ICE on __builtin_shuffle within template function)

2013-11-01  Marc Glisse  <marc.glisse@inria.fr>

PR c++/58834
gcc/cp/
* pt.c (type_dependent_expression_p): Handle null argument.

gcc/testsuite/
* g++.dg/ext/pr58834.C: New file.

From-SVN: r204296

10 years agoc-typeck.c (c_finish_omp_clauses): Go to check_dup_generic at the end, unless remove...
Jakub Jelinek [Fri, 1 Nov 2013 12:25:16 +0000 (13:25 +0100)]
c-typeck.c (c_finish_omp_clauses): Go to check_dup_generic at the end, unless remove is true.

* c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
check_dup_generic at the end, unless remove is true.
(c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
remove = true;.
(c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.

* semantics.c (finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
check_dup_generic at the end, unless remove is true.
(finish_omp_clauses) <case OMP_CLAUSE_LINEAR>: Add break; after
remove = true;.

* gcc.dg/gomp/declare-simd-2.c (f12, f13, f14, f15, f16, f17): New
tests.
* g++.dg/gomp/declare-simd-2.C (f15, f16, f17, f18, f19, f20): New
tests.

From-SVN: r204294

10 years ago* include/bits/stl_function.h (logical_not<void>): Add noexcept.
Jonathan Wakely [Fri, 1 Nov 2013 11:59:51 +0000 (11:59 +0000)]
* include/bits/stl_function.h (logical_not<void>): Add noexcept.

From-SVN: r204293

10 years agore PR libstdc++/58952 (Construct "std::getchar()" rejected when getchar is macro...
Paolo Carlini [Fri, 1 Nov 2013 11:10:55 +0000 (11:10 +0000)]
re PR libstdc++/58952 (Construct "std::getchar()" rejected when getchar is macro in C library)

2013-11-01  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/58952
* include/c_global/cstdio: Undef getchar.

From-SVN: r204291

10 years agoN3421 C++1y Transparent functors
Jonathan Wakely [Fri, 1 Nov 2013 11:07:15 +0000 (11:07 +0000)]
N3421 C++1y Transparent functors

N3421 C++1y Transparent functors
* include/bits/stl_function.h (plus<void>, minus<void>,
multiplies<void>, divides<void>, modulus<void>, negate<void>,
equal_to<void>, not_equal_to<void>, greater<void>, less<void>,
greater_equal<void>, less_equal<void>, logical_and<void>,
logical_or<void>, logical_not<void>, bit_and<void>, bit_or<void>,
bit_xor<void>, bit_not<void>): Define.
* doc/xml/manual/status_cxx2014.xml: Update.
* testsuite/20_util/function_objects/comparisons_void.cc: New.

* include/bits/stl_function.h: Implement N3421.
* testsuite/20_util/function_objects/comparisons_void.cc: New.

From-SVN: r204290

10 years agoconfigure.ac (HAVE_AS_IX86_INTERUNIT_MOVQ): Always define as 0/1.
Uros Bizjak [Fri, 1 Nov 2013 08:39:31 +0000 (09:39 +0100)]
configure.ac (HAVE_AS_IX86_INTERUNIT_MOVQ): Always define as 0/1.

* configure.ac (HAVE_AS_IX86_INTERUNIT_MOVQ): Always define as 0/1.
* configure: Regenerate.
* config/i386/i386.md (*movdi_internal): Change
HAVE_AS_IX86_INTERUNIT_MOVQ to runtime check.
(*movdf_internal): Ditto.
* config/i386/mmx.md (*mov<mode>_internal): Ditto.
* config/i386/sse.md (vec_concatv2di): Output interunit movq
for HAVE_AS_IX86_INTERUNIT_MOVQ targets.

From-SVN: r204289

10 years agore PR fortran/57893 (Crash for allocatable character string during compilation.)
Paul Thomas [Fri, 1 Nov 2013 06:56:41 +0000 (06:56 +0000)]
re PR fortran/57893 (Crash for allocatable character string during compilation.)

2013-11-01  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/57893
* gfortran.dg/unlimited_polymorphic_13.f90 : Break up select
type block.

From-SVN: r204286

10 years agolra-spills.c (assign_spill_hard_regs): Remove statement terminator after comment.
Robert Suchanek [Fri, 1 Nov 2013 00:23:05 +0000 (20:23 -0400)]
lra-spills.c (assign_spill_hard_regs): Remove statement terminator after comment.

2013-10-31  Robert Suchanek  <Robert.Suchanek@imgtec.com>
* lra-spills.c (assign_spill_hard_regs): Remove statement terminator
after comment.

From-SVN: r204285

10 years agoAdded PR number (PR bootstrap/58918) to a previous ChangeLog entry.
Balaji V. Iyer [Fri, 1 Nov 2013 00:21:01 +0000 (17:21 -0700)]
Added PR number (PR bootstrap/58918) to a previous ChangeLog entry.

From-SVN: r204284

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

From-SVN: r204283

10 years agoFix for PR other/58925 +2013-10-31 Balaji V.
Balaji V. Iyer [Thu, 31 Oct 2013 23:55:21 +0000 (23:55 +0000)]
Fix for PR other/58925 +2013-10-31 Balaji V.

Fix for PR other/58925
+2013-10-31  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       PR other/58925
+       * configure.ac: Added target_alias and GCC_LIBSTDCXX_RAW_CXX_FLAGS
+       fields.
+       * configure: Regenerated.
+       * aclocal.m4: Likewise.
+       * Makefile.in: Likewise.
+       * Makefile.am: Added gcc_version field.
+

From-SVN: r204280

10 years agoAutomated part of renaming of symtab_node_base to symtab_node.
David Malcolm [Thu, 31 Oct 2013 21:26:14 +0000 (21:26 +0000)]
Automated part of renaming of symtab_node_base to symtab_node.

gcc/

Patch autogenerated by rename_symtab.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 58bb219cc090b2f4516a9297d868c245495ee622
with ChangeLog entry fixed up by hand.

* cgraph.c (x_cgraph_nodes_queue): Rename symtab_node_base to
symtab_node.
(cgraph_node_for_asm): Likewise.
* cgraph.h (symtab_node_base): Likewise.
(cgraph_node): Likewise.
(varpool_node): Likewise.
(is_a_helper <cgraph_node>::test): Likewise.
(is_a_helper <varpool_node>::test): Likewise.
(symtab_nodes): Likewise.
(symtab_register_node): Likewise.
(symtab_unregister_node): Likewise.
(symtab_remove_node): Likewise.
(symtab_get_node): Likewise.
(symtab_node_for_asm): Likewise.
(symtab_node_asm_name): Likewise.
(symtab_node_name): Likewise.
(symtab_insert_node_to_hashtable): Likewise.
(symtab_add_to_same_comdat_group): Likewise.
(symtab_dissolve_same_comdat_group_list): Likewise.
(dump_symtab_node): Likewise.
(debug_symtab_node): Likewise.
(dump_symtab_base): Likewise.
(verify_symtab_node): Likewise.
(verify_symtab_base): Likewise.
(symtab_used_from_object_file_p): Likewise.
(symtab_alias_ultimate_target): Likewise.
(symtab_resolve_alias): Likewise.
(fixup_same_cpp_alias_visibility): Likewise.
(symtab_for_node_and_aliases): Likewise.
(symtab_nonoverwritable_alias): Likewise.
(availability symtab_node_availability): Likewise.
(symtab_semantically_equivalent_p): Likewise.
(fixup_same_cpp_alias_visibility): Likewise.
(symtab_prevail_in_asm_name_hash): Likewise.
(cgraph): Likewise.
(varpool): Likewise.
(varpool_first_variable): Likewise.
(varpool_next_variable): Likewise.
(varpool_first_static_initializer): Likewise.
(varpool_next_static_initializer): Likewise.
(varpool_first_defined_variable): Likewise.
(varpool_next_defined_variable): Likewise.
(cgraph_first_defined_function): Likewise.
(cgraph_next_defined_function): Likewise.
(cgraph_first_function): Likewise.
(cgraph_next_function): Likewise.
(cgraph_first_function_with_gimple_body): Likewise.
(cgraph_next_function_with_gimple_body): Likewise.
(symtab_alias_target): Likewise.
(symtab_real_symbol_p): Likewise.
(symtab_can_be_discarded): Likewise.
* cgraphbuild.c (mark_address): Likewise.
(mark_load): Likewise.
(mark_store): Likewise.
* cgraphunit.c (decide_is_symbol_needed): Likewise.
(first): Likewise.
(enqueue_node): Likewise.
(referred_to_p): Likewise.
(cgraph_process_same_body_aliases): Likewise.
(analyze_functions): Likewise.
(handle_alias_pairs): Likewise.
(output_weakrefs): Likewise.
(compile): Likewise.
* gimple-fold.c (can_refer_decl_in_current_unit_p): Likewise.
* ipa-inline-analysis.c (inline_write_summary): Likewise.
* ipa-prop.c (remove_described_reference): Likewise.
(try_decrement_rdesc_refcount): Likewise.
(ipa_edge_duplication_hook): Likewise.
* ipa-ref.c (ipa_record_reference): Likewise.
(ipa_maybe_record_reference): Likewise.
(ipa_clone_ref): Likewise.
(ipa_clone_references): Likewise.
(ipa_clone_referring): Likewise.
(ipa_find_reference): Likewise.
(ipa_remove_stmt_references): Likewise.
(ipa_clear_stmts_in_references): Likewise.
* ipa-ref.h (symtab_node_base): Likewise.
(ipa_ref): Likewise.
(ipa_record_reference): Likewise.
(ipa_maybe_record_reference): Likewise.
(ipa_clone_references): Likewise.
(ipa_clone_referring): Likewise.
(ipa_clone_ref): Likewise.
(ipa_find_reference): Likewise.
(ipa_remove_stmt_references): Likewise.
(ipa_clear_stmts_in_references): Likewise.
* ipa-reference.c (ipa_reference_write_optimization_summary):
Likewise.
* ipa.c (enqueue_node): Likewise.
(process_references): Likewise.
(walk_polymorphic_call_targets): Likewise.
(symtab_remove_unreachable_nodes): Likewise.
(address_taken_from_non_vtable_p): Likewise.
(comdat_can_be_unshared_p_1): Likewise.
(comdat_can_be_unshared_p): Likewise.
(can_replace_by_local_alias): Likewise.
(function_and_variable_visibility): Likewise.
* is-a.h: Likewise (within example in comment).
* lto-cgraph.c (input_cgraph_opt_summary): Likewise.
(lto_symtab_encoder_encode): Likewise.
(lto_symtab_encoder_delete_node): Likewise.
(lto_symtab_encoder_in_partition_p): Likewise.
(lto_set_symtab_encoder_in_partition): Likewise.
(output_refs): Likewise.
(compute_ltrans_boundary): Likewise.
(output_symtab): Likewise.
(input_node): Likewise.
(input_ref): Likewise.
(input_edge): Likewise.
(input_cgraph_1): Likewise.
(input_refs): Likewise.
(output_cgraph_opt_summary): Likewise.
(input_node_opt_summary): Likewise.
(input_cgraph_opt_section): Likewise.
* lto-section-in.c (lto_free_function_in_decl_state_for_node):
Likewise.
* lto-streamer-out.c (lto_output): Likewise.
(output_symbol_p): Likewise.
(produce_symtab): Likewise.
* lto-streamer.h (lto_encoder_entry): Likewise.
(lto_free_function_in_decl_state_for_node): Likewise.
(lto_symtab_encoder_encode): Likewise.
(lto_symtab_encoder_delete_node): Likewise.
(lto_symtab_encoder_in_partition_p): Likewise.
(lto_set_symtab_encoder_in_partition): Likewise.
(lto_symtab_encoder_lookup): Likewise.
(lsei_node): Likewise.
(lto_symtab_encoder_deref): Likewise.
* symtab.c (symtab_hash): Likewise.
(assembler_name_hash): Likewise.
(symtab_nodes): Likewise.
(hash_node): Likewise.
(eq_node): Likewise.
(hash_node_by_assembler_name): Likewise.
(eq_assembler_name): Likewise.
(insert_to_assembler_name_hash): Likewise.
(unlink_from_assembler_name_hash): Likewise.
(symtab_prevail_in_asm_name_hash): Likewise.
(symtab_register_node): Likewise.
(symtab_insert_node_to_hashtable): Likewise.
(symtab_unregister_node): Likewise.
(symtab_get_node): Likewise.
(symtab_remove_node): Likewise.
(symtab_initialize_asm_name_hash): Likewise.
(symtab_node_for_asm): Likewise.
(symtab_add_to_same_comdat_group): Likewise.
(symtab_dissolve_same_comdat_group_list): Likewise.
(symtab_node_asm_name): Likewise.
(symtab_node_name): Likewise.
(dump_symtab_base): Likewise.
(dump_symtab_node): Likewise.
(dump_symtab): Likewise.
(debug_symtab_node): Likewise.
(verify_symtab_base): Likewise.
(verify_symtab_node): Likewise.
(verify_symtab): Likewise.
(symtab_used_from_object_file_p): Likewise.
(symtab_node_availability): Likewise.
(symtab_alias_ultimate_target): Likewise.
(fixup_same_cpp_alias_visibility): Likewise.
(symtab_resolve_alias): Likewise.
(symtab_for_node_and_aliases): Likewise.
(symtab_for_node_and_aliases): Likewise.
(symtab_nonoverwritable_alias_1): Likewise.
(symtab_nonoverwritable_alias): Likewise.
(symtab_semantically_equivalent_p): Likewise.
* value-prof.c (init_node_map): Likewise.
* varasm.c (find_decl): Likewise.
* varpool.c (varpool_node_for_asm): Likewise.
(varpool_remove_unreferenced_decls): Likewise.

gcc/c-family/

Patch autogenerated by rename_symtab.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 58bb219cc090b2f4516a9297d868c245495ee622

* c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
symtab_node_base to symtab_node.

gcc/lto/

Patch autogenerated by rename_symtab.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 58bb219cc090b2f4516a9297d868c245495ee622

* lto-partition.c (add_symbol_to_partition): Rename
symtab_node_base to symtab_node.
(get_symbol_class): Likewise.
(symbol_partitioned_p): Likewise.
(add_references_to_partition): Likewise.
(add_symbol_to_partition_1): Likewise.
(contained_in_symbol): Likewise.
(add_symbol_to_partition): Likewise.
(lto_1_to_1_map): Likewise.
(lto_max_map): Likewise.
(lto_balanced_map): Likewise.
(privatize_symbol_name): Likewise.
(promote_symbol): Likewise.
(may_need_named_section_p): Likewise.
(rename_statics): Likewise.
(lto_promote_statics_nonwpa): Likewise.
* lto-symtab.c (lto_symtab_merge): Likewise.
(lto_symtab_resolve_replaceable_p): Likewise.
(lto_symtab_symbol_p): Likewise.
(lto_symtab_resolve_can_prevail_p): Likewise.
(lto_symtab_resolve_symbols): Likewise.
(lto_symtab_merge_decls_2): Likewise.
(lto_symtab_merge_decls_1): Likewise.
(lto_symtab_merge_decls): Likewise.
(lto_symtab_merge_symbols_1): Likewise.
(lto_symtab_merge_symbols): Likewise.
(lto_symtab_prevailing_decl): Likewise.
* lto.c (lto_wpa_write_files): Likewise.
(read_cgraph_and_symbols): Likewise.
(do_whole_program_analysis): Likewise.

From-SVN: r204279

10 years agoManual part of renaming of symtab_node_base to symtab_node.
David Malcolm [Thu, 31 Oct 2013 21:22:50 +0000 (21:22 +0000)]
Manual part of renaming of symtab_node_base to symtab_node.

gcc/
* ipa-ref.h (symtab_node): Remove typedef to pointer type, as it
clashes with the preferred name for the base class.
(const_symtab_node): Remove redundant typedef.

From-SVN: r204278

10 years agotuple (_Index_tuple, [...]): Move to <utility>.
Jonathan Wakely [Thu, 31 Oct 2013 19:23:54 +0000 (19:23 +0000)]
tuple (_Index_tuple, [...]): Move to <utility>.

* include/std/tuple (_Index_tuple, _Build_index_tuple): Move to
<utility>.
* include/std/utility (integer_sequence, make_integer_sequence,
index_sequence, make_index_sequence, index_sequence_for): Define.
* doc/xml/manual/status_cxx2014.xml: Update.
* testsuite/20_util/integer_sequence/intseq.cc: New.
* testsuite/20_util/integer_sequence/requirements/typedefs.cc: New.

From-SVN: r204275

10 years agooptabs.c (expand_vec_perm): Avoid vector mode punning SUBREGs in SET_DEST.
Jakub Jelinek [Thu, 31 Oct 2013 19:06:49 +0000 (20:06 +0100)]
optabs.c (expand_vec_perm): Avoid vector mode punning SUBREGs in SET_DEST.

* optabs.c (expand_vec_perm): Avoid vector mode punning
SUBREGs in SET_DEST.
* expmed.c (store_bit_field_1): Likewise.
* config/i386/sse.md (movdi_to_sse, vec_pack_sfix_trunc_v2df,
vec_pack_sfix_v2df, vec_shl_<mode>, vec_shr_<mode>,
vec_interleave_high<mode>, vec_interleave_low<mode>): Likewise.
* config/i386/i386.c (ix86_expand_vector_move_misalign,
ix86_expand_sse_movcc, ix86_expand_int_vcond, ix86_expand_vec_perm,
ix86_expand_sse_unpack, ix86_expand_args_builtin,
ix86_expand_vector_init_duplicate, ix86_expand_vector_set,
emit_reduc_half, expand_vec_perm_blend, expand_vec_perm_pshufb,
expand_vec_perm_interleave2, expand_vec_perm_pshufb2,
expand_vec_perm_vpshufb2_vpermq,
expand_vec_perm_vpshufb2_vpermq_even_odd, expand_vec_perm_even_odd_1,
expand_vec_perm_broadcast_1, expand_vec_perm_vpshufb4_vpermq2,
ix86_expand_sse2_mulv4si3, ix86_expand_pinsr): Likewise.
(expand_vec_perm_palignr): Likewise.  Modify a copy of *d rather
than *d itself.

From-SVN: r204274

10 years agoc-typeck.c (c_finish_omp_clauses): Diagnose aligned clause with decl that is not...
Jakub Jelinek [Thu, 31 Oct 2013 19:06:08 +0000 (20:06 +0100)]
c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause with decl that is not pointer nor array.

* c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
with decl that is not pointer nor array.

* semantics.c (finish_omp_clauses): Diagnose aligned clause
with decl that is not pointer nor array nor reference to those.

* g++.dg/gomp/simd-1.C: New test.
* g++.dg/gomp/declare-simd-1.C (f32): Fix up aligned clause argument.
* g++.dg/gomp/declare-simd-2.C (fn13, fn14): Add new tests.
* gcc.dg/gomp/declare-simd-2.c (fn7, fn8, fn9, fn10, fn11): Likewise.
* c-c++-common/gomp/simd6.c: New test.

From-SVN: r204273

10 years agoi386.c (ix86_expand_sse2_abs): Rename function arguments.
Uros Bizjak [Thu, 31 Oct 2013 18:37:29 +0000 (19:37 +0100)]
i386.c (ix86_expand_sse2_abs): Rename function arguments.

* config/i386/i386.c (ix86_expand_sse2_abs): Rename function arguments.
Use gcc_unreachable for unhandled modes.  Do not check results of
expand_simple_binop.  If not expanded to target, move the result.

From-SVN: r204271

10 years agoconfigure.ac: Add header checks for fenv.h and complex.h.
Steve Ellcey [Thu, 31 Oct 2013 17:12:35 +0000 (17:12 +0000)]
configure.ac: Add header checks for fenv.h and complex.h.

2013-10-31  Steve Ellcey  <sellcey@mips.com>

* configure.ac: Add header checks for fenv.h and complex.h.
* configure: Regenerate.

From-SVN: r204270

10 years agoAdd new nds32 port, including machine description, libgcc, and documentation.
Chung-Ju Wu [Thu, 31 Oct 2013 17:08:16 +0000 (17:08 +0000)]
Add new nds32 port, including machine description, libgcc, and documentation.

[gcc/ChangeLog]
* config.gcc (nds32*-*-*): Add nds32 target.
* config/nds32/nds32.c: New file.
* config/nds32/nds32.h: New file.
* config/nds32/nds32.md: New file.
* config/nds32/constants.md: New file.
* config/nds32/constraints.md: New file.
* config/nds32/iterators.md: New file.
* config/nds32/nds32-doubleword.md: New file.
* config/nds32/nds32-intrinsic.md: New file.
* config/nds32/nds32_intrinsic.h: New file.
* config/nds32/nds32-modes.def: New file.
* config/nds32/nds32-multiple.md: New file.
* config/nds32/nds32.opt: New file.
* config/nds32/nds32-opts.h: New file.
* config/nds32/nds32-protos.h: New file.
* config/nds32/nds32-peephole2.md: New file.
* config/nds32/pipelines.md: New file.
* config/nds32/predicates.md: New file.
* config/nds32/t-mlibs: New file.
* common/config/nds32: New directory and files.

* doc/invoke.texi (NDS32 options): Document nds32 specific options.
* doc/md.texi (NDS32 family): Document nds32 specific constraints.
* doc/install.texi (Cross-Compiler-Specific Options): Document
--with-nds32-lib for nds32 target.
* doc/extend.texi (Function Attributes, Target Builtins): Document
nds32 specific attributes.

[libgcc/ChangeLog]
* config.host (nds32*-elf*): Add nds32 target.
* config/nds32 : New directory and files.

[contrib/ChangeLog]
* config-list.mk (nds32le-elf, nds32be-elf): Add nds32 target.

Co-Authored-By: Shiva Chen <shiva0217@gmail.com>
From-SVN: r204269

10 years agolra-constraints (process_alt_operands): Use the result elimination register for opera...
Vladimir Makarov [Thu, 31 Oct 2013 16:00:38 +0000 (16:00 +0000)]
lra-constraints (process_alt_operands): Use the result elimination register for operand when matching constraints.

2013-10-31  Vladimir Makarov  <vmakarov@redhat.com>

* lra-constraints (process_alt_operands): Use the result
elimination register for operand when matching constraints.

From-SVN: r204267

10 years agosemantics.c (cxx_eval_call_expression): Handle trivial value-initialization.
Jason Merrill [Thu, 31 Oct 2013 15:45:04 +0000 (11:45 -0400)]
semantics.c (cxx_eval_call_expression): Handle trivial value-initialization.

* semantics.c (cxx_eval_call_expression): Handle trivial
value-initialization.
* typeck2.c (store_init_value): Call maybe_constant_init after
cxx_constant_value.

From-SVN: r204266

10 years agodecl.c (cxx_maybe_build_cleanup): Always set LOOKUP_NONVIRTUAL.
Jason Merrill [Thu, 31 Oct 2013 15:44:58 +0000 (11:44 -0400)]
decl.c (cxx_maybe_build_cleanup): Always set LOOKUP_NONVIRTUAL.

* decl.c (cxx_maybe_build_cleanup): Always set LOOKUP_NONVIRTUAL.
* decl2.c (build_cleanup): Just call cxx_maybe_build_cleanup.

From-SVN: r204265

10 years agore PR c++/58162 ([C++11] bogus error: use of deleted function 'constexpr A::A(const...
Jason Merrill [Thu, 31 Oct 2013 14:41:55 +0000 (10:41 -0400)]
re PR c++/58162 ([C++11] bogus error: use of deleted function 'constexpr A::A(const A&)')

PR c++/58162
* parser.c (cp_parser_late_parse_one_default_arg): Set
TARGET_EXPR_DIRECT_INIT_P.

From-SVN: r204263

10 years agoclass.c (type_build_ctor_call): Return early in C++98 mode.
Jason Merrill [Thu, 31 Oct 2013 14:13:42 +0000 (10:13 -0400)]
class.c (type_build_ctor_call): Return early in C++98 mode.

* class.c (type_build_ctor_call): Return early in C++98 mode.
(type_build_dtor_call): Likewise.

From-SVN: r204262

10 years agoI forgot to commit this from the C++14 digit-separators commit.
Edward Smith-Rowland [Thu, 31 Oct 2013 14:08:43 +0000 (14:08 +0000)]
I forgot to commit this from the C++14 digit-separators commit.

From-SVN: r204261

10 years agoImplement C++14 digit separators.
Edward Smith-Rowland [Thu, 31 Oct 2013 14:01:23 +0000 (14:01 +0000)]
Implement C++14 digit separators.

libcpp:

2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>

        Implement C++14 digit separators.
* include/cpplib.h (cpp_options): Add digit_separators flag.
* internal.h (DIGIT_SEP(c)): New macro.
* expr.c (cpp_classify_number): Check improper placement of digit sep;
(cpp_interpret_integer): Skip over digit separators.
* init.c (lang_flags): Add digit_separators flag; (lang_defaults): Add
digit separator flags per language; (cpp_set_lang): Set
digit_separators
* lex.c (lex_number): Add digits separator to allowable characters for
C++14.

gcc/c-family:

2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>

        Implement C++14 digit separators.
* c-lex.c (interpret_float): Remove digit separators from scratch string
before building real literal.

gcc/testsuite:

2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>

        Implement C++14 digit separators.
* g++.dg/cpp1y/digit-sep.C: New.
* g++.dg/cpp1y/digit-sep-neg.C: New.
* g++.dg/cpp1y/digit-sep-cxx11-neg.C: New.

libstdc++-v3:

2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>

        Implement C++14 digit separators.
* include/include/bits/parse_numbers.h: Change struct _Digit<_Base, '`'>
to struct _Digit<_Base, '\''>.

From-SVN: r204260

10 years ago* gcc.dg/vect/vect-align-3.c: New test.
Jakub Jelinek [Thu, 31 Oct 2013 13:59:07 +0000 (14:59 +0100)]
* gcc.dg/vect/vect-align-3.c: New test.

From-SVN: r204259

10 years agotree-vrp.c (maybe_set_nonzero_bits): New function.
Jakub Jelinek [Thu, 31 Oct 2013 13:58:29 +0000 (14:58 +0100)]
tree-vrp.c (maybe_set_nonzero_bits): New function.

* tree-vrp.c (maybe_set_nonzero_bits): New function.
(remove_range_assertions): Call it.

From-SVN: r204258

10 years agotree.c (tree_ctz): New function.
Jakub Jelinek [Thu, 31 Oct 2013 13:57:05 +0000 (14:57 +0100)]
tree.c (tree_ctz): New function.

* tree.c (tree_ctz): New function.
* tree.h (tree_ctz): New prototype.
* tree-ssanames.h (get_range_info, get_nonzero_bits): Change
first argument from tree to const_tree.
* tree-ssanames.c (get_range_info, get_nonzero_bits): Likewise.
* tree-vectorizer.h (vect_generate_tmps_on_preheader): New prototype.
* tree-vect-loop-manip.c (vect_generate_tmps_on_preheader): No longer
static.
* expr.c (highest_pow2_factor): Reimplemented using tree_ctz.
* tree-vect-loop.c (vect_analyze_loop_operations,
vect_transform_loop): Don't force scalar loop for bound just because
number of iterations is unknown, only do it if it is not known to be
a multiple of vectorization_factor.
* builtins.c (get_object_alignment_2): Use tree_ctz on offset.

From-SVN: r204257

10 years agogimple-pretty-print.c (dump_ssaname_info): Print newline also in case of VR_VARYING.
Jakub Jelinek [Thu, 31 Oct 2013 13:55:31 +0000 (14:55 +0100)]
gimple-pretty-print.c (dump_ssaname_info): Print newline also in case of VR_VARYING.

* gimple-pretty-print.c (dump_ssaname_info): Print newline also
in case of VR_VARYING.  Print get_nonzero_bits if not all ones.
* tree-ssanames.h (struct range_info_def): Add nonzero_bits field.
(set_nonzero_bits, get_nonzero_bits): New prototypes.
* tree-ssa-ccp.c (get_default_value): Use get_range_info to see if
a default def isn't partially constant.
(ccp_finalize): If after IPA, set_range_info if integral SSA_NAME
is known to be partially zero.
(evaluate_stmt): If we'd return otherwise VARYING, use get_range_info
to see if a default def isn't partially constant.
* tree-ssanames.c (set_range_info): Initialize nonzero_bits upon
creation of a range, if VR_RANGE, try to improve nonzero_bits from
the range.
(set_nonzero_bits, get_nonzero_bits): New functions.

* g++.dg/warn/pr33738.C (main): Initialize a2 again to make sure
we warn about it already during VRP1 pass.

From-SVN: r204256

10 years agotree-cfg.c (assert_unreachable_fallthru_edge_p): New function.
Jakub Jelinek [Thu, 31 Oct 2013 13:51:38 +0000 (14:51 +0100)]
tree-cfg.c (assert_unreachable_fallthru_edge_p): New function.

* tree-cfg.c (assert_unreachable_fallthru_edge_p): New function.
* tree-cfg.h (assert_unreachable_fallthru_edge_p): New prototype.
* tree-vrp.c (all_imm_uses_in_stmt_or_feed_cond): New function.
(remove_range_assertions): If ASSERT_EXPR_VAR has no other immediate
uses but in the condition and ASSERT_EXPR and the other successor of
the predecessor bb is __builtin_unreachable (), set_range_info of the
ASSERT_EXPR_VAR to the range info of the ASSERT_EXPR's lhs.

From-SVN: r204255

10 years agore PR rtl-optimization/58934 (build fails on cris-elf in reload_cse_simplify_operands...
Martin Jambor [Thu, 31 Oct 2013 13:39:26 +0000 (14:39 +0100)]
re PR rtl-optimization/58934 (build fails on cris-elf in reload_cse_simplify_operands for newlib dtoa.c)

2013-10-31  Martin Jambor  <mjambor@suse.cz>

PR rtl-optimization/58934
Revert:
2013-10-30  Martin Jambor  <mjambor@suse.cz>
PR rtl-optimization/10474
* ira.c (find_moveable_pseudos): Do not calculate dominance info
nor df analysis.
(interesting_dest_for_shprep): New function.
(split_live_ranges_for_shrink_wrap): Likewise.
(ira): Calculate dominance info and df analysis. 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: r204254

10 years ago48631_neg.cc: Tweak dg-prune.
Paolo Carlini [Thu, 31 Oct 2013 12:38:02 +0000 (12:38 +0000)]
48631_neg.cc: Tweak dg-prune.

2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/20_util/default_delete/48631_neg.cc: Tweak dg-prune.

From-SVN: r204253

10 years agore PR c++/58932 ([C++11] Deleted functions and SFINAE in partial template specializat...
Paolo Carlini [Thu, 31 Oct 2013 12:10:20 +0000 (12:10 +0000)]
re PR c++/58932 ([C++11] Deleted functions and SFINAE in partial template specializations)

/cp
2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58932
Revert:
2013-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58466
* pt.c (most_specialized_class): Bump processing_template_decl for
get_class_bindings.

/testsuite
2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58932
Revert:
2013-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58466
* g++.dg/cpp0x/variadic145.C: New.

* g++.dg/cpp0x/sfinae49.C: New.

From-SVN: r204252

10 years agore PR sanitizer/58543 (Invalid unpoisoning of stack redzones on ARM)
Richard Sandiford [Thu, 31 Oct 2013 12:10:01 +0000 (12:10 +0000)]
re PR sanitizer/58543 (Invalid unpoisoning of stack redzones on ARM)

2013-10-31  Richard Sandiford  <rsandifo@linux.vnet.ibm.com>
    Yury Gribov  <y.gribov@samsung.com>

PR sanitizer/58543
* asan.c (asan_clear_shadow): Allocate a new vreg for temporary
shadow pointer to avoid clobbering the main one.

Co-Authored-By: Yury Gribov <y.gribov@samsung.com>
From-SVN: r204251

10 years agore PR c++/58932 ([C++11] Deleted functions and SFINAE in partial template specializat...
Paolo Carlini [Thu, 31 Oct 2013 12:09:17 +0000 (12:09 +0000)]
re PR c++/58932 ([C++11] Deleted functions and SFINAE in partial template specializations)

/cp
2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58932
Revert:
2013-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58466
* pt.c (most_specialized_class): Bump processing_template_decl for
get_class_bindings.

/testsuite
2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58932
Revert:
2013-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58466
* g++.dg/cpp0x/variadic145.C: New.

* g++.dg/cpp0x/sfinae49.C: New.

From-SVN: r204250

10 years agore PR c++/58581 ([c++11] ICE with no-throw specification in deleted function)
Paolo Carlini [Thu, 31 Oct 2013 10:11:49 +0000 (10:11 +0000)]
re PR c++/58581 ([c++11] ICE with no-throw specification in deleted function)

/cp
2013-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58581
* call.c (build_over_call): Check return value of mark_used.

/testsuite
2013-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/58581
* g++.dg/cpp0x/deleted1.C: New.

From-SVN: r204249

10 years agolower-subreg.c (resolve_simple_move): Copy REG_INC note.
Zhenqiang Chen [Thu, 31 Oct 2013 06:20:20 +0000 (06:20 +0000)]
lower-subreg.c (resolve_simple_move): Copy REG_INC note.

gcc/ChangeLog:
2013-10-31  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* lower-subreg.c (resolve_simple_move): Copy REG_INC note.

gcc/testsuite/ChangeLog:
2013-10-31  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* gcc.target/arm/lp1243022.c: New test.

From-SVN: r204247

10 years agoconfigure.ac: Changed a case statement to include i386.
Balaji V. Iyer [Thu, 31 Oct 2013 03:21:02 +0000 (03:21 +0000)]
configure.ac: Changed a case statement to include i386.

2013-10-30  Balaji V. Iyer  <balaji.v.iyer@intel.com>

       * configure.ac: Changed a case statement to include i386.
       * configure: Regenerated.

From-SVN: r204246

10 years agore PR bootstrap/58933 (IRA ICE in update_costs_from_allocno)
Vladimir Makarov [Thu, 31 Oct 2013 03:14:07 +0000 (03:14 +0000)]
re PR bootstrap/58933 (IRA ICE in update_costs_from_allocno)

2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>

PR bootstrap/58933
* ira-color.c (update_costs_from_copies): Add new parameter.  Use
it for calling update_costs_from_allocno.
(assign_hard_reg): Call restore_costs_from_copies only for
!retry_p.  Pass new argument to update_costs_from_copies.
(color_pass): Pass new argument to update_costs_from_copies.
(ira_mark_allocation_change): Ditto.

From-SVN: r204245

10 years agore PR middle-end/58134 (-ftree-vectorizer-verbose=<n> shows vectorized loops only...
Sharad Singhai [Thu, 31 Oct 2013 01:01:40 +0000 (01:01 +0000)]
re PR middle-end/58134 (-ftree-vectorizer-verbose=<n> shows vectorized loops only for N== 1 and N >2 but not for N==2)

2013-10-30  Sharad Singhai  <singhai@google.com>

PR middle-end/58134
* opts.c (common_handle_option): Remove deprecated option
-ftree-vectorizer-verbose.
* doc/invoke.texi (Debugging Options): Ditto.
* opts-global.c (handle_common_deferred_options): Ditto.
(dump_remap_tree_vectorizer_verbose): Delete.
* common.opt: Set -ftree-vectorizer-verbose as an ignored option.

ada/ChangeLog
* gnat_ugn.texi: Remove option description for PR middle-end/58134.

From-SVN: r204244

10 years agorx.c (ADD_RX_BUILTIN0): New macro, used for builtins that take no arguments.
DJ Delorie [Thu, 31 Oct 2013 00:29:49 +0000 (20:29 -0400)]
rx.c (ADD_RX_BUILTIN0): New macro, used for builtins that take no arguments.

* config/rx/rx.c (ADD_RX_BUILTIN0): New macro, used for builtins
that take no arguments.

From-SVN: r204239

10 years agoDaily bump.
GCC Administrator [Thu, 31 Oct 2013 00:17:05 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r204238

10 years agore PR rtl-optimization/58545 (error: unable to find a register to spill in class...
Joern Rennecke [Wed, 30 Oct 2013 23:55:46 +0000 (23:55 +0000)]
re PR rtl-optimization/58545 (error: unable to find a register to spill in class 'POINTER_REGS')

gcc:
        PR other/58545
        * reload1.c (update_eliminables_and_spill): New function, broken
        out of reload.
        (reload): Use it.  Check for frame size change after frame
        size alignment, and call update_eliminables_and_spill first
        if continue-ing.
gcc/testsuite:
        PR other/58545
        * gcc.target/avr/pr58545.c: New test.

From-SVN: r204234

10 years agoFix for bug Bootstrap/58918.
Balaji V. Iyer [Wed, 30 Oct 2013 22:51:29 +0000 (22:51 +0000)]
Fix for bug Bootstrap/58918.

+2013-10-30  Balaji V. Iyer  <balaji.v.iyer@intel.com>
+
+       * configure: Reconfigured.
+       * configure.ac: Add AC_FUNC_ALLOCA.
+       * runtime/sysdep-unix.c: Added check for alloca.h before
+       including it.
+       * config/x86/cilk-abi-vla.c: Likewise.
+       * runtime/cilk_fiber-unix.cpp: Likewise.
+

From-SVN: r204232

10 years agopointer_partial_void.cc: Fix and enable VERIFY tests.
Jonathan Wakely [Wed, 30 Oct 2013 22:05:17 +0000 (22:05 +0000)]
pointer_partial_void.cc: Fix and enable VERIFY tests.

* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Fix
and enable VERIFY tests.

From-SVN: r204231

10 years agorevert: cilk-plus.exp: Add the libcilkrts library path to the compile flags.
Tobias Burnus [Wed, 30 Oct 2013 20:29:06 +0000 (21:29 +0100)]
revert: cilk-plus.exp: Add the libcilkrts library path to the compile flags.

2013-10-30  Tobias Burnus  <burnus@net-b.de>

        Revert:
        2013-10-30  Tobias Burnus  <burnus@net-b.de>
        * gcc.dg/cilk-plus/cilk-plus.exp: Add the libcilkrts library
        path to the compile flags.

From-SVN: r204230

10 years agore PR target/58762 ([missed optimization] Vectorizing abs(int).)
Cong Hou [Wed, 30 Oct 2013 20:01:47 +0000 (16:01 -0400)]
re PR target/58762 ([missed optimization] Vectorizing abs(int).)

2013-10-30  Cong Hou  <congh@google.com>

    PR target/58762
    * config/i386/i386-protos.h (ix86_expand_sse2_abs): New function.
    * config/i386/i386.c (ix86_expand_sse2_abs): New function.
    * config/i386/sse.md: Add SSE2 support to abs (8/16/32-bit-int).

2013-10-30  Cong Hou  <congh@google.com>

    * gcc.target/i386/vect-abs-s8.c: New test.
    * gcc.target/i386/vect-abs-s16.c: New test.
    * gcc.target/i386/vect-abs-s32.c: New test.

From-SVN: r204229

10 years agosemantics.c (finish_compound_literal): Don't create a static variable inside cp_uneva...
Jason Merrill [Wed, 30 Oct 2013 19:51:23 +0000 (15:51 -0400)]
semantics.c (finish_compound_literal): Don't create a static variable inside cp_unevaluated_operand.

* semantics.c (finish_compound_literal): Don't create a static variable
inside cp_unevaluated_operand.

From-SVN: r204228

10 years agocilk-plus.exp: Add the libcilkrts library path to the compile flags.
Tobias Burnus [Wed, 30 Oct 2013 19:51:17 +0000 (20:51 +0100)]
cilk-plus.exp: Add the libcilkrts library path to the compile flags.

2013-10-30  Tobias Burnus  <burnus@net-b.de>

        * gcc.dg/cilk-plus/cilk-plus.exp: Add the libcilkrts library
        path to the compile flags.

From-SVN: r204227

10 years ago* init.c (push_base_cleanups): Check ANON_AGGR_TYPE_P.
Jason Merrill [Wed, 30 Oct 2013 19:50:36 +0000 (15:50 -0400)]
* init.c (push_base_cleanups): Check ANON_AGGR_TYPE_P.

From-SVN: r204226

10 years agoshared_ptr (__shared_ptr): Assert non-void pointer.
Jonathan Wakely [Wed, 30 Oct 2013 19:48:52 +0000 (19:48 +0000)]
shared_ptr (__shared_ptr): Assert non-void pointer.

* include/bits/shared_ptr (__shared_ptr): Assert non-void pointer.
* include/bits/shared_ptr (default_delete): Likewise.
* testsuite/20_util/shared_ptr/cons/58839.cc: Do not use
default_delete<void>.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: New.
* testsuite/20_util/default_delete/void_neg.cc: New.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.

From-SVN: r204225

10 years agore PR rtl-optimization/58369 (ICE in subreg_get_info when compiling boost for m68k...
Jeff Law [Wed, 30 Oct 2013 19:21:27 +0000 (13:21 -0600)]
re PR rtl-optimization/58369 (ICE in subreg_get_info when compiling boost for m68k-linux)

PR rtl-optimization/58369
* reload1.c (compute_reload_subreg_offset): New function.
(choose_reload_regs): Use it to pass endian-correct
offset to subreg_regno_offset.

* PR rtl-optimization/58369
* g++.dg/torture/pr58369.C: New test.

From-SVN: r204224

10 years agore PR other/33426 (Support of #pragma ivdep)
Tobias Burnus [Wed, 30 Oct 2013 18:53:42 +0000 (19:53 +0100)]
re PR other/33426 (Support of #pragma ivdep)

2013-10-30  Tobias Burnus  <burnus@net-b.de>

gcc/cp/
        PR other/33426
        * cp-tree.h (RANGE_FOR_IVDEP): Define.
        (cp_convert_range_for, finish_while_stmt_cond, finish_do_stmt,
        finish_for_cond): Take 'bool ivdep' parameter.
        * cp-array-notation.c (create_an_loop): Update call.
        * init.c (build_vec_init): Ditto.
        * pt.c (tsubst_expr): Ditto.
        * parser.c (cp_parser_iteration_statement, cp_parser_for,
        cp_parser_range_for, cp_convert_range_for): Update calls.
        (cp_parser_pragma): Accept GCC ivdep for 'while' and 'do'.
        * semantics.c (finish_while_stmt_cond, finish_do_stmt,
        finish_for_cond): Optionally build ivdep annotation.

gcc/testsuite/
        PR other/33426
        * g++.dg/vect/pr33426-ivdep-2.cc: New.
        * g++.dg/vect/pr33426-ivdep-3.cc: New.
        * g++.dg/vect/pr33426-ivdep-4.cc: New.

gcc/
        PR other/33426
        * gcc/tree-cfg.c (replace_loop_annotate): Replace warning by
        warning_at.

From-SVN: r204223

10 years agore PR target/47754 ([missed optimization] AVX allows unaligned memory operands but...
Jakub Jelinek [Wed, 30 Oct 2013 17:59:44 +0000 (18:59 +0100)]
re PR target/47754 ([missed optimization] AVX allows unaligned memory operands but GCC uses unaligned load and register operand)

PR target/47754
* config/i386/i386.c (ix86_avx256_split_vector_move_misalign): If
op1 is misaligned_operand, just use *mov<mode>_internal insn
rather than UNSPEC_LOADU load.
(ix86_expand_vector_move_misalign): Likewise (for TARGET_AVX only).
Avoid gen_lowpart on op0 if it isn't MEM.

* gcc.target/i386/avx256-unaligned-load-1.c: Adjust scan-assembler
and scan-assembler-not regexps.
* gcc.target/i386/avx256-unaligned-load-2.c: Likewise.
* gcc.target/i386/avx256-unaligned-load-3.c: Likewise.
* gcc.target/i386/avx256-unaligned-load-4.c: Likewise.
* gcc.target/i386/l_fma_float_1.c: Use pattern for
scan-assembler-times instead of just one insn name.
* gcc.target/i386/l_fma_float_2.c: Likewise.
* gcc.target/i386/l_fma_float_3.c: Likewise.
* gcc.target/i386/l_fma_float_4.c: Likewise.
* gcc.target/i386/l_fma_float_5.c: Likewise.
* gcc.target/i386/l_fma_float_6.c: Likewise.
* gcc.target/i386/l_fma_double_1.c: Likewise.
* gcc.target/i386/l_fma_double_2.c: Likewise.
* gcc.target/i386/l_fma_double_3.c: Likewise.
* gcc.target/i386/l_fma_double_4.c: Likewise.
* gcc.target/i386/l_fma_double_5.c: Likewise.
* gcc.target/i386/l_fma_double_6.c: Likewise.

From-SVN: r204219

10 years ago* decl.c (cp_finish_decl): Never throw for VLA bound == 0.
Jason Merrill [Wed, 30 Oct 2013 17:30:10 +0000 (13:30 -0400)]
* decl.c (cp_finish_decl): Never throw for VLA bound == 0.

From-SVN: r204218

10 years agoMakefile.tpl (STAGE1_CONFIGURE_FLAGS): Pass --disable-build-format-warnings.
Jason Merrill [Wed, 30 Oct 2013 17:30:05 +0000 (13:30 -0400)]
Makefile.tpl (STAGE1_CONFIGURE_FLAGS): Pass --disable-build-format-warnings.

/
* Makefile.tpl (STAGE1_CONFIGURE_FLAGS): Pass
--disable-build-format-warnings.
gcc/
* configure.ac (loose_warn): Add -Wno-format if
--disable-build-format-warnings.

From-SVN: r204217

10 years agoSplit symtab_node declarations onto multiple lines
David Malcolm [Wed, 30 Oct 2013 15:58:45 +0000 (15:58 +0000)]
Split symtab_node declarations onto multiple lines

gcc/
* cgraphunit.c (analyze_functions): Split symtab_node
declarations onto multiple lines to make things easier
for rename_symtab.py.

* symtab.c (symtab_dissolve_same_comdat_group_list): Likewise.
(symtab_semantically_equivalent_p): Likewise.

gcc/lto
* lto-symtab.c (lto_symtab_merge_decls_2): Split symtab_node
declarations onto multiple lines to make things easier for
rename_symtab.py.
(lto_symtab_merge_decls_1): Likewise.
(lto_symtab_merge_symbols_1): Likewise.

From-SVN: r204216

10 years agore PR target/58784 ([ARM] LRA legitimate address issue with misalign neon_store)
Vladimir Makarov [Wed, 30 Oct 2013 15:04:39 +0000 (15:04 +0000)]
re PR target/58784 ([ARM] LRA legitimate address issue with misalign neon_store)

2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>

PR target/58784
* lra.c (check_rtl): Remove address check before LRA work.

2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>

PR target/58784
* gcc.target/arm/pr58784.c: New.

From-SVN: r204215

10 years agotree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for a POINTER_PLUS_EXPR in...
Marc Glisse [Wed, 30 Oct 2013 14:33:49 +0000 (15:33 +0100)]
tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for a POINTER_PLUS_EXPR in the defining statement.

2013-10-30  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* tree-ssa-alias.c (ao_ref_init_from_ptr_and_size): Look for a
POINTER_PLUS_EXPR in the defining statement.

gcc/testsuite/
* gcc.dg/tree-ssa/alias-24.c: New file.

From-SVN: r204213

10 years agoregmove.c: Remove.
Vladimir Makarov [Wed, 30 Oct 2013 14:27:25 +0000 (14:27 +0000)]
regmove.c: Remove.

2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>

* regmove.c: Remove.
* tree-pass.h (make_pass_regmove): Remove.
* timevar.def (TV_REGMOVE): Remove.
* passes.def (pass_regmove): Remove.
* opts.c (default_options_table): Remove entry for regmove.
* doc/passes.texi: Remove regmove pass description.
* doc/invoke.texi (-foptimize-register-move, -fregmove): Remove
options.
(-fdump-rtl-regmove): Ditto.
* common.opt (foptimize-register-move, fregmove): Ignore.
* Makefile.in (OBJS): Remove regmove.o.
* regmove.c: Remove.
* ira-int.h (struct ira_allocno_pref, ira_pref_t): New structure
and type.
(struct ira_allocno) New member allocno_prefs.
(ALLOCNO_PREFS): New macro.
(ira_prefs, ira_prefs_num): New external vars.
(ira_setup_alts, ira_get_dup_out_num, ira_debug_pref): New
prototypes.
(ira_debug_prefs, ira_debug_allocno_prefs, ira_create_pref):
Ditto.
(ira_add_allocno_pref, ira_remove_pref, ira_remove_allocno_prefs):
Ditto.
(ira_add_allocno_copy_to_list): Remove prototype.
(ira_swap_allocno_copy_ends_if_necessary): Ditto.
(ira_pref_iterator): New type.
(ira_pref_iter_init, ira_pref_iter_cond): New functions.
(FOR_EACH_PREF): New macro.
* ira.c (commutative_constraint_p): Move from ira-conflicts.c.
(ira_get_dup_out_num): Ditto. Rename from get_dup_num.  Modify the
code.
(ira_setup_alts): New function.
(decrease_live_ranges_number): New function.
(ira): Call the above function.
* ira-build.c (ira_prefs, ira_prefs_num): New global vars.
(ira_create_allocno): Initialize allocno prefs.
(pref_pool, pref_vec): New static vars.
(initiate_prefs, find_allocno_pref, ira_create_pref): New
functions.
(add_allocno_pref_to_list, ira_add_allocno_pref, print_pref): Ditto.
(ira_debug_pref, print_prefs, ira_debug_prefs): Ditto.
(print_allocno_prefs, ira_debug_allocno_prefs, finish_pref): Ditto.
(ira_remove_pref, ira_remove_allocno_prefs, finish_prefs): Ditto.
(ira_add_allocno_copy_to_list): Make static.  Rename to
add_allocno_copy_to_list.
(ira_swap_allocno_copy_ends_if_necessary): Make static.  Rename to
swap_allocno_copy_ends_if_necessary.
(remove_unnecessary_allocnos, remove_low_level_allocnos): Call
ira_remove_allocno_prefs.
(ira_flattening): Ditto.
(ira_build): Call initiate_prefs, print_prefs.
(ira_destroy): Call finish_prefs.
* ira-color.c (struct update_cost_record): New.
(struct allocno_color_data): Add new member update_cost_records.
(update_cost_record_pool): New static var.
(init_update_cost_records, get_update_cost_record): New functions.
(free_update_cost_record_list, finish_update_cost_records): Ditto.
(struct update_cost_queue_elem): Add member from.
(initiate_cost_update): Call init_update_cost_records.
(finish_cost_update): Call finish_update_cost_records.
(queue_update_cost, get_next_update_cost): Add new param from.
(Update_allocno_cost, update_costs_from_allocno): New functions.
(update_costs_from_prefs): Ditto.
(update_copy_costs): Rename to update_costs_from_copies.
(restore_costs_from_copies): New function.
(update_conflict_hard_regno_costs): Don't go back.
(assign_hard_reg): Call restore_costs_from_copies.  Add printing
more debug info.
(pop_allocnos): Add priniting more debug info.
(color_allocnos): Remove prefs for conflicting hard regs.
Call update_costs_from_prefs.
* ira-conflicts.c (commutative_constraint_p): Move to ira.c
(get_dup_num): Rename, modify, and move to ira.c
(process_regs_for_copy): Add prefs.
(add_insn_allocno_copies): Put src as first arg of
process_regs_for_copy.  Remove dead code.  Call ira_setup_alts.
* ira-costs.c (record_reg_classes): Modify and move code into
record_operands_costs.
(find_costs_and_classes): Create prefs for the hard reg of small
reg class.
(process_bb_node_for_hard_reg_moves): Add prefs.

2013-10-30  Vladimir Makarov  <vmakarov@redhat.com>

* gcc.target/i386/fma_double_3.c: Use pattern for
scan-assembler-times instead of just one insn name.
* gcc.target/i386/fma_double_5.c: Ditto.
* gcc.target/i386/fma_float_3.c: Ditto.
* gcc.target/i386/fma_float_5.c: Ditto.
* gcc.target/i386/l_fma_double_1.c: Ditto.
* gcc.target/i386/l_fma_double_2.c: Ditto.
* gcc.target/i386/l_fma_double_3.c: Ditto.
* gcc.target/i386/l_fma_double_4.c: Ditto.
* gcc.target/i386/l_fma_double_5.c: Ditto.
* gcc.target/i386/l_fma_double_6.c: Ditto.
* gcc.target/i386/l_fma_float_1.c: Ditto.
* gcc.target/i386/l_fma_float_2.c: Ditto.
* gcc.target/i386/l_fma_float_3.c: Ditto.
* gcc.target/i386/l_fma_float_4.c: Ditto.
* gcc.target/i386/l_fma_float_5.c: Ditto.
* gcc.target/i386/l_fma_float_6.c: Ditto.

From-SVN: r204212

10 years agore PR rtl-optimization/57100 (ICE: in pre_and_rev_post_order_compute, at cfganal...
Richard Biener [Wed, 30 Oct 2013 14:22:01 +0000 (14:22 +0000)]
re PR rtl-optimization/57100 (ICE: in pre_and_rev_post_order_compute, at cfganal.c:869 with -fdump-rtl-pro_and_epilogue-graph)

2013-10-30  Richard Biener  <rguenther@suse.de>

PR middle-end/57100
* basic-block.h (pre_and_rev_post_order_compute_fn): New function.
* cfganal.c (pre_and_rev_post_order_compute_fn): New function
as worker for ...
(pre_and_rev_post_order_compute): ... which now wraps it.
* graph.c (draw_cfg_nodes_no_loops): Use
pre_and_rev_post_order_compute_fn to avoid ICEing and dependence
on cfun.

From-SVN: r204211

10 years ago* cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
Jakub Jelinek [Wed, 30 Oct 2013 13:50:25 +0000 (14:50 +0100)]
* cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.

From-SVN: r204209

10 years agosh-mem.cc (sh_expand_cmpnstr): New function.
Christian Bruel [Wed, 30 Oct 2013 12:35:27 +0000 (13:35 +0100)]
sh-mem.cc (sh_expand_cmpnstr): New function.

2013-10-30  Christian Bruel  <christian.bruel@st.com>

* gcc/config/sh/sh-mem.cc (sh_expand_cmpnstr): New function.
(sh_expand_cmpstr): Handle known align and schedule improvements.
* gcc/config/sh/sh-protos.h (sh_expand_cmpstrn): Declare.
* gcc/config/sh/sh.md (cmpstrnsi): New pattern.

From-SVN: r204206

10 years agore PR rtl-optimization/10474 (shrink wrapping for functions)
Martin Jambor [Wed, 30 Oct 2013 12:01:46 +0000 (13:01 +0100)]
re PR rtl-optimization/10474 (shrink wrapping for functions)

2013-10-30  Martin Jambor  <mjambor@suse.cz>

PR rtl-optimization/10474
* ira.c (find_moveable_pseudos): Do not calculate dominance info
nor df analysis.
(interesting_dest_for_shprep): New function.
(split_live_ranges_for_shrink_wrap): Likewise.
(ira): Calculate dominance info and df analysis. 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: r204205

10 years agore PR target/58854 ("sub sp, fp, #40" hoisted above frame accesses)
Ramana Radhakrishnan [Wed, 30 Oct 2013 10:54:04 +0000 (10:54 +0000)]
re PR target/58854 ("sub sp, fp, #40" hoisted above frame accesses)

Fix PR target/58854

2013-10-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

PR target/58854
* config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit blockage.

From-SVN: r204203

10 years agoMinor tweaks
Eric Botcazou [Wed, 30 Oct 2013 10:36:49 +0000 (10:36 +0000)]
Minor tweaks

From-SVN: r204202

10 years agotree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.
Ilya Enkovich [Wed, 30 Oct 2013 09:09:44 +0000 (09:09 +0000)]
tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.

        * tree-core.h (tree_index): Add TI_POINTER_BOUNDS_TYPE.
        * tree.h (POINTER_BOUNDS_P): New.
        (BOUNDED_TYPE_P): New.
        (BOUNDED_P): New.
        (pointer_bounds_type_node): New.
        * tree.c (build_common_tree_nodes): Initialize
        pointer_bounds_type_node.
        * gimple.h (gimple_call_get_nobnd_arg_index): New.
        (gimple_call_num_nobnd_args): New.
        (gimple_call_nobnd_arg): New.
        (gimple_return_retbnd): New.
        (gimple_return_set_retbnd): New
        * gimple.c (gimple_build_return): Increase number of ops
        for return statement.
        (gimple_call_get_nobnd_arg_index): New.
        * gimple-pretty-print.c (dump_gimple_return): Print second op.

From-SVN: r204199

10 years agoipa.c (cgraph_build_static_cdtor_1): Support contructors with "chkp ctor" and "bnd_le...
Ilya Enkovich [Wed, 30 Oct 2013 09:08:14 +0000 (09:08 +0000)]
ipa.c (cgraph_build_static_cdtor_1): Support contructors with "chkp ctor" and "bnd_legacy" attributes.

        * ipa.c (cgraph_build_static_cdtor_1): Support contructors
        with "chkp ctor" and "bnd_legacy" attributes.
        * gimplify.c (gimplify_init_constructor): Avoid infinite
        loop during gimplification of bounds initializer.

From-SVN: r204198

10 years agoc-common.c (handle_bnd_variable_size_attribute): New.
Ilya Enkovich [Wed, 30 Oct 2013 09:07:24 +0000 (09:07 +0000)]
c-common.c (handle_bnd_variable_size_attribute): New.

        * c-family/c-common.c (handle_bnd_variable_size_attribute): New.
        (handle_bnd_legacy): New.
        (c_common_attribute_table): Add bnd_variable_size and bnd_legacy.
        * doc/extend.texi: Document bnd_variable_size and bnd_legacy
        attributes.

From-SVN: r204197

10 years agobuiltin-types.def (BT_FN_VOID_CONST_PTR): New.
Ilya Enkovich [Wed, 30 Oct 2013 09:06:20 +0000 (09:06 +0000)]
builtin-types.def (BT_FN_VOID_CONST_PTR): New.

        * builtin-types.def (BT_FN_VOID_CONST_PTR): New.
        (BT_FN_PTR_CONST_PTR): New.
        (BT_FN_CONST_PTR_CONST_PTR): New.
        (BT_FN_PTR_CONST_PTR_SIZE): New.
        (BT_FN_PTR_CONST_PTR_CONST_PTR): New.
        (BT_FN_VOID_PTRPTR_CONST_PTR): New.
        (BT_FN_VOID_CONST_PTR_SIZE): New.
        (BT_FN_PTR_CONST_PTR_CONST_PTR_SIZE): New.
        * chkp-builtins.def: New.
        * builtins.def: include chkp-builtins.def.
        (DEF_CHKP_BUILTIN): New.
        * builtins.c (expand_builtin): Support BUILT_IN_CHKP_INIT_PTR_BOUNDS,
        BUILT_IN_CHKP_NULL_PTR_BOUNDS, BUILT_IN_CHKP_COPY_PTR_BOUNDS,
        BUILT_IN_CHKP_CHECK_PTR_LBOUNDS, BUILT_IN_CHKP_CHECK_PTR_UBOUNDS,
        BUILT_IN_CHKP_CHECK_PTR_BOUNDS, BUILT_IN_CHKP_SET_PTR_BOUNDS,
        BUILT_IN_CHKP_NARROW_PTR_BOUNDS, BUILT_IN_CHKP_STORE_PTR_BOUNDS,
        BUILT_IN_CHKP_GET_PTR_LBOUND, BUILT_IN_CHKP_GET_PTR_UBOUND,
        BUILT_IN_CHKP_BNDMK, BUILT_IN_CHKP_BNDSTX, BUILT_IN_CHKP_BNDCL,
        BUILT_IN_CHKP_BNDCU, BUILT_IN_CHKP_BNDLDX, BUILT_IN_CHKP_BNDRET,
        BUILT_IN_CHKP_INTERSECT, BUILT_IN_CHKP_ARG_BND, BUILT_IN_CHKP_NARROW,
        BUILT_IN_CHKP_EXTRACT_LOWER, BUILT_IN_CHKP_EXTRACT_UPPER.
        * common.opt (fcheck-pointer-bounds): New.
        * toplev.c (process_options): Check Pointer Bounds Checker is supported.
        * doc/extend.texi: Document Pointer Bounds Checker built-in functions.

From-SVN: r204196

10 years agotarget.def (builtin_chkp_function): New.
Ilya Enkovich [Wed, 30 Oct 2013 08:57:50 +0000 (08:57 +0000)]
target.def (builtin_chkp_function): New.

        * target.def (builtin_chkp_function): New.
        (chkp_bound_type): New.
        (chkp_bound_mode): New.
        (fn_abi_va_list_bounds_size): New.
        (load_bounds_for_arg): New.
        (store_bounds_for_arg): New.
        * targhooks.h (default_load_bounds_for_arg): New.
        (default_store_bounds_for_arg): New.
        (default_fn_abi_va_list_bounds_size): New.
        (default_chkp_bound_type): New.
        (default_chkp_bound_mode): New.
        (default_builtin_chkp_function): New.
        * targhooks.c (default_load_bounds_for_arg): New.
        (default_store_bounds_for_arg): New.
        (default_fn_abi_va_list_bounds_size): New.
        (default_chkp_bound_type): New.
        (default_chkp_bound_mode); New.
        (default_builtin_chkp_function): New.
        * doc/tm.texi.in (TARGET_FN_ABI_VA_LIST_BOUNDS_SIZE): New.
        (TARGET_LOAD_BOUNDS_FOR_ARG): New.
        (TARGET_STORE_BOUNDS_FOR_ARG): New.
        (TARGET_BUILTIN_CHKP_FUNCTION): New.
        (TARGET_CHKP_BOUND_TYPE): New.
        (TARGET_CHKP_BOUND_MODE): New.
        * doc/tm.texi: Regenerated.
        * langhooks.h (lang_hooks): Add chkp_supported field.
        * langhooks-def.h (LANG_HOOKS_CHKP_SUPPORTED): New.
        (LANG_HOOKS_INITIALIZER); Add LANG_HOOKS_CHKP_SUPPORTED.

From-SVN: r204195