mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-11 13:46:13 +00:00
Verifier: Check wchar_size module flag.
Differential Revision: https://reviews.llvm.org/D32974 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303460 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e6f2078382
commit
60ecb7fde8
@ -1317,6 +1317,15 @@ Verifier::visitModuleFlag(const MDNode *Op,
|
||||
Assert(Inserted,
|
||||
"module flag identifiers must be unique (or of 'require' type)", ID);
|
||||
}
|
||||
|
||||
if (ID->getString() == "wchar_size") {
|
||||
ConstantInt *Value
|
||||
= mdconst::dyn_extract_or_null<ConstantInt>(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");
|
||||
}
|
||||
}
|
||||
|
||||
/// Return true if this attribute kind only applies to functions.
|
||||
|
Loading…
Reference in New Issue
Block a user