llvm-project/clang/test/CodeGenCXX/macro-prefix-map-lambda.cpp
Dan McGregor 30ffb3e4fb [clang] Apply -fmacro-prefix-map to anonymous tags in template arguments
When expanding template arguments for pretty function printing,
such as for __PRETTY_FUNCTION__, make TypePrinter apply
macro-prefix-map remapping to anonymous tags such as lambdas.

Fixes https://github.com/llvm/llvm-project/issues/63219

Reviewed By: MaskRay, aaron.ballman

Differential Revision: https://reviews.llvm.org/D152570
2023-06-16 08:47:00 -07:00

15 lines
516 B
C++

// RUN: %clang_cc1 -triple %itanium_abi_triple -fmacro-prefix-map=%p=./UNLIKELY_PATH/empty %s -emit-llvm -o - | FileCheck %s
template<typename f>
auto lambdatest(f&& cb) {
const char *s = __PRETTY_FUNCTION__;
return s;
}
int main() {
auto *s = lambdatest([](){});
// CHECK: @"__PRETTY_FUNCTION__._Z10lambdatestIZ4mainE3$_0EDaOT_" = private unnamed_addr constant [{{[0-9]+}} x i8] c"auto lambdatest(f &&) [f = (lambda at ./UNLIKELY_PATH/empty{{/|\\\\}}{{.*}}.cpp:[[#@LINE-1]]:24)]\00", align 1
return 0;
}