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