On Nov 30, 2009, at 11:43 AM, Anders Carlsson wrote:
> Author: andersca
> Date: Mon Nov 30 13:43:26 2009
> New Revision: 90149
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=90149&view=rev
> Log:
> Fix an assert.
> 
> Modified:
>    cfe/trunk/lib/CodeGen/CGVtable.cpp
> 
> Modified: cfe/trunk/lib/CodeGen/CGVtable.cpp
> URL: 
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGVtable.cpp?rev=90149&r1=90148&r2=90149&view=diff
> 
> ==============================================================================
> --- cfe/trunk/lib/CodeGen/CGVtable.cpp (original)
> +++ cfe/trunk/lib/CodeGen/CGVtable.cpp Mon Nov 30 13:43:26 2009
> @@ -867,8 +867,8 @@
>   const CXXRecordDecl *PrimaryBase = Layout.getPrimaryBase();
> 
>   if (PrimaryBase) {
> -    assert(PrimaryBase->isCanonicalDecl() && 
> -           "Should have the canonical decl of the primary base!");
> +    assert(PrimaryBase->isDefinition() && 
> +           "Should have the definition decl of the primary base!");

The mental model I was using was that we are playing with canonical types 
through this entire file.  The assert was to ensure that was true.  By stepping 
back to a non-canonical type, I fear we'll just discover much later on we're in 
the weeds when something went wrong.  I think I'd rather have a switch to the 
canonical type, or change the primary to be canonical during record layout.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to