rsmith added inline comments.
================
Comment at: include/clang/AST/Decl.h:1213
+ bool isThisDeclarationADemotedDefinition() const {
+ return NonParmVarDeclBits.IsThisDeclarationADemotedDefinition;
+ }
----------------
This is the bug. You can't read this bit here without first checking whether
you are a ParmVarDecl, because ParmVarDecls don't have this bit at all.
================
Comment at: include/clang/AST/Decl.h:1222
+ void demoteThisDefinitionToDeclaration() {
+ assert (!isThisDeclarationADemotedDefinition() && "Aleady demoted!");
+ assert (isThisDeclarationADefinition() && "Not a definition!");
----------------
v.g.vassilev wrote:
> rsmith wrote:
> > You can remove this; it's covered by the next line.
> Ok. This would allow calling the method on already demoted definition. Do we
> want to allow that?
Demoted definitions return false from `isThisDeclarationADefinition()`, so the
next line catches this case.
https://reviews.llvm.org/D24508
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits