Add a new parse hint for multi-letter constraints in inline asm.

Testcase will come when we use it.

Part of rdar://9119939


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132476 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Christopher 2011-06-02 19:26:37 +00:00
parent 1f344f052e
commit 5fab03d54c

View File

@ -181,6 +181,15 @@ bool InlineAsm::ConstraintInfo::Parse(StringRef Str,
multipleAlternativeIndex++;
pCodes = &multipleAlternatives[multipleAlternativeIndex].Codes;
++I;
} else if (*I == '^') {
// Multi-letter constraint
// These will only occur with the existing multiple alternative
// constraints and so we can use the isalpha loop below.
StringRef::iterator ConStart = I;
while (I != E && isalpha(*I))
++I;
pCodes->push_back(std::string(ConStart, I));
++I;
} else {
// Single letter constraint.
pCodes->push_back(std::string(I, I+1));