xref: /llvm-project/clang/test/Driver/crash-report-clang-cl.cpp (revision 011b4d4706eea722d63438892afefdb8152b7b62)
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