forked from OSchip/llvm-project
Add an assertion that our use-marking actually covers all uses of a variable. The assertion doesn't cover quite as much as it should, but it's a good start, at least.
llvm-svn: 148625
This commit is contained in:
parent
02b5851823
commit
5720e34955
|
@ -1381,6 +1381,13 @@ LValue CodeGenFunction::EmitDeclRefLValue(const DeclRefExpr *E) {
|
||||||
CharUnits Alignment = getContext().getDeclAlign(ND);
|
CharUnits Alignment = getContext().getDeclAlign(ND);
|
||||||
QualType T = E->getType();
|
QualType T = E->getType();
|
||||||
|
|
||||||
|
// FIXME: We should be able to assert this for FunctionDecls as well!
|
||||||
|
// FIXME: We should be able to assert this for all DeclRefExprs, not just
|
||||||
|
// those with a valid source location.
|
||||||
|
assert((ND->isUsed(false) || !isa<VarDecl>(ND) ||
|
||||||
|
!E->getLocation().isValid()) &&
|
||||||
|
"Should not use decl without marking it used!");
|
||||||
|
|
||||||
if (ND->hasAttr<WeakRefAttr>()) {
|
if (ND->hasAttr<WeakRefAttr>()) {
|
||||||
const ValueDecl *VD = cast<ValueDecl>(ND);
|
const ValueDecl *VD = cast<ValueDecl>(ND);
|
||||||
llvm::Constant *Aliasee = CGM.GetWeakRefReference(VD);
|
llvm::Constant *Aliasee = CGM.GetWeakRefReference(VD);
|
||||||
|
|
Loading…
Reference in New Issue