- 17 Sep, 2017 2 commits
-
-
gcc/brig/ * Make-lang.in (GO_TEXI_FILES): Rename to... (BRIG_TEXI_FILES): ... this. (doc/gccbrig.info, doc/gccbrig.dvi, doc/gccbrig.pdf, brig.info) (brig.srcinfo, brig.man, brig.srcman, brig.install-man) ($(DESTDIR)$(man1dir)/$(GCCBRIG_INSTALL_NAME)$(man1ext)): Uncomment/enable targets. (gccbrig.pod): New target. * gccbrig.texi: New file. From-SVN: r252893
Thomas Schwinge committed -
From-SVN: r252892
GCC Administrator committed
-
- 16 Sep, 2017 6 commits
-
-
This should have been after the early exit for non-vectorised statements. 2017-09-16 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR tree-optimization/82228 * tree-vect-loop.c (vectorizable_live_operation): Move initialization of ncopies. From-SVN: r252888
Richard Sandiford committed -
* libgnarl/a-intnam__rtems.ads: Update copyright date. * libgnarl/s-interr__hwint.adb: Likewise. * libgnarl/s-osinte__kfreebsd-gnu.ads: Likewise. * libgnarl/s-osinte__rtems.adb: Likewise. * libgnarl/s-osinte__rtems.ads: Likewise. From-SVN: r252877
Eric Botcazou committed -
in nds32_option_optimization_table. gcc/ * common/config/nds32/nds32-common.c (nds32_option_optimization_table): Refine formatting. (nds32_option_optimization_table): Use -fsched-pressure and -fomit-frame-pointer for specific optimization level. From-SVN: r252876
Chung-Ju Wu committed -
gcc/ * config/nds32/nds32.c: Refine formatting and comments. * config/nds32/nds32.h: Likewise. * config/nds32/nds32.md: Likewise. * config/nds32/nds32-cost.c: Likewise. * config/nds32/nds32-isr.c: Likewise. * config/nds32/nds32-md-auxiliary.c: Likewise. * config/nds32/nds32-multiple.md: Likewise. * config/nds32/nds32-predicates.c: Likewise. From-SVN: r252874
Chung-Ju Wu committed -
2017-09-16 Tom de Vries <tom@codesourcery.com> PR c/81875 * c-parser.c (c_parser_omp_for_loop): Fold only operands of cond, not cond itself. * testsuite/libgomp.c-c++-common/pr81875.c: New test. From-SVN: r252873
Tom de Vries committed -
From-SVN: r252870
GCC Administrator committed
-
- 15 Sep, 2017 30 commits
-
-
Patch by Rainer Orth. Reviewed-on: https://go-review.googlesource.com/64170 From-SVN: r252866
Ian Lance Taylor committed -
It is possible to do this check in backend, by walking the block and check whether the last statement is a goto. But it seems easier to do it in the frontend, where it can simply use is_fallthrough. Reviewed-on: https://go-review.googlesource.com/63690 From-SVN: r252851
Ian Lance Taylor committed -
* c-common.h (cxx_dialect): Add cxx2a as a dialect. * opt.c: Add options for -std=c++2a and -std=gnu++2a. * c-opts.c (set_std_cxx2a): New. (c_common_handle_option): Set options when -std=c++2a is enabled. (c_common_post_options): Adjust comments. (set_std_cxx14, set_std_cxx17): Likewise. * doc/cpp.texi (__cplusplus): Document value for -std=c++2a or -std=gnu+2a. * doc/invoke.texi: Document -std=c++2a and -std=gnu++2a. * lib/target-supports.exp (check_effective_target_c++17): Return 1 also if check_effective_target_c++2a. (check_effective_target_c++17_down): New. (check_effective_target_c++2a_only): New. (check_effective_target_c++2a): New. * g++.dg/cpp2a/cplusplus.C: New. * include/cpplib.h (c_lang): Add CXX2A and GNUCXX2A. * init.c (lang_defaults): Add rows for CXX2A and GNUCXX2A. (cpp_init_builtins): Set __cplusplus to 201709L for C++2a. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r252850
Andrew Sutton committed -
Otherwise, a zero length is created in the backend and the backend doesn't know there is an error. Reviewed-on: https://go-review.googlesource.com/61610 From-SVN: r252849
Ian Lance Taylor committed -
2017-09-15 Steve Ellcey <sellcey@cavium.com> PR target/82066 * doc/extend.texi (Common Function Attributes): Add references to ARM, AArch64, and S/390 specific attributes. (Function Specific Option Pragmas): Add AArch64 and S/390 to list of back ends that support the target pragma. From-SVN: r252848
Steve Ellcey committed -
C11 semantics for excess precision (from N1531) are that an implicit conversion (from the usual arithmetic conversions, not by assignment) from integer to floating point has a result in the corresponding evaluation format of that floating-point type, so possibly with excess precision (whereas a cast or conversion by assignment from integer to floating point must produce a value without excess range or precision, as always). This patch makes GCC support those semantics if flag_isoc11 (which in turn means that conditional expressions need to support generating a result with excess precision even if neither operand had excess precision). C99 is less than entirely clear in this regard, but my reading as outlined at <https://gcc.gnu.org/ml/gcc-patches/2008-11/msg00105.html> is that the results of conversions from integer to floating-point types are always expected to be representable in the target type without excess precision, and this patch conservatively keeps these semantics for pre-C11 (i.e. if an older standard is explicitly selected). Bootstrapped with no regressions on x86_64-pc-linux-gnu. PR c/82071 gcc/c: * c-typeck.c (ep_convert_and_check): Just call convert_and_check for C11. (build_conditional_expr): For C11, generate result with excess precision when one argument is an integer and the other is of a type using excess precision. gcc/testsuite: * gcc.target/i386/excess-precision-8.c: New test. From-SVN: r252847
Joseph Myers committed -
re PR c++/64644 ("warning: anonymous union with no members" should be an error with -pedantic-errors) /cp 2017-09-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org> Paolo Carlini <paolo.carlini@oracle.com> PR c++/64644 * decl2.c (finish_anon_union): Complain about "anonymous union with no members" with a pedwarn. /testsuite 2017-09-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org> Paolo Carlini <paolo.carlini@oracle.com> PR c++/64644 * g++.dg/other/anon-union4.C: New. * g++.old-deja/g++.law/union4.C: Adjust. * g++.old-deja/g++.other/anon1.C: Likewise. Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com> From-SVN: r252835
Manuel López-Ibáñez committed -
https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01051.html ReviewedBy: Sandra Loosemore <sandra@codesourcery.com> * doc/standards.texi: Fix C++17 description. Update URLs for C++11 & 14. From-SVN: r252834
Nathan Sidwell committed -
From-SVN: r252833
Nathan Sidwell committed -
2017-09-15 Bernd Edlinger <bernd.edlinger@hotmail.de> * common.opt (Wcast-align=strict): New warning option. * doc/invoke.texi: Document -Wcast-align=strict. c: 2017-09-15 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-typeck.c (build_c_cast): Implement -Wcast-align=strict. cp: 2017-09-15 Bernd Edlinger <bernd.edlinger@hotmail.de> * typeck.c (build_reinterpret_cast_1, build_const_cast_1): Implement -Wcast-align=strict. testsuite: 2017-09-15 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-c++-common/Wcast-align.c: New test. From-SVN: r252832
Bernd Edlinger committed -
c-pragma.c (handle_pragma_scalar_storage_order): Expand on error message for non-uniform endianness and issue a warning in C++. * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error message for non-uniform endianness and issue a warning in C++. From-SVN: r252831
Eric Botcazou committed -
re PR c++/78648 (ICE on invalid C++ code on x86_64-linux-gnu (Segmentation fault, contains_struct_check)) 2017-09-13 Paolo Carlini <paolo.carlini@oracle.com> PR c++/78648 * g++.dg/cpp0x/lambda/lambda-ice21.C: New. From-SVN: r252829
Paolo Carlini committed -
This commit adds comments to fields in the cgraph_thunk_info structure declaration from cgraph.h. They will hopefully answer questions that people like myself can ask while discovering the thunk machinery. I also made an assertion stricter in cgraph_node::create_thunk. Bootsrapped and regtested on x86_64-linux. gcc/ * cgraph.h (cgraph_thunk_info): Add comments. * cgraph.c (cgraph_node::create_thunk): Adjust comment, make assert for VIRTUAL_* arguments stricter. From-SVN: r252828
Pierre-Marie de Rodat committed -
2017-09-15 Jackson Woodruff <jackson.woodruff@arm.com> PR tree-optimization/71026 * match.pd: Move RDIV patterns from fold-const.c * fold-const.c (distribute_real_division): Removed. (fold_binary_loc): Remove calls to distribute_real_divison. PR tree-optimization/71026 * gcc/testsuire/gcc.dg/fold-div-1.c: Use -O1. From-SVN: r252827
Jackson Woodruff committed -
* doc/invoke.texi: Document -std=c++17 and -std=gnu++17 and document c++1z and gnu++1z as deprecated. Change other references to -std=c++1z to -std=c++17 and -std=gnu++1z to -std=gnu++17. Change -Wc++1z-compat to -Wc++17-compat. * doc/cpp.texi: Document -std=c++17 defines __cplusplus 201703L. * dwarf2out.c (highest_c_language): Handle C++17. (gen_compile_unit_die): Likewise. c-family/ * c.opt (Wc++1z-compat): Change from option to undocumented alias. (Wc++17-compat): Change from undocumented alias to option. (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat, change C++1z to C++17 in description. (std=c++1z, std=gnu++1z): Change from option to undocumented deprecated alias. (std=c++17, std=gnu++17): Change from undocumented alias to option. Adjust description. * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17. * c-opts.c (set_std_cxx1z): Rename to ... (set_std_cxx17): ... this. (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z caller. (c_common_post_options): Use cxx17 instead of cxx1z. Adjust comments. cp/ * decl.c (redeclaration_error_message): Use cxx17 instead of cxx1z, adjust diagnostics refering to C++1z or -std=gnu++1z or -std=c++1z to C++17 or -std=gnu++17 or -std=c++17. Adjust comments. (cxx_init_decl_processing, next_initializable_field, is_direct_enum_init, check_initializer, cp_finish_decl, mark_inline_variable, grokdeclarator, grokparms, xref_basetypes, finish_function): Likewise. * cp-tree.h (DECL_INLINE_VAR_P): Likewise. * pt.c (mark_template_parm, convert_nontype_argument, instantiate_class_template_1, type_unification_real, unify, get_partial_spec_bindings, dependent_type_p_r): Likewise. * typeck.c (cp_build_unary_op): Likewise. * constexpr.c (var_in_maybe_constexpr_fn): Likewise. * call.c (build_user_type_conversion_1, build_over_call, build_special_member_call): Likewise. * lambda.c (begin_lambda_type): Likewise. * typeck2.c (process_init_constructor_record): Likewise. * class.c (build_base_field, finalize_literal_type_property, explain_non_literal_class): Likewise. * parser.c (cp_parser_diagnose_invalid_type_name, cp_parser_primary_expression, cp_parser_lambda_introducer, cp_parser_lambda_declarator_opt, cp_parser_selection_statement, cp_convert_range_for, cp_parser_perform_range_for_lookup, cp_parser_decomposition_declaration, cp_parser_linkage_specification, cp_parser_static_assert, cp_parser_simple_type_specifier, cp_parser_namespace_definition, cp_parser_using_declaration, cp_parser_init_declarator, cp_parser_type_parameter_key, cp_parser_exception_specification_opt, cp_parser_std_attribute_spec, cp_parser_constructor_declarator_p): Likewise. * mangle.c (struct globals): Rename need_cxx1z_warning to need_cxx17_warning. (write_exception_spec, start_mangling, mangle_decl): Likewise. * Make-lang.in (check-c++1z): Rename to check-c++17, depend on it. (check-c++17): New goal. Use 17 instead of 1z. (check-c++-all): Use 17 instead of 1z. testsuite/ * lib/g++-dg.exp (g++-dg-runtest): Use 17 instead of 1z. * lib/target-supports.exp (check_effective_target_c++14): Use check_effective_target_c++17 instead of check_effective_target_c++1z. (check_effective_target_c++14_down): Likewise. (check_effective_target_c++1z_only): Rename to ... (check_effective_target_c++17_only): ... this. (check_effective_target_c++1z): Rename to ... (check_effective_target_c++17): ... this. * g++.dg/debug/dwarf2/inline-var-1.C: Use -std=c++17 or -std=gnu++17 instead of -std=c++1z or -std=gnu++1z. Use c++17 instead of c++1z and c++17_only instead of c++1z_only. Adjust expected diagnostics and comments refering to 1z to 17. * g++.dg/debug/dwarf2/inline-var-2.C: Likewise. * g++.dg/template/partial5.C: Likewise. * g++.dg/template/nontype8.C: Likewise. * g++.dg/cpp1z/noexcept-type5.C: Likewise. * g++.dg/cpp1z/nontype3a.C: Likewise. * g++.dg/cpp1z/constexpr-lambda4.C: Likewise. * g++.dg/cpp1z/noexcept-type16.C: Likewise. * g++.dg/cpp1z/class-deduction32.C: Likewise. * g++.dg/cpp1z/pr78771.C: Likewise. * g++.dg/cpp1z/elide1.C: Likewise. * g++.dg/cpp1z/fold3.C: Likewise. * g++.dg/cpp1z/class-deduction2.C: Likewise. * g++.dg/cpp1z/noexcept-type12.C: Likewise. * g++.dg/cpp1z/inline-var2.C: Likewise. * g++.dg/cpp1z/eval-order2.C: Likewise. * g++.dg/cpp1z/decomp21.C: Likewise. * g++.dg/cpp1z/constexpr-lambda11.C: Likewise. * g++.dg/cpp1z/constexpr-lambda9.C: Likewise. * g++.dg/cpp1z/utf8-neg.C: Likewise. * g++.dg/cpp1z/class-deduction41.C: Likewise. * g++.dg/cpp1z/class-deduction23.C: Likewise. * g++.dg/cpp1z/nodiscard3.C: Likewise. * g++.dg/cpp1z/static_assert-nomsg.C: Likewise. * g++.dg/cpp1z/noexcept-type9.C: Likewise. * g++.dg/cpp1z/class-deduction21.C: Likewise. * g++.dg/cpp1z/range-for1.C: Likewise. * g++.dg/cpp1z/init-statement4.C: Likewise. * g++.dg/cpp1z/udlit-utf8char.C: Likewise. * g++.dg/cpp1z/decomp30.C: Likewise. * g++.dg/cpp1z/class-deduction39.C: Likewise. * g++.dg/cpp1z/register2.C: Likewise. * g++.dg/cpp1z/decomp9.C: Likewise. * g++.dg/cpp1z/regress1.C: Likewise. * g++.dg/cpp1z/direct-enum-init1.C: Likewise. * g++.dg/cpp1z/class-deduction30.C: Likewise. * g++.dg/cpp1z/abbrev2.C: Likewise. * g++.dg/cpp1z/nontype-auto6.C: Likewise. * g++.dg/cpp1z/regress2.C: Likewise. * g++.dg/cpp1z/decomp16.C: Likewise. * g++.dg/cpp1z/bool-increment1.C: Likewise. * g++.dg/cpp1z/aligned-new1.C: Likewise. * g++.dg/cpp1z/decomp3.C: Likewise. * g++.dg/cpp1z/register1.C: Likewise. * g++.dg/cpp1z/namespace-attribs.C: Likewise. * g++.dg/cpp1z/class-deduction1.C: Likewise. * g++.dg/cpp1z/decomp10.C: Likewise. * g++.dg/cpp1z/constexpr-if11.C: Likewise. * g++.dg/cpp1z/constexpr-lambda10.C: Likewise. * g++.dg/cpp1z/decomp27.C: Likewise. * g++.dg/cpp1z/noexcept-type2.C: Likewise. * g++.dg/cpp1z/constexpr-lambda6.C: Likewise. * g++.dg/cpp1z/class-deduction9.C: Likewise. * g++.dg/cpp1z/attributes-enum-1.C: Likewise. * g++.dg/cpp1z/decomp11.C: Likewise. * g++.dg/cpp1z/aligned-new3.C: Likewise. * g++.dg/cpp1z/utf8-2.C: Likewise. * g++.dg/cpp1z/lambda-this3.C: Likewise. * g++.dg/cpp1z/decomp-constexpr1.C: Likewise. * g++.dg/cpp1z/byte1.C: Likewise. * g++.dg/cpp1z/nontype-auto9.C: Likewise. * g++.dg/cpp1z/aggr-base4.C: Likewise. * g++.dg/cpp1z/constexpr-lambda1.C: Likewise. * g++.dg/cpp1z/nontype-auto3.C: Likewise. * g++.dg/cpp1z/utf8-2a.C: Likewise. * g++.dg/cpp1z/constexpr-lambda7.C: Likewise. * g++.dg/cpp1z/aggr-base6.C: Likewise. * g++.dg/cpp1z/cplusplus.C: Likewise. * g++.dg/cpp1z/class-deduction20.C: Likewise. * g++.dg/cpp1z/aggr-base2.C: Likewise. * g++.dg/cpp1z/class-deduction6.C: Likewise. * g++.dg/cpp1z/noexcept-type3.C: Likewise. * g++.dg/cpp1z/class-deduction31.C: Likewise. * g++.dg/cpp1z/class-deduction25.C: Likewise. * g++.dg/cpp1z/class-deduction18.C: Likewise. * g++.dg/cpp1z/fold9.C: Likewise. * g++.dg/cpp1z/noexcept-type8.C: Likewise. * g++.dg/cpp1z/abbrev1.C: Likewise. * g++.dg/cpp1z/constexpr-if10.C: Likewise. * g++.dg/cpp1z/utf8.C: Likewise. * g++.dg/cpp1z/noexcept-type7.C: Likewise. * g++.dg/cpp1z/aggr-base3.C: Likewise. * g++.dg/cpp1z/constexpr-lambda8.C: Likewise. * g++.dg/cpp1z/init-statement2.C: Likewise. * g++.dg/cpp1z/nontype-auto4.C: Likewise. * g++.dg/cpp1z/constexpr-if12.C: Likewise. * g++.dg/cpp1z/class-deduction40.C: Likewise. * g++.dg/cpp1z/nontype3.C: Likewise. * g++.dg/cpp1z/class-deduction14.C: Likewise. * g++.dg/cpp1z/fold7.C: Likewise. * g++.dg/cpp1z/nontype2.C: Likewise. * g++.dg/cpp1z/class-deduction15.C: Likewise. * g++.dg/cpp1z/nested-namespace-def1.C: Likewise. * g++.dg/cpp1z/class-deduction13.C: Likewise. * g++.dg/cpp1z/aligned-new7.C: Likewise. * g++.dg/cpp1z/noexcept-type1.C: Likewise. * g++.dg/cpp1z/nontype1.C: Likewise. * g++.dg/cpp1z/init-statement5.C: Likewise. * g++.dg/cpp1z/nontype-auto2.C: Likewise. * g++.dg/cpp1z/decomp17.C: Likewise. * g++.dg/cpp1z/fold4.C: Likewise. * g++.dg/cpp1z/constexpr-lambda2.C: Likewise. * g++.dg/cpp1z/fold7a.C: Likewise. * g++.dg/cpp1z/nontype-auto5.C: Likewise. * g++.dg/cpp1z/init-statement7.C: Likewise. * g++.dg/cpp1z/aggr-base5.C: Likewise. * g++.dg/cpp1z/constexpr-lambda5.C: Likewise. * g++.dg/cpp1z/pr79143.C: Likewise. * g++.dg/cpp1z/class-deduction38.C: Likewise. * g++.dg/cpp1z/nontype-auto8.C: Likewise. * g++.dg/cpp1z/class-deduction12.C: Likewise. * g++.dg/cpp1z/decomp20.C: Likewise. * g++.dg/cpp1z/class-deduction22.C: Likewise. * g++.dg/cpp1z/class-deduction29.C: Likewise. * g++.dg/cpp1z/class-deduction8.C: Likewise. * g++.dg/cpp1z/class-deduction43.C: Likewise. * g++.dg/cpp1z/feat-cxx1z.C: Likewise. * g++.dg/cpp1z/fold8.C: Likewise. * g++.dg/cpp1z/init-statement3.C: Likewise. * g++.dg/cpp1z/nontype-auto10.C: Likewise. * g++.dg/cpp1z/class-deduction36.C: Likewise. * g++.dg/cpp1z/noexcept-type17.C: Likewise. * g++.dg/cpp1z/fallthrough1.C: Likewise. * g++.dg/cpp1z/fold1.C: Likewise. * g++.dg/cpp1z/class-deduction26.C: Likewise. * g++.dg/cpp1z/fold-ice1.C: Likewise. * g++.dg/cpp1z/fold5.C: Likewise. * g++.dg/cpp1z/class-deduction34.C: Likewise. * g++.dg/cpp1z/noexcept-type6.C: Likewise. * g++.dg/cpp1z/class-deduction7.C: Likewise. * g++.dg/cpp1z/class-deduction16.C: Likewise. * g++.dg/cpp1z/class-deduction10.C: Likewise. * g++.dg/cpp1z/eval-order3.C: Likewise. * g++.dg/cpp1z/constexpr-lambda13.C: Likewise. * g++.dg/cpp1z/aggr-base2a.C: Likewise. * g++.dg/cpp1z/nontype-auto1.C: Likewise. * g++.dg/cpp1z/constexpr-lambda3.C: Likewise. * g++.dg/cpp1z/nontype-auto7.C: Likewise. * g++.dg/cpp1z/decomp15.C: Likewise. * g++.dg/cpp1z/noexcept-type4.C: Likewise. * g++.dg/cpp1z/fold-mangle.C: Likewise. * g++.dg/cpp1z/class-deduction35.C: Likewise. * g++.dg/cpp1z/decomp4.C: Likewise. * g++.dg/cpp1z/class-deduction42.C: Likewise. * g++.dg/cpp1z/init-statement8.C: Likewise. * g++.dg/cpp1z/inline-var1a.C: Likewise. * g++.dg/cpp1z/init-statement6.C: Likewise. * g++.dg/cpp1z/class-deduction17.C: Likewise. * g++.dg/cpp1z/class-deduction28.C: Likewise. * g++.dg/cpp1z/class-deduction27.C: Likewise. * g++.dg/cpp1z/decomp-bitfield1.C: Likewise. * g++.dg/cpp1z/attributes-enum-1a.C: Likewise. * g++.dg/cpp1z/class-deduction11.C: Likewise. * g++.dg/cpp1z/constexpr-lambda12.C: Likewise. * g++.dg/cpp1z/init-statement9.C: Likewise. * g++.dg/cpp1z/class-deduction19.C: Likewise. * g++.dg/cpp1z/class-deduction5.C: Likewise. * g++.dg/cpp1z/fold2.C: Likewise. * g++.dg/cpp1z/class-deduction33.C: Likewise. * g++.dg/cpp1z/class-deduction24.C: Likewise. * g++.dg/cpp1z/aggr-base1.C: Likewise. * g++.dg/cpp1z/fold6.C: Likewise. * g++.dg/cpp1z/decomp12.C: Likewise. * g++.dg/cpp1z/class-deduction4.C: Likewise. * g++.dg/cpp1z/inline-var1.C: Likewise. * g++.dg/cpp1z/aligned-new2.C: Likewise. * g++.dg/cpp1z/class-deduction3.C: Likewise. * g++.dg/other/error3.C: Likewise. * g++.dg/init/new25.C: Likewise. * g++.dg/init/new13.C: Likewise. * g++.dg/tls/diag-2.C: Likewise. * g++.dg/tls/diag-4.C: Likewise. * g++.dg/opt/noreturn-1.C: Likewise. * g++.dg/eh/async-unwind2.C: Likewise. * g++.dg/eh/spec9.C: Likewise. * g++.dg/eh/spec7.C: Likewise. * g++.dg/eh/template1.C: Likewise. * g++.dg/eh/cond4.C: Likewise. * g++.dg/eh/pr41819.C: Likewise. * g++.dg/eh/delete1.C: Likewise. * g++.dg/eh/spec3.C: Likewise. * g++.dg/eh/forced4.C: Likewise. * g++.dg/eh/spec2.C: Likewise. * g++.dg/eh/shadow1.C: Likewise. * g++.dg/eh/pr38662.C: Likewise. * g++.dg/eh/ehopt1.C: Likewise. * g++.dg/eh/spec8.C: Likewise. * g++.dg/eh/init-temp2.C: Likewise. * g++.dg/rtti/crash3.C: Likewise. * g++.dg/warn/Wreturn-type-3.C: Likewise. * g++.dg/warn/register-parm-1.C: Likewise. * g++.dg/warn/register-var-2.C: Likewise. * g++.dg/gcov/gcov-7.C: Likewise. * g++.dg/tree-ssa/pr45605.C: Likewise. * g++.dg/cpp/pr23827_cxx98_neg.C: Likewise. * g++.dg/lookup/exception1.C: Likewise. * g++.dg/ubsan/pr79589.C: Likewise. * g++.dg/tm/pr47340.C: Likewise. * g++.dg/tm/pr46567.C: Likewise. * g++.dg/expr/bitfield5.C: Likewise. * g++.dg/expr/bool1.C: Likewise. * g++.dg/expr/lval3.C: Likewise. * g++.dg/expr/lval4.C: Likewise. * g++.dg/expr/bitfield4.C: Likewise. * g++.dg/expr/bitfield6.C: Likewise. * g++.dg/expr/bool3.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. * g++.dg/ext/has_nothrow_copy-1.C: Likewise. * g++.dg/ext/has_nothrow_copy-2.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Likewise. * g++.dg/parse/register1.C: Likewise. * g++.dg/parse/error15.C: Likewise. * g++.dg/parse/linkage2.C: Likewise. * g++.dg/concepts/intro2.C: Likewise. * g++.dg/concepts/class.C: Likewise. * g++.dg/concepts/traits1.C: Likewise. * g++.dg/concepts/req5.C: Likewise. * g++.dg/concepts/var-concept5.C: Likewise. * g++.dg/concepts/fn-concept2.C: Likewise. * g++.dg/concepts/traits2.C: Likewise. * g++.dg/concepts/placeholder2.C: Likewise. * g++.dg/concepts/class6.C: Likewise. * g++.dg/concepts/memtmpl1.C: Likewise. * g++.dg/concepts/friend2.C: Likewise. * g++.dg/concepts/template-parm3.C: Likewise. * g++.dg/concepts/template-parm10.C: Likewise. * g++.dg/concepts/explicit-spec1.C: Likewise. * g++.dg/concepts/explicit-spec3.C: Likewise. * g++.dg/concepts/var-templ2.C: Likewise. * g++.dg/concepts/intro5.C: Likewise. * g++.dg/concepts/deduction-constraint1.C: Likewise. * g++.dg/concepts/iconv1.C: Likewise. * g++.dg/concepts/constrained-parm.C: Likewise. * g++.dg/concepts/template-template-parm1.C: Likewise. * g++.dg/concepts/var-concept3.C: Likewise. * g++.dg/concepts/class3.C: Likewise. * g++.dg/concepts/memfun2.C: Likewise. * g++.dg/concepts/req1.C: Likewise. * g++.dg/concepts/disjunction1.C: Likewise. * g++.dg/concepts/req17.C: Likewise. * g++.dg/concepts/pr65848.C: Likewise. * g++.dg/concepts/placeholder4.C: Likewise. * g++.dg/concepts/decl-diagnose.C: Likewise. * g++.dg/concepts/intro7.C: Likewise. * g++.dg/concepts/pr68683.C: Likewise. * g++.dg/concepts/partial-spec4.C: Likewise. * g++.dg/concepts/template-parm5.C: Likewise. * g++.dg/concepts/explicit-inst1.C: Likewise. * g++.dg/concepts/class-deduction1.C: Likewise. * g++.dg/concepts/class1.C: Likewise. * g++.dg/concepts/req15.C: Likewise. * g++.dg/concepts/memfun.C: Likewise. * g++.dg/concepts/pr68434.C: Likewise. * g++.dg/concepts/inherit-ctor4.C: Likewise. * g++.dg/concepts/partial-spec6.C: Likewise. * g++.dg/concepts/var-templ1.C: Likewise. * g++.dg/concepts/template-parm8.C: Likewise. * g++.dg/concepts/explicit-inst3.C: Likewise. * g++.dg/concepts/class4.C: Likewise. * g++.dg/concepts/req6.C: Likewise. * g++.dg/concepts/fn8.C: Likewise. * g++.dg/concepts/class5.C: Likewise. * g++.dg/concepts/placeholder5.C: Likewise. * g++.dg/concepts/req16.C: Likewise. * g++.dg/concepts/req10.C: Likewise. * g++.dg/concepts/var-concept2.C: Likewise. * g++.dg/concepts/auto3.C: Likewise. * g++.dg/concepts/generic-fn-err.C: Likewise. * g++.dg/concepts/pr65552.C: Likewise. * g++.dg/concepts/partial-concept-id2.C: Likewise. * g++.dg/concepts/fn1.C: Likewise. * g++.dg/concepts/partial-spec.C: Likewise. * g++.dg/concepts/template-parm12.C: Likewise. * g++.dg/concepts/diagnostic1.C: Likewise. * g++.dg/concepts/intro1.C: Likewise. * g++.dg/concepts/explicit-inst4.C: Likewise. * g++.dg/concepts/req18.C: Likewise. * g++.dg/concepts/explicit-spec5.C: Likewise. * g++.dg/concepts/var-concept6.C: Likewise. * g++.dg/concepts/fn9.C: Likewise. * g++.dg/concepts/req2.C: Likewise. * g++.dg/concepts/template-parm7.C: Likewise. * g++.dg/concepts/req14.C: Likewise. * g++.dg/concepts/template-parm6.C: Likewise. * g++.dg/concepts/variadic4.C: Likewise. * g++.dg/concepts/fn6.C: Likewise. * g++.dg/concepts/req-neg1.C: Likewise. * g++.dg/concepts/alias3.C: Likewise. * g++.dg/concepts/expression2.C: Likewise. * g++.dg/concepts/partial-spec3.C: Likewise. * g++.dg/concepts/expression3.C: Likewise. * g++.dg/concepts/memfun-err.C: Likewise. * g++.dg/concepts/pr66091.C: Likewise. * g++.dg/concepts/explicit-spec2.C: Likewise. * g++.dg/concepts/equiv.C: Likewise. * g++.dg/concepts/friend1.C: Likewise. * g++.dg/concepts/fn4.C: Likewise. * g++.dg/concepts/var-templ3.C: Likewise. * g++.dg/concepts/explicit-inst2.C: Likewise. * g++.dg/concepts/alias2.C: Likewise. * g++.dg/concepts/regress/alias-decl-42.C: Likewise. * g++.dg/concepts/placeholder6.C: Likewise. * g++.dg/concepts/fn10.C: Likewise. * g++.dg/concepts/req3.C: Likewise. * g++.dg/concepts/variadic2.C: Likewise. * g++.dg/concepts/pr65636.C: Likewise. * g++.dg/concepts/intro6.C: Likewise. * g++.dg/concepts/class2.C: Likewise. * g++.dg/concepts/fn2.C: Likewise. * g++.dg/concepts/req20.C: Likewise. * g++.dg/concepts/req8.C: Likewise. * g++.dg/concepts/placeholder1.C: Likewise. * g++.dg/concepts/pr65854.C: Likewise. * g++.dg/concepts/member-concept.C: Likewise. * g++.dg/concepts/template-parm2.C: Likewise. * g++.dg/concepts/variadic1.C: Likewise. * g++.dg/concepts/fn7.C: Likewise. * g++.dg/concepts/intro4.C: Likewise. * g++.dg/concepts/req13.C: Likewise. * g++.dg/concepts/inherit-ctor3.C: Likewise. * g++.dg/concepts/explicit-spec6.C: Likewise. * g++.dg/concepts/auto1.C: Likewise. * g++.dg/concepts/alias1.C: Likewise. * g++.dg/concepts/fn-concept1.C: Likewise. * g++.dg/concepts/template-parm11.C: Likewise. * g++.dg/concepts/explicit-spec4.C: Likewise. * g++.dg/concepts/partial-concept-id1.C: Likewise. * g++.dg/concepts/req9.C: Likewise. * g++.dg/concepts/req4.C: Likewise. * g++.dg/concepts/pr65681.C: Likewise. * g++.dg/concepts/req7.C: Likewise. * g++.dg/concepts/req12.C: Likewise. * g++.dg/concepts/fn5.C: Likewise. * g++.dg/concepts/alias4.C: Likewise. * g++.dg/concepts/generic-fn.C: Likewise. * g++.dg/concepts/feature-macro.C: Likewise. * g++.dg/concepts/req19.C: Likewise. * g++.dg/concepts/placeholder3.C: Likewise. * g++.dg/concepts/intro3.C: Likewise. * g++.dg/concepts/partial-spec5.C: Likewise. * g++.dg/concepts/template-parm4.C: Likewise. * g++.dg/concepts/dr1430.C: Likewise. * g++.dg/concepts/pr65634.C: Likewise. * g++.dg/concepts/var-concept4.C: Likewise. * g++.dg/concepts/pr67249.C: Likewise. * g++.dg/concepts/expression.C: Likewise. * g++.dg/concepts/pr65575.C: Likewise. * g++.dg/concepts/partial-spec2.C: Likewise. * g++.dg/concepts/template-parm9.C: Likewise. * g++.dg/concepts/inherit-ctor1.C: Likewise. * g++.dg/concepts/equiv2.C: Likewise. * g++.dg/concepts/req11.C: Likewise. * g++.dg/concepts/template-parm1.C: Likewise. * g++.dg/concepts/inherit-ctor2.C: Likewise. * g++.dg/concepts/var-concept1.C: Likewise. * g++.dg/concepts/fn3.C: Likewise. * g++.dg/torture/pr46364.C: Likewise. * g++.dg/torture/stackalign/eh-alloca-1.C: Likewise. * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-2.C: Likewise. * g++.dg/torture/stackalign/eh-global-1.C: Likewise. * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-2.C: Likewise. * g++.dg/torture/stackalign/eh-inline-1.C: Likewise. * g++.dg/torture/pr52918-1.C: Likewise. * g++.dg/torture/pr49394.C: Likewise. * g++.dg/torture/pr57190.C: Likewise. * g++.dg/cpp0x/static_assert8.C: Likewise. * g++.dg/cpp0x/noexcept19.C: Likewise. * g++.dg/cpp0x/variadic-throw.C: Likewise. * g++.dg/cpp0x/variadic73.C: Likewise. * g++.dg/cpp0x/noexcept02.C: Likewise. * g++.dg/cpp0x/defaulted23.C: Likewise. * g++.dg/cpp0x/noexcept08.C: Likewise. * g++.dg/cpp0x/auto9.C: Likewise. * g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise. * g++.dg/cpp0x/error5.C: Likewise. * c-c++-common/gomp/atomic-12.c: Likewise. * c-c++-common/gomp/atomic-13.c: Likewise. * c-c++-common/gomp/atomic-14.c: Likewise. * c-c++-common/Wvarargs-2.c: Likewise. * c-c++-common/Wvarargs.c: Likewise. * c-c++-common/vector-subscript-2.c: Likewise. * g++.old-deja/g++.robertl/eb123.C: Likewise. * g++.old-deja/g++.eh/tmpl3.C: Likewise. * g++.old-deja/g++.eh/cleanup2.C: Likewise. * g++.old-deja/g++.eh/badalloc1.C: Likewise. * g++.old-deja/g++.eh/throw2.C: Likewise. * g++.old-deja/g++.eh/throw1.C: Likewise. * g++.old-deja/g++.eh/tmpl1.C: Likewise. * g++.old-deja/g++.other/new7.C: Likewise. * g++.old-deja/g++.other/crash30.C: Likewise. * g++.old-deja/g++.other/regstack.C: Likewise. * g++.old-deja/g++.other/crash28.C: Likewise. * g++.old-deja/g++.jason/bool5.C: Likewise. * g++.old-deja/g++.mike/p10416.C: Likewise. * g++.old-deja/g++.mike/eh25.C: Likewise. * g++.old-deja/g++.mike/eh55.C: Likewise. libcpp/ * include/cpplib.h (enum c_lang): Rename CLK_GNUCXX1Z to CLK_GNUCXX17 and CLK_CXX1Z to CLK_CXX17. * init.c (lang_defaults, cpp_init_builtins): Likewise. * expr.c (cpp_classify_number): Use C++17 instead of C++1z in diagnostics. libstdc++-v3/ * testsuite/libstdc++-prettyprinters/cxx17.cc: Use -std=c++17 or -std=gnu++17 instead of -std=c++1z or -std=gnu++1z. Use c++17 instead of c++1z and c++17_only instead of c++1z_only. Adjust expected diagnostics and comments refering to 1z to 17. * testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise. * testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise. * testsuite/30_threads/scoped_lock/cons/1.cc: Likewise. * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Likewise. * testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc: Likewise. * testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise. * testsuite/18_support/launder/1.cc (test02): Likewise. * testsuite/18_support/launder/requirements_neg.cc: Likewise. * testsuite/18_support/launder/requirements.cc: Likewise. * testsuite/18_support/byte/requirements.cc: Likewise. * testsuite/18_support/byte/ops.cc: Likewise. * testsuite/18_support/byte/global_neg.cc: Likewise. * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: Likewise. * testsuite/27_io/types/4.cc: Likewise. * testsuite/25_algorithms/sample/81221.cc: Likewise. * testsuite/25_algorithms/sample/1.cc: Likewise. * testsuite/25_algorithms/sample/2.cc: Likewise. * testsuite/25_algorithms/search/searcher.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise. * testsuite/experimental/filesystem/path/construct/string_view.cc: Likewise. * testsuite/24_iterators/range_access_cpp17.cc: Likewise. * testsuite/24_iterators/container_access.cc: Likewise. * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise. * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise. * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise. * testsuite/20_util/shared_ptr/cons/array.cc: Likewise. * testsuite/20_util/shared_ptr/observers/array.cc (struct A): Likewise. * testsuite/20_util/pair/cons/deduction.cc: Likewise. * testsuite/20_util/variant/deduction.cc: Likewise. * testsuite/20_util/tuple/78939.cc: Likewise. * testsuite/20_util/tuple/cons/deduction.cc: Likewise. * testsuite/20_util/void_t/1.cc: Likewise. * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Likewise. * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise. * testsuite/20_util/addressof/requirements/constexpr.cc: Likewise. * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise. * testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc: Likewise. * testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/has_unique_object_representations/value.cc: Likewise. * testsuite/20_util/time_point/arithmetic/constexpr.cc: Likewise. * testsuite/20_util/function_objects/invoke/59768.cc: Likewise. * testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise. * testsuite/20_util/function/cons/deduction.cc: Likewise. * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: Likewise. * testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/is_aggregate/value.cc: Likewise. * testsuite/26_numerics/lcm/1.cc: Likewise. * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. * testsuite/26_numerics/gcd/1.cc: Likewise. * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. * testsuite/26_numerics/valarray/deduction.cc: Likewise. * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise. * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise. * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: Likewise. * testsuite/23_containers/array/cons/deduction.cc: Likewise. * testsuite/23_containers/array/cons/deduction_neg.cc: Likewise. * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc: Likewise. * testsuite/23_containers/deque/cons/deduction.cc: Likewise. * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: Likewise. * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: Likewise. * testsuite/23_containers/list/cons/deduction.cc: Likewise. * testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc: Likewise. * testsuite/23_containers/forward_list/cons/deduction.cc: Likewise. * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Likewise. * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc: Likewise. * testsuite/23_containers/vector/cons/deduction.cc: Likewise. * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/9.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/deduction.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/79162.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc: Likewise. * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: Likewise. From-SVN: r252826
Jakub Jelinek committed -
PR rtl-optimization/82192 * combine.c (make_extraction): Don't look through non-paradoxical SUBREGs or TRUNCATE if pos + len is or might be bigger than inner's mode. * gcc.c-torture/execute/pr82192.c: New test. From-SVN: r252824
Jakub Jelinek committed -
We have many classes that copy cotr and assignment operator are deleted in different projects, gcc, gdb and gold. So this patch adds a macro to do this, and replace these existing mechanical code with macro DISABLE_COPY_AND_ASSIGN. The patch was posted in gdb-patches, https://sourceware.org/ml/gdb-patches/2017-07/msg00254.html but we think it is better to put this macro in include/ansidecl.h so that other projects can use it too. include: 2017-09-15 Yao Qi <yao.qi@linaro.org> Pedro Alves <palves@redhat.com> * ansidecl.h (DISABLE_COPY_AND_ASSIGN): New macro. Co-Authored-By: Pedro Alves <palves@redhat.com> From-SVN: r252823
Yao Qi committed -
include/ 2017-07-31 Nick Clifton <nickc@redhat.com> Binutils PR 21850 * ansidecl.h (OVERRIDE): Protect check of __cplusplus value with #idef __cplusplus. From-SVN: r252822
Nick Clifton committed -
2017-09-13 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * target.def (function_arg_offset): New hook. * targhooks.h (default_function_arg_offset): Declare. * targhooks.c (default_function_arg_offset): New function. * function.c (locate_and_pad_parm): Use targetm.calls.function_arg_offset instead of FUNCTION_ARG_OFFSET. * doc/tm.texi.in (FUNCTION_ARG_OFFSET): Replace with... (TARGET_FUNCTION_ARG_OFFSET): ...this. * doc/tm.texi: Regenerate. * config/spu/spu.h (FUNCTION_ARG_OFFSET): Delete. * config/spu/spu.c (spu_function_arg_offset): New function. (TARGET_FUNCTION_ARG_OFFSET): Redefine. * system.h (FUNCTION_ARG_OFFSET): Poison. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r252821
Richard Sandiford committed -
I'm not sure the documentation is correct that outprec is always less than inprec, and each non-default implementation tested for the case in which it wasn't, but the patch leaves it as-is. The SH port had a couple of TRULY_NOOP_TRUNCATION tests that were left over from the old shmedia port. 2017-09-13 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayard <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * target.def (truly_noop_truncation): New hook. (mode_rep_extended): Refer to TARGET_TRULY_NOOP_TRUNCATION rather than TRULY_NOOP_TRUNCATION. * hooks.h (hook_bool_uint_uint_true): Declare. * hooks.c (hook_bool_uint_uint_true): New function. * doc/tm.texi.in (TRULY_NOOP_TRUNCATION): Replace with... (TARGET_TRULY_NOOP_TRUNCATION): ...this. * doc/tm.texi: Regenerate. * combine.c (make_extraction): Refer to TARGET_TRULY_NOOP_TRUNCATION rather than TRULY_NOOP_TRUNCATION in comments. (simplify_comparison): Likewise. (record_truncated_value): Likewise. * expmed.c (extract_bit_field_1): Likewise. (extract_split_bit_field): Likewise. * convert.c (convert_to_integer_1): Use targetm.truly_noop_truncation instead of TRULY_NOOP_TRUNCATION. * function.c (assign_parm_setup_block): Likewise. * machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): Likewise. * rtlhooks.c: Include target.h. * config/aarch64/aarch64.h (TRULY_NOOP_TRUNCATION): Delete. * config/alpha/alpha.h (TRULY_NOOP_TRUNCATION): Delete. * config/arc/arc.h (TRULY_NOOP_TRUNCATION): Delete. * config/arm/arm.h (TRULY_NOOP_TRUNCATION): Delete. * config/avr/avr.h (TRULY_NOOP_TRUNCATION): Delete. * config/bfin/bfin.h (TRULY_NOOP_TRUNCATION): Delete. * config/c6x/c6x.h (TRULY_NOOP_TRUNCATION): Delete. * config/cr16/cr16.h (TRULY_NOOP_TRUNCATION): Delete. * config/cris/cris.h (TRULY_NOOP_TRUNCATION): Delete. * config/epiphany/epiphany.h (TRULY_NOOP_TRUNCATION): Delete. * config/fr30/fr30.h (TRULY_NOOP_TRUNCATION): Delete. * config/frv/frv.h (TRULY_NOOP_TRUNCATION): Delete. * config/ft32/ft32.h (TRULY_NOOP_TRUNCATION): Delete. * config/h8300/h8300.h (TRULY_NOOP_TRUNCATION): Delete. * config/i386/i386.h (TRULY_NOOP_TRUNCATION): Delete. * config/ia64/ia64.h (TRULY_NOOP_TRUNCATION): Delete. * config/iq2000/iq2000.h (TRULY_NOOP_TRUNCATION): Delete. * config/lm32/lm32.h (TRULY_NOOP_TRUNCATION): Delete. * config/m32c/m32c.h (TRULY_NOOP_TRUNCATION): Delete. * config/m32r/m32r.h (TRULY_NOOP_TRUNCATION): Delete. * config/m68k/m68k.h (TRULY_NOOP_TRUNCATION): Delete. * config/mcore/mcore.h (TRULY_NOOP_TRUNCATION): Delete. * config/microblaze/microblaze.h (TRULY_NOOP_TRUNCATION): Delete. * config/mips/mips.h (TRULY_NOOP_TRUNCATION): Delete. * config/mips/mips.c (mips_truly_noop_truncation): New function. (TARGET_TRULY_NOOP_TRUNCATION): Redefine. * config/mips/mips.md: Refer to TARGET_TRULY_NOOP_TRUNCATION rather than TRULY_NOOP_TRUNCATION in comments. * config/mmix/mmix.h (TRULY_NOOP_TRUNCATION): Delete. * config/mn10300/mn10300.h (TRULY_NOOP_TRUNCATION): Delete. * config/moxie/moxie.h (TRULY_NOOP_TRUNCATION): Delete. * config/msp430/msp430.h (TRULY_NOOP_TRUNCATION): Delete. * config/nds32/nds32.h (TRULY_NOOP_TRUNCATION): Delete. * config/nios2/nios2.h (TRULY_NOOP_TRUNCATION): Delete. * config/nvptx/nvptx.h (TRULY_NOOP_TRUNCATION): Delete. * config/pa/pa.h (TRULY_NOOP_TRUNCATION): Delete. * config/pdp11/pdp11.h (TRULY_NOOP_TRUNCATION): Delete. * config/powerpcspe/powerpcspe.h (TRULY_NOOP_TRUNCATION): Delete. * config/riscv/riscv.h (TRULY_NOOP_TRUNCATION): Delete. * config/riscv/riscv.md: Refer to TARGET_TRULY_NOOP_TRUNCATION rather than TRULY_NOOP_TRUNCATION in comments. * config/rl78/rl78.h (TRULY_NOOP_TRUNCATION): Delete. * config/rs6000/rs6000.h (TRULY_NOOP_TRUNCATION): Delete. * config/rx/rx.h (TRULY_NOOP_TRUNCATION): Delete. * config/s390/s390.h (TRULY_NOOP_TRUNCATION): Delete. * config/sh/sh.h (MAYBE_BASE_REGISTER_RTX_P): Remove TRULY_NOOP_TRUNCATION condition. (MAYBE_INDEX_REGISTER_RTX_P): Likewise. (TRULY_NOOP_TRUNCATION): Delete. * config/sparc/sparc.h (TRULY_NOOP_TRUNCATION): Delete. * config/spu/spu.h (TRULY_NOOP_TRUNCATION): Delete. * config/spu/spu.c (spu_truly_noop_truncation): New function. (TARGET_TRULY_NOOP_TRUNCATION): Redefine. * config/stormy16/stormy16.h (TRULY_NOOP_TRUNCATION): Delete. * config/tilegx/tilegx.h (TRULY_NOOP_TRUNCATION): Delete. * config/tilegx/tilegx.c (tilegx_truly_noop_truncation): New fuction. (TARGET_TRULY_NOOP_TRUNCATION): Redefine. * config/tilegx/tilegx.md: Refer to TARGET_TRULY_NOOP_TRUNCATION rather than TRULY_NOOP_TRUNCATION in comments. * config/tilepro/tilepro.h (TRULY_NOOP_TRUNCATION): Delete. * config/v850/v850.h (TRULY_NOOP_TRUNCATION): Delete. * config/vax/vax.h (TRULY_NOOP_TRUNCATION): Delete. * config/visium/visium.h (TRULY_NOOP_TRUNCATION): Delete. * config/xtensa/xtensa.h (TRULY_NOOP_TRUNCATION): Delete. * system.h (TRULY_NOOP_TRUNCATION): Poison. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r252818
Richard Sandiford committed -
2017-09-15 Christophe Lyon <christophe.lyon@linaro.org> PR target/67591 * config/arm/arm.md (*cmp_and): Add enabled_for_depr_it attribute. (*cmp_ior): Likewise. (*ior_scc_scc): Add alternative for enabled_for_depr_it attribute. (*ior_scc_scc_cmp): Likewise. (*and_scc_scc): Likewise. (*and_scc_scc_cmp): Likewise. From-SVN: r252817
Christophe Lyon committed -
This also seemed like a good opportunity to reverse the sense of the hook to "can", to avoid the awkward double negative in !CANNOT. 2017-09-15 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayard <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * target.def (can_change_mode_class): New hook. (mode_rep_extended): Refer to it instead of CANNOT_CHANGE_MODE_CLASS. (hard_regno_nregs): Likewise. * hooks.h (hook_bool_mode_mode_reg_class_t_true): Declare. * hooks.c (hook_bool_mode_mode_reg_class_t_true): New function. * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Replace with... (TARGET_CAN_CHANGE_MODE_CLASS): ...this. (LOAD_EXTEND_OP): Update accordingly. * doc/tm.texi: Regenerate. * doc/rtl.texi: Refer to TARGET_CAN_CHANGE_MODE_CLASS instead of CANNOT_CHANGE_MODE_CLASS. * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Replace with... (REG_CAN_CHANGE_MODE_P): ...this new macro. * combine.c (simplify_set): Update accordingly. * emit-rtl.c (validate_subreg): Likewise. * recog.c (general_operand): Likewise. * regcprop.c (mode_change_ok): Likewise. * reload1.c (choose_reload_regs): Likewise. (inherit_piecemeal_p): Likewise. * rtlanal.c (simplify_subreg_regno): Likewise. * postreload.c (reload_cse_simplify_set): Use REG_CAN_CHANGE_MODE_P instead of CANNOT_CHANGE_MODE_CLASS. (reload_cse_simplify_operands): Likewise. * reload.c (push_reload): Use targetm.can_change_mode_class instead of CANNOT_CHANGE_MODE_CLASS. (push_reload): Likewise. Also use REG_CAN_CHANGE_MODE_P instead of REG_CANNOT_CHANGE_MODE_P. * config/alpha/alpha.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/alpha/alpha.c (alpha_can_change_mode_class): New function. (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/arm/arm.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. (arm_can_change_mode_class): New function. * config/arm/neon.md: Refer to TARGET_CAN_CHANGE_MODE_CLASS rather than CANNOT_CHANGE_MODE_CLASS in comments. * config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/i386/i386-protos.h (ix86_cannot_change_mode_class): Delete. * config/i386/i386.c (ix86_cannot_change_mode_class): Replace with... (ix86_can_change_mode_class): ...this new function, inverting the sense of the return value. (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. * config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/ia64/ia64.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. (ia64_can_change_mode_class): New function. * config/m32c/m32c.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/m32c/m32c-protos.h (m32c_cannot_change_mode_class): Delete. * config/m32c/m32c.c (m32c_cannot_change_mode_class): Replace with... (m32c_can_change_mode_class): ...this new function, inverting the sense of the return value. (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/mips/mips-protos.h (mips_cannot_change_mode_class): Delete. * config/mips/mips.c (mips_cannot_change_mode_class): Replace with... (mips_can_change_mode_class): ...this new function, inverting the sense of the return value. (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. * config/msp430/msp430.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/msp430/msp430.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. (msp430_can_change_mode_class): New function. * config/nvptx/nvptx.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/nvptx/nvptx.c (nvptx_can_change_mode_class): New function. (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. * config/pa/pa32-regs.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/pa/pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/pa/pa-protos.h (pa_cannot_change_mode_class): Delete. * config/pa/pa.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. (pa_cannot_change_mode_class): Replace with... (pa_can_change_mode_class): ...this new function, inverting the sense of the return value. (pa_modes_tieable_p): Refer to TARGET_CAN_CHANGE_MODE_CLASS rather than CANNOT_CHANGE_MODE_CLASS in comments. * config/pdp11/pdp11.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/pdp11/pdp11-protos.h (pdp11_cannot_change_mode_class): Delete. * config/pdp11/pdp11.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. (pdp11_cannot_change_mode_class): Replace with... (pdp11_can_change_mode_class): ...this new function, inverting the sense of the return value. * config/powerpcspe/powerpcspe.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/powerpcspe/powerpcspe-protos.h (rs6000_cannot_change_mode_class_ptr): Delete. * config/powerpcspe/powerpcspe.c (rs6000_cannot_change_mode_class_ptr): Delete. (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. (rs6000_option_override_internal): Assign to targetm.can_change_mode_class instead of rs6000_cannot_change_mode_class_ptr. (rs6000_cannot_change_mode_class): Replace with... (rs6000_can_change_mode_class): ...this new function, inverting the sense of the return value. (rs6000_debug_cannot_change_mode_class): Replace with... (rs6000_debug_can_change_mode_class): ...this new function. * config/riscv/riscv.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/riscv/riscv.c (riscv_can_change_mode_class): New function. (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/rs6000/rs6000-protos.h (rs6000_cannot_change_mode_class_ptr): Delete. * config/rs6000/rs6000.c (rs6000_cannot_change_mode_class_ptr): Delete. (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. (rs6000_option_override_internal): Assign to targetm.can_change_mode_class instead of rs6000_cannot_change_mode_class_ptr. (rs6000_cannot_change_mode_class): Replace with... (rs6000_can_change_mode_class): ...this new function, inverting the sense of the return value. (rs6000_debug_cannot_change_mode_class): Replace with... (rs6000_debug_can_change_mode_class): ...this new function. * config/s390/s390.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/s390/s390-protos.h (s390_cannot_change_mode_class): Delete. * config/s390/s390.c (s390_cannot_change_mode_class): Replace with... (s390_can_change_mode_class): ...this new function, inverting the sense of the return value. (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. * config/sh/sh.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/sh/sh-protos.h (sh_cannot_change_mode_class): Delete. * config/sh/sh.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. (sh_cannot_change_mode_class): Replace with... (sh_can_change_mode_class): ...this new function, inverting the sense of the return value. * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/sparc/sparc.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. (sparc_can_change_mode_class): New function. * config/spu/spu.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/spu/spu.c (spu_can_change_mode_class): New function. (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. * config/visium/visium.h (CANNOT_CHANGE_MODE_CLASS): Delete. * config/visium/visium.c (TARGET_CAN_CHANGE_MODE_CLASS): Redefine. (visium_can_change_mode_class): New function. * system.h (CANNOT_CHANGE_MODE_CLASS): Poison. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r252816
Richard Sandiford committed -
https://gcc.gnu.org/ml/gcc-patches/2017-09/msg00994.html PR demangler/82195 * cp-demangle.c (d_name): Add 'toplevel' parm. Pass to ... (d_local_name): ... here. Parse trailing function args on nested local_name. (d_encoding, d_special_name, d_class_enum_type): Adjust d_name calls. * testsuite/demangle-expected: Add tests. From-SVN: r252815
Nathan Sidwell committed -
2017-09-15 Richard Biener <rguenther@suse.de> PR lto/81968 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): Iterate marking dependent sections necessary. From-SVN: r252807
Richard Biener committed -
https://gcc.gnu.org/ml/gcc-patches/2017-09/msg00983.html * cp-demangle.c (is_fnqual_component_type): Reimplement using FNQUAL_COMPONENT_CASE. (d_encoding): Hold bare_function_type in local var. (d_local_name): Build name in both cases and build result once. Collapse switch-if to single conditional. * testsuite/demangle-expected: Realign blank lines with tests. From-SVN: r252802
Nathan Sidwell committed -
re PR tree-optimization/82217 (ICE on valid code at -O1 and above: in visit_phi, at tree-ssa-sccvn.c:3908) 2017-09-15 Richard Biener <rguenther@suse.de> PR tree-optimization/82217 * tree-ssa-sccvn.c (visit_phi): Properly handle all VN_TOP but not undefined case. * gcc.dg/torture/pr82217.c: New testcase. From-SVN: r252796
Richard Biener committed -
PR target/82145 * postreload.c (reload_cse_simplify_operands): Skip NOTE_INSN_DELETED_LABEL similarly to skipping CODE_LABEL. * gcc.target/i386/pr82145.c: New test. From-SVN: r252791
Jakub Jelinek committed -
2017-09-15 Paul Thomas <pault@gcc.gnu.org> PR fortran/82184 trans-decl.c (gfc_trans_deferred_vars): Do not null the 'span' field if the symbol is either implicitly or explicitly saved. 2017-09-15 Paul Thomas <pault@gcc.gnu.org> PR fortran/82184 * gfortran.dg/pointer_array_9.f90: New test. From-SVN: r252781
Paul Thomas committed -
2017-09-15 Richard Biener <rguenther@suse.de> PR tree-optimization/68823 * graphite-scop-detection.c (build_alias_set): If we have a possible dependence check whether we can handle them by just looking at the DRs DR_ACCESS_FNs. (build_scops): If build_alias_set fails, fail the SCOP. From-SVN: r252780
Richard Biener committed -
From-SVN: r252779
GCC Administrator committed
-
- 14 Sep, 2017 2 commits
-
-
2017-09-14 Tom de Vries <tom@codesourcery.com> * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove. * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ... * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here. * testsuite/libgomp.c/c.exp: Include test-cases from libgomp.c-c++-common. * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c files. From-SVN: r252775
Tom de Vries committed -
rs6000-builtin.def (BU_FLOAT128_1_HW): New macros to support float128 built-in functions that require the ISA 3.0 hardware. [gcc] 2017-09-14 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000-builtin.def (BU_FLOAT128_1_HW): New macros to support float128 built-in functions that require the ISA 3.0 hardware. (BU_FLOAT128_3_HW): Likewise. (SQRTF128): Add support for the IEEE 128-bit square root and fma built-in functions. (FMAF128): Likewise. (FMAQ): Likewise. * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add support for built-in functions that need the ISA 3.0 IEEE 128-bit floating point instructions. (rs6000_invalid_builtin): Likewise. (rs6000_builtin_mask_names): Likewise. * config/rs6000/rs6000.h (MASK_FLOAT128_HW): Likewise. (RS6000_BTM_FLOAT128_HW): Likewise. (RS6000_BTM_COMMON): Likewise. * config/rs6000/rs6000.md (fma<mode>4_hw): Add a generator function. * doc/extend.texi (RS/6000 built-in functions): Document the IEEE 128-bit floating point square root and fused multiply-add built-in functions. [gcc/testsuite] 2017-09-14 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/abs128-1.c: Use __builtin_fabsf128 instead of __builtin_fabsq. * gcc.target/powerpc/float128-5.c: Use __builtin_fabsf128 instead of __builtin_fabsq. Prevent the test from running on 32-bit. * gcc.target/powerpc/float128-fma1.c: New test. * gcc.target/powerpc/float128-fma2.c: Likewise. * gcc.target/powerpc/float128-sqrt1.c: Likewise. * gcc.target/powerpc/float128-sqrt2.c: Likewise. From-SVN: r252771
Michael Meissner committed
-