forked from OSchip/llvm-project
compute the integer width, not the memory width here. We want to know that
_Bool is 1 bit, not 8. This fixes an assertion on the testcase, which is PR9304 and rdar://9045501. llvm-svn: 126368
This commit is contained in:
parent
eddb33ebd0
commit
abcf38a064
|
@ -502,8 +502,7 @@ Sema::ActOnFinishSwitchStmt(SourceLocation SwitchLoc, Stmt *Switch,
|
|||
bool HasDependentValue
|
||||
= CondExpr->isTypeDependent() || CondExpr->isValueDependent();
|
||||
unsigned CondWidth
|
||||
= HasDependentValue? 0
|
||||
: static_cast<unsigned>(Context.getTypeSize(CondTypeBeforePromotion));
|
||||
= HasDependentValue ? 0 : Context.getIntWidth(CondTypeBeforePromotion);
|
||||
bool CondIsSigned = CondTypeBeforePromotion->isSignedIntegerType();
|
||||
|
||||
// Accumulate all of the case values in a vector so that we can sort them
|
||||
|
|
|
@ -57,3 +57,10 @@ namespace test3 {
|
|||
template void foo<B>();
|
||||
template void foo<C>(); //expected-note {{in instantiation}}
|
||||
}
|
||||
|
||||
// PR9304 and rdar://9045501
|
||||
void click_check_header_sizes() {
|
||||
switch (0 == 8) { // expected-warning {{switch condition has boolean value}}
|
||||
case 0: ;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue