diff options
| author | David Majnemer <david.majnemer@gmail.com> | 2015-07-10 20:55:38 +0000 |
|---|---|---|
| committer | David Majnemer <david.majnemer@gmail.com> | 2015-07-10 20:55:38 +0000 |
| commit | c0c42f3dea73a391b97b1c8722a991377082d3b6 (patch) | |
| tree | bcdc387cd7a24f414d00b7339eb584176a907af5 /clang/test | |
| parent | 23efcc8ed723217e4c6dfe6329e8ed1333719fb0 (diff) | |
| download | bcm5719-llvm-c0c42f3dea73a391b97b1c8722a991377082d3b6.tar.gz bcm5719-llvm-c0c42f3dea73a391b97b1c8722a991377082d3b6.zip | |
[MS ABI] Don't generates code for unreferenced inline definitions of library builtins
We should only consider declarations which were written, implicit
declarations shouldn't be considered.
This fixes PR24084.
llvm-svn: 241941
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/CodeGen/inline.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/test/CodeGen/inline.c b/clang/test/CodeGen/inline.c index a45bccc5132..16e95c03c87 100644 --- a/clang/test/CodeGen/inline.c +++ b/clang/test/CodeGen/inline.c @@ -54,6 +54,7 @@ // RUN: echo "MS C Mode tests:" // RUN: %clang_cc1 %s -triple i386-unknown-unknown -O1 -disable-llvm-optzns -emit-llvm -o - -std=c99 -fms-compatibility | FileCheck %s --check-prefix=CHECK4 +// CHECK4-NOT: define weak_odr void @_Exit( // CHECK4-LABEL: define weak_odr i32 @ei() // CHECK4-LABEL: define i32 @bar() // CHECK4-NOT: unreferenced1 @@ -62,6 +63,9 @@ // CHECK4-LABEL: define linkonce_odr i32 @foo() // CHECK4-LABEL: define available_externally void @gnu_ei_inline() +__attribute__((noreturn)) void __cdecl _exit(int _Code); +__inline void __cdecl _Exit(int status) { _exit(status); } + extern __inline int ei() { return 123; } __inline int foo() { |

