This is an archive of the discontinued LLVM Phabricator instance.

Implement function attribute artificial
ClosedPublic

Authored by eandrews on Feb 13 2018, 2:44 PM.

Details

Summary

Added support in clang for GCC function attribute 'artificial'. This attribute is used to control stepping behavior of debugger with respect to inline functions.

Diff Detail

Repository
rL LLVM

Event Timeline

eandrews created this revision.Feb 13 2018, 2:44 PM
rnk accepted this revision.Feb 13 2018, 3:15 PM
rnk added subscribers: probinson, aprantl, dblaikie.

lgtm


Clang's builtin headers use __attribute__((__nodebug__)) for this purpose. Do you think we should follow this up by using artificial instead? It seems like it would be a representational improvement. @aprantl @probinson @dblaikie

test/Sema/artificial.c
3 ↗(On Diff #134123)

I think it's worth adding the foo function from the CodeGen test here to show we don't generate warnings when the function is inline specified.

This revision is now accepted and ready to land.Feb 13 2018, 3:15 PM
This revision was automatically updated to reflect the committed changes.