On 10 March 2016 at 17:16, Andrew Haley wrote: > On 10/03/16 17:14, Patrick Begou wrote: >> Andrew Haley wrote: >>> On 10/03/16 16:08, Patrick Begou wrote: >>>> If I replace "profil" by "profile" as the class name it works on all compilers. >>> "g++ -E -Wp,-dD" is your friend. >> >> so profil is a function declared in /usr/include/unistd.h and it collapse with >> my type. >> But this do not occur with all compilers... > > It's a bug in that old version of GCC, I think. unistd.h should not > pollute your namespace like that. Rather than trying to change the contents of <unistd.h> we modified the libstdc++ headers to avoid including <unistd.h>, as documented at https://gcc.gnu.org/gcc-4.7/changes.html