llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: Iris Shi (el-ev) <details> <summary>Changes</summary> - Closes #<!-- -->144264 --- Full diff: https://github.com/llvm/llvm-project/pull/144286.diff 2 Files Affected: - (modified) clang/lib/Parse/ParseDeclCXX.cpp (+4) - (added) clang/test/Parser/cxx-invalid-attr-in-constexpr-crash.cpp (+8) ``````````diff diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp index f31c9265a0074..ed401c894f71c 100644 --- a/clang/lib/Parse/ParseDeclCXX.cpp +++ b/clang/lib/Parse/ParseDeclCXX.cpp @@ -760,6 +760,10 @@ Parser::DeclGroupPtrTy Parser::ParseUsingDeclaration( Decl *AD = ParseAliasDeclarationAfterDeclarator( TemplateInfo, UsingLoc, D, DeclEnd, AS, Attrs, &DeclFromDeclSpec); + + if (!AD) + return nullptr; + return Actions.ConvertDeclToDeclGroup(AD, DeclFromDeclSpec); } diff --git a/clang/test/Parser/cxx-invalid-attr-in-constexpr-crash.cpp b/clang/test/Parser/cxx-invalid-attr-in-constexpr-crash.cpp new file mode 100644 index 0000000000000..82104779ca67e --- /dev/null +++ b/clang/test/Parser/cxx-invalid-attr-in-constexpr-crash.cpp @@ -0,0 +1,8 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +// issue144264 +constexpr void test() +{ + using TT = struct T[deprecated{}; + // expected-error@-1 {{use of undeclared identifier 'deprecated'}} +} `````````` </details> https://github.com/llvm/llvm-project/pull/144286 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits