Author: Timm Baeder Date: 2025-11-26T06:34:07+01:00 New Revision: a57fe84af0679871d914e0d5fc3f449069f22a19
URL: https://github.com/llvm/llvm-project/commit/a57fe84af0679871d914e0d5fc3f449069f22a19 DIFF: https://github.com/llvm/llvm-project/commit/a57fe84af0679871d914e0d5fc3f449069f22a19.diff LOG: [clang] Implement dump() for AddrLabelDiff APValues (#169505) Added: clang/test/AST/ast-dump-APValue-addrlabeldiff.c Modified: clang/lib/AST/TextNodeDumper.cpp Removed: ################################################################################ diff --git a/clang/lib/AST/TextNodeDumper.cpp b/clang/lib/AST/TextNodeDumper.cpp index 41aebdb8d2f1b..7bc0404db1bee 100644 --- a/clang/lib/AST/TextNodeDumper.cpp +++ b/clang/lib/AST/TextNodeDumper.cpp @@ -850,7 +850,10 @@ void TextNodeDumper::Visit(const APValue &Value, QualType Ty) { return; } case APValue::AddrLabelDiff: - OS << "AddrLabelDiff <todo>"; + OS << "AddrLabelDiff "; + OS << "&&" << Value.getAddrLabelDiffLHS()->getLabel()->getName(); + OS << " - "; + OS << "&&" << Value.getAddrLabelDiffRHS()->getLabel()->getName(); return; } llvm_unreachable("Unknown APValue kind!"); diff --git a/clang/test/AST/ast-dump-APValue-addrlabel diff .c b/clang/test/AST/ast-dump-APValue-addrlabel diff .c new file mode 100644 index 0000000000000..481098eabedb9 --- /dev/null +++ b/clang/test/AST/ast-dump-APValue-addrlabel diff .c @@ -0,0 +1,22 @@ +// Test without serialization: +// RUN: %clang_cc1 -std=c23 -ast-dump %s -ast-dump-filter Test \ +// RUN: | FileCheck --strict-whitespace --match-full-lines %s +// +// Test with serialization: +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -Wno-unused-value -std=c23 -emit-pch -o %t %s +// RUN: %clang_cc1 -x c -triple x86_64-unknown-unknown -Wno-unused-value -std=c23 \ +// RUN: -include-pch %t -ast-dump-all -ast-dump-filter Test /dev/null \ +// RUN: | sed -e "s/ <undeserialized declarations>//" -e "s/ imported//" \ +// RUN: | FileCheck --strict-whitespace --match-full-lines %s + + +// CHECK: | |-value: AddrLabelDiff &&l2 - &&l1 +int Test(void) { + constexpr char ar = &&l2 - &&l1; +l1: + return 10; +l2: + return 11; +} + + _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
