xref: /llvm-project/clang/test/Driver/windows-seh-async-verify.cpp (revision e272c37934a06cd80b9b072afc09afae5fd8c218)
1*e272c379SNico Weber // RUN: %clang --target=x86_64-pc-windows -fasync-exceptions -fsyntax-only -### %s 2>&1 | FileCheck %s
2*e272c379SNico Weber // RUN: %clang_cl --target=x86_64-pc-windows /EHa -fsyntax-only -### -- %s 2>&1 | FileCheck %s
3*e272c379SNico Weber // RUN: %clang --target=x86_64-pc-windows-gnu -fasync-exceptions -fsyntax-only -### %s 2>&1 | FileCheck %s --check-prefixes=GNU-ALL,GNU
4*e272c379SNico Weber // RUN: %clang_cl --target=x86_64-pc-windows-gnu /EHa -fsyntax-only -### -- %s 2>&1 | FileCheck %s --check-prefixes=GNU-ALL,CL-GNU
5b0194d28SPhoebe Wang 
6b0194d28SPhoebe Wang // CHECK-NOT: warning
7b0194d28SPhoebe Wang // GNU: warning: argument unused during compilation: '-fasync-exceptions' [-Wunused-command-line-argument]
8b0194d28SPhoebe Wang // CL-GNU: warning: argument unused during compilation: '/EHa' [-Wunused-command-line-argument]
9b0194d28SPhoebe Wang 
10b0194d28SPhoebe Wang // CHECK: -fasync-exceptions
11b0194d28SPhoebe Wang // GNU-ALL-NOT: -fasync-exceptions
12b0194d28SPhoebe Wang struct S {
13b0194d28SPhoebe Wang     union _Un {
~_Un()14b0194d28SPhoebe Wang         ~_Un() {}
15b0194d28SPhoebe Wang         char _Buf[12];
16b0194d28SPhoebe Wang     };
17b0194d28SPhoebe Wang     _Un _un;
18b0194d28SPhoebe Wang };
19b0194d28SPhoebe Wang 
20b0194d28SPhoebe Wang struct Embed {
21b0194d28SPhoebe Wang     S v2;
22b0194d28SPhoebe Wang };
23b0194d28SPhoebe Wang 
PR62449()24b0194d28SPhoebe Wang void PR62449() { Embed v{}; }
25