summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2009-07-05 18:47:56 +0000
committerEli Friedman <eli.friedman@gmail.com>2009-07-05 18:47:56 +0000
commite3aa454e2f81ed5170cffc3f50193634810442f2 (patch)
treecb925eed7fc0ff7fbaebe8121f897d73d643012e /clang/lib
parent5674531255c3babc083d8dbb694ae8fb6d948274 (diff)
downloadbcm5719-llvm-e3aa454e2f81ed5170cffc3f50193634810442f2.tar.gz
bcm5719-llvm-e3aa454e2f81ed5170cffc3f50193634810442f2.zip
Per PR4506, fix the type of size_t on OpenBSD.
llvm-svn: 74795
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Basic/Targets.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 3f7d9a31c61..7a5adea1a38 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -889,6 +889,17 @@ public:
} // end anonymous namespace
namespace {
+class OpenBSDI386TargetInfo : public OpenBSDTargetInfo<X86_32TargetInfo> {
+public:
+ OpenBSDI386TargetInfo(const std::string& triple) :
+ OpenBSDTargetInfo<X86_32TargetInfo>(triple) {
+ SizeType = UnsignedLong;
+ IntPtrType = SignedLong;
+ }
+};
+} // end anonymous namespace
+
+namespace {
class DarwinI386TargetInfo : public DarwinTargetInfo<X86_32TargetInfo> {
public:
DarwinI386TargetInfo(const std::string& triple) :
@@ -1403,7 +1414,7 @@ TargetInfo* TargetInfo::CreateTargetInfo(const std::string &T) {
if (isDragonFly)
return new DragonFlyBSDTargetInfo<X86_32TargetInfo>(T);
if (isOpenBSD)
- return new OpenBSDTargetInfo<X86_32TargetInfo>(T);
+ return new OpenBSDI386TargetInfo(T);
if (isFreeBSD)
return new FreeBSDTargetInfo<X86_32TargetInfo>(T);
if (isSolaris)
OpenPOWER on IntegriCloud