Per PR4506, fix the type of size_t on OpenBSD.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@74795 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index 3f7d9a3..7a5adea 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -889,6 +889,17 @@
} // 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 @@
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)