// RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 -O2 -emit-llvm -o /dev/null %s // RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++20 -O2 -disable-llvm-passes -emit-llvm -o - %s | FileCheck %s struct E { E(); template E(T t); ~E(); }; E::E() { struct { // CHECK-DAG: _ZTSN1EC13$_012anotherValueMUlvE_E int anotherValue = [x = 1] { return x; }(); } obj; } template E::E(T t) { struct { // CHECK-DAG: _ZTSN1EC1IiEUt_UlvE_E int anotherValue = [x = 1] { return x; }(); } obj; } E::~E() { struct { // CHECK-DAG: _ZTSN1ED13$_012anotherValueMUlvE_E int anotherValue = [x = 2] { return x; }(); } obj; } E e(1);