This is an archive of the discontinued LLVM Phabricator instance.

emit_DW_AT_noreturn flag
AbandonedPublic

Authored by vleschuk on Aug 4 2016, 9:13 AM.

Details

Summary

Emit DWARF DW_AT_noreturn for C++ [[ noreturn ]] and C _Noreturn specifiers.

Corresponding LLVM patch: https://reviews.llvm.org/D23167

Diff Detail

Event Timeline

vleschuk updated this revision to Diff 66817.Aug 4 2016, 9:13 AM
vleschuk retitled this revision from to emit_DW_AT_noreturn flag.
vleschuk updated this object.
vleschuk added a reviewer: asl.
vleschuk added a subscriber: cfe-commits.
majnemer requested changes to this revision.Aug 4 2016, 9:18 AM
majnemer added a reviewer: majnemer.
majnemer added a subscriber: majnemer.

This has no tests.

This revision now requires changes to proceed.Aug 4 2016, 9:18 AM
vleschuk updated this revision to Diff 66825.Aug 4 2016, 10:22 AM
vleschuk edited edge metadata.

More context. Slight formatting changes.

aprantl edited edge metadata.Aug 4 2016, 1:10 PM

Please add separate testcases for C11 and C++11 (and possibly Objective-C?).

vleschuk updated this revision to Diff 67694.Aug 11 2016, 9:07 AM
vleschuk edited edge metadata.

Add IR tests

aprantl added inline comments.Aug 11 2016, 10:31 AM
test/Frontend/dinoreturn.c
2

Please check for more context. For example:

CHECK: !DISubprogram({{.*}}name: "f"{{.*}}flags: DIFlagNoreturn

would be good here.

vleschuk updated this revision to Diff 68321.Aug 17 2016, 1:38 AM

More context in text.

vleschuk updated this revision to Diff 68329.Aug 17 2016, 3:18 AM
vleschuk marked an inline comment as done.

Full context

Could somebody take a look at it and commit if no ojections?

Note that I moved the test cases to the appropriate CodeGenXYZ directories.

aprantl accepted this revision.Aug 17 2016, 9:14 AM
aprantl edited edge metadata.

Committed as r278942. Thanks!

aprantl accepted this revision.Aug 17 2016, 9:50 AM
vleschuk abandoned this revision.Jul 29 2018, 11:06 PM