On Sat, 18 Feb 2023, 02:54 Fangrui Song, <i@maskray.me> wrote:
On Fri, Feb 17, 2023 at 6:03 PM Rich Felker <dalias@libc.org> wrote:
>
> On Fri, Feb 17, 2023 at 05:33:33PM -0800, Fangrui Song wrote:
> > C++ inline functions are requred to have exact same sequence of tokens
> > in every translation unit, but __FILE__ and __LINE__ may expand to
> > different tokens. The ODR violatioin is usually benign, but it can lead
> > to errors when C++20 modules are used.


It is sad that C++ modules broke 'assert' but not surprising. Modules were largely created out of aversion to macros. This isn't something libc can fix though, I suggest a defect report against C++ instead.

Changing the semantics of assert in C seems like a bad thing to do.

Thanks