In addition to a PR this is 1/2 of a C=+17 feature. (The other half - really a separate thing - is attributes on namespaces).

I wonder if we should pedwarn for < C++17?
Or it could be just an extension for < C++17 - I guess that would match with clang.


   if (SCOPED_ENUM_P (newtag))
diff --git gcc/cp/semantics.c gcc/cp/semantics.c
index 701a8eb..b46c6fc 100644
--- gcc/cp/semantics.c
+++ gcc/cp/semantics.c
@@ -3651,11 +3651,6 @@ finish_id_expression (tree id_expression,
     }
     }

-  /* Handle references (c++/56130).  */
-  tree t = REFERENCE_REF_P (decl) ? TREE_OPERAND (decl, 0) : decl;
-  if (TREE_DEPRECATED (t))
-    warn_deprecated_use (t, NULL_TREE);
-
   return decl;
 }

Why did this bit get removed?

Do we handle enums in template specializations?

Ed


Reply via email to