Message 152007 - Python tracker (original) (raw)

In non-debug mode the read_null test fails with clang-3.0:

====================================================================== FAIL: test_disable (test.test_faulthandler.FaultHandlerTests)

Traceback (most recent call last): File "/usr/home/stefan/hg/cpython/Lib/test/test_faulthandler.py", line 235, in test_disable self.assertNotEqual(exitcode, 0) AssertionError: 0 == 0

clang "optimizes" the undefined behavior into a simple assignment:

$ ~/usr/bin/clang --version clang version 3.0 (tags/RELEASE_30/final) Target: x86_64-unknown-freebsd9.0 Thread model: posix $ $ cat read_null.c #include <stdio.h>

int main(void) { int *x = NULL, y;

y = *x;
printf("%d\n", y);

return 0;

} $ $ ~/usr/bin/clang -Wall -O0 -g -o read_null read_null.c $ ./read_null Segmentation fault: 11 (core dumped) $ ~/usr/bin/clang -Wall -O3 -g -o read_null read_null.c $ ./read_null 0