blob: cf9493f988ae7ca071a154a8bd95588cad0be7fb [file] [log] [blame]
Peter Collingbournef1d76db2011-10-30 17:30:44 +00001// RUN: %clang_cc1 -triple i386-pc-linux-gnu -DBITCODE -emit-llvm-bc -o %t.bc %s
2// RUN: %clang_cc1 -triple i386-pc-linux-gnu -mlink-bitcode-file %t.bc -O3 -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-NO-BC %s
Rafael Espindola925213b2013-07-04 16:16:58 +00003// RUN: not %clang_cc1 -triple i386-pc-linux-gnu -DBITCODE -mlink-bitcode-file %t.bc -O3 -emit-llvm -o - %s 2>&1 | FileCheck -check-prefix=CHECK-BC %s
Peter Collingbournef1d76db2011-10-30 17:30:44 +00004
5int f(void);
6
7#ifdef BITCODE
8
9// CHECK-BC: 'f': symbol multiply defined
10int f(void) {
11 return 42;
12}
13
14#else
15
Stephen Lin43622612013-08-15 06:47:53 +000016// CHECK-NO-BC-LABEL: define i32 @g
Peter Collingbournef1d76db2011-10-30 17:30:44 +000017// CHECK-NO-BC: ret i32 42
18int g(void) {
19 return f();
20}
21
Stephen Lin43622612013-08-15 06:47:53 +000022// CHECK-NO-BC-LABEL: define i32 @f
Peter Collingbournef1d76db2011-10-30 17:30:44 +000023
24#endif