[PATCH] D75048: [ASTImporter] Improved import of AlignedAttr.

Shafik Yaghmour via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 25 13:11:55 PST 2020


shafik added inline comments.


================
Comment at: clang/lib/AST/ASTImporter.cpp:7944
+      if (auto ToEOrErr = Import(From->getAlignmentExpr()))
+        To = AlignedAttr::Create(ToContext, true, *ToEOrErr, ToRange,
+                                 FromAttr->getSyntax(),
----------------
shafik wrote:
> This call to `Create` and the one below look identical can we please refactor to avoid code duplication.
How about something more like, maybe I am missing a detail but hopefully not:

```
bool IsAlignmentExpr=From->isAlignmentExpr();
auto ToEOrErr = [IsAlignmentExpr]() {
  if (IsAlignmentExpr)
    return Import(From->getAlignmentExpr());

  return  Import(From->getAlignmentType());
}();

if (!ToTOrErr)
  return ToTOrErr.takeError();

To = AlignedAttr::Create(ToContext, IsAlignmentExpr, *ToEOrErr, ToRange,
                                 From->getSyntax(),From->getSemanticSpelling());
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75048/new/

https://reviews.llvm.org/D75048





More information about the cfe-commits mailing list