CURRENT (r249438): (devel/libiconv)./unistd.h:686:5: error: invalid token at start of a preprocessor expression : #if @GNULIB_EUIDACCESS@
dim at FreeBSD.org
Tue Apr 16 18:58:58 UTC 2013
On Apr 16, 2013, at 00:42, Jan Beich <jbeich at tormail.org> wrote:
> "O. Hartmann" <ohartman at zedat.fu-berlin.de> writes:
>> ./unistd.h:694:5: error: invalid token at start of a preprocessor
>> #if @GNULIB_EUIDACCESS@
>> 1 error generated.
> Maybe -O3 overoptimizes regex in libc e.g.,
> $ echo '#if @GNULIB_EUIDACCESS@' | sed 's/@GNULIB_EUIDACCESS@/0/'
> #if @GNULIB_EUIDACCESS@
> $ echo 'aaaaaaaaaaaaaaaaxxxaaaa' | sed 's/aaaaaaaaaaaaxxxaaaa//'
How did you arrive at this result? I have recompiled both libc and sed
with -O3, but it works just fine here. Maybe -march=native is the clue,
so which kind of CPU do you have? To see what CPU llvm detects, try:
tblgen -version | grep CPU
Note that -O3 turns on clang's vectorizer, so you might have run into an
optimizer bug, or some kind of undefined behavior which now falls over.
More information about the freebsd-ports