diff options
| -rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 2 | ||||
| -rw-r--r-- | clang/test/SemaCXX/cxx11-gnu-attrs.cpp | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index a5ce9a0277d..f187ee2474b 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -9259,6 +9259,8 @@ void Sema::ActOnUninitializedDecl(Decl *RealDecl, Var->setInvalidDecl(); return; } + } else { + return; } // The variable can not have an abstract class type. diff --git a/clang/test/SemaCXX/cxx11-gnu-attrs.cpp b/clang/test/SemaCXX/cxx11-gnu-attrs.cpp index 9f182249a3e..ac9cc55b9fc 100644 --- a/clang/test/SemaCXX/cxx11-gnu-attrs.cpp +++ b/clang/test/SemaCXX/cxx11-gnu-attrs.cpp @@ -15,6 +15,9 @@ void aliasb [[gnu::alias("_Z6alias1v")]] (); void alias1() {} void aliasa [[gnu::alias("_Z6alias1v")]] (); +extern struct PR22493Ty { +} PR22493 [[gnu::alias("_ZN7pcrecpp2RE6no_argE")]]; + [[gnu::aligned(8)]] int aligned; void aligned_fn [[gnu::aligned(32)]] (); struct [[gnu::aligned(8)]] aligned_struct {}; |

