On Tue, 2013-04-16 at 20:58 +0200, Dimitry Andric wrote: > On Apr 16, 2013, at 00:42, Jan Beich <jbe...@tormail.org> wrote: > > "O. Hartmann" <ohart...@zedat.fu-berlin.de> writes: > >> ./unistd.h:694:5: error: invalid token at start of a preprocessor > >> expression > >> #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//' > > aaaaaaaaaaaaaaaaxxxaaaa > > 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. > > -Dimitry > tblgen -version | grep CPU:
Host CPU: penryn (host A) Host CPU: core-avx-i (host B) Host CPU: corei7-avx (host C) and the problem occurs on all of those boxes running most recent FreeBSD 10.0-CURRENT with CLANG 3.3
signature.asc
Description: This is a digitally signed message part