brintos

brintos / llvm-project-archived public Read only

0
0
Text · 903 B · 3657604 Raw
30 lines · cpp
1// RUN: %clang_cc1 -std=c++1z -fms-extensions -emit-llvm %s -o - -triple=i386-pc-win32 -fms-compatibility-version=19.10 | FileCheck -allow-deprecated-dag-overlap %s2// RUN: %clang_cc1 -std=c++1z -fms-extensions -emit-llvm %s -o - -triple=i386-pc-win32 -fms-compatibility-version=19.00 | FileCheck -allow-deprecated-dag-overlap %s3 4struct S {5    int x;6    double y;7};8S f();9 10// CHECK-DAG: "?$S1@@3US@@B"11const auto [x0, y0] = f();12// CHECK-DAG: "?$S2@@3US@@B"13const auto [x1, y1] = f();14 15static union {16int a;17double b;18};19 20// CHECK-DAG: "?$S4@@3US@@B"21const auto [x2, y2] = f();22 23// CHECK-DAG: "?i1@@3V<lambda_1>@0@B"24inline const auto i1 = [](auto x) { return 0; };25// CHECK-DAG: "?i2@@3V<lambda_1>@0@B"26inline const auto i2 = [](auto x) { return 1; };27// CHECK-DAG: "??$?RH@<lambda_1>@i1@@QBE?A?<auto>@@H@Z"28// CHECK-DAG: "??$?RH@<lambda_1>@i2@@QBE?A?<auto>@@H@Z"29int g() {return i1(1) + i2(1); }30