]> granicus.if.org Git - clang/commitdiff
When dumping the AST to JSON, dump whether a function is variadic or not.
authorAaron Ballman <aaron@aaronballman.com>
Mon, 27 May 2019 14:29:10 +0000 (14:29 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Mon, 27 May 2019 14:29:10 +0000 (14:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@361768 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/JSONNodeDumper.cpp
test/AST/ast-dump-expr-json.cpp

index 760ea338121c3a188f62051ea22c567b5287babf..08f63fba98c5f93d20b76326a4ab87e834b49970 100644 (file)
@@ -572,6 +572,8 @@ void JSONNodeDumper::VisitFunctionDecl(const FunctionDecl *FD) {
   attributeOnlyIfTrue("pure", FD->isPure());
   attributeOnlyIfTrue("explicitlyDeleted", FD->isDeletedAsWritten());
   attributeOnlyIfTrue("constexpr", FD->isConstexpr());
+  attributeOnlyIfTrue("variadic", FD->isVariadic());
+
   if (FD->isDefaulted())
     JOS.attribute("explicitlyDefaulted",
                   FD->isDeleted() ? "deleted" : "default");
index 15a93a08a8166f6f4c0937ee2a47273673896c43..c6ccc950e2cef7b6567f2f0351e79c4eaf7b781f 100644 (file)
@@ -4574,6 +4574,7 @@ void TestNonADLCall3() {
 // CHECK-NEXT:             "qualType": "auto (int, ...) const"
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "inline": true,
+// CHECK-NEXT:            "variadic": true,
 // CHECK-NEXT:            "inner": [
 // CHECK-NEXT:             {
 // CHECK-NEXT:              "id": "0x{{.*}}",
@@ -4673,6 +4674,7 @@ void TestNonADLCall3() {
 // CHECK-NEXT:            },
 // CHECK-NEXT:            "storageClass": "static",
 // CHECK-NEXT:            "inline": true,
+// CHECK-NEXT:            "variadic": true,
 // CHECK-NEXT:            "inner": [
 // CHECK-NEXT:             {
 // CHECK-NEXT:              "id": "0x{{.*}}",