I ran into this problem recently, with gcc-4.6.1 on Solaris 10 U9: > ~/usr-i386/bin/gcc-4.6 --version gcc-4.6 (GCC) 4.6.1 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > cat restrict-kywd-test.c #include <string.h> int main(void) { return 0; } > ~/usr-i386/bin/gcc-4.6 restrict-kywd-test.c -o restrict-kywd-test In file included from /home/maciej/usr-i386/lib/gcc/i386-pc-solaris2.9/4.6.1/include-fixed/string.h:27:0, from restrict-kywd-test.c:1: /usr/include/iso/string_iso.h:60:55: error: conflicting types for '_RESTRICT_KYWD' /usr/include/iso/string_iso.h:60:27: note: previous definition of '_RESTRICT_KYWD' was here /usr/include/iso/string_iso.h:63:55: error: conflicting types for '_RESTRICT_KYWD' /usr/include/iso/string_iso.h:63:27: note: previous definition of '_RESTRICT_KYWD' was here /usr/include/iso/string_iso.h:65:55: error: conflicting types for '_RESTRICT_KYWD' /usr/include/iso/string_iso.h:65:27: note: previous definition of '_RESTRICT_KYWD' was here /usr/include/iso/string_iso.h:70:56: error: conflicting types for '_RESTRICT_KYWD' /usr/include/iso/string_iso.h:70:28: note: previous definition of '_RESTRICT_KYWD' was here /usr/include/iso/string_iso.h:72:56: error: conflicting types for '_RESTRICT_KYWD' /usr/include/iso/string_iso.h:72:28: note: previous definition of '_RESTRICT_KYWD' was here /usr/include/iso/string_iso.h:74:55: error: conflicting types for '_RESTRICT_KYWD' /usr/include/iso/string_iso.h:74:27: note: previous definition of '_RESTRICT_KYWD' was here /usr/include/iso/string_iso.h:75:57: error: conflicting types for '_RESTRICT_KYWD' /usr/include/iso/string_iso.h:75:29: note: previous definition of '_RESTRICT_KYWD' was here > uname -a SunOS unstable10x 5.10 Generic_142910-17 i86pc i386 i86pc > cat /etc/release Oracle Solaris 10 9/10 s10x_u9wos_14a X86 Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. Assembled 11 August 2010 Searching on the web showed that this problem has been cropping up every now and then, e.g. this post is from 2004 which contains a patch: http://gcc.gnu.org/ml/libstdc++/2004-04/msg00154.html Is it a new manifestation of an old problem? Any ideas how to work around it? Maciej