1*011b4d47SKirill Stoimenov // RUN: export LSAN_OPTIONS=detect_leaks=0 28dfbe9b0SNico Weber // RUN: rm -rf %t 38dfbe9b0SNico Weber // RUN: mkdir %t 48dfbe9b0SNico Weber 58dfbe9b0SNico Weber // RUN: not %clang_cl -fsyntax-only /Brepro /source-charset:utf-8 \ 68dfbe9b0SNico Weber // RUN: -fcrash-diagnostics-dir=%t -- %s 2>&1 | FileCheck %s 78dfbe9b0SNico Weber // RUN: cat %t/crash-report-clang-cl-*.cpp | FileCheck --check-prefix=CHECKSRC %s 88dfbe9b0SNico Weber // RUN: cat %t/crash-report-clang-cl-*.sh | FileCheck --check-prefix=CHECKSH %s 98dfbe9b0SNico Weber 108dfbe9b0SNico Weber // REQUIRES: crash-recovery 118dfbe9b0SNico Weber 128dfbe9b0SNico Weber #pragma clang __debug crash 138dfbe9b0SNico Weber 148dfbe9b0SNico Weber // CHECK: Preprocessed source(s) and associated run script(s) are located at: 158dfbe9b0SNico Weber 168dfbe9b0SNico Weber // __has_feature(cxx_exceptions) is default-off in the cl-compatible driver. 178dfbe9b0SNico Weber FOO 188dfbe9b0SNico Weber #if __has_feature(cxx_exceptions) 198dfbe9b0SNico Weber int a = 1; 208dfbe9b0SNico Weber #else 218dfbe9b0SNico Weber int a = 0; 228dfbe9b0SNico Weber #endif 238dfbe9b0SNico Weber // CHECKSRC: {{^}}FOO 248dfbe9b0SNico Weber // CHECKSRC-NEXT: {{^}}#if 0 /* disabled by -frewrite-includes */ 258dfbe9b0SNico Weber // CHECKSRC-NEXT: {{^}}#if __has_feature(cxx_exceptions) 268dfbe9b0SNico Weber // CHECKSRC-NEXT: {{^}}#endif 278dfbe9b0SNico Weber // CHECKSRC-NEXT: {{^}}#endif /* disabled by -frewrite-includes */ 288dfbe9b0SNico Weber // CHECKSRC-NEXT: {{^}}#if 0 /* evaluated by -frewrite-includes */ 298dfbe9b0SNico Weber // CHECKSRC-NEXT: {{^}}# 308dfbe9b0SNico Weber // CHECKSRC-NEXT: {{^}}int a = 1; 318dfbe9b0SNico Weber // CHECKSRC-NEXT: {{^}}#else 328dfbe9b0SNico Weber // CHECKSRC-NEXT: {{^}}# 338dfbe9b0SNico Weber // CHECKSRC-NEXT: {{^}}int a = 0; 348dfbe9b0SNico Weber // CHECKSRC-NEXT: {{^}}#endif 358dfbe9b0SNico Weber 368dfbe9b0SNico Weber // CHECK-NEXT: note: diagnostic msg: {{.*}}crash-report-clang-cl-{{.*}}.cpp 378dfbe9b0SNico Weber // CHECKSH: # Crash reproducer 388dfbe9b0SNico Weber // CHECKSH-NEXT: # Driver args: {{.*}}"-fsyntax-only" 398dfbe9b0SNico Weber // CHECKSH-SAME: /Brepro 408dfbe9b0SNico Weber // CHECKSH-SAME: /source-charset:utf-8 418dfbe9b0SNico Weber // CHECKSH-NOT: -mno-incremental-linker-compatible 428dfbe9b0SNico Weber // CHECKSH-NOT: -finput-charset=utf-8 438dfbe9b0SNico Weber // CHECKSH-NEXT: # Original command: {{.*$}} 448dfbe9b0SNico Weber // CHECKSH-NEXT: "-cc1" 458dfbe9b0SNico Weber // CHECKSH: "-main-file-name" "crash-report-clang-cl.cpp" 468dfbe9b0SNico Weber // CHECKSH: "crash-report-{{[^ ]*}}.cpp" 47