[ReviewRequest] [Sema/Parser] GCC Compatibility Patch: Support for __final specifier

Keane, Erich via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 25 11:24:39 PDT 2016


Hi all, my first potential-contribution, so I apologize if I'm submitting this improperly, I'm unfamiliar with the 'type' keys that you use in the topic, so hopefully I have this right.

As reported in bug 28473, GCC supports 'final' functionality in pre-C++11 code using the __final keyword.  Clang currently supports the 'final' keyword in accordance with the C++11 specification, however it ALSO supports it in pre-C++11 mode, with a warning.

This patch adds the '__final' keyword for compatibility with GCC in GCC Keywords mode (so it is enabled with existing flags), and issues a warning on its usage (suggesting switching to the C++11 keyword).  This patch also adds a regression test for the functionality described.  I believe this patch has minimal impact, as it simply adds a new keyword for existing behavior.

This has been validated with check-clang to avoid regressions.  Patch is created in reference to revisions 276665

Thanks,
Erich
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160725/d5a3cadf/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: __final_clang.diff
Type: application/octet-stream
Size: 6109 bytes
Desc: __final_clang.diff
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160725/d5a3cadf/attachment.obj>


More information about the cfe-commits mailing list