OLD | NEW |
1 ; RUN: pnacl-abicheck < %s | FileCheck %s | 1 ; RUN: not pnacl-abicheck < %s | FileCheck %s |
2 | 2 |
3 ; Make sure that external symbols are properly rejected or accepted | 3 ; Make sure that external symbols are properly rejected or accepted |
4 | 4 |
5 define void @foo() { | 5 define void @foo() { |
6 ret void | 6 ret void |
7 } | 7 } |
8 | 8 |
9 ; CHECK: foo is not a valid external symbol (disallowed) | 9 ; CHECK: foo is not a valid external symbol (disallowed) |
10 | 10 |
11 define external void @main() { | 11 define external void @main() { |
12 ret void | 12 ret void |
13 } | 13 } |
14 ; CHECK: main is not a valid external symbol (disallowed) | 14 ; CHECK: main is not a valid external symbol (disallowed) |
15 | 15 |
16 define external void @_start() { | 16 define external void @_start() { |
17 ret void | 17 ret void |
18 } | 18 } |
19 ; _start is whitelisted | 19 ; _start is whitelisted |
20 ; CHECK-NOT: _start is not a valid external symbol (disallowed) | 20 ; CHECK-NOT: _start is not a valid external symbol (disallowed) |
21 | 21 |
22 ; Intrinsics can be external too | 22 ; Intrinsics can be external too |
23 declare void @llvm.trap() | 23 declare void @llvm.trap() |
24 | 24 |
OLD | NEW |