[LLVMdev] ATS workaround for Clang 3.5

Greg Fitzgerald garious at gmail.com
Tue Jan 27 10:04:13 PST 2015


The ATS community is having trouble with clang.  They had been using
an older version of clang and upgraded because newer versions give
higher quality warning messages.  Unfortunately, with 3.5, moving from
-O1 to -O2 triggers a crash on startup in the clang-generated
executable.  I had suggested building with -fsanitize=undefined and
-fsanitize=address to weed out any dependencies undefined behavior.
All their generated C code came out clean.  Here is the workaround
Hongwei Xi came up with:

https://github.com/githwxi/ATS-Postiats/commit/5e17db4badf58b404598e8b3ae4a666b8b0e889c

Looks like a bug on the LLVM side.  He says it worked with clang 3.3,
but breaks on 3.4 and 3.5.  Would someone be interested in
investigating this further?  It's fallen down to an area I don't think
I can debug quickly and if we can squeeze a fix into 3.6, that'd be
great.  ATS is such an interesting language, I hope we can help.

Thanks,
Greg



More information about the llvm-dev mailing list