how to solve this conflict

Dear yueqiang,

  After some investigations, Chris and I think we know why these warnings are occuring.

  In RedHat Linux 8, the size of struct __locale_struct changed in /usr/include/xlocale.h. Our LLVM GCC system (including libstdc++.a) was compiled on a RedHat 7.3 system.

  Many of the type conflicts that you are seeing occur because the C++ library thinks that some of the types based upon struct __locale_struct are different than what your C++ believes them to be.

  There are two things that you can do at the moment:

  1) If your programs seem to work, just ignore the warnings. I don't know what sort of problems can arise from this sort of problem, so if you choose this option, be on the lookout for subtle and obscure bugs in your compiled program. However, for most cases, this is probably alright.

  2) Your other immediate option is to download the LLVM GCC front end and build it on your system (see http://llvm.cs.uiuc.edu/docs/CFEBuildInstrs.html for a set of instructions for building it). If you need help, just email the mailing list and we'll see what we can do.

  Hope this helps.

Regards,

John T. Criswell