[Bug c++/83871] wrong code for attribute const and pure on distinct template specializations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83871 --- Comment #6 from Jakub Jelinek --- Author: jakub Date: Wed Feb 28 18:56:36 2018 New Revision: 258079 URL: https://gcc.gnu.org/viewcvs?rev=258079=gcc=rev Log: PR c++/83871 PR c++/83503 * pt.c (INCLUDE_STRING): Remove define. (warn_spec_missing_attributes): Use pretty_printer instead of std::string. Fix up inform call so that the list of attributes is in %s argument. Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/pt.c
[Bug c++/83871] wrong code for attribute const and pure on distinct template specializations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83871 --- Comment #5 from Jakub Jelinek --- Author: jakub Date: Wed Feb 28 09:43:10 2018 New Revision: 258059 URL: https://gcc.gnu.org/viewcvs?rev=258059=gcc=rev Log: PR c++/83871 PR c++/83503 * g++.dg/ext/attr-warning.C: Remove -fdump-tree-optimized from dg-options. * g++.dg/ext/attr-nonnull.C: Likewise. * g++.dg/ext/attr-noinline.C: Fix syntax in scan-tree-dump-not directives. * g++.dg/ext/attr-noinline-2.C: Likewise. * g++.dg/ext/attr-noreturn-2.C: Use -fdump-tree-optimized instead of -fdump-tree-eh in dg-options. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/ext/attr-noinline-2.C trunk/gcc/testsuite/g++.dg/ext/attr-noinline.C trunk/gcc/testsuite/g++.dg/ext/attr-nonnull.C trunk/gcc/testsuite/g++.dg/ext/attr-noreturn-2.C trunk/gcc/testsuite/g++.dg/ext/attr-warning.C
[Bug c++/83871] wrong code for attribute const and pure on distinct template specializations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83871 Martin Sebor changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Target Milestone|--- |8.0 --- Comment #4 from Martin Sebor --- Fixed via r258045.
[Bug c++/83871] wrong code for attribute const and pure on distinct template specializations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83871 --- Comment #3 from Martin Sebor --- Author: msebor Date: Tue Feb 27 22:28:21 2018 New Revision: 258045 URL: https://gcc.gnu.org/viewcvs?rev=258045=gcc=rev Log: PR c++/83871 - wrong code for attribute const and pure on distinct template specializations PR c++/83503 - [8 Regression] bogus -Wattributes for const and pure on function template specialization gcc/ChangeLog: PR c++/83871 * gcc/doc/invoke.texi (-Wmissing-attributes): New option. * gcc/print-tree.c (print_node): Handle DECL_UNINLINABLE. gcc/c-family/ChangeLog: PR c++/83871 * c.opt (-Wmissing-attributes): New option. gcc/cp/ChangeLog: PR c++/83871 PR c++/83503 * cp-tree.h (warn_spec_missing_attributes): New function. ((check_explicit_specialization): Add an argument. Call the above function. * decl.c (duplicate_decls): Avoid applying primary function template's attributes to its explicit specializations. cp/pt.c (warn_spec_missing_attributes): Define. gcc/testsuite/ChangeLog: PR c++/83871 PR c++/83503 * g++.dg/Wmissing-attributes.C: New test. * g++.dg/ext/attr-const-pure.C: New test. * g++.dg/ext/attr-const.C: New test. * g++.dg/ext/attr-deprecated-2.C: New test. * g++.dg/ext/attr-malloc-2.C: New test. * g++.dg/ext/attr-malloc.C: New test. * g++.dg/ext/attr-noinline-2.C: New test. * g++.dg/ext/attr-noinline.C: New test. * g++.dg/ext/attr-nonnull.C: New test. * g++.dg/ext/attr-noreturn-2.C: New test. * g++.dg/ext/attr-noreturn.C: New test. * g++.dg/ext/attr-nothrow-2.C: New test. * g++.dg/ext/attr-nothrow.C: New test. * g++.dg/ext/attr-optimize.C: New test. * g++.dg/ext/attr-pure.C: New test. * g++.dg/ext/attr-returns-nonnull.C: New test. * g++.dg/ext/attr-warning.C: New test. Added: trunk/gcc/testsuite/g++.dg/Wmissing-attributes.C trunk/gcc/testsuite/g++.dg/ext/attr-const-pure.C trunk/gcc/testsuite/g++.dg/ext/attr-const.C trunk/gcc/testsuite/g++.dg/ext/attr-deprecated-2.C trunk/gcc/testsuite/g++.dg/ext/attr-malloc-2.C trunk/gcc/testsuite/g++.dg/ext/attr-malloc.C trunk/gcc/testsuite/g++.dg/ext/attr-noinline-2.C trunk/gcc/testsuite/g++.dg/ext/attr-noinline.C trunk/gcc/testsuite/g++.dg/ext/attr-nonnull.C trunk/gcc/testsuite/g++.dg/ext/attr-noreturn-2.C trunk/gcc/testsuite/g++.dg/ext/attr-noreturn.C trunk/gcc/testsuite/g++.dg/ext/attr-nothrow-2.C trunk/gcc/testsuite/g++.dg/ext/attr-nothrow.C trunk/gcc/testsuite/g++.dg/ext/attr-optimize.C trunk/gcc/testsuite/g++.dg/ext/attr-pure.C trunk/gcc/testsuite/g++.dg/ext/attr-returns-nonnull.C trunk/gcc/testsuite/g++.dg/ext/attr-warning.C Modified: trunk/gcc/ChangeLog trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c.opt trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/decl.c trunk/gcc/cp/pt.c trunk/gcc/doc/invoke.texi trunk/gcc/print-tree.c trunk/gcc/testsuite/ChangeLog
[Bug c++/83871] wrong code for attribute const and pure on distinct template specializations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83871 Martin Sebor changed: What|Removed |Added Keywords||patch --- Comment #2 from Martin Sebor --- Patch: https://gcc.gnu.org/ml/gcc-patches/2018-02/msg00154.html
[Bug c++/83871] wrong code for attribute const and pure on distinct template specializations
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83871 Martin Sebor changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2018-02-03 Assignee|unassigned at gcc dot gnu.org |msebor at gcc dot gnu.org Ever confirmed|0 |1 Known to fail||6.4.0, 7.3.0, 8.0 --- Comment #1 from Martin Sebor --- A solution for this bug is necessary to fix pr83503 and pr84158. I'm working on a patch.