[PATCH] D156201: [ASTImporter] Fix corrupted RecordLayout introduced by circular referenced fields
    Ding Fei via Phabricator via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Thu Jul 27 21:42:44 PDT 2023
    
    
  
danix800 added inline comments.
================
Comment at: clang/lib/AST/ASTImporter.cpp:7403
+  UO->setOperatorLoc(ToOperatorLoc);
+  UO->setCanOverflow(E->canOverflow());
+
----------------
danix800 wrote:
> shafik wrote:
> > I don't see the following values from the old code used: `E->getValueKind()`, `E->getObjectKind()` and `E->getFPOptionsOverride()`
> These three values are set for all Exprs in `Import(Stmt *FromS)`:
> 
> ```
> Expected<Stmt *> ASTImporter::Import(Stmt *FromS) {
>   // ...
>   if (auto *ToE = dyn_cast<Expr>(*ToSOrErr)) {
>     auto *FromE = cast<Expr>(FromS);
>     // Copy ExprBitfields, which may not be handled in Expr subclasses
>     // constructors.
>     ToE->setValueKind(FromE->getValueKind());
>     ToE->setObjectKind(FromE->getObjectKind());
>     ToE->setDependence(FromE->getDependence());
>   }
>   // ...
> }
> ```
Oh only the first two are set, `FPOptionsOverride` is missing! I'll fix that.
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D156201/new/
https://reviews.llvm.org/D156201
    
    
More information about the cfe-commits
mailing list