]> granicus.if.org Git - clang/commitdiff
Per PR4506, fix the type of size_t on OpenBSD.
authorEli Friedman <eli.friedman@gmail.com>
Sun, 5 Jul 2009 18:47:56 +0000 (18:47 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Sun, 5 Jul 2009 18:47:56 +0000 (18:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74795 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/Targets.cpp

index 3f7d9a31c61e9c4cf7cb84ed34bda5fe59031f3a..7a5adea1a38c310d8941b76479933eac8da076a7 100644 (file)
@@ -888,6 +888,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:
@@ -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)