summaryrefslogtreecommitdiff
path: root/test/C++Frontend
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-11-27 23:24:23 +0000
committerChris Lattner <sabre@nondot.org>2004-11-27 23:24:23 +0000
commitf97bf6dd7a55a3e8598b4b27c4c43726a91b2e4e (patch)
treedce684a894c592cc8c99e63b475e7799a191f516 /test/C++Frontend
parent0db649c24af347a6199af06dcfbf3b607b6b0c48 (diff)
downloadllvm-f97bf6dd7a55a3e8598b4b27c4c43726a91b2e4e.tar.gz
llvm-f97bf6dd7a55a3e8598b4b27c4c43726a91b2e4e.tar.bz2
llvm-f97bf6dd7a55a3e8598b4b27c4c43726a91b2e4e.tar.xz
New testcase for PR397
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18292 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/C++Frontend')
-rw-r--r--test/C++Frontend/2004-11-27-InlineAsmFunctionRedefinition.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/C++Frontend/2004-11-27-InlineAsmFunctionRedefinition.cpp b/test/C++Frontend/2004-11-27-InlineAsmFunctionRedefinition.cpp
new file mode 100644
index 0000000000..42b223bc99
--- /dev/null
+++ b/test/C++Frontend/2004-11-27-InlineAsmFunctionRedefinition.cpp
@@ -0,0 +1,26 @@
+// RUN: %llvmgxx %s -S -o /dev/null
+
+// PR397
+
+struct stat { };
+struct stat64 { };
+
+extern "C" {
+
+extern int lstat(const char *, struct stat *) __asm__("lstat64");
+extern int lstat64(const char *, struct stat64 *);
+
+extern int __lxstat(int, const char *, struct stat *) __asm__("__lxstat64");
+extern int __lxstat64(int, const char *, struct stat64 *);
+
+extern __inline__ int lstat(const char *path, struct stat *statbuf) {
+ return __lxstat(3, path, statbuf);
+}
+extern __inline__ int lstat64(const char *path, struct stat64 *statbuf) {
+ return __lxstat64(3, path, statbuf);
+}
+}
+
+int do_one_file(void) {
+ return lstat(0, 0) + lstat64(0,0);
+}