Assert that the type of the cast is equal to the _unqualified_ type of the subexpression. Fixes a problem spotted by Nuno Lopes.
llvm-svn: 46158
This commit is contained in:
parent
159ee39f4d
commit
60bfc161a0
|
@ -142,7 +142,7 @@ void AggExprEmitter::VisitImplicitCastExpr(ImplicitCastExpr *E)
|
|||
QualType STy = E->getSubExpr()->getType().getCanonicalType();
|
||||
QualType Ty = E->getType().getCanonicalType();
|
||||
|
||||
assert(STy == Ty && "Implicit cast types must be equal");
|
||||
assert(STy.getUnqualifiedType() == Ty && "Implicit cast types must be equal");
|
||||
|
||||
Visit(E->getSubExpr());
|
||||
}
|
||||
|
|
|
@ -127,3 +127,12 @@ void f11()
|
|||
a1 = a2;
|
||||
a2 = a1;
|
||||
}
|
||||
|
||||
/* Implicit casts (due to const) */
|
||||
void f12()
|
||||
{
|
||||
struct _a a1;
|
||||
const struct _a a2;
|
||||
|
||||
a1 = a2;
|
||||
}
|
Loading…
Reference in New Issue