summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-09-03 04:54:28 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-09-03 04:54:28 +0000
commita77eaeb1e6e2d617361bcc92e9766b708854c757 (patch)
treea5d3fed84e31f95d5736b8213305e834ca05f508 /clang/lib/Basic
parent57f2224c793f30ce252cf57d4b502a5d965e2d6e (diff)
downloadbcm5719-llvm-a77eaeb1e6e2d617361bcc92e9766b708854c757.tar.gz
bcm5719-llvm-a77eaeb1e6e2d617361bcc92e9766b708854c757.zip
Add basic support for -pthread.
- Patch by David Chisnall, with PCH and Darwin support mixed in. llvm-svn: 80883
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r--clang/lib/Basic/Targets.cpp9
1 files changed, 9 insertions, 0 deletions
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<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)
OpenPOWER on IntegriCloud