diff options
| author | Eric Christopher <echristo@apple.com> | 2011-06-03 22:09:12 +0000 |
|---|---|---|
| committer | Eric Christopher <echristo@apple.com> | 2011-06-03 22:09:12 +0000 |
| commit | 1e3e8933edf5ed7a027003ff3fcbe1c93dee2cc8 (patch) | |
| tree | f93af4c8f056c2b81b0494a295f1a33e95cf9b1c /llvm/lib | |
| parent | 3b292a1ed3e3b8b24185f6df0927af9250ced432 (diff) | |
| download | bcm5719-llvm-1e3e8933edf5ed7a027003ff3fcbe1c93dee2cc8.tar.gz bcm5719-llvm-1e3e8933edf5ed7a027003ff3fcbe1c93dee2cc8.zip | |
Another possible bug. Stopgap until we can autogenerate tables and
constraint lengths.
Part of rdar://9037836 and rdar://9119939
llvm-svn: 132598
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/VMCore/InlineAsm.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/llvm/lib/VMCore/InlineAsm.cpp b/llvm/lib/VMCore/InlineAsm.cpp index c4e065df057..bd3667db761 100644 --- a/llvm/lib/VMCore/InlineAsm.cpp +++ b/llvm/lib/VMCore/InlineAsm.cpp @@ -183,12 +183,9 @@ bool InlineAsm::ConstraintInfo::Parse(StringRef Str, ++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)); + // FIXME: For now assuming these are 2-character constraints. + pCodes->push_back(std::string(I+1, I+3)); + I += 3; } else { // Single letter constraint. pCodes->push_back(std::string(I, I+1)); |

