https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79458
--- Comment #2 from Jean Pierre LeJacq <jplejacq at quoininc dot com> --- Clang 5.0.0 (trunk 295037) accepts the attribute in both locations. GCC and Clang accept the attribute in both locations for functions other than the constructor.