From a77eaeb1e6e2d617361bcc92e9766b708854c757 Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Thu, 3 Sep 2009 04:54:28 +0000 Subject: Add basic support for -pthread. - Patch by David Chisnall, with PCH and Darwin support mixed in. llvm-svn: 80883 --- clang/lib/Basic/Targets.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'clang/lib/Basic/Targets.cpp') diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 305ca2d8d26..d9cd42c3232 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -102,6 +102,9 @@ static void getDarwinDefines(std::vector &Defs, const LangOptions &Opts) { Define(Defs, "__STATIC__"); else Define(Defs, "__DYNAMIC__"); + + if (Opts.POSIXThreads) + Define(Defs, "_REENTRANT", "1"); } static void getDarwinOSXDefines(std::vector &Defs, @@ -272,6 +275,8 @@ protected: DefineStd(Defs, "linux", Opts); Define(Defs, "__gnu_linux__"); Define(Defs, "__ELF__", "1"); + if (Opts.POSIXThreads) + Define(Defs, "_REENTRANT", "1"); } public: LinuxTargetInfo(const std::string& triple) @@ -290,6 +295,8 @@ protected: Define(Defs, "__NetBSD__", "1"); Define(Defs, "__unix__", "1"); Define(Defs, "__ELF__", "1"); + if (Opts.POSIXThreads) + Define(Defs, "_POSIX_THREADS", "1"); } public: NetBSDTargetInfo(const std::string &triple) @@ -309,6 +316,8 @@ protected: Define(Defs, "__OpenBSD__", "1"); DefineStd(Defs, "unix", Opts); Define(Defs, "__ELF__", "1"); + if (Opts.POSIXThreads) + Define(Defs, "_POSIX_THREADS", "1"); } public: OpenBSDTargetInfo(const std::string &triple) -- cgit v1.2.3