diff --git a/src/libs/3rdparty/cplusplus/Parser.cpp b/src/libs/3rdparty/cplusplus/Parser.cpp
index ca77a8b5d7bb4eaddc9a8971666b158c089c18ec..cf459dbffbbea0ac039bf1b8ae69866e959be986 100644
--- a/src/libs/3rdparty/cplusplus/Parser.cpp
+++ b/src/libs/3rdparty/cplusplus/Parser.cpp
@@ -2998,7 +2998,7 @@ bool Parser::parseExpressionOrDeclarationStatement(StatementAST *&node)
 
     const unsigned start = cursor();
 
-    if (lookAtCVQualifier() || lookAtStorageClassSpecifier() || lookAtBuiltinTypeSpecifier() || LA() == T_TYPENAME || LA() == T_ENUM || lookAtClassKey())
+    if (lookAtCVQualifier() || lookAtStorageClassSpecifier() || lookAtBuiltinTypeSpecifier() || LA() == T_TYPENAME || LA() == T_ENUM || lookAtClassKey() || LA() == T_STATIC_ASSERT)
         return parseDeclarationStatement(node);
 
     if (LA() == T_IDENTIFIER || (LA() == T_COLON_COLON && LA(2) == T_IDENTIFIER)) {
@@ -3383,6 +3383,9 @@ bool Parser::parseBlockDeclaration(DeclarationAST *&node)
     case T_NAMESPACE:
         return parseNamespaceAliasDefinition(node);
 
+    case T_STATIC_ASSERT:
+        return parseStaticAssertDeclaration(node);
+
     default:
         return parseSimpleDeclaration(node);
     } // switch