diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2013-12-16 03:20:06 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2013-12-16 03:20:06 +0000 |
commit | d68c7aa7e633e6bd191d3964eb5a941f8d66f152 (patch) | |
tree | 0ce9bb8daa1e43485aad1495179f76c200a5cc96 /clang/lib/Basic/TargetInfo.cpp | |
parent | 774cabb5386f9d680a28d83ee478c79673bef145 (diff) | |
download | bcm5719-llvm-d68c7aa7e633e6bd191d3964eb5a941f8d66f152.tar.gz bcm5719-llvm-d68c7aa7e633e6bd191d3964eb5a941f8d66f152.zip |
Stop crashing on empty asm input constraints
An empty string for an ASM input constraint is invalid, and will crash
during clang CodeGen. Change TargetInfo::validateInputConstraint to
reject an empty string.
<rdar://problem/15552191>
llvm-svn: 197362
Diffstat (limited to 'clang/lib/Basic/TargetInfo.cpp')
-rw-r--r-- | clang/lib/Basic/TargetInfo.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Basic/TargetInfo.cpp b/clang/lib/Basic/TargetInfo.cpp index 5aa84afc4d0..d0ed6e6b161 100644 --- a/clang/lib/Basic/TargetInfo.cpp +++ b/clang/lib/Basic/TargetInfo.cpp @@ -482,6 +482,9 @@ bool TargetInfo::validateInputConstraint(ConstraintInfo *OutputConstraints, ConstraintInfo &Info) const { const char *Name = Info.ConstraintStr.c_str(); + if (!*Name) + return false; + while (*Name) { switch (*Name) { default: |