r262576 - Caught and fixed a typo in r262572.

Sean Callanan via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 3 12:47:46 PST 2016


Nico,

the tests for ASTImporter (currently, test/ASTMerge) are currently set up to do an AST merge and check that certain errors occur.  I don’t believe they actually go and code-gen, which would have caught this.

I think investing in better ASTImporter testing is a great goal, but right now LLDB is actually the most comprehensive validation suite for the ASTImporter I’m aware of.

Sean

> On Mar 2, 2016, at 11:04 PM, Nico Weber <thakis at chromium.org> wrote:
> 
> Is it possible to test this?
> 
> On Mar 2, 2016 6:26 PM, "Sean Callanan via cfe-commits" <cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>> wrote:
> Author: spyffe
> Date: Wed Mar  2 20:22:05 2016
> New Revision: 262576
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=262576&view=rev <http://llvm.org/viewvc/llvm-project?rev=262576&view=rev>
> Log:
> Caught and fixed a typo in r262572.
> 
> I should have checked and imported D's in-class initializer.
> Instead I accidentally used ToField's in-class initializer,
> which is always NULL so ToField will never get one.
> 
> <rdar://problem/24943405>
> 
> Modified:
>     cfe/trunk/lib/AST/ASTImporter.cpp
> 
> Modified: cfe/trunk/lib/AST/ASTImporter.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTImporter.cpp?rev=262576&r1=262575&r2=262576&view=diff <http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ASTImporter.cpp?rev=262576&r1=262575&r2=262576&view=diff>
> ==============================================================================
> --- cfe/trunk/lib/AST/ASTImporter.cpp (original)
> +++ cfe/trunk/lib/AST/ASTImporter.cpp Wed Mar  2 20:22:05 2016
> @@ -3038,7 +3038,7 @@ Decl *ASTNodeImporter::VisitFieldDecl(Fi
>                                           D->getInClassInitStyle());
>    ToField->setAccess(D->getAccess());
>    ToField->setLexicalDeclContext(LexicalDC);
> -  if (Expr *FromInitializer = ToField->getInClassInitializer()) {
> +  if (Expr *FromInitializer = D->getInClassInitializer()) {
>      Expr *ToInitializer = Importer.Import(FromInitializer);
>      if (ToInitializer)
>        ToField->setInClassInitializer(ToInitializer);
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits <http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160303/df3ac896/attachment.html>


More information about the cfe-commits mailing list