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