1*550fa4eaSMariya Podchishchaeva // RUN: %clang_cc1 -std=c++20 -Wno-unused-value -triple x86_64-linux-gnu -emit-llvm %s -o - | FileCheck %s 2*550fa4eaSMariya Podchishchaeva 3*550fa4eaSMariya Podchishchaeva struct P { PP4*550fa4eaSMariya Podchishchaeva consteval P() {} 5*550fa4eaSMariya Podchishchaeva }; 6*550fa4eaSMariya Podchishchaeva 7*550fa4eaSMariya Podchishchaeva struct A { AA8*550fa4eaSMariya Podchishchaeva A(int v) { this->data = new int(v); } ~AA9*550fa4eaSMariya Podchishchaeva ~A() { delete data; } 10*550fa4eaSMariya Podchishchaeva private: 11*550fa4eaSMariya Podchishchaeva int *data; 12*550fa4eaSMariya Podchishchaeva }; 13*550fa4eaSMariya Podchishchaeva foo()14*550fa4eaSMariya Podchishchaevavoid foo() { 15*550fa4eaSMariya Podchishchaeva for (;A(1), P(), false;); 16*550fa4eaSMariya Podchishchaeva // CHECK: foo 17*550fa4eaSMariya Podchishchaeva // CHECK: for.cond: 18*550fa4eaSMariya Podchishchaeva // CHECK: call void @_ZN1AC1Ei 19*550fa4eaSMariya Podchishchaeva // CHECK: call void @_ZN1AD1Ev 20*550fa4eaSMariya Podchishchaeva // CHECK: for.body 21*550fa4eaSMariya Podchishchaeva } 22