summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-07-10 20:55:38 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-07-10 20:55:38 +0000
commitc0c42f3dea73a391b97b1c8722a991377082d3b6 (patch)
treebcdc387cd7a24f414d00b7339eb584176a907af5 /clang/test
parent23efcc8ed723217e4c6dfe6329e8ed1333719fb0 (diff)
downloadbcm5719-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.c4
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() {
OpenPOWER on IntegriCloud