Here's an odd error I just ran into. The source compiles fine as C but fails
with the C++ compiler.

$ cat t.C && cat /etc/redhat-release && gcc t.C || cat -n
/amd/devco/contrib/linux/gcc-4.3.1/lib/gcc/x86_64-unknown-linux-gnu/4.3.1/include-fixed/sys/stat.h
| head -n 350 | tail -n 10
#include <sys/types.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>

int main () { }
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
In file included from /usr/include/fcntl.h:37,
                 from t.C:2:
/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.1/include-fixed/sys/stat.h:345:
error: expected initializer before '__wur'
   341  #ifdef __USE_ATFILE
   342  /* Set file access permissions of FILE relative to
   343     the directory FD is open on.  */
   344  extern int fchmodat (int __fd, __const char *__file, __mode_t mode, int
__flag)
   345       __THROW __nonnull ((2)) __wur;
   346  #endif /* Use ATFILE.  */
   347
   348
   349
   350  /* Set the file creation mask of the current process to MASK,


The output of gcc -v:

$ gcc -v t.C
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: /nfs/devco/contrib/sources/gcc-4.3.1/configure
--prefix=//nfs/d
evco/contrib/linux/gcc-4.3.1 --disable-nls --enable-shared --enable-static
--wit
h-gmp=/nfs/devco/contrib/linux/gmp-4.2.2
--with-mpfr=/nfs/devco/contrib/linux/mp
fr-2.3.1 --enable-languages=c,c++
Thread model: posix
gcc version 4.3.1 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-mtune=generic'

/amd/devco/contrib/linux/gcc-4.3.1/bin/../libexec/gcc/x86_64-unknown-linux-gnu/
4.3.1/cc1plus -quiet -v -iprefix
/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/g
cc/x86_64-unknown-linux-gnu/4.3.1/ -D_GNU_SOURCE t.C -quiet -dumpbase t.C
-mtune
=generic -auxbase t -version -o /tmp/ccC7bOXX.s
ignoring nonexistent directory
"/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gc
c/x86_64-unknown-linux-gnu/4.3.1/../../../../x86_64-unknown-linux-gnu/include"
ignoring duplicate directory
"/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/
../../lib/gcc/x86_64-unknown-linux-gnu/4.3.1/../../../../include/c++/4.3.1"
ignoring duplicate directory
"/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/
../../lib/gcc/x86_64-unknown-linux-gnu/4.3.1/../../../../include/c++/4.3.1/x86_6
4-unknown-linux-gnu"
ignoring duplicate directory
"/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/
../../lib/gcc/x86_64-unknown-linux-gnu/4.3.1/../../../../include/c++/4.3.1/backw
ard"
ignoring nonexistent directory "/usr/local/include"
ignoring duplicate directory
"/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/
../../lib/gcc/x86_64-unknown-linux-gnu/4.3.1/include"
ignoring duplicate directory
"/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/
../../lib/gcc/x86_64-unknown-linux-gnu/4.3.1/include-fixed"
ignoring nonexistent directory
"/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gc
c/../../lib/gcc/x86_64-unknown-linux-gnu/4.3.1/../../../../x86_64-unknown-linux-
gnu/include"
#include "..." search starts here:
#include <...> search starts here:

/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.
1/../../../../include/c++/4.3.1

/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.
1/../../../../include/c++/4.3.1/x86_64-unknown-linux-gnu

/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.
1/../../../../include/c++/4.3.1/backward

/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.
1/include

/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.
1/include-fixed
 /amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/../../include
 /usr/include
End of search list.
GNU C++ (GCC) version 4.3.1 (x86_64-unknown-linux-gnu)
        compiled by GNU C version 4.3.1, GMP version 4.2.2, MPFR version 2.3.1.
warning: GMP header version 4.2.2 differs from library version 4.1.4.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 189ba05b2677e2c6c2336d7bfe8ccc28
In file included from /usr/include/fcntl.h:37,
                 from t.C:2:
/amd/devco/contrib/linux/gcc-4.3.1/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.3.1
/include-fixed/sys/stat.h:345: error: expected initializer before '__wur'


-- 
           Summary: syntax error on __wur in include-fixed/sys/stat.h
           Product: gcc
           Version: 4.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: sebor at roguewave dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37405

Reply via email to