[cfe-dev] Over-ride the compiler built-in functions .

Tim Northover via cfe-dev cfe-dev at lists.llvm.org
Mon Jan 20 07:22:39 PST 2020


On Mon, 20 Jan 2020 at 10:57, Umesh Kalappa via cfe-dev
<cfe-dev at lists.llvm.org> wrote:
> But GCC compiles it and we think that GCC is right here unlike clang.

Names starting with two underscores (or a single underscore and a
capital letter) are reserved by the C and C++ standards for the
compiler to use. Defining any function like that is technically
undefined behaviour; defining one the compiler actually does use like
these atomic ones is extremely risky and Clang has decided it's better
to diagnose these issues than proceed with unknown behaviour.

Without the diagnostic, I believe your implementations would never be
called the way Clang is currently implemented.

> We would like to hear from the community view on this.

I think Clang is certainly technically in the right, and I'm not
convinced the ability to override them is a feature worth
implementing.

Cheers.

Tim.


More information about the cfe-dev mailing list