Allow for easy detection of when a "default" TargetData is created by the

passmanager, which is never the right thing to do.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5922 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-04-25 02:50:45 +00:00
parent d6cbe339af
commit 46326d9cdf

View File

@ -91,6 +91,13 @@ TargetData::TargetData(const std::string &TargetName,
: AID(AnnotationManager::getID("TargetData::" + TargetName)) {
AnnotationManager::registerAnnotationFactory(AID, TypeAnFactory, this);
// If this assert triggers, a pass "required" TargetData information, but the
// top level tool did not provide once for it. We do not want to default
// construct, or else we might end up using a bad endianness or pointer size!
//
assert(!TargetName.empty() &&
"ERROR: Tool did not specify a target data to use!");
LittleEndian = isLittleEndian;
SubWordDataSize = SubWordSize;
IntegerRegSize = IntRegSize;