https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122428
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> --- Apparently, it is done on purpose to allow extern void foo (void) __attribute__((nocf_check)); extern void foo (void); as shown by g++.dg/tm/pr46270.C g++.dg/tm/pr46567.C g++.dg/tm/pr47340.C g++.dg/tm/unsafe2.C where __attribute__((transaction_safe)) is used, instead of __attribute__((nocf_check)).
