diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp index a0c9233dd549ddb79056c466746de61b3af4e6a4..509f37904a7f9827680f64bcf3c6faf89c682fae 100644 --- a/lib/Driver/Driver.cpp +++ b/lib/Driver/Driver.cpp @@ -551,6 +551,9 @@ void Driver::generateCompilationDiagnostics(Compilation &C, Diag(clang::diag::note_drv_command_failed_diag_msg) << "Error generating run script: " + Script + " " + EC.message(); } else { + ScriptOS << "# Crash reproducer for " << getClangFullVersion() << "\n" + << "# Original command: "; + Cmd.Print(ScriptOS, "\n", /*Quote=*/true); Cmd.Print(ScriptOS, "\n", /*Quote=*/true, &CrashInfo); Diag(clang::diag::note_drv_command_failed_diag_msg) << Script; } diff --git a/test/Driver/crash-report-modules.m b/test/Driver/crash-report-modules.m index 84b16044486b2e600df91be1e8cb0b13357610e0..dab92311e7164a5a2467ba1a0705615b3f8b5731 100644 --- a/test/Driver/crash-report-modules.m +++ b/test/Driver/crash-report-modules.m @@ -25,7 +25,9 @@ const int x = MODULE_MACRO; // CHECKSRC: @import simple; // CHECKSRC: const int x = 10; -// CHECKSH: "-cc1" +// CHECKSH: # Crash reproducer +// CHECKSH-NEXT: # Original command: {{.*$}} +// CHECKSH-NEXT: "-cc1" // CHECKSH: "-D" "FOO=BAR" // CHECKSH-NOT: "-fmodules-cache-path=/tmp/" // CHECKSH: "crash-report-modules-{{[^ ]*}}.m" diff --git a/test/Driver/crash-report.c b/test/Driver/crash-report.c index 3370da88692fab3cd1b2aef899ff229478da8625..5caad79f192bd7cb946454bb898dc3db147063f0 100644 --- a/test/Driver/crash-report.c +++ b/test/Driver/crash-report.c @@ -18,7 +18,9 @@ // CHECK-NEXT: note: diagnostic msg: {{.*}}crash-report-{{.*}}.c FOO // CHECKSRC: FOO -// CHECKSH: "-cc1" +// CHECKSH: # Crash reproducer +// CHECKSH-NEXT: # Original command: {{.*$}} +// CHECKSH-NEXT: "-cc1" // CHECKSH: "-main-file-name" "crash-report.c" // CHECKSH: "-D" "FOO=BAR" // CHECKSH-NOT: "-F/tmp/"