From: Matthias Braun Date: Sat, 20 May 2017 01:28:52 +0000 (+0000) Subject: Fix breakage after r303461 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e60d79f9d722c7a66a11ac05e74b6437f82c8e87;p=llvm Fix breakage after r303461 - Improve wchar_t size predicitions based on target triple. - Be less strict in wchar_t size verifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303477 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/TargetLibraryInfo.cpp b/lib/Analysis/TargetLibraryInfo.cpp index 7a07ab75264..2be5d5caf7c 100644 --- a/lib/Analysis/TargetLibraryInfo.cpp +++ b/lib/Analysis/TargetLibraryInfo.cpp @@ -1521,7 +1521,11 @@ TargetLibraryInfoImpl &TargetLibraryAnalysis::lookupInfoImpl(const Triple &T) { unsigned TargetLibraryInfoImpl::getTargetWCharSize(const Triple &T) { // See also clang/lib/Basic/Targets.cpp. - return T.isPS4() || T.isOSWindows() || T.getArch() == Triple::xcore ? 2 : 4; + if (T.isPS4() || T.isOSWindows() || T.isArch16Bit()) + return 2; + if (T.getArch() == Triple::xcore) + return 1; + return 4; } unsigned TargetLibraryInfoImpl::getWCharSize(const Module &M) const { diff --git a/lib/IR/Verifier.cpp b/lib/IR/Verifier.cpp index 4b9bdcf81a3..21e8048442b 100644 --- a/lib/IR/Verifier.cpp +++ b/lib/IR/Verifier.cpp @@ -1322,9 +1322,6 @@ Verifier::visitModuleFlag(const MDNode *Op, ConstantInt *Value = mdconst::dyn_extract_or_null(Op->getOperand(2)); Assert(Value, "wchar_size metadata requires constant integer argument"); - uint64_t WCharSize = Value->getZExtValue(); - Assert(WCharSize == 0 || WCharSize == 2 || WCharSize == 4, - "wchar_size should be 0, 2 or 4"); } }