From 1b0ae8f05f1a5f701f14e19bee165ba93cd157ef Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Mon, 27 May 2019 14:29:10 +0000 Subject: [PATCH] When dumping the AST to JSON, dump whether a function is variadic or not. llvm-svn: 361768 --- clang/lib/AST/JSONNodeDumper.cpp | 2 ++ clang/test/AST/ast-dump-expr-json.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/clang/lib/AST/JSONNodeDumper.cpp b/clang/lib/AST/JSONNodeDumper.cpp index 760ea33..08f63fb 100644 --- a/clang/lib/AST/JSONNodeDumper.cpp +++ b/clang/lib/AST/JSONNodeDumper.cpp @@ -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"); diff --git a/clang/test/AST/ast-dump-expr-json.cpp b/clang/test/AST/ast-dump-expr-json.cpp index 15a93a0..c6ccc95 100644 --- a/clang/test/AST/ast-dump-expr-json.cpp +++ b/clang/test/AST/ast-dump-expr-json.cpp @@ -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{{.*}}", -- 2.7.4