Paolo Carlini [Wed, 22 May 2013 09:14:46 +0000 (09:14 +0000)]
objc-next-runtime-abi-02.c (build_v2_build_objc_method_call): Fix build_conditional_expr call.
2013-05-22 Paolo Carlini <paolo.carlini@oracle.com>
* objc-next-runtime-abi-02.c (build_v2_build_objc_method_call):
Fix build_conditional_expr call.
From-SVN: r199187
Jonathan Wakely [Wed, 22 May 2013 08:12:45 +0000 (08:12 +0000)]
acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to enable features if target OS is known to support them.
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
enable features if target OS is known to support them.
* configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
* configure: Regenerate.
From-SVN: r199183
Janne Blomqvist [Wed, 22 May 2013 08:06:53 +0000 (11:06 +0300)]
Improve RANDOM_SEED example.
2013-05-22 Janne Blomqvist <jb@gcc.gnu.org>
* intrinsic.texi (RANDOM_SEED): Improve example.
From-SVN: r199182
Michael Zolotukhin [Wed, 22 May 2013 07:48:13 +0000 (07:48 +0000)]
read-rtl.c (copy_rtx_for_iterators): Continue applying iterators while it has any effect.
* read-rtl.c (copy_rtx_for_iterators): Continue applying iterators
while it has any effect.
From-SVN: r199177
GCC Administrator [Wed, 22 May 2013 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r199173
David Edelsohn [Tue, 21 May 2013 23:08:28 +0000 (19:08 -0400)]
- Remove SVN merge marker.
From-SVN: r199167
Paolo Carlini [Tue, 21 May 2013 22:49:24 +0000 (22:49 +0000)]
call.c (build_conditional_expr_1): Add location_t parameter.
/cp
2013-05-21 Paolo Carlini <paolo.carlini@oracle.com>
* call.c (build_conditional_expr_1): Add location_t parameter.
(build_conditional_expr): Likewise.
* typeck.c (rationalize_conditional_expr, cp_build_array_ref,
get_member_function_from_ptrfunc, build_x_conditional_expr,
cp_build_modify_expr): Update.
* init.c (build_new_1): Likewise.
* cp-tree.h: Update declaration.
/testsuite
2013-05-21 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp0x/explicit3.C: Add column in dg-error strings.
* g++.dg/warn/Wdouble-promotion.C: Likewise.
From-SVN: r199166
Easwaran Raman [Tue, 21 May 2013 22:36:29 +0000 (22:36 +0000)]
re PR tree-optimization/57322 (Segfault at -O1 in build_and_add_sum)
2013-05-21 Easwaran Raman <eraman@google.com>
PR tree-optimization/57322
* (build_and_add_sum): If a BB is empty, set the UID of the statement
added to the BB to be 1.
testsuite/ChangeLog:
2013-05-21 Easwaran Raman <eraman@google.com>
PR tree-optimization/57322
* gcc.dg/tree-ssa/reassoc-29.c: New testcase.
From-SVN: r199165
Graham Stott [Tue, 21 May 2013 18:29:21 +0000 (18:29 +0000)]
scanasm.exp (dg-function-on-line): Make MIPS targets match .set (no)?micromips
gcc/testsuite/
2013-05-21 Graham Stott <graham.stott@btinternet.com>
* lib/scanasm.exp (dg-function-on-line): Make MIPS targets match
.set (no)?micromips
From-SVN: r199161
Tobias Burnus [Tue, 21 May 2013 17:27:04 +0000 (19:27 +0200)]
re PR fortran/57035 (TS29113's C535b: Wrongly accept DIMENSION(..) to TRANSFER)
2013-05-21 Tobias Burnus <burnus@net-b.de>
PR fortran/57035
* intrinsic.c (do_check): Add contraint check for
NO_ARG_CHECK, assumed rank and assumed type.
* gfortran.texi (NO_ARG_CHECK): Minor wording change,
allow PRESENT intrinsic.
2013-05-21 Tobias Burnus <burnus@net-b.de>
PR fortran/57035
* gfortran.dg/assumed_type_5.f90: New.
* gfortran.dg/assumed_rank_1.f90: Comment invalid statement.
* gfortran.dg/assumed_rank_2.f90: Ditto.
* gfortran.dg/assumed_type_3.f90: Update dg-error.
* gfortran.dg/no_arg_check_3.f90: Ditto.
From-SVN: r199158
Jakub Jelinek [Tue, 21 May 2013 15:59:54 +0000 (17:59 +0200)]
Fix up CL entry.
From-SVN: r199150
Jakub Jelinek [Tue, 21 May 2013 15:17:31 +0000 (17:17 +0200)]
re PR tree-optimization/57331 (ICE: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have pointer_type in int_fits_type_p, at tree.c:8437)
PR tree-optimization/57331
* tree-vrp.c (simplify_cond_using_ranges): Don't optimize
comparison of conversion from pointer type to integral type
with integer.
* gcc.c-torture/compile/pr57331.c: New test.
From-SVN: r199148
David Malcolm [Tue, 21 May 2013 14:43:16 +0000 (14:43 +0000)]
repro_fail: filter out "-ignore SIGHUP" from the spawn lines
contrib/
* repro_fail: filter out "-ignore SIGHUP" from the spawn lines
From-SVN: r199147
Martin Jambor [Tue, 21 May 2013 13:49:30 +0000 (15:49 +0200)]
re PR lto/57289 (ICE during 454.calculix compilation with -O3 -flto)
2013-05-21 Martin Jambor <mjambor@suse.cz>
PR lto/57289
* ipa-prop.c (ipa_read_node_info): Process param_used and
controlled_uses in the same order as when writing.
From-SVN: r199145
Magnus Granberg [Tue, 21 May 2013 13:01:34 +0000 (15:01 +0200)]
Readd TARGET_H to the list of exported plugin headers, fixing PR plugins/56754.
TARGET_H was removed in commit 188166, however several plugins need it, see the
PR for details. Applying under the trivial rule.
From-SVN: r199144
Richard Biener [Tue, 21 May 2013 11:59:28 +0000 (11:59 +0000)]
re PR tree-optimization/57318 (optimizer takes several seconds on nested loops)
2013-05-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/57318
* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Do not
estimate stmts with side-effects as likely eliminated.
From-SVN: r199140
Richard Biener [Tue, 21 May 2013 11:56:57 +0000 (11:56 +0000)]
re PR tree-optimization/57330 (ICE: verify_gimple failed -O3 [tree-cfg.c:4792])
2013-05-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/57330
* cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Properly
preserve the call stmts fntype.
* gcc.dg/torture/pr57330.c: New testcase.
From-SVN: r199139
Jonathan Wakely [Tue, 21 May 2013 08:15:13 +0000 (08:15 +0000)]
re PR libstdc++/57336 (Cannot INVOKE a reference_wrapper around an abstract type)
PR libstdc++/57336
* include/std/functional (__invoke): Do not form function types with
abstract return type.
* testsuite/20_util/reference_wrapper/invoke-3.cc: New.
From-SVN: r199136
Richard Biener [Tue, 21 May 2013 08:11:23 +0000 (08:11 +0000)]
re PR tree-optimization/57303 (struct miscompiled at -O1 and above)
2013-05-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/57303
* tree-ssa-sink.c (statement_sink_location): Improve killing
stmt detection and properly handle self-assignments.
* gcc.dg/torture/pr57303.c: New testcase.
From-SVN: r199135
Jakub Jelinek [Tue, 21 May 2013 07:51:59 +0000 (09:51 +0200)]
re PR tree-optimization/57321 (static function call miscompiled at -Os and above)
PR tree-optimization/57321
* gcc.c-torture/execute/pr57321.c: New test.
From-SVN: r199133
Christian Bruel [Tue, 21 May 2013 07:48:08 +0000 (09:48 +0200)]
dwarf2out.c (multiple_reg_loc_descriptor): Use dbx_reg_number for spanning registers.
2013-05-21 Christian Bruel <christian.bruel@st.com>
* dwarf2out.c (multiple_reg_loc_descriptor): Use dbx_reg_number for
spanning registers. LEAF_REG_REMAP is supported only for contiguous
registers. Set register size out of the PARALLEL loop.
From-SVN: r199132
GCC Administrator [Tue, 21 May 2013 00:16:27 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r199131
Jason Merrill [Mon, 20 May 2013 21:34:35 +0000 (17:34 -0400)]
re PR c++/57016 ([C++0x] ICE: unexpected expression '__is_final(hash<int>)' of kind trait_expr)
PR c++/57016
* pt.c (instantiation_dependent_r) [TRAIT_EXPR]: Only check type2
if there is one.
From-SVN: r199126
Jason Merrill [Mon, 20 May 2013 21:34:29 +0000 (17:34 -0400)]
re PR c++/57102 (ICE: SIGSEGV in fndecl_declared_return_type with -fdump-final-insns=...)
PR c++/57102
* decl.c (fndecl_declared_return_type): Also look in
DECL_SAVED_FUNCTION_DATA.
From-SVN: r199125
Tobias Burnus [Mon, 20 May 2013 20:08:05 +0000 (22:08 +0200)]
re PR fortran/48858 (Incorrect error for same binding label on two generic interface specifics)
2013-05-20 Tobias Burnus <burnus@net-b.de>
PR fortran/48858
PR fortran/55465
* decl.c (add_global_entry): Add sym_name.
* parse.c (add_global_procedure): Ditto.
* resolve.c (resolve_bind_c_derived_types): Handle multiple decl for
a procedure.
(resolve_global_procedure): Handle gsym->ns pointing to a module.
* trans-decl.c (gfc_get_extern_function_decl): Ditto.
2013-05-20 Tobias Burnus <burnus@net-b.de>
PR fortran/48858
PR fortran/55465
* gfortran.dg/binding_label_tests_10_main.f03: Update dg-error.
* gfortran.dg/binding_label_tests_11_main.f03: Ditto.
* gfortran.dg/binding_label_tests_13_main.f03: Ditto.
* gfortran.dg/binding_label_tests_3.f03: Ditto.
* gfortran.dg/binding_label_tests_4.f03: Ditto.
* gfortran.dg/binding_label_tests_5.f03: Ditto.
* gfortran.dg/binding_label_tests_6.f03: Ditto.
* gfortran.dg/binding_label_tests_7.f03: Ditto.
* gfortran.dg/binding_label_tests_8.f03: Ditto.
* gfortran.dg/c_loc_tests_12.f03: Fix test case.
* gfortran.dg/binding_label_tests_24.f90: New.
* gfortran.dg/binding_label_tests_25.f90: New.
From-SVN: r199120
Tobias Burnus [Mon, 20 May 2013 20:05:40 +0000 (22:05 +0200)]
re PR fortran/48858 (Incorrect error for same binding label on two generic interface specifics)
2013-05-20 Tobias Burnus <burnus@net-b.de>
PR fortran/48858
* decl.c (add_global_entry): Use nonbinding name
only for F2003 or if no binding label exists.
(gfc_match_entry): Update calls.
* parse.c (gfc_global_used): Improve error message.
(add_global_procedure): Use nonbinding name
only for F2003 or if no binding label exists.
(gfc_parse_file): Update call.
* resolve.c (resolve_global_procedure): Use binding
name when available.
* trans-decl.c (gfc_get_extern_function_decl): Ditto.
2013-05-20 Tobias Burnus <burnus@net-b.de>
PR fortran/48858
* gfortran.dg/binding_label_tests_17.f90: New.
* gfortran.dg/binding_label_tests_18.f90: New.
* gfortran.dg/binding_label_tests_19.f90: New.
* gfortran.dg/binding_label_tests_20.f90: New.
* gfortran.dg/binding_label_tests_21.f90: New.
* gfortran.dg/binding_label_tests_22.f90: New.
* gfortran.dg/binding_label_tests_23.f90: New.
From-SVN: r199119
Tobias Burnus [Mon, 20 May 2013 20:03:48 +0000 (22:03 +0200)]
re PR fortran/48858 (Incorrect error for same binding label on two generic interface specifics)
2013-05-20 Tobias Burnus <burnus@net-b.de>
PR fortran/48858
* decl.c (gfc_match_bind_c_stmt): Add gfc_notify_std.
* match.c (gfc_match_common): Don't add commons to gsym.
* resolve.c (resolve_common_blocks): Add to gsym and
add checks.
(resolve_bind_c_comms): Remove.
(resolve_types): Remove call to the latter.
* trans-common.c (gfc_common_ns): Remove static var.
(gfc_map_of_all_commons): Add static var.
(build_common_decl): Correctly handle binding label.
2013-05-20 Tobias Burnus <burnus@net-b.de>
PR fortran/48858
* gfortran.dg/test_common_binding_labels.f03: Update dg-error.
* gfortran.dg/test_common_binding_labels_2_main.f03: Ditto.
* gfortran.dg/test_common_binding_labels_3_main.f03: Ditto.
* gfortran.dg/common_18.f90: New.
* gfortran.dg/common_19.f90: New.
* gfortran.dg/common_20.f90: New.
* gfortran.dg/common_21.f90: New.
From-SVN: r199118
Paolo Carlini [Mon, 20 May 2013 17:13:47 +0000 (17:13 +0000)]
re PR c++/12288 (unintelligible error message for constructor declaration with misspelled type)
/cp
2013-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/12288
* parser.c (cp_parser_parameter_declaration): Check return value
of cp_parser_parse_and_diagnose_invalid_type_name.
/testsuite
2013-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/12288
* g++.dg/parse/error52.C: New.
* g++.dg/parse/error3.C: Adjust.
* g++.dg/parse/error36.C: Likewise.
From-SVN: r199115
Jason Merrill [Mon, 20 May 2013 17:01:16 +0000 (13:01 -0400)]
re PR c++/57319 (bogus "defaulted move assignment for ... calls a non-trivial move assignment operator for virtual base ...")
PR c++/57319
* class.c (vbase_has_user_provided_move_assign): New.
* method.c (synthesized_method_walk): Check it.
* cp-tree.h: Declare it.
From-SVN: r199114
Jason Merrill [Mon, 20 May 2013 17:01:09 +0000 (13:01 -0400)]
re PR c++/57325 (ICE in strip_typedefs, at cp/tree.c:1306)
PR c++/57325
* tree.c (build_cplus_array_type): Copy layout info if element
type is complete.
From-SVN: r199113
Oleg Endo [Mon, 20 May 2013 16:18:44 +0000 (16:18 +0000)]
re PR tree-optimization/56547 ([SH] missed opportunity for fmac with -ffast-math)
PR target/56547
* config/sh/sh.md (fmasf4): Remove empty constraints strings.
(*fmasf4, *fmasf4_media): New insns.
PR target/56547
* gcc.target/sh/pr56547-1.c: New.
* gcc.target/sh/pr56547-2.c: New.
From-SVN: r199110
Paolo Carlini [Mon, 20 May 2013 13:20:39 +0000 (13:20 +0000)]
re PR c++/23608 (constant propagation (CCP) would improve -Wsign-compare)
/cp
2013-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/23608
* call.c (build_new_op_1): Propagate loc to cp_build_binary_op.
/testsuite
2013-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/23608
* g++.dg/warn/Wsign-compare-6.C: New.
* g++.dg/warn/Wdouble-promotion.C: Adjust.
From-SVN: r199102
Jason Merrill [Mon, 20 May 2013 12:28:49 +0000 (08:28 -0400)]
re PR c++/57317 (bogus and unsuppressible warning: 'YYY' has a base 'ZZZ' whose type uses the anonymous namespace)
PR c++/57317
* decl2.c (determine_visibility): Use PRIMARY_TEMPLATE_P to decide
whether a template has its own args.
From-SVN: r199101
Paolo Carlini [Mon, 20 May 2013 09:44:20 +0000 (09:44 +0000)]
re PR c++/57327 ('derived' is an ambiguous base class of 'base' diagnostic is backwards)
/cp
2013-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57327
* pt.c (unify_no_common_base): Swap arg and parm arguments to inform.
/testsuite
2013-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57327
* g++.dg/template/error50.C: New.
From-SVN: r199097
Paolo Carlini [Mon, 20 May 2013 09:41:42 +0000 (09:41 +0000)]
re PR c++/10207 (Empty structure initialization fails under C++ (but works under C))
/cp
2013-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/10207
* parser.c (cp_parser_postfix_expression): Use cp_parser_braced_list
instead of cp_parser_initializer_list for compound-literals.
/testsuite
2013-05-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/10207
* g++.dg/ext/complit13.C: New.
From-SVN: r199096
Marc Glisse [Mon, 20 May 2013 07:50:54 +0000 (09:50 +0200)]
re PR c++/57175 (NRVO and alignment)
2013-05-20 Marc Glisse <marc.glisse@inria.fr>
PR c++/57175
gcc/cp/
* typeck.c (check_return_expr): Reverse the alignment comparison.
gcc/testsuite/
* g++.dg/pr57175.C: New testcase.
From-SVN: r199093
GCC Administrator [Mon, 20 May 2013 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r199090
Jonathan Wakely [Sun, 19 May 2013 13:31:36 +0000 (13:31 +0000)]
tuple (get): Implement N3670.
* include/std/tuple (get): Implement N3670.
* include/std/utility (get): Likewise.
* testsuite/20_util/pair/get.cc: Move to ...
* testsuite/20_util/pair/astuple/get.cc: Here.
* testsuite/20_util/pair/astuple/astuple.cc: New.
* testsuite/20_util/pair/astuple/constexpr_get.cc: New.
* testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
* testsuite/20_util/pair/astuple/get_by_type.cc: New.
* testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
* testsuite/20_util/pair/astuple/get_neg.cc: New.
* testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
* testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
* testsuite/20_util/tuple/element_access/get_by_type.cc: New.
From-SVN: r199082
Paolo Carlini [Sun, 19 May 2013 10:39:47 +0000 (10:39 +0000)]
2013-05-19 Paolo Carlini <paolo.carlini@oracle.com>
* Revert last commit.
From-SVN: r199081
Richard Sandiford [Sun, 19 May 2013 10:16:29 +0000 (10:16 +0000)]
mips.h (BASE_INSN_LENGTH, [...]): New macros.
gcc/
* config/mips/mips.h (BASE_INSN_LENGTH, NOP_INSN_LENGTH): New macros.
* config/mips/mips.c (mips_symbol_insns, mips_address_insns)
(mips_const_insns, mips_split_const_insns, mips_load_store_insns)
(mips_idiv_insns): Update the comments to say that the returned
instruction counts are in units of BASE_INSN_LENGTH.
(mips_adjust_insn_length): Multiply the mips_load_label_num_insns
by BASE_INSN_LENGTH rather than 4. Add the jump separately,
using 2 rather than 4 as the length of indirect MIPS16 and
microMIPS jumps. Use NOP_INSN_LENGTH rather than 4 as the
length of a NOP. Don't divide MIPS16 lengths by 2.
(mips16_split_long_branches): Assume a branch is long if the
length is greater than 4 rather than 8.
* config/mips/mips.md (length): Give MIPS16 lengths directly,
rather than multiplying them by 2. Multiply instruction counts
by BASE_INSN_LENGTH rather than 4.
(*jump_mips16, tls_get_tp_mips16_<mode>)
(*tls_get_tp_mips16_call_<mode>): Divide lengths by 2.
From-SVN: r199080
Uros Bizjak [Sun, 19 May 2013 10:10:58 +0000 (12:10 +0200)]
* ChangeLog: Remove merge marker.
From-SVN: r199079
Richard Sandiford [Sun, 19 May 2013 09:58:02 +0000 (09:58 +0000)]
mips.md (extended_mips16): Remove branch case.
gcc/
* config/mips/mips.md (extended_mips16): Remove branch case.
(length): Remove duplicated extended_mips16 test.
From-SVN: r199078
Richard Sandiford [Sun, 19 May 2013 09:48:57 +0000 (09:48 +0000)]
t-sde: Don't build 64-bit microMIPS multilibs.
gcc/
* config/mips/t-sde: Don't build 64-bit microMIPS multilibs.
From-SVN: r199077
GCC Administrator [Sun, 19 May 2013 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r199075
Matthias Klose [Sat, 18 May 2013 23:39:38 +0000 (23:39 +0000)]
Makefile.am (bits_headers): Remove ${bits_host_headers}.
2013-05-19 Matthias Klose <doko@ubuntu.com>
* include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
(ext_headers): Remove ${ext_host_headers}.
(stamp-${host_alias}): Create ${host_builddir}/../ext.
(stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
(install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
* include/Makefile.in: Regenerate.
From-SVN: r199072
Jonathan Wakely [Sat, 18 May 2013 23:11:48 +0000 (23:11 +0000)]
system_error (error_category::error_category()): LWG 2145: Declare public and constexpr.
* include/std/system_error (error_category::error_category()): LWG
2145: Declare public and constexpr.
* src/c++11/system_error.cc (error_category::error_category()): Move
definition to ...
* src/c++11/compatibility-c++0x.cc: Here.
From-SVN: r199071
Jonathan Wakely [Sat, 18 May 2013 23:11:42 +0000 (23:11 +0000)]
* include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
From-SVN: r199070
Jonathan Wakely [Sat, 18 May 2013 20:18:55 +0000 (20:18 +0000)]
unique_ptr.h (make_unique): Declare inline.
* include/bits/unique_ptr.h (make_unique): Declare inline.
(unique_ptr<T[],D>::reset()): Combine two overloads into one.
(default_delete, unique_ptr): Add doxygen comments.
* include/bits/shared_ptr_base.h: Improve doxygen comments.
* include/bits/shared_ptr.h: Likewise.
* testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
number.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
From-SVN: r199069
Jonathan Wakely [Sat, 18 May 2013 18:10:01 +0000 (18:10 +0000)]
* doc/xml/manual/status_cxx2011.xml: Fix markup error.
From-SVN: r199066
Jonathan Wakely [Sat, 18 May 2013 16:18:35 +0000 (16:18 +0000)]
utility (exchange): Define.
* include/std/utility (exchange): Define.
* testsuite/20_util/exchange/1.cc: New.
From-SVN: r199061
Jonathan Wakely [Sat, 18 May 2013 15:07:02 +0000 (15:07 +0000)]
unique_ptr.h (make_unique): Define.
* include/bits/unique_ptr.h (make_unique): Define.
* testsuite/20_util/unique_ptr/creation/single.cc: New.
* testsuite/20_util/unique_ptr/creation/array.cc: New.
* testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
From-SVN: r199057
Richard Sandiford [Sat, 18 May 2013 07:58:55 +0000 (07:58 +0000)]
recog.h (Recog_data): Rename to...
gcc/
* recog.h (Recog_data): Rename to...
(recog_data_d): ...this.
(recog_data): Update accordingly.
* recog.c (recog_data): Likewise.
* reload.c (save_recog_data): Likewise.
* config/picochip/picochip.c (picochip_saved_recog_data): Likewise.
(picochip_save_recog_data, picochip_restore_recog_data): Likewise.
From-SVN: r199050
Julian Brown [Sat, 18 May 2013 03:48:18 +0000 (03:48 +0000)]
gcse.c (compute_ld_motion_mems): If a non-simple MEM is found in a REG_EQUAL note, invalidate it.
* gcse.c (compute_ld_motion_mems): If a non-simple MEM is
found in a REG_EQUAL note, invalidate it.
From-SVN: r199049
Easwaran Raman [Sat, 18 May 2013 01:35:04 +0000 (01:35 +0000)]
tree-ssa-reassoc.c (find_insert_point): New function.
2013-05-17 Easwaran Raman <eraman@google.com>
* tree-ssa-reassoc.c (find_insert_point): New function.
(insert_stmt_after): Likewise.
(get_def_stmt): Likewise.
(ensure_ops_are_available): Likewise.
(not_dominated_by): Likewise.
(rewrite_expr_tree): Do not move statements beyond what is
necessary. Remove call to swap_ops_for_binary_stmt...
(reassociate_bb): ... and move it here.
(build_and_add_sum): Assign UIDs for new statements.
(linearize_expr): Likewise.
(do_reassoc): Renumber gimple statement UIDs.
testsuite/ChangeLog:
2013-05-17 Easwaran Raman <eraman@google.com>
* gcc.dg/tree-ssa/reassoc-28.c: New testcase.
From-SVN: r199048
GCC Administrator [Sat, 18 May 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r199047
Jan Hubicka [Fri, 17 May 2013 22:20:58 +0000 (00:20 +0200)]
lto-symtab.c (lto_symtab_merge_cgraph_nodes): Resolve cross module weakrefs.
* lto-symtab.c (lto_symtab_merge_cgraph_nodes): Resolve cross module
weakrefs.
* cgraph.c (dump_cgraph_node): Do not ice on unresolved alias.
* cgraphunit.c (handle_alias_pairs): Store target of unresolved weakrefs.
(output_weakrefs): Update.
From-SVN: r199041
Jan Hubicka [Fri, 17 May 2013 22:15:47 +0000 (00:15 +0200)]
lto-partition.c (privatize_symbol_name): Return true when privatizing happened.
* lto-partition.c (privatize_symbol_name): Return true when
privatizing happened.
(rename_statics): Do not go into infinite loop when privatizing
is not needed.
From-SVN: r199040
Po-Chun Chang [Fri, 17 May 2013 21:12:34 +0000 (21:12 +0000)]
re PR middle-end/57276 (Waste work in cgraph_edge_brings_all_agg_vals_for_node())
2013-05-17 Po-Chun Chang <pchang9@cs.wisc.edu>
Martin Jambor <mjambor@suse.cz>
PR middle-end/57276
* ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Break when a
value that corresponds to the given aggval is found in values vector.
Co-Authored-By: Martin Jambor <mjambor@suse.cz>
From-SVN: r199035
Uros Bizjak [Fri, 17 May 2013 20:09:01 +0000 (22:09 +0200)]
driver-i386.c (host_detect_local_cpu): Pass mmx, 3dnow, sse, sse2, sse3, ssse3 and sse4a flags to options.
* config/i386/driver-i386.c (host_detect_local_cpu): Pass mmx, 3dnow,
sse, sse2, sse3, ssse3 and sse4a flags to options.
From-SVN: r199034
David Malcolm [Fri, 17 May 2013 19:23:35 +0000 (19:23 +0000)]
gengtype-state.c: (s_expr_writer): New class, to handle prettifying of output layout of s-expressions.
2013-05-17 David Malcolm <dmalcolm@redhat.com>
* gengtype-state.c: (s_expr_writer): New class, to handle
prettifying of output layout of s-expressions.
(state_writer): New class, to write out gtype.state.
(state_written_type_count): Move this variable into member data of
state_writer.
(s_expr_writer::s_expr_writer): New code: constructor for new class
(state_writer::state_writer(): ditto
(s_expr_writer::write_new_line): New function
(s_expr_writer::write_any_indent): ditto
(s_expr_writer::begin_s_expr): ditto
(s_expr_writer::end_s_expr): ditto
(write_state_fileloc): convert to method of state_writer...
(state_writer:: write_state_fileloc): ...and use methods of
s_expr_writer to write indentation into the gtype.state output file
to visually represent the hierarchical structure of the list
structures
(write_state_fields): ditto, renaming to...
(state_writer::write_state_fields)
(write_state_a_string): ditto, renaming to...
(state_writer::write_state_a_string)
(write_state_string_option): ditto, renaming to...
(state_writer::write_state_string_option)
(write_state_type_option): ditto, renaming to...
(state_writer::write_state_type_option)
(write_state_nested_option): ditto, renaming to...
(state_writer::write_state_nested_option)
(write_state_option): ditto, renaming to...
(state_writer::write_state_option)
(write_state_options): ditto, renaming to...
(state_writer::write_state_options)
(write_state_lang_bitmap): ditto, renaming to...
(state_writer::write_state_lang_bitmap)
(write_state_version): ditto, renaming to...
(state_writer::write_state_version)
(write_state_scalar_type): ditto, renaming to...
(state_writer::write_state_scalar_type)
(write_state_string_type): ditto, renaming to...
(state_writer::write_state_string_type)
(write_state_undefined_type): ditto, renaming to...
(state_writer::write_state_undefined_type)
(write_state_struct_union_type): ditto, renaming to...
(state_writer::write_state_struct_union_type)
(write_state_struct_type): ditto, renaming to...
(state_writer::write_state_struct_type)
(write_state_user_struct_type): ditto, renaming to...
(state_writer::write_state_user_struct_type)
(write_state_lang_struct_type): ditto, renaming to...
(state_writer::write_state_lang_struct_type)
(write_state_param_struct_type): ditto, renaming to...
(state_writer::write_state_param_struct_type)
(write_state_pointer_type): ditto, renaming to...
(state_writer::write_state_pointer_type)
(write_state_array_type): ditto, renaming to...
(state_writer::write_state_array_type)
(write_state_gc_used): ditto, renaming to...
(state_writer::write_state_gc_used)
(write_state_common_type_content): ditto, renaming to...
(state_writer::write_state_common_type_content)
(write_state_type): ditto, renaming to...
(state_writer::write_state_type)
(write_state_pair_list): ditto, renaming to...
(state_writer::write_state_pair_list)
(write_state_pair): ditto, renaming to...
(state_writer::write_state_pair)
(write_state_typedefs): ditto, renaming to...
(state_writer::write_state_typedefs)
(write_state_structures): ditto, renaming to...
(state_writer::write_state_structures)
(write_state_param_structs): ditto, renaming to...
(state_writer::write_state_param_structs)
(write_state_variables): ditto, renaming to...
(state_writer::write_state_variables)
(write_state_srcdir): ditto, renaming to...
(state_writer::write_state_srcdir)
(write_state_files_list): ditto, renaming to...
(state_writer::write_state_files_list)
(write_state_languages): ditto, renaming to...
(state_writer::write_state_languages)
(write_state): create a state_writer instance and use it when
writing out the state file
From-SVN: r199032
Mike Stump [Fri, 17 May 2013 19:12:14 +0000 (19:12 +0000)]
re PR rtl-optimization/57304 (Revision 198896 segfaults building cpu2000 benchmark 176.gcc)
PR rtl-optimization/57304
* web.c (union_match_dups): Ensure that DF_REF_LOC exists before
accessing DF_REF_REAL_LOC.
From-SVN: r199030
Mike Stump [Fri, 17 May 2013 19:09:56 +0000 (19:09 +0000)]
web.c (union_match_dups): Ensure that DF_REF_LOC exists before accessing DF_REF_REAL_LOC.
* web.c (union_match_dups): Ensure that DF_REF_LOC exists before
accessing DF_REF_REAL_LOC.
From-SVN: r199029
David Malcolm [Fri, 17 May 2013 15:53:09 +0000 (15:53 +0000)]
MAINTAINERS (Write After Approval): Add myself.
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r199022
Marc Glisse [Fri, 17 May 2013 15:31:02 +0000 (17:31 +0200)]
re PR testsuite/57313 (gcc.dg/binop-xor3.c scan-tree-dump-times)
2013-05-17 Marc Glisse <marc.glisse@inria.fr>
PR testsuite/57313
* gcc.dg/binop-xor3.c: Restrict to platforms known to work (x86).
From-SVN: r199020
Richard Henderson [Fri, 17 May 2013 15:27:37 +0000 (08:27 -0700)]
re PR target/49146 (segv from libgcc_s when raising an exception, or unwinding stack with backtrace with ms_abi)
PR target/49146
* unwind-dw2.c (UNWIND_COLUMN_IN_RANGE): New macro.
(execute_cfa_program): Use it when storing to fs->regs.
From-SVN: r199019
Jakub Jelinek [Fri, 17 May 2013 15:22:24 +0000 (17:22 +0200)]
re PR rtl-optimization/57281 (x86_64-linux loop fails to terminate at -O3 -m32)
PR rtl-optimization/57281
PR rtl-optimization/57300
* config/i386/i386.md (extendsidi2_1 dead reg splitter): Remove.
(extendsidi2_1 peephole2s): Add instead 2 new peephole2s, that undo
what the other splitter did if the registers are dead.
* gcc.dg/pr57300.c: New test.
* gcc.c-torture/execute/pr57281.c: New test.
From-SVN: r199018
Richard Biener [Fri, 17 May 2013 12:47:45 +0000 (12:47 +0000)]
tree-ssa-alias.c (stmt_kills_ref_p_1): Properly compare MEM_REF offsets.
2013-05-17 Richard Biener <rguenther@suse.de>
* tree-ssa-alias.c (stmt_kills_ref_p_1): Properly compare
MEM_REF offsets.
From-SVN: r199014
Paolo Carlini [Fri, 17 May 2013 12:35:44 +0000 (12:35 +0000)]
re PR c++/18126 (sizeof compound-literal not parsed correctly)
/cp
2013-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/18126
* parser.c (cp_parser_sizeof_operand): As a GNU Extension, parse
correctly sizeof compound-literal; update comments.
/testsuite
2013-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/18126
* g++.dg/ext/sizeof-complit.C: New.
From-SVN: r199012
Jakub Jelinek [Fri, 17 May 2013 12:17:14 +0000 (14:17 +0200)]
gcc.c (SANITIZER_SPEC): Reject -fsanitize=address -fsanitize=thread linking.
* gcc.c (SANITIZER_SPEC): Reject -fsanitize=address -fsanitize=thread
linking.
From-SVN: r199009
Marek Polacek [Fri, 17 May 2013 09:32:01 +0000 (09:32 +0000)]
Add tree-ssa-strlen optimization.
From-SVN: r199006
Jakub Jelinek [Fri, 17 May 2013 09:13:33 +0000 (11:13 +0200)]
tree-vect-patterns.c (vect_recog_rotate_pattern): For vect_external_def oprnd1 with loop_vinfo...
* tree-vect-patterns.c (vect_recog_rotate_pattern): For
vect_external_def oprnd1 with loop_vinfo, try to emit
optional cast, negation and and stmts on the loop preheader
edge instead of into the pattern def seq.
* gcc.target/i386/rotate-4.c: Compile only with -mavx
instead of -mavx2, require only avx instead of avx2.
* gcc.target/i386/rotate-4a.c: Include avx-check.h instead
of avx2-check.h and turn into an avx runtime test instead of
avx2 runtime test.
From-SVN: r199005
Rainer Orth [Fri, 17 May 2013 08:39:37 +0000 (08:39 +0000)]
solaris_pow_int_overload should use __cplusplus
* inclhack.def (solaris_pow_int_overload): Update comment.
Change guard to match <cmath>.
* fixincl.x: Regenerate.
* tests/base/iso/math_iso.h [SOLARIS_POW_INT_OVERLOAD_CHECK]:
Matching change.
From-SVN: r199003
Jakub Jelinek [Fri, 17 May 2013 08:31:32 +0000 (10:31 +0200)]
re PR tree-optimization/57051 (Optimization regression in 4.8.0 from 4.7.2)
PR tree-optimization/57051
* fold-const.c (const_binop) <case VEC_LSHIFT_EXPR,
case VEC_RSHIFT_EXPR>: Fix BYTES_BIG_ENDIAN handling.
From-SVN: r199002
Nick Clifton [Fri, 17 May 2013 07:51:53 +0000 (07:51 +0000)]
rl78.c (rl78_attribute_table): Add naked.
* config/rl78/rl78.c (rl78_attribute_table): Add naked.
(rl78_is_naked_func): New function.
(rl78_expand_prologue): Skip prologue generation for naked
functions.
(rl78_expand_epilogue): Skip epilogue generation for naked
functions.
* doc/extend.texi (naked): Add RL78 to the list of processors
that supports this attribute.
From-SVN: r199001
Jeff Law [Fri, 17 May 2013 03:32:23 +0000 (21:32 -0600)]
* Makefile.in (tree-switch-conversion.o): Depend on $(OPTABS_H).
From-SVN: r198999
GCC Administrator [Fri, 17 May 2013 00:16:26 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198997
Uros Bizjak [Thu, 16 May 2013 22:41:55 +0000 (00:41 +0200)]
i386.c (ix86_option_override_internal): Add missing PTA_FXSR flag to Athlon-4.
* config/i386/i386.c (ix86_option_override_internal):
Add missing PTA_FXSR flag to Athlon-4.
From-SVN: r198993
Uros Bizjak [Thu, 16 May 2013 22:37:13 +0000 (00:37 +0200)]
i386.c (ix86_option_override_internal): Revert removal of Athlon-4 PTA_SSE flag.
* config/i386/i386.c (ix86_option_override_internal):
Revert removal of Athlon-4 PTA_SSE flag.
From-SVN: r198992
Uros Bizjak [Thu, 16 May 2013 21:41:26 +0000 (23:41 +0200)]
driver-i386.c (host_detect_local_cpu): Determine cache parameters using detect_caches_amd also for CYRIX...
* config/i386/driver-i386.c (host_detect_local_cpu): Determine
cache parameters using detect_caches_amd also for CYRIX,
NSC and TM2 signatures.
From-SVN: r198989
Marc Glisse [Thu, 16 May 2013 20:32:42 +0000 (22:32 +0200)]
call.c (build_conditional_expr_1): Use cp_build_binary_op instead of directly calling fold_build2.
2013-05-16 Marc Glisse <marc.glisse@inria.fr>
gcc/cp/
* call.c (build_conditional_expr_1): Use cp_build_binary_op
instead of directly calling fold_build2.
gcc/testsuite/
* g++.dg/ext/vector22.C: Uncomment working test.
From-SVN: r198988
Uros Bizjak [Thu, 16 May 2013 19:53:36 +0000 (21:53 +0200)]
re PR target/45359 (poor -march=native choices for VIA C7 Esther processors)
PR target/45359
PR target/46396
* config/i386/driver-i386.c (host_detect_local_cpu): Detect
VIA/Centaur processors and determine their cache parameters
using detect_caches_amd.
Co-Authored-By: Dzianis Kahanovich <mahatma@eu.by>
From-SVN: r198987
Teresa Johnson [Thu, 16 May 2013 17:45:35 +0000 (17:45 +0000)]
cfgrtl.c (verify_hot_cold_block_grouping): Return err.
2013-05-16 Teresa Johnson <tejohnson@google.com>
* cfgrtl.c (verify_hot_cold_block_grouping): Return err.
(rtl_verify_edges): New function.
(rtl_verify_bb_insns): Ditto.
(rtl_verify_bb_pointers): Ditto.
(rtl_verify_bb_insn_chain): Ditto.
(rtl_verify_fallthru): Ditto.
(rtl_verify_bb_layout): Ditto.
(rtl_verify_flow_info_1): Outline checks into new functions.
(rtl_verify_flow_info): Ditto.
From-SVN: r198982
Jason Merrill [Thu, 16 May 2013 17:41:13 +0000 (13:41 -0400)]
add quotes
From-SVN: r198981
Steve Ellcey [Thu, 16 May 2013 17:09:40 +0000 (17:09 +0000)]
cfghooks.c (copy_bbs): Add update_dominance argument.
2013-05-16 Steve Ellcey <sellcey@imgtec.com>
* cfghooks.c (copy_bbs): Add update_dominance argument.
* cfghooks.h (copy_bbs): Update prototype.
* tree-cfg.c (gimple_duplicate_sese_region):
Add update_dominance argument.
* tree-flow.h (gimple_duplicate_sese_region): Update prototype.
* tree-ssa-loop-ch.c (copy_loop_headers): Update
gimple_duplicate_sese_region call.
* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
Update copy_bbs call.
* cfgloopmanip.c (duplicate_loop_to_header_edge): Ditto.
* trans-mem.c (ipa_uninstrument_transaction): Ditto.
From-SVN: r198980
Paolo Carlini [Thu, 16 May 2013 16:56:08 +0000 (16:56 +0000)]
re PR c++/17410 (Specialization of nested template rejected because of unrelated declaration)
2013-05-16 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/17410
* g++.dg/template/pr17410.C: New.
From-SVN: r198979
Jakub Jelinek [Thu, 16 May 2013 16:24:19 +0000 (18:24 +0200)]
tree-vectorizer.h (NUM_PATTERNS): Increment.
* tree-vectorizer.h (NUM_PATTERNS): Increment.
* tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
vect_recog_rotate_pattern.
(vect_recog_rotate_pattern): New function.
* gcc.target/i386/rotate-3.c: New test.
* gcc.target/i386/rotate-3a.c: New test.
* gcc.target/i386/rotate-4.c: New test.
* gcc.target/i386/rotate-4a.c: New test.
* gcc.target/i386/rotate-5.c: New test.
* gcc.target/i386/rotate-5a.c: New test.
From-SVN: r198978
Jason Merrill [Thu, 16 May 2013 15:09:31 +0000 (11:09 -0400)]
Makefile.in (LLINKER): New variable.
* Makefile.in (LLINKER): New variable.
(mostlyclean): Remove link mutex.
* configure.ac: Handle --enable-link-mutex.
* lock-and-run.sh: New script.
From-SVN: r198977
Jason Merrill [Thu, 16 May 2013 15:03:25 +0000 (11:03 -0400)]
re PR c++/57279 ([C++11] alias declaration fails to declare function types with cv-qualifiers)
PR c++/57279
* decl.c (grokdeclarator): Allow member function qualifiers in
TYPENAME context.
From-SVN: r198975
Rainer Orth [Thu, 16 May 2013 14:39:21 +0000 (14:39 +0000)]
Require section_anchors in gcc.dg/visibility-21.c
* gcc.dg/visibility-21.c: Require section_anchors.
From-SVN: r198974
Ramana Radhakrishnan [Thu, 16 May 2013 14:31:24 +0000 (14:31 +0000)]
Fix breakage with missing decl check for arm-none-eabi builds.
2013-05-16 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/19599
* config/arm/arm.c (arm_function_ok_for_sibcall): Add check
for NULL decl.
From-SVN: r198973
Rainer Orth [Thu, 16 May 2013 12:52:18 +0000 (12:52 +0000)]
Restore bootstrap on non-cc0 targets
* reorg.c (link_cc0_insns): Wrap in #ifdef HAVE_cc0.
From-SVN: r198971
Greta Yorsh [Thu, 16 May 2013 12:02:06 +0000 (13:02 +0100)]
Internal memcpy using LDRD/STRD
2013-05-16 Greta Yorsh <Greta.Yorsh@arm.com>
gcc/
* config/arm/arm-protos.h (gen_movmem_ldrd_strd): New declaration.
* config/arm/arm.c (next_consecutive_mem): New function.
(gen_movmem_ldrd_strd): Likewise.
* config/arm/arm.md (movmemqi): Update condition and code.
(unaligned_loaddi, unaligned_storedi): New patterns.
gcc/testsuite
* gcc.target/arm/unaligned-memcpy-2.c: Adjust expected output.
* gcc.target/arm/unaligned-memcpy-3.c: Likewise.
* gcc.target/arm/unaligned-memcpy-4.c: Likewise.
From-SVN: r198970
Rainer Orth [Thu, 16 May 2013 11:36:39 +0000 (11:36 +0000)]
Obsolete Solaris 9 support
gcc:
* config.gcc: Obsolete *-*-solaris2.9*.
* doc/install.texi (Specific, *-*-solaris2*): Document it.
contrib:
* config-list.mk (LIST): Add -enable-obsolete for
sparc-sun-solaris2.9, i686-solaris2.9.
From-SVN: r198969
Richard Biener [Thu, 16 May 2013 11:19:40 +0000 (11:19 +0000)]
passes.c (init_optimization_passes): Move pass_parallelize_loops earlier...
2013-05-16 Richard Biener <rguenther@suse.de>
* passes.c (init_optimization_passes): Move pass_parallelize_loops
earlier, after GRAPHITE transforms and IV canonicalization.
From-SVN: r198968
Jakub Jelinek [Thu, 16 May 2013 10:43:33 +0000 (12:43 +0200)]
omp-low.c (extract_omp_for_data): For collapsed loops...
* omp-low.c (extract_omp_for_data): For collapsed loops,
if at least one of the loops is known at compile time to
iterate zero times, set count to 0.
(expand_omp_regimplify_p): New function.
(expand_omp_for_generic): For collapsed loops, if at least
one of the loops isn't known to iterate at least once,
add runtime check with setting count to 0.
(expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
For unsigned types if it isn't known at compile time that
the loop will iterate at least once, add runtime check to bypass
the whole loop if initial condition isn't true.
* testsuite/libgomp.c/loop-13.c: New test.
* testsuite/libgomp.c/loop-14.c: New test.
* testsuite/libgomp.c/loop-15.c: New test.
* testsuite/libgomp.c++/loop-13.C: New test.
* testsuite/libgomp.c++/loop-14.C: New test.
* testsuite/libgomp.c++/loop-15.C: New test.
From-SVN: r198966
Nathan Sidwell [Thu, 16 May 2013 10:29:42 +0000 (10:29 +0000)]
varasm.c (default_use_anchors_for_symbol_p): Use decl_replaceable_p.
gcc/
* varasm.c (default_use_anchors_for_symbol_p): Use decl_replaceable_p.
gcc/testsuite/
* gcc.dg/visibility-21.c: New.
From-SVN: r198965
Marc Glisse [Thu, 16 May 2013 10:26:51 +0000 (12:26 +0200)]
re PR middle-end/57286 (infinite recursion in fold-const.c:10037)
2013-05-16 Marc Glisse <marc.glisse@inria.fr>
PR middle-end/57286
gcc/
* fold-const.c (fold_ternary_loc) <VEC_COND_EXPR>: Disable some
transformations to avoid an infinite loop.
gcc/testsuite/
* gcc.dg/pr57286.c: New testcase.
* gcc.dg/vector-shift-2.c: Don't assume int has size 4.
* g++.dg/ext/vector22.C: Comment out transformations not
performed anymore.
From-SVN: r198964
Marek Polacek [Thu, 16 May 2013 09:23:47 +0000 (09:23 +0000)]
Add SCEV cprop dumping.
From-SVN: r198963
Dodji Seketeli [Thu, 16 May 2013 06:14:49 +0000 (06:14 +0000)]
PR c++/56782 - Regression with empty pack expansions
In the example of the patch below, during the instantiation of
is_convertible at #1, we see at some point Tuple<>. (Let's note '{}'
an empty argument pack.) In that context, during the partial
specialization the member template
template<class... U>
Tuple<>::Tuple<U,
typename enable_if<and_<is_convertible<U, {}>...
>::value,
int
>::type
>
Let's look at what happens to the expansion "is_convertible<U, {}>...."
To express the result of that expansion tsubst_pack_expansion receives
the expansion is_convertible<U, T>, with the argument list [{}]. This
function should detect that we have an empty argument pack for the
parameter pack T and no argument pack for the parameter pack U. It
should thus return a pack expansion "is_convertible<U,T>..." that has this
information: "I have gotten an argument list, that is not complete
because U doesn't have any argument pack; the argument pack for T is
'{}', so I'll wait for the next time I am passed to
tsubst_pack_expansion with enough additional argument packs, to really
perform the substitution". That information is conveyed by attaching
the the '{}' to the PACK_EXPANSION_EXTRA property of the pack expansion
returned by tsubst_pack_expansion.
The problem in this report is that we are not setting
PACK_EXPANSION_EXTRA when the non-complete argument pack list is made
of an empty argument pack, because use_pack_expansion_extra_args_p
doesn't detect this case.
Fixed thus.
gcc/cp/
* pt.c (use_pack_expansion_extra_args_p): When at least a
parameter pack has an empty argument pack, and another parameter
pack has no argument pack at all, use the PACK_EXPANSION_EXTRA
mechanism.
From-SVN: r198956
GCC Administrator [Thu, 16 May 2013 00:16:28 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198955