[PATCH] D61438: [ASTImporter] Use llvm::Expected and Error in the importer API

Gabor Marton via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 9 07:25:43 PDT 2019


martong marked 8 inline comments as done.
martong added inline comments.


================
Comment at: clang/lib/AST/ASTImporter.cpp:5039
+          if (!ToOrErr)
+            // FIXME: return the error?
+            consumeError(ToOrErr.takeError());
----------------
aprantl wrote:
> We don't typically commit FIXME's into LLVM code. Why not just deal with the error properly from the start?
Ok, changed that to return with the error.


================
Comment at: lldb/source/Symbol/ClangASTImporter.cpp:68
+      return *ret_or_error;
+    } else {
+      Log *log =
----------------
sgraenitz wrote:
> aprantl wrote:
> > The `else` is redundant.
> Here it's necessary for the scope of `ret_or_error`. That's a bit unfortunate. Maybe invert the condition?
Ok, I have inverted the condition and this way the else  became redundant, so I removed it.


================
Comment at: lldb/source/Symbol/ClangASTImporter.cpp:139
+
+      llvm::consumeError(result.takeError());
+
----------------
aprantl wrote:
> Can you convert this to an early return instead?
Okay, I have added
```
  if (!delegate_sp)
    return nullptr;
```
But we can't get rid of `consumeError` because otherwise the error object remains unchecked and will cause run-time assert.
`LLDB_LOG_ERROR` calls `consumeError` too plus logs the error msg, so I changed to use that.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D61438





More information about the cfe-commits mailing list