1; RUN: not llvm-lto -lto-strip-invalid-debug-info=false \
2; RUN:     -o %t.o %S/Inputs/strip-debug-info.bc 2>&1 | \
3; RUN:     FileCheck %s -allow-empty -check-prefix=CHECK-ERR
4; RUN: llvm-lto -lto-strip-invalid-debug-info=true \
5; RUN:     -exported-symbol foo -exported-symbol _foo \
6; RUN:     -o %t.o %S/Inputs/strip-debug-info.bc 2>&1 | \
7; RUN:     FileCheck %s -allow-empty -check-prefix=CHECK-WARN
8; RUN: llvm-nm %t.o | FileCheck %s
9
10; CHECK-ERR: Broken module found, compilation aborted
11; CHECK-WARN: Invalid debug info found, debug info will be stripped
12; CHECK: foo
13define void @foo() {
14  ret void
15}
16
17!llvm.module.flags = !{!0}
18!llvm.dbg.cu = !{!1}
19
20!0 = !{i32 2, !"Debug Info Version", i32 3}
21!1 = !DIFile(filename: "broken", directory: "")
22