mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-10 22:43:53 +00:00
Fix upgrade of setcc with bool operands.
llvm-svn: 32266
This commit is contained in:
parent
a428b29cdb
commit
649b2046eb
@ -78,6 +78,10 @@ struct TypeInfo {
|
||||
oldTy == UIntTy || oldTy == ULongTy;
|
||||
}
|
||||
|
||||
bool isBool() const {
|
||||
return oldTy == BoolTy;
|
||||
}
|
||||
|
||||
bool isSignless() const { return !isSigned() && !isUnsigned(); }
|
||||
bool isInteger() const { return isSigned() || isUnsigned(); }
|
||||
bool isIntegral() const { return oldTy == BoolTy || isInteger(); }
|
||||
|
@ -23,7 +23,7 @@
|
||||
#define YYERROR_VERBOSE 1
|
||||
#define YYINCLUDED_STDLIB_H
|
||||
#define YYDEBUG 1
|
||||
#define UPGRADE_SETCOND_OPS 0
|
||||
#define UPGRADE_SETCOND_OPS 1
|
||||
|
||||
int yylex(); // declaration" of xxx warnings.
|
||||
int yyparse();
|
||||
@ -255,7 +255,7 @@ getCompareOp(const std::string& setcc, const TypeInfo& TI) {
|
||||
result.erase(5,1);
|
||||
else if (TI.isSigned())
|
||||
result[5] = 's';
|
||||
else if (TI.isUnsigned() || TI.isPointer())
|
||||
else if (TI.isUnsigned() || TI.isPointer() || TI.isBool())
|
||||
result[5] = 'u';
|
||||
else
|
||||
yyerror("Invalid integral type for setcc");
|
||||
|
Loading…
x
Reference in New Issue
Block a user