Closed Bug 1666307 Opened 5 years ago Closed 5 years ago

clang++: .../build/clang-plugin/MustReturnFromCallerChecker.cpp:50: virtual void MustReturnFromCallerChecker::check(const MatchFinder::MatchResult &): Assertion `Block && "This statement should be within the CFG!"' failed.

Categories

(Developer Infrastructure :: Source Code Analysis, defect)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: sg, Assigned: sg)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

I need to figure this out in detail, but it seems to be caused by code like this (where aRv is a ErrorResult*):

      IDB_TRY_VAR(
          auto item, MakeIndexUpdateInfo(aIndexID, value, aLocale), QM_VOID,
          [aRv](const auto& tryResult) { aRv->Throw(tryResult.inspectErr()); });
Keywords: leave-open
Assignee: nobody → sgiesecke
Status: NEW → ASSIGNED
Pushed by sgiesecke@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/10a6a89276e7 Turn assertion failure into an early return for now. r=andi

Andi, do you think there should be some more investigation on why the statement is not in the CFG? If yes, should this be done on this bug, or should we close this bug and file a new one?

Assignee: sgiesecke → nobody
Status: ASSIGNED → NEW
Flags: needinfo?(bpostelnicu)

I don't think the logic of building the CFG is correct or at least we are missing something when we match things by not correlating containing-lambda/containing-func with call.
We should open another bug for this to get resolved.

Flags: needinfo?(bpostelnicu)
Blocks: 1698027

I filed Bug 1698027 now for having that fixed, but closing this one as the assertion failure is fixed.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Assignee: nobody → sgiesecke
Product: Firefox Build System → Developer Infrastructure
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: