Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>

From dbeecdb307be8b783b42cbc89dcb9c5e7f528989 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 21 May 2016 00:33:20 +0000
Subject: [PATCH] llvm: TargetLibraryInfo: Undefine libc functions if they are macros

musl defines some functions as macros and not inline functions
if this is the case then make sure to undefine them

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../llvm/Analysis/TargetLibraryInfo.def       | 21 +++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/llvm/include/llvm/Analysis/TargetLibraryInfo.def b/llvm/include/llvm/Analysis/TargetLibraryInfo.def
index afed404f04c..876888656f2 100644
--- a/llvm/include/llvm/Analysis/TargetLibraryInfo.def
+++ b/llvm/include/llvm/Analysis/TargetLibraryInfo.def
@@ -782,6 +782,9 @@ TLI_DEFINE_STRING_INTERNAL("fmodl")
 TLI_DEFINE_ENUM_INTERNAL(fopen)
 TLI_DEFINE_STRING_INTERNAL("fopen")
 /// FILE *fopen64(const char *filename, const char *opentype)
+#ifdef fopen64
+#undef fopen64
+#endif
 TLI_DEFINE_ENUM_INTERNAL(fopen64)
 TLI_DEFINE_STRING_INTERNAL("fopen64")
 /// int fork();
@@ -829,6 +832,9 @@ TLI_DEFINE_STRING_INTERNAL("fseek")
 /// int fseeko(FILE *stream, off_t offset, int whence);
 TLI_DEFINE_ENUM_INTERNAL(fseeko)
 TLI_DEFINE_STRING_INTERNAL("fseeko")
+#ifdef fseeko64
+#undef fseeko64
+#endif
 /// int fseeko64(FILE *stream, off64_t offset, int whence)
 TLI_DEFINE_ENUM_INTERNAL(fseeko64)
 TLI_DEFINE_STRING_INTERNAL("fseeko64")
@@ -839,6 +845,9 @@ TLI_DEFINE_STRING_INTERNAL("fsetpos")
 TLI_DEFINE_ENUM_INTERNAL(fstat)
 TLI_DEFINE_STRING_INTERNAL("fstat")
 /// int fstat64(int filedes, struct stat64 *buf)
+#ifdef fstat64
+#undef fstat64
+#endif
 TLI_DEFINE_ENUM_INTERNAL(fstat64)
 TLI_DEFINE_STRING_INTERNAL("fstat64")
 /// int fstatvfs(int fildes, struct statvfs *buf);
@@ -854,6 +863,9 @@ TLI_DEFINE_STRING_INTERNAL("ftell")
 TLI_DEFINE_ENUM_INTERNAL(ftello)
 TLI_DEFINE_STRING_INTERNAL("ftello")
 /// off64_t ftello64(FILE *stream)
+#ifdef ftello64
+#undef ftello64
+#endif
 TLI_DEFINE_ENUM_INTERNAL(ftello64)
 TLI_DEFINE_STRING_INTERNAL("ftello64")
 /// int ftrylockfile(FILE *file);
@@ -980,6 +992,9 @@ TLI_DEFINE_STRING_INTERNAL("logl")
 TLI_DEFINE_ENUM_INTERNAL(lstat)
 TLI_DEFINE_STRING_INTERNAL("lstat")
 /// int lstat64(const char *path, struct stat64 *buf);
+#ifdef lstat64
+#undef lstat64
+#endif
 TLI_DEFINE_ENUM_INTERNAL(lstat64)
 TLI_DEFINE_STRING_INTERNAL("lstat64")
 /// void *malloc(size_t size);
@@ -1205,6 +1220,9 @@ TLI_DEFINE_STRING_INTERNAL("sscanf")
 TLI_DEFINE_ENUM_INTERNAL(stat)
 TLI_DEFINE_STRING_INTERNAL("stat")
 /// int stat64(const char *path, struct stat64 *buf);
+#ifdef stat64
+#undef stat64
+#endif
 TLI_DEFINE_ENUM_INTERNAL(stat64)
 TLI_DEFINE_STRING_INTERNAL("stat64")
 /// int statvfs(const char *path, struct statvfs *buf);
@@ -1340,6 +1358,9 @@ TLI_DEFINE_STRING_INTERNAL("times")
 TLI_DEFINE_ENUM_INTERNAL(tmpfile)
 TLI_DEFINE_STRING_INTERNAL("tmpfile")
 /// FILE *tmpfile64(void)
+#ifdef tmpfile64
+#undef tmpfile64
+#endif
 TLI_DEFINE_ENUM_INTERNAL(tmpfile64)
 TLI_DEFINE_STRING_INTERNAL("tmpfile64")
 /// int toascii(int c);
