platform/upstream/gcc.git
10 years agore PR c++/60054 ([c++1y] ICE with auto* cast)
Paolo Carlini [Mon, 12 May 2014 09:17:46 +0000 (09:17 +0000)]
re PR c++/60054 ([c++1y] ICE with auto* cast)

2014-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60054
* g++.dg/cpp1y/pr60054.C: New.

From-SVN: r210323

10 years agoarm.h (License): Add GCC Runtime Library Exception.
Georg-Johann Lay [Mon, 12 May 2014 09:02:36 +0000 (09:02 +0000)]
arm.h (License): Add GCC Runtime Library Exception.

gcc/
* config/arm/arm.h (License): Add GCC Runtime Library Exception.
* config/arm/aout.h (License): Same.
* config/arm/bpabi.h (License): Same.
* config/arm/elf.h (License): Same.
* config/arm/linux-elf.h (License): Same.
* config/arm/linux-gas.h (License): Same.
* config/arm/netbsd-elf.h (License): Same.
* config/arm/uclinux-eabi.h (License): Same.
* config/arm/uclinux-elf.h (License): Same.
* config/arm/vxworks.h (License): Same.

libgcc/
* config/arm/bpabi-lib.h (License): Add GCC Runtime Library Exception.

From-SVN: r210322

10 years agore PR c++/51199 ([C++11][DR 547] gcc forms impossible types derived from function...
Paolo Carlini [Mon, 12 May 2014 08:42:41 +0000 (08:42 +0000)]
re PR c++/51199 ([C++11][DR 547] gcc forms impossible types derived from function types with cv-qualifier-seq)

2014-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51199
* g++.dg/template/pr51199.C: New.

From-SVN: r210321

10 years agoDaily bump.
GCC Administrator [Mon, 12 May 2014 00:17:17 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r210319

10 years ago* gcc.c-torture/execute/20101011-1.c [__MMIX__] (DO_TEST): Define as 0.
Hans-Peter Nilsson [Sun, 11 May 2014 20:48:31 +0000 (20:48 +0000)]
* gcc.c-torture/execute/20101011-1.c [__MMIX__] (DO_TEST): Define as 0.

From-SVN: r210315

10 years agotree.h (OMP_CLAUSE_LINEAR_STMT): Define.
Jakub Jelinek [Sun, 11 May 2014 20:26:36 +0000 (22:26 +0200)]
tree.h (OMP_CLAUSE_LINEAR_STMT): Define.

* tree.h (OMP_CLAUSE_LINEAR_STMT): Define.
* tree.c (omp_clause_num_ops): Increase OMP_CLAUSE_LINEAR
number of operands to 3.
(walk_tree_1): Walk all operands of OMP_CLAUSE_LINEAR.
* tree-nested.c (convert_nonlocal_omp_clauses,
convert_local_omp_clauses): Handle OMP_CLAUSE_DEPEND.
* gimplify.c (gimplify_scan_omp_clauses): Handle
OMP_CLAUSE_LINEAR_STMT.
* omp-low.c (lower_rec_input_clauses): Fix typo.
(maybe_add_implicit_barrier_cancel, lower_omp_1): Add
cast between Fortran boolean_type_node and C _Bool if
needed.
gcc/fortran/
* gfortran.h (gfc_statement): Add ST_OMP_CANCEL,
ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
ST_OMP_DECLARE_SIMD.
(gfc_omp_namelist): New typedef.
(gfc_get_omp_namelist): Define.
(OMP_LIST_UNIFORM, OMP_LIST_ALIGNED, OMP_LIST_LINEAR,
OMP_LIST_DEPEND_IN, OMP_LIST_DEPEND_OUT): New clause list kinds.
(gfc_omp_proc_bind_kind, gfc_omp_cancel_kind): New enums.
(gfc_omp_clauses): Change type of lists to gfc_omp_namelist *.
Add inbranch, notinbranch, cancel, proc_bind, safelen_expr and
simdlen_expr fields.
(gfc_omp_declare_simd): New typedef.
(gfc_get_omp_declare_simd): Define.
(gfc_namespace): Add omp_declare_simd field.
(gfc_exec_op): Add EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
EXEC_OMP_TASKGROUP, EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD and
EXEC_OMP_PARALLEL_DO_SIMD.
(gfc_omp_atomic_op): Add GFC_OMP_ATOMIC_MASK, GFC_OMP_ATOMIC_SEQ_CST
and GFC_OMP_ATOMIC_SWAP.
(gfc_code): Change type of omp_namelist field to gfc_omp_namelist *.
(gfc_free_omp_namelist, gfc_free_omp_declare_simd,
gfc_free_omp_declare_simd_list, gfc_resolve_omp_declare_simd): New
prototypes.
* trans-stmt.h (gfc_trans_omp_declare_simd): New prototype.
* symbol.c (gfc_free_namespace): Call gfc_free_omp_declare_simd.
* openmp.c (gfc_free_omp_clauses): Free safelen_expr and
simdlen_expr.  Use gfc_free_omp_namelist instead of
gfc_free_namelist.
(gfc_free_omp_declare_simd, gfc_free_omp_declare_simd_list): New
functions.
(gfc_match_omp_variable_list): Add end_colon, headp and
allow_sections arguments.  Handle parsing of array sections.
Use *omp_namelist* instead of *namelist* data structure and
functions/macros.  Allow termination at : character.
(OMP_CLAUSE_ALIGNED, OMP_CLAUSE_DEPEND, OMP_CLAUSE_INBRANCH,
OMP_CLAUSE_LINEAR, OMP_CLAUSE_NOTINBRANCH, OMP_CLAUSE_PROC_BIND,
OMP_CLAUSE_SAFELEN, OMP_CLAUSE_SIMDLEN, OMP_CLAUSE_UNIFORM): Define.
(gfc_match_omp_clauses): Change first and needs_space variables
into arguments with default values.  Parse inbranch, notinbranch,
proc_bind, safelen, simdlen, uniform, linear, aligned and
depend clauses.
(OMP_PARALLEL_CLAUSES): Add OMP_CLAUSE_PROC_BIND.
(OMP_DECLARE_SIMD_CLAUSES, OMP_SIMD_CLAUSES): Define.
(OMP_TASK_CLAUSES): Add OMP_CLAUSE_DEPEND.
(gfc_match_omp_do_simd): New function.
(gfc_match_omp_flush): Use *omp_namelist* instead of *namelist*
data structure and functions/macros.
(gfc_match_omp_simd, gfc_match_omp_declare_simd,
gfc_match_omp_parallel_do_simd): New functions.
(gfc_match_omp_atomic): Handle seq_cst clause.  Handle atomic swap.
(gfc_match_omp_taskgroup, gfc_match_omp_cancel_kind,
gfc_match_omp_cancel, gfc_match_omp_cancellation_point): New
functions.
(resolve_omp_clauses): Add where, omp_clauses and ns arguments.
Use *omp_namelist* instead of *namelist* data structure and
functions/macros.  Resolve uniform, aligned, linear, depend,
safelen and simdlen clauses.
(resolve_omp_atomic): Adjust for GFC_OMP_ATOMIC_{MASK,SEQ_CST,SWAP}
addition, recognize atomic swap.
(gfc_resolve_omp_parallel_blocks): Use gfc_omp_namelist instead
of gfc_namelist.  Handle EXEC_OMP_PARALLEL_DO_SIMD the same as
EXEC_OMP_PARALLEL_DO.
(gfc_resolve_do_iterator): Use *omp_namelist* instead of *namelist*
data structure and functions/macros.
(resolve_omp_do): Likewise.  Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD.
(gfc_resolve_omp_directive): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD and EXEC_OMP_CANCEL.  Adjust
resolve_omp_clauses caller.
(gfc_resolve_omp_declare_simd): New function.
* parse.c (decode_omp_directive): Parse cancellation point, cancel,
declare simd, end do simd, end simd, end parallel do simd,
end taskgroup, parallel do simd, simd and taskgroup directives.
(case_executable): Add ST_OMP_CANCEL and ST_OMP_CANCELLATION_POINT.
(case_exec_markers): Add ST_OMP_TASKGROUP, case ST_OMP_SIMD,
ST_OMP_DO_SIMD and ST_OMP_PARALLEL_DO_SIMD.
(case_decl): Add ST_OMP_DECLARE_SIMD.
(gfc_ascii_statement): Handle ST_OMP_CANCEL,
ST_OMP_CANCELLATION_POINT, ST_OMP_TASKGROUP, ST_OMP_END_TASKGROUP,
ST_OMP_SIMD, ST_OMP_END_SIMD, ST_OMP_DO_SIMD, ST_OMP_END_DO_SIMD,
ST_OMP_PARALLEL_DO_SIMD, ST_OMP_END_PARALLEL_DO_SIMD and
ST_OMP_DECLARE_SIMD.
(parse_omp_do): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD and
ST_OMP_PARALLEL_DO_SIMD.
(parse_omp_atomic): Adjust for GFC_OMP_ATOMIC_* additions.
(parse_omp_structured_block): Handle ST_OMP_TASKGROUP and
ST_OMP_PARALLEL_DO_SIMD.
(parse_executable): Handle ST_OMP_SIMD, ST_OMP_DO_SIMD,
ST_OMP_PARALLEL_DO_SIMD and ST_OMP_TASKGROUP.
* trans-decl.c (gfc_get_extern_function_decl,
gfc_create_function_decl): Call gfc_trans_omp_declare_simd if
needed.
* frontend-passes.c (gfc_code_walker): Handle EXEC_OMP_SIMD,
EXEC_OMP_DO_SIMD and EXEC_OMP_PARALLEL_DO_SIMD.  Walk
safelen_expr and simdlen_expr.  Walk expressions in gfc_omp_namelist
of depend, aligned and linear clauses.
* match.c (match_exit_cycle): Handle EXEC_OMP_SIMD, EXEC_OMP_DO_SIMD
and EXEC_OMP_PARALLEL_DO_SIMD.
(gfc_free_omp_namelist): New function.
* dump-parse-tree.c (show_namelist): Removed.
(show_omp_namelist): New function.
(show_omp_node): Handle OpenMP 4.0 additions.
(show_code_node): Handle EXEC_OMP_CANCEL, EXEC_OMP_CANCELLATION_POINT,
EXEC_OMP_DO_SIMD, EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and
EXEC_OMP_TASKGROUP.
* match.h (gfc_match_omp_cancel, gfc_match_omp_cancellation_point,
gfc_match_omp_declare_simd, gfc_match_omp_do_simd,
gfc_match_omp_parallel_do_simd, gfc_match_omp_simd,
gfc_match_omp_taskgroup): New prototypes.
* trans-openmp.c (gfc_trans_omp_variable): Add declare_simd
argument, handle it.  Allow current_function_decl to be NULL.
(gfc_trans_omp_variable_list): Add declare_simd argument, pass
it through to gfc_trans_omp_variable and disregard whether
sym is referenced if declare_simd is true.  Work on gfc_omp_namelist
instead of gfc_namelist.
(gfc_trans_omp_reduction_list): Work on gfc_omp_namelist instead of
gfc_namelist.  Adjust gfc_trans_omp_variable caller.
(gfc_trans_omp_clauses): Add declare_simd argument, pass it through
to gfc_trans_omp_variable{,_list} callers.  Work on gfc_omp_namelist
instead of gfc_namelist.  Handle inbranch, notinbranch, safelen,
simdlen, depend, uniform, linear, proc_bind and aligned clauses.
Handle cancel kind.
(gfc_trans_omp_atomic): Handle seq_cst clause, handle atomic swap,
adjust for GFC_OMP_ATOMIC_* changes.
(gfc_trans_omp_cancel, gfc_trans_omp_cancellation_point): New
functions.
(gfc_trans_omp_do): Add op argument, handle simd translation into
generic.
(GFC_OMP_SPLIT_SIMD, GFC_OMP_SPLIT_DO, GFC_OMP_SPLIT_PARALLEL,
GFC_OMP_SPLIT_NUM, GFC_OMP_MASK_SIMD, GFC_OMP_MASK_DO,
GFC_OMP_MASK_PARALLEL): New.
(gfc_split_omp_clauses, gfc_trans_omp_do_simd): New functions.
(gfc_trans_omp_parallel_do): Rework to use gfc_split_omp_clauses.
(gfc_trans_omp_parallel_do_simd, gfc_trans_omp_taskgroup): New
functions.
(gfc_trans_omp_directive): Handle EXEC_OMP_CANCEL,
EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
Adjust gfc_trans_omp_do caller.
(gfc_trans_omp_declare_simd): New function.
* st.c (gfc_free_statement): Handle EXEC_OMP_CANCEL,
EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
For EXEC_OMP_FLUSH call gfc_free_omp_namelist instead of
gfc_free_namelist.
* module.c (omp_declare_simd_clauses): New variable.
(mio_omp_declare_simd): New function.
(mio_symbol): Call it.
* trans.c (trans_code): Handle EXEC_OMP_CANCEL,
EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
* resolve.c (gfc_resolve_blocks): Handle EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
(resolve_code): Handle EXEC_OMP_CANCEL,
EXEC_OMP_CANCELLATION_POINT, EXEC_OMP_DO_SIMD,
EXEC_OMP_PARALLEL_DO_SIMD, EXEC_OMP_SIMD and EXEC_OMP_TASKGROUP.
(resolve_types): Call gfc_resolve_omp_declare_simd.
gcc/testsuite/
* gfortran.dg/gomp/affinity-1.f90: New test.
libgomp/
* testsuite/libgomp.fortran/cancel-do-1.f90: New test.
* testsuite/libgomp.fortran/cancel-do-2.f90: New test.
* testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
* testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
* testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
* testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
* testsuite/libgomp.fortran/declare-simd-1.f90: New test.
* testsuite/libgomp.fortran/declare-simd-2.f90: New test.
* testsuite/libgomp.fortran/declare-simd-3.f90: New test.
* testsuite/libgomp.fortran/depend-1.f90: New test.
* testsuite/libgomp.fortran/depend-2.f90: New test.
* testsuite/libgomp.fortran/omp_atomic5.f90: New test.
* testsuite/libgomp.fortran/simd1.f90: New test.
* testsuite/libgomp.fortran/simd2.f90: New test.
* testsuite/libgomp.fortran/simd3.f90: New test.
* testsuite/libgomp.fortran/simd4.f90: New test.
* testsuite/libgomp.fortran/taskgroup1.f90: New test.

From-SVN: r210313

10 years agore PR c/61136 (ice in tree_nop_conversion)
Richard Sandiford [Sun, 11 May 2014 20:21:55 +0000 (20:21 +0000)]
re PR c/61136 (ice in tree_nop_conversion)

gcc/
PR tree-optimization/61136
* wide-int.h (multiple_of_p): Define a version that doesn't return
the quotient.
* fold-const.c (extract_muldiv_1): Use wi::multiple_of_p instead of an
integer_zerop/const_binop pair.
(multiple_of_p): Likewise, converting both operands to widest_int
precision.

gcc/testsuite/
* gcc.dg/torture/pr61136.c: New test.

From-SVN: r210312

10 years agotrans-intrinsic.c (gfc_build_builtin_function_decls): Change type of second argument...
Tobias Burnus [Sun, 11 May 2014 18:25:55 +0000 (20:25 +0200)]
trans-intrinsic.c (gfc_build_builtin_function_decls): Change type of second argument to int.

2014-05-11  Tobias Burnus  <burnus@net-b.de>

       * trans-intrinsic.c (gfc_build_builtin_function_decls):
       Change type of second argument to int.

2014-05-11  Tobias Burnus  <burnus@net-b.de>

       * caf/libcaf.h (_gfortran_caf_num_images): Change type of
       second argument to int.
       * caf/mpi.c (_gfortran_caf_num_images): Ditto.
       * caf/single.c (_gfortran_caf_num_images): Ditto.

From-SVN: r210311

10 years agore PR c++/59705 (possible compiler bug regarding SFINAE (program compiles fine))
Paolo Carlini [Sun, 11 May 2014 10:23:34 +0000 (10:23 +0000)]
re PR c++/59705 (possible compiler bug regarding SFINAE (program compiles fine))

2014-05-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59705
* g++.dg/cpp0x/sfinae51.C: New.

PR c++/58353
* g++.dg/cpp0x/variadic157.C: New.

From-SVN: r210310

10 years agoDaily bump.
GCC Administrator [Sun, 11 May 2014 00:16:47 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r210305

10 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Sat, 10 May 2014 20:19:06 +0000 (20:19 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

gcc/testsuite/
PR target/51244
* gcc.target/sh/pr51244-14.c: Relax criteria for passing the test.

From-SVN: r210301

10 years agoc-parser.c (c_parser_declaration_or_fndef): Pass init_loc to maybe_warn_string_init.
Marek Polacek [Sat, 10 May 2014 20:03:57 +0000 (20:03 +0000)]
c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to maybe_warn_string_init.

* c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
maybe_warn_string_init.
(c_parser_postfix_expression_after_paren_type): Pass type_loc to
maybe_warn_string_init.
* c-tree.h (maybe_warn_string_init): Update declaration.
* c-typeck.c (maybe_warn_string_init): Add location parameter.
Call pedwarn_init with loc instead of with input_location.
(digest_init): Pass init_loc to maybe_warn_string_init.
(pop_init_level): Call pedwarn_init with loc instead of with
input_location.
(set_init_index): Likewise.
(process_init_element): Likewise.

* gcc.dg/pedwarn-init.c: New test.
* gcc.dg/init-string-1.c: Adjust dg-error.

From-SVN: r210300

10 years ago* lib/target-supports.exp
Hans-Peter Nilsson [Sat, 10 May 2014 11:58:57 +0000 (11:58 +0000)]
* lib/target-supports.exp
(check_effective_target_logical_op_short_circuit): Add mmix-*-*
to the list.

From-SVN: r210299

10 years agoDaily bump.
GCC Administrator [Sat, 10 May 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r210298

10 years agore PR c++/60463 (Lambda function can call a non-const member function with const...
Momchil Velikov [Fri, 9 May 2014 20:07:45 +0000 (20:07 +0000)]
re PR c++/60463 (Lambda function can call a non-const member function with const this)

PR c++/60463
PR c++/60755
* lambda.c (lambda_expr_this_capture): Add new parameter
add_capture_p controlling whether the functions will try to
capture 'this' via the default capture.
(maybe_resolve_dummy): Likewise.
* cp-tree.h: Adjust prototypes.
* call.c, semantics.c: Change callers of these functions.
* call.c (build_new_method_call_1): Use the actual 'this' that
would be potentially captured for the overload resolution, instead
of the dummy object.

From-SVN: r210292

10 years agoFix typo in ChangeLog-2013
Jonathan Wakely [Fri, 9 May 2014 19:39:20 +0000 (20:39 +0100)]
Fix typo in ChangeLog-2013

From-SVN: r210291

10 years agognu.ver (GLIBCXX_3.4.20): Correct regex_error export.
Jonathan Wakely [Fri, 9 May 2014 19:39:14 +0000 (20:39 +0100)]
gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.

* config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
(GLIBCXX_3.4.21): Export base object constructor for regex_error.
* acinclude.m4 (libtool_VERSION): Bump.
* configure: Regenerate.
* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
* testsuite/28_regex/regex_error/base.cc: New.

From-SVN: r210290

10 years agopt.c (convert_nontype_argument_function): Add tsubst_flags_t parameter.
Paolo Carlini [Fri, 9 May 2014 19:30:03 +0000 (19:30 +0000)]
pt.c (convert_nontype_argument_function): Add tsubst_flags_t parameter.

2014-05-09  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (convert_nontype_argument_function): Add tsubst_flags_t
parameter.
(convert_nontype_argument): Adjust calls.
(coerce_template_parameter_pack): Add missing complain & tf_error
check.

From-SVN: r210289

10 years agocgraphunit.c (analyze_functions): Use correct dump file.
Teresa Johnson [Fri, 9 May 2014 18:31:57 +0000 (18:31 +0000)]
cgraphunit.c (analyze_functions): Use correct dump file.

2014-05-09  Teresa Johnson  <tejohnson@google.com>

* cgraphunit.c (analyze_functions): Use correct dump file.

From-SVN: r210286

10 years agoDR 587 PR c++/51317
Jason Merrill [Fri, 9 May 2014 18:16:18 +0000 (14:16 -0400)]
DR 587 PR c++/51317

DR 587
PR c++/51317
* call.c (build_conditional_expr_1, conditional_conversion): Handle
non-class lvalues and xvalues that differ only in cv-qualifiers.

From-SVN: r210285

10 years agoDR 5 PR c++/60019
Jason Merrill [Fri, 9 May 2014 18:16:11 +0000 (14:16 -0400)]
DR 5 PR c++/60019

DR 5
PR c++/60019
* call.c (build_user_type_conversion_1): The copy-init temporary
is cv-unqualified.

From-SVN: r210284

10 years agore PR c++/58714 (Bogus overload resolution for the assignment operator in assignment...
Jason Merrill [Fri, 9 May 2014 18:16:05 +0000 (14:16 -0400)]
re PR c++/58714 (Bogus overload resolution for the assignment operator in assignment to a conditional)

PR c++/58714
* tree.c (stabilize_expr): A stabilized prvalue is an xvalue.

From-SVN: r210283

10 years agore PR c++/32019 (Conditional operator ?: and ambiguous convertions)
Jason Merrill [Fri, 9 May 2014 18:15:57 +0000 (14:15 -0400)]
re PR c++/32019 (Conditional operator ?: and ambiguous convertions)

PR c++/32019
* call.c (build_conditional_expr_1): Improve ambiguity diagnostic.

PR c++/54348
* call.c (build_conditional_expr_1): If overload resolution finds
no match, just say "different types".

From-SVN: r210282

10 years agore PR c++/22434 (ICE in simplify_{,gen_}subreg)
Jason Merrill [Fri, 9 May 2014 18:15:46 +0000 (14:15 -0400)]
re PR c++/22434 (ICE in simplify_{,gen_}subreg)

PR c++/22434
* call.c (build_conditional_expr_1): Don't try to pool cv-quals
if we didn't find a conversion.
Don't accept a bad conversion too early.

From-SVN: r210281

10 years agore PR c/61096 (error_init lacks a location)
Marek Polacek [Fri, 9 May 2014 17:50:25 +0000 (17:50 +0000)]
re PR c/61096 (error_init lacks a location)

PR c/61096
* c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
(c_parser_initelt): Pass location to set_init_label.  Pass array index
location to set_init_index.
* c-tree.h (push_init_level): Update declaration.
(pop_init_level): Likewise.
(set_init_index): Likewise.
(set_init_label): Likewise.
* c-typeck.c (error_init): Add location parameter.  Call error_at
instead of error.
(digest_init): Pass init_loc to error_init.
(really_start_incremental_init):
(push_init_level): Add location parameter.  Pass loc to pop_init_level
and error_init.
(pop_init_level): Likewise.
(set_designator): Add location parameter.  Pass loc to pop_init_level,
push_init_level, and error_init.
(set_init_index): Add location parameter.  Pass loc to error_init and
set_designator.
(set_init_label): Likewise.
(output_init_element): Pass loc to error_init.
(process_init_element): Pass loc to error_init, pop_init_level,
pedwarn_init, and push_init_level.

* gcc.dg/pr61096-1.c: New test.
* gcc.dg/pr61096-2.c: New test.

From-SVN: r210280

10 years agore PR fortran/61109 (ICE in fortran/trans-array.c on dimension 0 arrays)
Mike Stump [Fri, 9 May 2014 14:06:15 +0000 (14:06 +0000)]
re PR fortran/61109 (ICE in fortran/trans-array.c on dimension 0 arrays)

PR fortran/61109
        * trans-array.c (gfc_conv_array_initializer): Fix wide-int
conversion bug.

From-SVN: r210277

10 years agofixed date of changelog entry
Kenneth Zadeck [Fri, 9 May 2014 12:28:05 +0000 (12:28 +0000)]
fixed date of changelog entry

From-SVN: r210276

10 years ago-fstack-protector-strong: Instrumentation for return slots
Florian Weimer [Fri, 9 May 2014 12:23:46 +0000 (14:23 +0200)]
-fstack-protector-strong: Instrumentation for return slots

This patch fixes a loophole in the -fstack-protector-strong protection.
If a function call uses a return slot, the caller needs stack protector
instrumentation because the return slot is addressable.

gcc/

2014-05-09  Florian Weimer  <fweimer@redhat.com>

* cfgexpand.c (stack_protect_decl_p): New function, extracted from
expand_used_vars.
(stack_protect_return_slot_p): New function.
(expand_used_vars): Call stack_protect_decl_p and
stack_protect_return_slot_p for -fstack-protector-strong.

gcc/testsuite/

2014-05-09  Florian Weimer  <fweimer@redhat.com>

* gcc.dg/fstack-protector-strong.c: Add coverage for return slots.
* g++.dg/fstack-protector-strong.C: Likewise.
* gcc.target/i386/ssp-strong-reg.c: New file.

From-SVN: r210275

10 years agore PR middle-end/61111 (Infinite recursion between fold_build2_stat_loc and fold_bina...
Kenneth Zadeck [Fri, 9 May 2014 12:21:23 +0000 (12:21 +0000)]
re PR middle-end/61111 (Infinite recursion between fold_build2_stat_loc and fold_binary_loc)

2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>

PR middle-end/61111
* fold-const.c (fold_binary_loc): Changed width of mask.

From-SVN: r210274

10 years ago014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com> Andrew Haley...
David Wohlferd [Fri, 9 May 2014 12:15:41 +0000 (12:15 +0000)]
014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com> Andrew Haley...

014-05-09  David Wohlferd <LimeGreenSocks@yahoo.com>
Andrew Haley <aph@redhat.com>
Richard Sandiford <rdsandiford@googlemail.com>

* doc/extend.texi: Rewrite inline asm page / re-org asm-related
pages.

From-SVN: r210273

10 years agoavr-fixed.md (round<mode>3): Use -1U instead of -1 in unsigned int initializers for...
Georg-Johann Lay [Fri, 9 May 2014 12:11:30 +0000 (12:11 +0000)]
avr-fixed.md (round<mode>3): Use -1U instead of -1 in unsigned int initializers for regno_in, regno_out.

* config/avr/avr-fixed.md (round<mode>3): Use -1U instead of -1 in
unsigned int initializers for regno_in, regno_out.

From-SVN: r210272

10 years agore PR target/61055 ([avr] wrong test instruction after increment with -O1)
Georg-Johann Lay [Fri, 9 May 2014 11:20:43 +0000 (11:20 +0000)]
re PR target/61055 ([avr] wrong test instruction after increment with -O1)

gcc/config/avr
PR target/61055
* config/avr/avr.md (cc): Add new attribute set_vzn.
(addqi3, addqq3, adduqq3, subqi3, subqq3, subuqq3, negqi2) [cc]:
Set cc insn attribute to set_vzn instead of set_zn for alternatives
with INC, DEC or NEG.
* config/avr/avr.c (avr_notice_update_cc): Handle SET_VZN.
(avr_out_plus_1): ADIW sets cc0 to CC_SET_CZN.
INC, DEC and ADD+ADC set cc0 to CC_CLOBBER.

gcc/testsuite/
PR target/61055
* gcc.target/avr/torture/pr61055.c: New test.

From-SVN: r210267

10 years agofiles.c (find_file_in_dir): Always try to shorten for DOS non-system headers.
Joey Ye [Fri, 9 May 2014 08:50:22 +0000 (08:50 +0000)]
files.c (find_file_in_dir): Always try to shorten for DOS non-system headers.

2014-05-09  Joey Ye  <joey.ye@arm.com>

* files.c (find_file_in_dir): Always try to shorten for DOS
non-system headers.
* init.c (ENABLE_CANONICAL_SYSTEM_HEADERS): Default enabled for DOS.

From-SVN: r210264

10 years agoRevert wide-int change.
Ramana Radhakrishnan [Fri, 9 May 2014 08:32:37 +0000 (08:32 +0000)]
Revert wide-int change.

2014-05-09  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

Revert:
2014-05-08  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* wide-int.cc (UTItype): Define.
(UDWtype): Define for appropriate W_TYPE_SIZE.

From-SVN: r210263

10 years agore PR c/50459 (alignof doesn't work on plain old constant, works with expressions...
Marek Polacek [Fri, 9 May 2014 08:24:37 +0000 (08:24 +0000)]
re PR c/50459 (alignof doesn't work on plain old constant, works with expressions containing it)

PR c/50459
c-family/
* c-common.c (check_user_alignment): Return -1 if alignment is error
node.
(handle_aligned_attribute): Don't call default_conversion on
FUNCTION_DECLs.
(handle_vector_size_attribute): Likewise.
(handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
(handle_sentinel_attribute): Call default_conversion and allow even
integral types as an argument.
c/
* c-parser.c (c_parser_attributes): Parse the arguments as an
expression-list if the attribute takes identifier.
testsuite/
* c-c++-common/attributes-1.c: Move test line to a new test.
* c-c++-common/attributes-2.c: New test.
* c-c++-common/pr50459.c: New test.
* c-c++-common/pr59280.c: Add "undeclared" to dg-error.
* gcc.dg/nonnull-2.c: Likewise.
* gcc.dg/pr55570.c: Modify dg-error.
* gcc.dg/tm/wrap-2.c: Likewise.

From-SVN: r210262

10 years agoMakefile.in (GTFILES): Remove tree-ssa-propagate.c.
Richard Biener [Fri, 9 May 2014 07:49:18 +0000 (07:49 +0000)]
Makefile.in (GTFILES): Remove tree-ssa-propagate.c.

2014-05-09  Richard Biener  <rguenther@suse.de>

* Makefile.in (GTFILES): Remove tree-ssa-propagate.c.
* tree-ssa-propagate.c: Do not include gt-tree-ssa-propagate.h.
(interesting_ssa_edges, varying_ssa_edges): Move out of GC space.
(add_ssa_edge, process_ssa_edge_worklist, ssa_prop_init,
ssa_propagate): Adjust.

From-SVN: r210261

10 years agoconfig-list.mk (show): New target.
Jan-Benedict Glaw [Fri, 9 May 2014 07:25:21 +0000 (07:25 +0000)]
config-list.mk (show): New target.

2014-05-09  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

       * config-list.mk (show): New target.

From-SVN: r210260

10 years agommap.c (backtrace_free): If freeing a large aligned block of memory, call munmap...
Ian Lance Taylor [Fri, 9 May 2014 05:01:08 +0000 (05:01 +0000)]
mmap.c (backtrace_free): If freeing a large aligned block of memory, call munmap rather than holding onto it.

* mmap.c (backtrace_free): If freeing a large aligned block of
memory, call munmap rather than holding onto it.
(backtrace_vector_grow): When growing a vector, double the number
of pages requested.  When releasing the old version of a grown
vector, pass the correct size to backtrace_free.

From-SVN: r210256

10 years agore PR tree-optimization/61009 (Incorrect jump threading in dom)
Jeff Law [Fri, 9 May 2014 04:54:00 +0000 (22:54 -0600)]
re PR tree-optimization/61009 (Incorrect jump threading in dom)

2014-05-08  Jeff Law  <law@redhat.com>

PR tree-optimization/61009
* tree-ssa-threadedge.c (thread_through_normal_block): Return a
tri-state rather than a boolean.  When a block is too big to
thread through, inform caller via negative return value.
(thread_across_edge): If a block was too big for normal threading,
then it's too big for a joiner too, so remove temporary equivalences
and return immediately.

PR tree-optimization/61009
* g++.dg/tree-ssa/pr61009.C: New test.

From-SVN: r210254

10 years agoDaily bump.
GCC Administrator [Fri, 9 May 2014 00:16:56 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r210253

10 years agore PR driver/61106 ([4.8/4.9] impliedness of -Wunused-parameter depends on -W option...
Matthias Klose [Thu, 8 May 2014 22:17:43 +0000 (22:17 +0000)]
re PR driver/61106 ([4.8/4.9] impliedness of -Wunused-parameter depends on -W option ordering)

gcc/

2014-05-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
            Matthias Klose  <doko@ubuntu.com>

        PR driver/61106
        * optc-gen.awk: Fix option handling for -Wunused-parameter.

gcc/testsuite/

2014-05-08  Matthias Klose  <doko@ubuntu.com>

        PR driver/61106
        * gcc-dg/unused-8a.c: New.
        * gcc-dg/unused-8b.c: Likewise.

From-SVN: r210246

10 years agodg-extract-results.py: New file.
Richard Sandiford [Thu, 8 May 2014 20:24:33 +0000 (20:24 +0000)]
dg-extract-results.py: New file.

contrib/
* dg-extract-results.py: New file.
* dg-extract-results.sh: Use it if the environment seems suitable.

From-SVN: r210243

10 years agore PR libstdc++/61117 (Manual uses term open source but should say free software)
Joshua Gay [Thu, 8 May 2014 19:52:40 +0000 (19:52 +0000)]
re PR libstdc++/61117 (Manual uses term open source but should say free software)

2014-05-08  Joshua Gay  <jgay@gnu.org>

PR libstdc++/61117
* doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
source" with "free software".
* doc/html/faq.html: Likewise.

From-SVN: r210241

10 years agore PR target/59952 (-march=core-avx2 should not enable RTM)
Uros Bizjak [Thu, 8 May 2014 19:13:10 +0000 (21:13 +0200)]
re PR target/59952 (-march=core-avx2 should not enable RTM)

PR target/59952
* config/i386/i386.c (PTA_HASWELL): Remove PTA_RTM.

From-SVN: r210234

10 years agore PR target/61092 (wide-int merge broke alpha bootstrap)
Uros Bizjak [Thu, 8 May 2014 19:02:28 +0000 (21:02 +0200)]
re PR target/61092 (wide-int merge broke alpha bootstrap)

PR target/61092
* config/alpha/alpha.c: Include gimple-iterator.h.
(alpha_gimple_fold_builtin): New function.  Move
ALPHA_BUILTIN_UMULH folding from ...
(alpha_fold_builtin): ... here.
(TARGET_GIMPLE_FOLD_BUILTIN): New define.

From-SVN: r210233

10 years agoiostream: Fix URL in comment.
Jonathan Wakely [Thu, 8 May 2014 19:01:51 +0000 (20:01 +0100)]
iostream: Fix URL in comment.

* include/std/iostream: Fix URL in comment.
* src/c++98/ios_init.cc: Fix path in comment.

From-SVN: r210232

10 years agore PR libstdc++/13860 (Poor error messages on invalid template parameters for basic_f...
Jonathan Wakely [Thu, 8 May 2014 18:30:14 +0000 (19:30 +0100)]
re PR libstdc++/13860 (Poor error messages on invalid template parameters for basic_filebuf)

PR libstdc++/13860
* include/std/fstream (basic_filebuf): Enforce requirements on traits.

From-SVN: r210231

10 years agore PR c/61053 (_Alignas(long long) reduces alignment of long long)
Marek Polacek [Thu, 8 May 2014 18:19:09 +0000 (18:19 +0000)]
re PR c/61053 (_Alignas(long long) reduces alignment of long long)

PR c/61053
c-family/
* c-common.c (min_align_of_type): New function factored out from...
(c_sizeof_or_alignof_type): ...here.
* c-common.h (min_align_of_type): Declare.
c/
* c-decl.c (grokdeclarator): Use min_align_of_type instead of
TYPE_ALIGN_UNIT.
testsuite/
* gcc.dg/pr61053.c: New test.

From-SVN: r210230

10 years agore PR c/61077 (_Atomic in the return type or argument types of main not diagnosed)
Marek Polacek [Thu, 8 May 2014 17:42:09 +0000 (17:42 +0000)]
re PR c/61077 (_Atomic in the return type or argument types of main not diagnosed)

PR c/61077
c-family/
* c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
parameter type of main.
c/
* c-decl.c (start_function): Warn for _Atomic-qualified return type
of main.
testsuite/
* gcc.dg/pr61077.c: New test.

From-SVN: r210229

10 years agore PR libstdc++/57394 ([C++11] basic_streambuf incorrect copy constructor / copy...
Jonathan Wakely [Thu, 8 May 2014 17:17:06 +0000 (18:17 +0100)]
re PR libstdc++/57394 ([C++11] basic_streambuf incorrect copy constructor / copy assignment access specifier)

PR libstdc++/57394
* include/bits/ios_base.h (ios_base(const ios_base&)): Define as
deleted for C++11.
(operator=(const ios_base&)): Likewise.
* include/std/streambuf: Remove trailing whitespace.
(basic_streambuf(const basic_streambuf&)): Fix initializer for
_M_out_end. Define as defaulted for C++11.
(operator=(const basic_streambuf&)): Define as defaulted for C++11.
(swap(basic_streambuf&)): Define for C++11.
* testsuite/27_io/basic_streambuf/cons/57394.cc: New.

From-SVN: r210228

10 years agogfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET and GFC_ISYM_CAF_SEND.
Tobias Burnus [Thu, 8 May 2014 17:00:07 +0000 (19:00 +0200)]
gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET and GFC_ISYM_CAF_SEND.

2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * gfortran.h (gfc_isym_id): Add GFC_ISYM_CAF_GET
        and GFC_ISYM_CAF_SEND.
        * intrinsic.c (add_functions): Add only internally
        accessible caf_get and caf_send functions.
        * resolve.c (add_caf_get_intrinsic,
        remove_caf_get_intrinsic): New functions.
        (resolve_variable): Resolve expression rank and
        prepare for add_caf_get_intrinsic call.
        (gfc_resolve_expr): For variables, remove rank
        resolution.
        (resolve_ordinary_assign): Prepare call to
        GFC_ISYM_CAF_SEND.
        (resolve_code): Avoid call to GFC_ISYM_CAF_GET for
        the LHS of an assignment.

From-SVN: r210225

10 years agotrans-intrinsic.c (conv_co_minmaxsum): Change condition style.
Tobias Burnus [Thu, 8 May 2014 16:57:42 +0000 (18:57 +0200)]
trans-intrinsic.c (conv_co_minmaxsum): Change condition style.

2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * trans-intrinsic.c (conv_co_minmaxsum): Change condition style.

From-SVN: r210224

10 years agocheck.c (check_co_minmaxsum, [...]): New.
Tobias Burnus [Thu, 8 May 2014 16:55:23 +0000 (18:55 +0200)]
check.c (check_co_minmaxsum, [...]): New.

gcc/fortran/
2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * check.c (check_co_minmaxsum, gfc_check_co_minmax,
        gfc_check_co_sum): New.
        * error.c (gfc_notify_std): Update -std=f2008ts.
        * gfortran.h (gfc_isym_id): Add GFC_ISYM_CO_MAX,
        GFC_ISYM_CO_MIN, GFC_ISYM_CO_SUM.
        * intrinsic.h (gfc_check_co_minmax,
        gfc_check_co_sum): Declare.
        * intrinsic.c (add_subroutines): Add co_min, co_max
        and co_sum.
        (gfc_check_intrinsic_standard): Update text for
        -std=f2008ts.
        * intrinsic.texi (CO_MIN, CO_MAX, CO_SUM): Document
        them.
        * invoke.texi (-std=f2008ts): Update wording.
        * trans.h (gfor_fndecl_co_max,
        gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
        * trans-decl.c (gfor_fndecl_co_max,
        gfor_fndecl_co_min, gfor_fndecl_co_sum): Define.
        (gfc_build_builtin_function_decls): Assign to it.
        * trans-intrinsic.c (conv_co_minmaxsum): New.
        (gfc_conv_intrinsic_subroutine): Call it.

libgfortran/
2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * caf/libcaf.h (caf_vector_t, _gfortran_caf_co_sum,
        _gfortran_caf_co_min, _gfortran_caf_co_max): Declare
        * caf/single.c

gcc/testsuite/
2014-05-08  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/coarray_collectives_1.f90: New.
        * gfortran.dg/coarray_collectives_2.f90: New.
        * gfortran.dg/coarray_collectives_3.f90: New.
        * gfortran.dg/coarray_collectives_4.f90: New.
        * gfortran.dg/coarray_collectives_5.f90: New.
        * gfortran.dg/coarray_collectives_6.f90: New.
        * gfortran.dg/coarray/collectives_1.f90: New.
        * gfortran.dg/assumed_rank_5.f90: Update dg-error.
        * gfortran.dg/assumed_type_4.f90: Update dg-error.
        * gfortran.dg/bind_c_array_params.f03: Update dg-error.
        * gfortran.dg/bind_c_usage_28.f90: Update dg-error.
        * gfortran.dg/c_funloc_tests_5.f03: Update dg-error.
        * gfortran.dg/c_funloc_tests_6.f90: Update dg-error.
        * gfortran.dg/c_loc_tests_11.f03: Update dg-error.

From-SVN: r210223

10 years agore PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)
Wei Mi [Thu, 8 May 2014 16:44:52 +0000 (16:44 +0000)]
re PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64)

gcc/
2014-05-08  Wei Mi  <wmi@google.com>

PR target/58066
* config/i386/i386.c (ix86_compute_frame_layout):
Update preferred_stack_boundary for call, expanded from
tls descriptor.
* config/i386/i386.md:
(*tls_global_dynamic_32_gnu): Update RTX to depend on
SP register.
(*tls_local_dynamic_base_32_gnu): Ditto.
(*tls_local_dynamic_32_once): Ditto.
(tls_global_dynamic_64_<mode>): Set
ix86_tls_descriptor_calls_expanded_in_cfun.
(tls_local_dynamic_base_64_<mode>): Ditto.
(tls_global_dynamic_32): Set
ix86_tls_descriptor_calls_expanded_in_cfun. Update RTX
to depend on SP register.
(tls_local_dynamic_base_32): Ditto.

gcc/testsuite/
2014-05-08  Wei Mi  <wmi@google.com>

PR target/58066
* gcc.target/i386/pr58066.c: New test.

From-SVN: r210222

10 years agoavx256-unaligned-load-2.c, [...]: Allow packed-single instructions.
Joseph Myers [Thu, 8 May 2014 15:39:32 +0000 (16:39 +0100)]
avx256-unaligned-load-2.c, [...]: Allow packed-single instructions.

* gcc.target/i386/avx256-unaligned-load-2.c,
gcc.target/i386/pr49002-1.c, gcc.target/i386/pr53712.c,
gcc.target/i386/pr53907.c, gcc.target/i386/pr59539-1.c: Allow
packed-single instructions.

From-SVN: r210220

10 years agoNeon intrinsics TLC - remove ML
Ramana Radhakrishnan [Thu, 8 May 2014 14:35:40 +0000 (14:35 +0000)]
Neon intrinsics TLC - remove ML

2014-05-08  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm_neon.h: Update comment.
* config/arm/neon-docgen.ml: Delete.
* config/arm/neon-gen.ml: Delete.
* doc/arm-neon-intrinsics.texi: Update comment.

From-SVN: r210219

10 years agoNeon intrinsics TLC - remove dead code.
Ramana Radhakrishnan [Thu, 8 May 2014 14:33:05 +0000 (14:33 +0000)]
Neon intrinsics TLC - remove dead code.

2014-05-08  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm_neon_builtins.def (vadd, vsub): Only define the v2sf
and v4sf versions.
(vand, vorr, veor, vorn, vbic): Remove.
* config/arm/neon.md (neon_vadd, neon_vsub, neon_vadd_unspec): Adjust
iterator.
(neon_vsub_unspec): Likewise.
(neon_vorr, neon_vand, neon_vbic, neon_veor, neon_vorn): Remove.

From-SVN: r210218

10 years agore PR c++/13981 (Give message about incomplete class that might be implicitly upcasted.)
Paolo Carlini [Thu, 8 May 2014 14:30:56 +0000 (14:30 +0000)]
re PR c++/13981 (Give message about incomplete class that might be implicitly upcasted.)

/cp
2014-05-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/13981
* typeck.c (convert_for_assignment): Provide an inform for pointers
to incomplete class types.

/testsuite
2014-05-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/13981
* g++.dg/diagnostic/pr13981.C: New.

From-SVN: r210217

10 years agoNeon intrinsics TLC - Replace intrinsics with GNU C implementations.
Ramana Radhakrishnan [Thu, 8 May 2014 14:30:10 +0000 (14:30 +0000)]
Neon intrinsics TLC - Replace intrinsics with GNU C implementations.

2014-05-08  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* config/arm/arm_neon.h (vadd_s8): GNU C implementation
(vadd_s16): Likewise.
(vadd_s32): Likewise.
(vadd_f32): Likewise.
(vadd_u8): Likewise.
(vadd_u16): Likewise.
(vadd_u32): Likewise.
(vadd_s64): Likewise.
(vadd_u64): Likewise.
(vaddq_s8): Likewise.
(vaddq_s16): Likewise.
(vaddq_s32): Likewise.
(vaddq_s64): Likewise.
(vaddq_f32): Likewise.
(vaddq_u8): Likewise.
(vaddq_u16): Likewise.
(vaddq_u32): Likewise.
(vaddq_u64): Likewise.
(vmul_s8): Likewise.
(vmul_s16): Likewise.
(vmul_s32): Likewise.
(vmul_f32): Likewise.
(vmul_u8): Likewise.
(vmul_u16): Likewise.
(vmul_u32): Likewise.
(vmul_p8): Likewise.
(vmulq_s8): Likewise.
(vmulq_s16): Likewise.
(vmulq_s32): Likewise.
(vmulq_f32): Likewise.
(vmulq_u8): Likewise.
(vmulq_u16): Likewise.
(vmulq_u32): Likewise.
(vsub_s8): Likewise.
(vsub_s16): Likewise.
(vsub_s32): Likewise.
(vsub_f32): Likewise.
(vsub_u8): Likewise.
(vsub_u16): Likewise.
(vsub_u32): Likewise.
(vsub_s64): Likewise.
(vsub_u64): Likewise.
(vsubq_s8): Likewise.
(vsubq_s16): Likewise.
(vsubq_s32): Likewise.
(vsubq_s64): Likewise.
(vsubq_f32): Likewise.
(vsubq_u8): Likewise.
(vsubq_u16): Likewise.
(vsubq_u32): Likewise.
(vsubq_u64): Likewise.
(vand_s8): Likewise.
(vand_s16): Likewise.
(vand_s32): Likewise.
(vand_u8): Likewise.
(vand_u16): Likewise.
(vand_u32): Likewise.
(vand_s64): Likewise.
(vand_u64): Likewise.
(vandq_s8): Likewise.
(vandq_s16): Likewise.
(vandq_s32): Likewise.
(vandq_s64): Likewise.
(vandq_u8): Likewise.
(vandq_u16): Likewise.
(vandq_u32): Likewise.
(vandq_u64): Likewise.
(vorr_s8): Likewise.
(vorr_s16): Likewise.
(vorr_s32): Likewise.
(vorr_u8): Likewise.
(vorr_u16): Likewise.
(vorr_u32): Likewise.
(vorr_s64): Likewise.
(vorr_u64): Likewise.
(vorrq_s8): Likewise.
(vorrq_s16): Likewise.
(vorrq_s32): Likewise.
(vorrq_s64): Likewise.
(vorrq_u8): Likewise.
(vorrq_u16): Likewise.
(vorrq_u32): Likewise.
(vorrq_u64): Likewise.
(veor_s8): Likewise.
(veor_s16): Likewise.
(veor_s32): Likewise.
(veor_u8): Likewise.
(veor_u16): Likewise.
(veor_u32): Likewise.
(veor_s64): Likewise.
(veor_u64): Likewise.
(veorq_s8): Likewise.
(veorq_s16): Likewise.
(veorq_s32): Likewise.
(veorq_s64): Likewise.
(veorq_u8): Likewise.
(veorq_u16): Likewise.
(veorq_u32): Likewise.
(veorq_u64): Likewise.
(vbic_s8): Likewise.
(vbic_s16): Likewise.
(vbic_s32): Likewise.
(vbic_u8): Likewise.
(vbic_u16): Likewise.
(vbic_u32): Likewise.
(vbic_s64): Likewise.
(vbic_u64): Likewise.
(vbicq_s8): Likewise.
(vbicq_s16): Likewise.
(vbicq_s32): Likewise.
(vbicq_s64): Likewise.
(vbicq_u8): Likewise.
(vbicq_u16): Likewise.
(vbicq_u32): Likewise.
(vbicq_u64): Likewise.
(vorn_s8): Likewise.
(vorn_s16): Likewise.
(vorn_s32): Likewise.
(vorn_u8): Likewise.
(vorn_u16): Likewise.
(vorn_u32): Likewise.
(vorn_s64): Likewise.
(vorn_u64): Likewise.
(vornq_s8): Likewise.
(vornq_s16): Likewise.
(vornq_s32): Likewise.
(vornq_s64): Likewise.
(vornq_u8): Likewise.
(vornq_u16): Likewise.
(vornq_u32): Likewise.
(vornq_u64): Likewise.

From-SVN: r210216

10 years agoDefine UDWtype for longlong.h inclusion in wide-int.cc
Ramana Radhakrishnan [Thu, 8 May 2014 14:23:11 +0000 (14:23 +0000)]
Define UDWtype for longlong.h inclusion in wide-int.cc

2014-05-08  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

* wide-int.cc (UTItype): Define.
  (UDWtype): Define for appropriate W_TYPE_SIZE.

From-SVN: r210215

10 years agore PR tree-optimization/59100 (requesting optimization of safe rotate function)
Marc Glisse [Thu, 8 May 2014 13:17:01 +0000 (15:17 +0200)]
re PR tree-optimization/59100 (requesting optimization of safe rotate function)

2014-05-08  Marc Glisse  <marc.glisse@inria.fr>

PR tree-optimization/59100
gcc/
* tree-ssa-phiopt.c: Include tree-inline.h.
(neutral_element_p, absorbing_element_p): New functions.
(value_replacement): Handle conditional binary operations with a
neutral or absorbing element.
gcc/testsuite/
* gcc.dg/tree-ssa/phi-opt-12.c: New file.
* gcc.dg/tree-ssa/phi-opt-13.c: Likewise.

From-SVN: r210212

10 years agotree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before folding the expression.
Richard Biener [Thu, 8 May 2014 12:39:07 +0000 (12:39 +0000)]
tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before folding the expression.

2014-05-08  Richard Biener  <rguenther@suse.de>

* tree-ssa-sccvn.c (vn_get_expr_for): Valueize operands before
folding the expression.
(valueize_expr): Remove.
(visit_reference_op_load): Do not valueize the result of
vn_get_expr_for.
(simplify_binary_expression): Likewise.
(simplify_unary_expression): Likewise.

From-SVN: r210211

10 years agoDon't build libgcc-unwind.map with --disable-shared (PR libgcc/61097)
Rainer Orth [Thu, 8 May 2014 12:11:14 +0000 (12:11 +0000)]
Don't build libgcc-unwind.map with --disable-shared (PR libgcc/61097)

PR libgcc/61097
* config/t-slibgcc-sld: Only build and install libgcc-unwind.map
if --enable-shared.

From-SVN: r210210

10 years agogimplify.c (gimplify_call_expr): Use saved fnptrtype for looking at TYPE_ARG_TYPES.
Richard Biener [Thu, 8 May 2014 10:57:53 +0000 (10:57 +0000)]
gimplify.c (gimplify_call_expr): Use saved fnptrtype for looking at TYPE_ARG_TYPES.

2014-05-08  Richard Biener  <rguenther@suse.de>

* gimplify.c (gimplify_call_expr): Use saved fnptrtype for
looking at TYPE_ARG_TYPES.

From-SVN: r210209

10 years agogimple-fold.c (gimple_fold_stmt_to_constant_1): Remove pointer propagation special...
Richard Biener [Thu, 8 May 2014 10:19:17 +0000 (10:19 +0000)]
gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove pointer propagation special-case.

2014-05-08  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
pointer propagation special-case.

From-SVN: r210208

10 years agoacinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
Paolo Carlini [Thu, 8 May 2014 09:34:49 +0000 (09:34 +0000)]
acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.

2014-05-08  Paolo Carlini  <paolo.carlini@oracle.com>

* acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
* configure: Regenerate.

From-SVN: r210206

10 years agocp-demangle.c (struct d_component_stack): New structure.
Gary Benson [Thu, 8 May 2014 09:13:44 +0000 (09:13 +0000)]
cp-demangle.c (struct d_component_stack): New structure.

libiberty/
2014-05-08  Gary Benson  <gbenson@redhat.com>

* cp-demangle.c (struct d_component_stack): New structure.
(struct d_print_info): New field component_stack.
(d_print_init): Initialize the above.
(d_print_comp_inner): Renamed from d_print_comp.
Do not restore template stack if it would cause a loop.
(d_print_comp): New function.
* testsuite/demangle-expected: New test cases.

From-SVN: r210205

10 years agotree-affine.c (tree_to_aff_combination): Handle MEM_REF for core part of address...
Bin Cheng [Thu, 8 May 2014 09:00:42 +0000 (09:00 +0000)]
tree-affine.c (tree_to_aff_combination): Handle MEM_REF for core part of address expressions.

* tree-affine.c (tree_to_aff_combination): Handle MEM_REF for
core part of address expressions.

From-SVN: r210204

10 years agore PR sanitizer/61095 (miscompile: tsan is broken in gcc trunk, works in 4.9)
Richard Sandiford [Thu, 8 May 2014 08:00:21 +0000 (08:00 +0000)]
re PR sanitizer/61095 (miscompile: tsan is broken in gcc trunk, works in 4.9)

gcc/testsuite/
PR tree-optimization/61095
* gcc.dg/torture/pr61095.c: New test.

From-SVN: r210203

10 years agoc-cppbuiltin.c (print_bits_of_hex): New.
DJ Delorie [Thu, 8 May 2014 03:08:12 +0000 (23:08 -0400)]
c-cppbuiltin.c (print_bits_of_hex): New.

* c-cppbuiltin.c (print_bits_of_hex): New.
(builtin_define_type_minmax): Print values using hex so as not to
require a pre-computed list of string values.

From-SVN: r210202

10 years agore PR target/60737 (rs6000 expand_block_clear uses word stores on double word pointer)
Alan Modra [Thu, 8 May 2014 02:05:19 +0000 (11:35 +0930)]
re PR target/60737 (rs6000 expand_block_clear uses word stores on double word pointer)

PR target/60737
* config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
loads and stores when -mno-strict-align at any alignment.
(expand_block_clear): Similarly.  Also correct calculation of
instruction count.

From-SVN: r210201

10 years agore PR middle-end/39246 (FAIL: gcc.dg/uninit-13.c)
Thomas Preud'homme [Thu, 8 May 2014 01:23:01 +0000 (01:23 +0000)]
re PR middle-end/39246 (FAIL: gcc.dg/uninit-13.c)

2014-05-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

        PR middle-end/39246
        * tree-complex.c (expand_complex_move): Keep line info when expanding
        complex move.
        * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
        of complex expression. Use new argument to display correct location
        for values coming from phi statement.
        (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
        (warn_uninitialized_phi): Pass location of phi argument to
        warn_uninit.
        * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
        COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.

testsuite:

        * gcc.dg/uninit-13.c: Move warning on the actual source line where
        the uninitialized complex is used.
        * gcc.dg/uninit-17.c: New test to check partial initialization of
        complex with branches.
        * gcc.dg/uninit-17-O0.c: Likewise.

From-SVN: r210200

10 years agore PR middle-end/39246 (FAIL: gcc.dg/uninit-13.c)
Thomas Preud'homme [Thu, 8 May 2014 01:20:17 +0000 (01:20 +0000)]
re PR middle-end/39246 (FAIL: gcc.dg/uninit-13.c)

2014-05-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

        PR middle-end/39246
        * tree-complex.c (expand_complex_move): Keep line info when expanding
        complex move.
        * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
        of complex expression. Use new argument to display correct location
        for values coming from phi statement.
        (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
        (warn_uninitialized_phi): Pass location of phi argument to
        warn_uninit.
        * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
        COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.

testsuite:

        * gcc.dg/uninit-13.c: Move warning on the actual source line where
        the uninitialized complex is used.
        * gcc.dg/uninit-17.c: New test to check partial initialization of
        complex with branches.
        * gcc.dg/uninit-17-O0.c: Likewise.

From-SVN: r210199

10 years agore PR middle-end/39246 (FAIL: gcc.dg/uninit-13.c)
Thomas Preud'homme [Thu, 8 May 2014 01:19:11 +0000 (01:19 +0000)]
re PR middle-end/39246 (FAIL: gcc.dg/uninit-13.c)

2014-05-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

        PR middle-end/39246
        * tree-complex.c (expand_complex_move): Keep line info when expanding
        complex move.
        * tree-ssa-uninit.c (warn_uninit): New argument. Ignore assignment
        of complex expression. Use new argument to display correct location
        for values coming from phi statement.
        (warn_uninitialized_vars): Adapt to new signature of warn_uninit.
        (warn_uninitialized_phi): Pass location of phi argument to
        warn_uninit.
        * tree-ssa.c (ssa_undefined_value_p): For SSA_NAME initialized by a
        COMPLEX_EXPR, recurse on each part of the COMPLEX_EXPR.

testsuite:

        * gcc.dg/uninit-13.c: Move warning on the actual source line where
        the uninitialized complex is used.
        * gcc.dg/uninit-17.c: New test to check partial initialization of
        complex with branches.
        * gcc.dg/uninit-17-O0.c: Likewise.

From-SVN: r210198

10 years agoDaily bump.
GCC Administrator [Thu, 8 May 2014 00:16:57 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r210197

10 years agomksysinfo: Define some more non-trivial TIOC constants.
Ian Lance Taylor [Wed, 7 May 2014 22:22:29 +0000 (22:22 +0000)]
mksysinfo: Define some more non-trivial TIOC constants.

From-SVN: r210192

10 years agors6000: New attributes for load/store: "sign_extend", "update" and "indexed"
Segher Boessenkool [Wed, 7 May 2014 22:00:58 +0000 (00:00 +0200)]
rs6000: New attributes for load/store: "sign_extend", "update" and "indexed"

The new attributes replace the instruction types *_ext*, *_u, *_ux.

This simplifies all code that does not care about the addressing modes,
putting the burden on the code that does care (mostly the scheduling
descriptions for certain CPUs).

It fixes a few minor bugs in the process.

The "update" and "indexed" attributes are automatic for any insn that
has a MEM as operand 0 or 1.  Other insns have to set it manually, if
they do not like the default (which is "no").  Insns that are type
load/store/fpload/fpstore but have fewer than two operands need to set
it too, or the compiler will crash.  There are very few of those.

This tries not to change semantics anywhere; in particular, the string
and multiple instructions set both "update" and "indexed" (although
they are neither).

From-SVN: r210190

10 years agomksysinfo: Define CLONE flags.
Ian Lance Taylor [Wed, 7 May 2014 21:48:29 +0000 (21:48 +0000)]
mksysinfo: Define CLONE flags.

From-SVN: r210189

10 years agore PR target/60884 ([SH] improve inlined strlen-like builtin functions)
Oleg Endo [Wed, 7 May 2014 20:08:23 +0000 (20:08 +0000)]
re PR target/60884 ([SH] improve inlined strlen-like builtin functions)

gcc/
PR target/60884
* config/sh/sh-mem.cc (sh_expand_strlen): Use loop when emitting
unrolled byte insns.  Emit address increments after move insns.

gcc/testsuite/
PR target/60884
* gcc.target/sh/pr53976-1.c (test_02): Remove inappropriate test case.
(test_03): Rename to test_02.

From-SVN: r210187

10 years agoConst-correctness of gimple_call_builtin_p
David Malcolm [Wed, 7 May 2014 19:35:23 +0000 (19:35 +0000)]
Const-correctness of gimple_call_builtin_p

gcc/
2014-05-07  David Malcolm  <dmalcolm@redhat.com>

* gimple.h (gimple_builtin_call_types_compatible_p): Accept a
const_gimple, rather than a gimple.
(gimple_call_builtin_p): Likewise, for the three variants.

* gimple.c (gimple_builtin_call_types_compatible_p): Likewise.
(gimple_call_builtin_p): Likewise, for the three variants.

From-SVN: r210185

10 years agore PR c++/61083 ([C++11] Ambiguous member pointer results in failure, even if used...
Paolo Carlini [Wed, 7 May 2014 19:31:24 +0000 (19:31 +0000)]
re PR c++/61083 ([C++11] Ambiguous member pointer results in failure, even if used in SFINAE.)

/cp
2014-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61083
* pt.c (convert_nontype_argument): Protect all the error calls
with complain & tf_error.

/testsuite
2014-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61083
* g++.dg/cpp0x/sfinae50.C: New.

From-SVN: r210184

10 years agore PR sanitizer/61095 (miscompile: tsan is broken in gcc trunk, works in 4.9)
Richard Sandiford [Wed, 7 May 2014 18:00:59 +0000 (18:00 +0000)]
re PR sanitizer/61095 (miscompile: tsan is broken in gcc trunk, works in 4.9)

gcc/
PR tree-optimization/61095
* tree-ssanames.c (get_nonzero_bits): Fix type extension in wi::shwi.

From-SVN: r210181

10 years agoMAINTAINERS (Write After Approval): Add myself.
Charles Baylis [Wed, 7 May 2014 15:45:32 +0000 (15:45 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2014-05-07  Charles Baylis  <charles.baylis@linaro.org>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r210164

10 years agore PR libstdc++/61086 (ubsan detects undefined behaviour in the standard library)
Jonathan Wakely [Wed, 7 May 2014 14:43:22 +0000 (15:43 +0100)]
re PR libstdc++/61086 (ubsan detects undefined behaviour in the standard library)

PR libstdc++/61086
* include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
Remove.
* include/bits/stl_vector.h (vector::insert, vector::erase): Use
arithmetic to obtain a mutable iterator from const_iterator.
* include/bits/vector.tcc (vector::insert): Likewise.
* include/debug/vector (vector::erase): Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.

From-SVN: r210162

10 years agore PR c++/61080 (Spurious no return statement warning with deleted operators)
Paolo Carlini [Wed, 7 May 2014 14:30:23 +0000 (14:30 +0000)]
re PR c++/61080 (Spurious no return statement warning with deleted operators)

/cp
2014-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61080
* pt.c (instantiate_decl): Avoid generating the body of a
deleted function.

/testsuite
2014-05-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61080
* g++.dg/cpp0x/deleted7.C: New.

From-SVN: r210161

10 years agore PR tree-optimization/61034 (Optimizing takes too many passes)
Richard Biener [Wed, 7 May 2014 14:19:14 +0000 (14:19 +0000)]
re PR tree-optimization/61034 (Optimizing takes too many passes)

2014-05-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/61034
* tree-ssa-alias.c (call_may_clobber_ref_p_1): Export.
(maybe_skip_until): Use translate to take into account
lattices when trying to do disambiguations.
(get_continuation_for_phi_1): Likewise.
(get_continuation_for_phi): Adjust for added translate
arguments.
(walk_non_aliased_vuses): Likewise.
* tree-ssa-alias.h (get_continuation_for_phi): Adjust
prototype.
(walk_non_aliased_vuses): Likewise.
(call_may_clobber_ref_p_1): Declare.
* tree-ssa-sccvn.c (vn_reference_lookup_3): Also
disambiguate against calls.  Stop early if we are
only supposed to disambiguate.
* tree-ssa-pre.c (translate_vuse_through_block): Adjust.

* g++.dg/tree-ssa/pr61034.C: New testcase.

From-SVN: r210160

10 years agore PR libstdc++/61023 (set/map move assignment doesn't move (or copy) the comparator)
Jonathan Wakely [Wed, 7 May 2014 14:12:37 +0000 (15:12 +0100)]
re PR libstdc++/61023 (set/map move assignment doesn't move (or copy) the comparator)

PR libstdc++/61023
* include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
comparison function.
* testsuite/23_containers/set/cons/61023.cc: New.

From-SVN: r210159

10 years agoepiphany.c (epiphany_handle_interrupt_attribute): Emit an error when the function...
Joern Rennecke [Wed, 7 May 2014 13:21:59 +0000 (13:21 +0000)]
epiphany.c (epiphany_handle_interrupt_attribute): Emit an error when the function has arguments.

gcc:
        * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
        Emit an error when the function has arguments.
gcc/testsuite:
        * gcc.target/epiphany/isr-arg.c: New file.

From-SVN: r210157

10 years agoMore gcc/loop-unswitch.c cleanup.
Thomas Schwinge [Wed, 7 May 2014 13:06:46 +0000 (15:06 +0200)]
More gcc/loop-unswitch.c cleanup.

gcc/
* cfgloop.h (unswitch_loops): Remove.
* doc/passes.texi: Remove references to loop-unswitch.c
* timevar.def (TV_LOOP_UNSWITCH): Remove.

From-SVN: r210156

10 years agore PR tree-optimization/52252 (An opportunity for x86 gcc vectorizer (gain up to...
Evgeny Stupachenko [Wed, 7 May 2014 12:10:22 +0000 (12:10 +0000)]
re PR tree-optimization/52252 (An opportunity for x86 gcc vectorizer (gain up to 3 times))

gcc/
* tree-vect-data-refs.c (vect_grouped_load_supported): New
check for loads group of length 3.
(vect_permute_load_chain): New permutations for loads group of
length 3.
* tree-vect-stmts.c (vect_model_load_cost): Change cost
of vec_perm_shuffle for the new permutations.

gcc/testsuite/
PR tree-optimization/52252
* gcc.dg/vect/pr52252-ld.c: Test on loads group of size 3.

From-SVN: r210155

10 years agoAdd execution + assembler tests of AArch64 REV Neon Intrinsics.
Alan Lawrence [Wed, 7 May 2014 10:58:43 +0000 (10:58 +0000)]
Add execution + assembler tests of AArch64 REV Neon Intrinsics.

* gcc.target/aarch64/simd/vrev16p8_1.c: New file.
* gcc.target/aarch64/simd/vrev16p8.x: New file.
* gcc.target/aarch64/simd/vrev16qp8_1.c: New file.
* gcc.target/aarch64/simd/vrev16qp8.x: New file.
* gcc.target/aarch64/simd/vrev16qs8_1.c: New file.
* gcc.target/aarch64/simd/vrev16qs8.x: New file.
* gcc.target/aarch64/simd/vrev16qu8_1.c: New file.
* gcc.target/aarch64/simd/vrev16qu8.x: New file.
* gcc.target/aarch64/simd/vrev16s8_1.c: New file.
* gcc.target/aarch64/simd/vrev16s8.x: New file.
* gcc.target/aarch64/simd/vrev16u8_1.c: New file.
* gcc.target/aarch64/simd/vrev16u8.x: New file.
* gcc.target/aarch64/simd/vrev32p16_1.c: New file.
* gcc.target/aarch64/simd/vrev32p16.x: New file.
* gcc.target/aarch64/simd/vrev32p8_1.c: New file.
* gcc.target/aarch64/simd/vrev32p8.x: New file.
* gcc.target/aarch64/simd/vrev32qp16_1.c: New file.
* gcc.target/aarch64/simd/vrev32qp16.x: New file.
* gcc.target/aarch64/simd/vrev32qp8_1.c: New file.
* gcc.target/aarch64/simd/vrev32qp8.x: New file.
* gcc.target/aarch64/simd/vrev32qs16_1.c: New file.
* gcc.target/aarch64/simd/vrev32qs16.x: New file.
* gcc.target/aarch64/simd/vrev32qs8_1.c: New file.
* gcc.target/aarch64/simd/vrev32qs8.x: New file.
* gcc.target/aarch64/simd/vrev32qu16_1.c: New file.
* gcc.target/aarch64/simd/vrev32qu16.x: New file.
* gcc.target/aarch64/simd/vrev32qu8_1.c: New file.
* gcc.target/aarch64/simd/vrev32qu8.x: New file.
* gcc.target/aarch64/simd/vrev32s16_1.c: New file.
* gcc.target/aarch64/simd/vrev32s16.x: New file.
* gcc.target/aarch64/simd/vrev32s8_1.c: New file.
* gcc.target/aarch64/simd/vrev32s8.x: New file.
* gcc.target/aarch64/simd/vrev32u16_1.c: New file.
* gcc.target/aarch64/simd/vrev32u16.x: New file.
* gcc.target/aarch64/simd/vrev32u8_1.c: New file.
* gcc.target/aarch64/simd/vrev32u8.x: New file.
* gcc.target/aarch64/simd/vrev64f32_1.c: New file.
* gcc.target/aarch64/simd/vrev64f32.x: New file.
* gcc.target/aarch64/simd/vrev64p16_1.c: New file.
* gcc.target/aarch64/simd/vrev64p16.x: New file.
* gcc.target/aarch64/simd/vrev64p8_1.c: New file.
* gcc.target/aarch64/simd/vrev64p8.x: New file.
* gcc.target/aarch64/simd/vrev64qf32_1.c: New file.
* gcc.target/aarch64/simd/vrev64qf32.x: New file.
* gcc.target/aarch64/simd/vrev64qp16_1.c: New file.
* gcc.target/aarch64/simd/vrev64qp16.x: New file.
* gcc.target/aarch64/simd/vrev64qp8_1.c: New file.
* gcc.target/aarch64/simd/vrev64qp8.x: New file.
* gcc.target/aarch64/simd/vrev64qs16_1.c: New file.
* gcc.target/aarch64/simd/vrev64qs16.x: New file.
* gcc.target/aarch64/simd/vrev64qs32_1.c: New file.
* gcc.target/aarch64/simd/vrev64qs32.x: New file.
* gcc.target/aarch64/simd/vrev64qs8_1.c: New file.
* gcc.target/aarch64/simd/vrev64qs8.x: New file.
* gcc.target/aarch64/simd/vrev64qu16_1.c: New file.
* gcc.target/aarch64/simd/vrev64qu16.x: New file.
* gcc.target/aarch64/simd/vrev64qu32_1.c: New file.
* gcc.target/aarch64/simd/vrev64qu32.x: New file.
* gcc.target/aarch64/simd/vrev64qu8_1.c: New file.
* gcc.target/aarch64/simd/vrev64qu8.x: New file.
* gcc.target/aarch64/simd/vrev64s16_1.c: New file.
* gcc.target/aarch64/simd/vrev64s16.x: New file.
* gcc.target/aarch64/simd/vrev64s32_1.c: New file.
* gcc.target/aarch64/simd/vrev64s32.x: New file.
* gcc.target/aarch64/simd/vrev64s8_1.c: New file.
* gcc.target/aarch64/simd/vrev64s8.x: New file.
* gcc.target/aarch64/simd/vrev64u16_1.c: New file.
* gcc.target/aarch64/simd/vrev64u16.x: New file.
* gcc.target/aarch64/simd/vrev64u32_1.c: New file.
* gcc.target/aarch64/simd/vrev64u32.x: New file.
* gcc.target/aarch64/simd/vrev64u8_1.c: New file.
* gcc.target/aarch64/simd/vrev64u8.x: New file.

From-SVN: r210153

10 years agoAdd execution + assembler tests of AArch64 EXT intrinsics.
Alan Lawrence [Wed, 7 May 2014 10:51:15 +0000 (10:51 +0000)]
Add execution + assembler tests of AArch64 EXT intrinsics.

gcc.target/aarch64/simd/ext_f32.x: New file.
gcc.target/aarch64/simd/ext_f32_1.c: New file.
gcc.target/aarch64/simd/ext_p16.x: New file.
gcc.target/aarch64/simd/ext_p16_1.c: New file.
gcc.target/aarch64/simd/ext_p8.x: New file.
gcc.target/aarch64/simd/ext_p8_1.c: New file.
gcc.target/aarch64/simd/ext_s16.x: New file.
gcc.target/aarch64/simd/ext_s16_1.c: New file.
gcc.target/aarch64/simd/ext_s32.x: New file.
gcc.target/aarch64/simd/ext_s32_1.c: New file.
gcc.target/aarch64/simd/ext_s64.x: New file.
gcc.target/aarch64/simd/ext_s64_1.c: New file.
gcc.target/aarch64/simd/ext_s8.x: New file.
gcc.target/aarch64/simd/ext_s8_1.c: New file.
gcc.target/aarch64/simd/ext_u16.x: New file.
gcc.target/aarch64/simd/ext_u16_1.c: New file.
gcc.target/aarch64/simd/ext_u32.x: New file.
gcc.target/aarch64/simd/ext_u32_1.c: New file.
gcc.target/aarch64/simd/ext_u64.x: New file.
gcc.target/aarch64/simd/ext_u64_1.c: New file.
gcc.target/aarch64/simd/ext_u8.x: New file.
gcc.target/aarch64/simd/ext_u8_1.c: New file.
gcc.target/aarch64/simd/ext_f64.c: New file.
gcc.target/aarch64/simd/extq_f32.x: New file.
gcc.target/aarch64/simd/extq_f32_1.c: New file.
gcc.target/aarch64/simd/extq_p16.x: New file.
gcc.target/aarch64/simd/extq_p16_1.c: New file.
gcc.target/aarch64/simd/extq_p8.x: New file.
gcc.target/aarch64/simd/extq_p8_1.c: New file.
gcc.target/aarch64/simd/extq_s16.x: New file.
gcc.target/aarch64/simd/extq_s16_1.c: New file.
gcc.target/aarch64/simd/extq_s32.x: New file.
gcc.target/aarch64/simd/extq_s32_1.c: New file.
gcc.target/aarch64/simd/extq_s64.x: New file.
gcc.target/aarch64/simd/extq_s64_1.c: New file.
gcc.target/aarch64/simd/extq_s8.x: New file.
gcc.target/aarch64/simd/extq_s8_1.c: New file.
gcc.target/aarch64/simd/extq_u16.x: New file.
gcc.target/aarch64/simd/extq_u16_1.c: New file.
gcc.target/aarch64/simd/extq_u32.x: New file.
gcc.target/aarch64/simd/extq_u32_1.c: New file.
gcc.target/aarch64/simd/extq_u64.x: New file.
gcc.target/aarch64/simd/extq_u64_1.c: New file.
gcc.target/aarch64/simd/extq_u8.x: New file.
gcc.target/aarch64/simd/extq_u8_1.c: New file.
gcc.target/aarch64/simd/extq_f64.c: New file.

From-SVN: r210152

10 years agoReimplement AArch64 TRN intrinsics with __builtin_shuffle.
Alan Lawrence [Wed, 7 May 2014 10:40:41 +0000 (10:40 +0000)]
Reimplement AArch64 TRN intrinsics with __builtin_shuffle.

gcc/testsuite/ChangeLog:

* gcc.target/aarch64/vtrns32.c: Expect zip[12] insn rather than trn[12].
* gcc.target/aarch64/vtrnu32.c: Likewise.
* gcc.target/aarch64/vtrnf32.c: Likewise.

gcc/ChangeLog:

* config/aarch64/arm_neon.h (vtrn1_f32, vtrn1_p8, vtrn1_p16, vtrn1_s8,
vtrn1_s16, vtrn1_s32, vtrn1_u8, vtrn1_u16, vtrn1_u32, vtrn1q_f32,
vtrn1q_f64, vtrn1q_p8, vtrn1q_p16, vtrn1q_s8, vtrn1q_s16, vtrn1q_s32,
vtrn1q_s64, vtrn1q_u8, vtrn1q_u16, vtrn1q_u32, vtrn1q_u64, vtrn2_f32,
vtrn2_p8, vtrn2_p16, vtrn2_s8, vtrn2_s16, vtrn2_s32, vtrn2_u8,
vtrn2_u16, vtrn2_u32, vtrn2q_f32, vtrn2q_f64, vtrn2q_p8, vtrn2q_p16,
vtrn2q_s8, vtrn2q_s16, vtrn2q_s32, vtrn2q_s64, vtrn2q_u8, vtrn2q_u16,
vtrn2q_u32, vtrn2q_u64): Replace temporary asm with __builtin_shuffle.

From-SVN: r210151

10 years agoReally delete gcc/loop-unswitch.c.
Thomas Schwinge [Wed, 7 May 2014 10:31:26 +0000 (12:31 +0200)]
Really delete gcc/loop-unswitch.c.

gcc/
* loop-unswitch.c: Delete.

From-SVN: r210150

10 years agoconfigure.ac: Always set need_64bit_hwint to yes.
Richard Biener [Wed, 7 May 2014 10:24:38 +0000 (10:24 +0000)]
configure.ac: Always set need_64bit_hwint to yes.

2014-05-07  Richard Biener  <rguenther@suse.de>

libcpp/
* configure.ac: Always set need_64bit_hwint to yes.
* configure: Regenerated.

* config.gcc: Always set need_64bit_hwint to yes.

From-SVN: r210149

10 years agoAdd execution + assembler tests of AArch64 TRN Intrinsics.
Alan Lawrence [Wed, 7 May 2014 10:20:54 +0000 (10:20 +0000)]
Add execution + assembler tests of AArch64 TRN Intrinsics.

* gcc.target/aarch64/simd/vtrnf32_1.c: New file.
* gcc.target/aarch64/simd/vtrnf32.x: New file.
* gcc.target/aarch64/simd/vtrnp16_1.c: New file.
* gcc.target/aarch64/simd/vtrnp16.x: New file.
* gcc.target/aarch64/simd/vtrnp8_1.c: New file.
* gcc.target/aarch64/simd/vtrnp8.x: New file.
* gcc.target/aarch64/simd/vtrnqf32_1.c: New file.
* gcc.target/aarch64/simd/vtrnqf32.x: New file.
* gcc.target/aarch64/simd/vtrnqp16_1.c: New file.
* gcc.target/aarch64/simd/vtrnqp16.x: New file.
* gcc.target/aarch64/simd/vtrnqp8_1.c: New file.
* gcc.target/aarch64/simd/vtrnqp8.x: New file.
* gcc.target/aarch64/simd/vtrnqs16_1.c: New file.
* gcc.target/aarch64/simd/vtrnqs16.x: New file.
* gcc.target/aarch64/simd/vtrnqs32_1.c: New file.
* gcc.target/aarch64/simd/vtrnqs32.x: New file.
* gcc.target/aarch64/simd/vtrnqs8_1.c: New file.
* gcc.target/aarch64/simd/vtrnqs8.x: New file.
* gcc.target/aarch64/simd/vtrnqu16_1.c: New file.
* gcc.target/aarch64/simd/vtrnqu16.x: New file.
* gcc.target/aarch64/simd/vtrnqu32_1.c: New file.
* gcc.target/aarch64/simd/vtrnqu32.x: New file.
* gcc.target/aarch64/simd/vtrnqu8_1.c: New file.
* gcc.target/aarch64/simd/vtrnqu8.x: New file.
* gcc.target/aarch64/simd/vtrns16_1.c: New file.
* gcc.target/aarch64/simd/vtrns16.x: New file.
* gcc.target/aarch64/simd/vtrns32_1.c: New file.
* gcc.target/aarch64/simd/vtrns32.x: New file.
* gcc.target/aarch64/simd/vtrns8_1.c: New file.
* gcc.target/aarch64/simd/vtrns8.x: New file.
* gcc.target/aarch64/simd/vtrnu16_1.c: New file.
* gcc.target/aarch64/simd/vtrnu16.x: New file.
* gcc.target/aarch64/simd/vtrnu32_1.c: New file.
* gcc.target/aarch64/simd/vtrnu32.x: New file.
* gcc.target/aarch64/simd/vtrnu8_1.c: New file.
* gcc.target/aarch64/simd/vtrnu8.x: New file.

From-SVN: r210148

10 years agore PR tree-optimization/57864 (ICE in bitmap_set_replace_value, at tree-ssa-pre.c...
Richard Biener [Wed, 7 May 2014 08:04:15 +0000 (08:04 +0000)]
re PR tree-optimization/57864 (ICE in bitmap_set_replace_value, at tree-ssa-pre.c:862)

2014-05-07  Richard Biener  <rguenther@suse.de>

PR tree-optimization/57864
* gcc.dg/torture/pr57864.c: New testcase.

From-SVN: r210142

10 years agore PR c++/60999 (ICE when static_cast from constexpr in specialization of template...
Paolo Carlini [Wed, 7 May 2014 07:24:21 +0000 (07:24 +0000)]
re PR c++/60999 (ICE when static_cast from constexpr in specialization of template-class)

/cp
2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60999
* pt.c (maybe_begin_member_template_processing): Use
uses_template_parms.

/testsuite
2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/60999
* g++.dg/cpp0x/nsdmi-template9.C: New.
* g++.dg/cpp0x/nsdmi-template10.C: Likewise.

From-SVN: r210140

10 years agoFix date in ChangeLog.
Chung-Ju Wu [Wed, 7 May 2014 06:57:00 +0000 (06:57 +0000)]
Fix date in ChangeLog.

From-SVN: r210138

10 years agonds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor of using optimize_size.
Chung-Ju Wu [Wed, 7 May 2014 06:34:15 +0000 (06:34 +0000)]
nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor of using optimize_size.

* config/nds32/nds32.h (HONOR_REG_ALLOC_ORDER): Have it in favor
of using optimize_size.

From-SVN: r210137