xref: /llvm-project/clang/test/Driver/cl-idl.cpp (revision a643e6449ba284e345ddd35479b8c4f897eed386)
1*a643e644SReid Kleckner // Note: %s must be preceded by --, otherwise it may be interpreted as a
2*a643e644SReid Kleckner // command-line option, e.g. on Mac where %s is commonly under /Users.
3*a643e644SReid Kleckner 
4*a643e644SReid Kleckner // Test that 'clang-cl /E' treats inputs as C++ if the extension is
5*a643e644SReid Kleckner // unrecognized. midl relies on this. See PR40140.
6*a643e644SReid Kleckner 
7*a643e644SReid Kleckner // Use a plain .cpp extension first.
8*a643e644SReid Kleckner // RUN: %clang_cl /E -- %s | FileCheck %s
9*a643e644SReid Kleckner 
10*a643e644SReid Kleckner // Copy to use .idl as the extension.
11*a643e644SReid Kleckner // RUN: cp %s %t.idl
12*a643e644SReid Kleckner // RUN: %clang_cl /E -- %t.idl | FileCheck %s
13*a643e644SReid Kleckner 
14*a643e644SReid Kleckner #ifdef __cplusplus
15*a643e644SReid Kleckner struct IsCPlusPlus {};
16*a643e644SReid Kleckner #endif
17*a643e644SReid Kleckner 
18*a643e644SReid Kleckner // CHECK: struct IsCPlusPlus {};
19