rsmith added a subscriber: rsmith.

================
Comment at: include/clang/AST/Type.h:1210
@@ +1209,3 @@
+/// Which keyword(s) were used to create an AutoType.
+enum struct AutoTypeKeyword : unsigned char {
+  /// \brief auto
----------------
Please use `enum class` here; we don't use `enum struct` anywhere in Clang or 
LLVM.

================
Comment at: include/clang/AST/Type.h:1216
@@ +1215,3 @@
+  /// \brief __auto_type (GNU extension)
+  AutoTypeExt
+};
----------------
Maybe `GNUAutoType`?

================
Comment at: include/clang/AST/Type.h:3915-3916
@@ -3902,5 +3914,4 @@
 
   void Profile(llvm::FoldingSetNodeID &ID) {
-    Profile(ID, getDeducedType(), isDecltypeAuto(), 
-                   isDependentType());
+    Profile(ID, getDeducedType(), AutoTypeBits.Keyword, isDependentType());
   }
----------------
`auto` and `__auto_type` should probably not profile differently; they mangle 
the same, so this will lead to mangling collisions. (It's not completely clear 
that we need to retain the distinction between `auto` and `__auto_type` here at 
all, since they have identical semantics, but it's probably a good thing for 
source fidelity. We don't maintain a difference between `bool` and `_Bool`, for 
what it's worth.)

================
Comment at: lib/Sema/SemaExpr.cpp:352
@@ -351,1 +351,3 @@
   if (ParsingInitForAutoVars.count(D)) {
+    const AutoType* AT = 
cast<VarDecl>(D)->getType().getTypePtr()->getContainedAutoType();
+
----------------
`const AutoType* AT` -> const AutoType *AT`. Also, remove the unnecessary 
`.getTypePtr()` here.

================
Comment at: test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p3-1y.cpp:4
@@ -3,3 +3,3 @@
 
 // FIXME: This is in p11 (?) in C++1y.
 void f() {
----------------
vsk wrote:
> Do you know what this FIXME alludes to? Seems rather mysterious to me.
It says that the relevant wording in the standard got moved to a different 
paragraph number (due to the insertion of more rules beforehand for deduced 
return types and generic lambdas).


http://reviews.llvm.org/D12686



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to