Arsen Arsenović wrote: > Gnulib is distributed as part of the application, pulled in by the > application developer, tested as part of the application, and built by > the application build system (*using* the implementation). > > It is *not* distributed as part of the implementation, pulled in by the > implementation, tested as part of the implementation or built by the > implementation build system. > > It is therefore part of the application.
I don't think the way Gnulib is distributed, or whether it contains some code from glibc, matters for this topic. We have a dilemma — no room between the implementation and the application —, and I'm merely looking for a way to solve this dilemma with the least likelihood of trouble on either side. > GCC is right to define _T_ to whatever it wants. GCC does not use the identifier _T_. The identifiers in libstdc++ start with an underscore but don't end with an underscore; so there is no conflict with Gnulib here. > It would be valid for > GCC N+1 to define it as the lyrics of L'Internationale; that's its > prerogative, but it'd break Gnulib. And what about the identifier '_'? Would you advocate for GCC to break all programs that do #define _ gettext ? Bruno
