This is an archive of the discontinued LLVM Phabricator instance.

Allow mode attribute for member variables again
ClosedPublic

Authored by sberg on Jan 18 2016, 12:39 PM.

Details

Summary

...after r257868 "PR26111: segmentation fault with attribute((mode(QI))) on function declaration" (presumably accidentally) restricted it to variables and typedefs, excluding member variables (aka fields). That broke building LibreOffice, which, in bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx, contains a "typedef-unwound" copy of struct _Unwind_Except from GCC's libgcc/unwind-generic.h.

Diff Detail

Event Timeline

sberg updated this revision to Diff 45203.Jan 18 2016, 12:39 PM
sberg retitled this revision from to Allow mode attribute for member variables again.
sberg updated this object.
sberg added reviewers: ABataev, aaron.ballman.
sberg added a subscriber: cfe-commits.
aaron.ballman added inline comments.Jan 19 2016, 7:56 AM
include/clang/Basic/Attr.td
882–883

This diagnostic is no longer correct because it doesn't talk about fields.

sberg updated this revision to Diff 45268.Jan 19 2016, 8:30 AM

updated the diagnostic message to mention fields in addition to variables and typedefs

aaron.ballman accepted this revision.Jan 19 2016, 9:54 AM
aaron.ballman edited edge metadata.

LGTM, thank you for fixing this!

This revision is now accepted and ready to land.Jan 19 2016, 9:54 AM
sberg added a comment.Jan 19 2016, 1:15 PM

Please somebody push this for me; I don't have commit access. Thanks

Can you please rebase this off ToT and upload the latest diff? This is not applying cleanly for me.

sberg updated this revision to Diff 45310.Jan 19 2016, 2:53 PM
sberg edited edge metadata.

oops, had erroneously based it on some other local patch; rebased now

aaron.ballman closed this revision.Jan 19 2016, 2:58 PM

Thanks! I've commit in r258213.