]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
c++: Return early in apply_late_template_attributes if there are no late attribs...
authorJakub Jelinek <jakub@redhat.com>
Thu, 25 Nov 2021 07:39:35 +0000 (08:39 +0100)
committerJakub Jelinek <jakub@redhat.com>
Thu, 25 Nov 2021 07:39:35 +0000 (08:39 +0100)
The r12-299-ga0fdff3cf33f7284 change can result in cplus_decl_attributes being called
even if there are no late attributes (but at least one early attribute) in
apply_late_template_attributes.  This patch fixes that, so that we return early
if there are no late attrs, only arrange for TYPE_ATTRIBUTES to get the early
attribute list.

2021-11-25  Jakub Jelinek  <jakub@redhat.com>

PR c++/101180
* pt.c (apply_late_template_attributes): Return early if there are no
dependent attributes.

gcc/cp/pt.c

index 49e5745410edaad095efd09df75cb89a8fd10488..221628ad3a3fdbc5adc50cb1049117c36fab4394 100644 (file)
@@ -11712,6 +11712,9 @@ apply_late_template_attributes (tree *decl_p, tree attributes, int attr_flags,
   /* Apply any non-dependent attributes.  */
   *p = nondep;
 
+  if (nondep == attributes)
+    return true;
+
   /* And then any dependent ones.  */
   tree late_attrs = NULL_TREE;
   tree *q = &late_attrs;