diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-09-03 04:54:28 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-09-03 04:54:28 +0000 |
commit | 5345c391c65d1780a0d7b0102b7f735cc3f82732 (patch) | |
tree | 51073efac657a89346d2de7a80d7c49493a58142 /lib/Basic/Targets.cpp | |
parent | 4d861516e5bdceb391a9aeb1e6eb6851593031df (diff) |
Add basic support for -pthread.
- Patch by David Chisnall, with PCH and Darwin support mixed in.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80883 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/Targets.cpp')
-rw-r--r-- | lib/Basic/Targets.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 305ca2d8d2..d9cd42c323 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -102,6 +102,9 @@ static void getDarwinDefines(std::vector<char> &Defs, const LangOptions &Opts) { Define(Defs, "__STATIC__"); else Define(Defs, "__DYNAMIC__"); + + if (Opts.POSIXThreads) + Define(Defs, "_REENTRANT", "1"); } static void getDarwinOSXDefines(std::vector<char> &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) |