Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
prevent undefined behaviour at a language level while probing getenv
This test in Configure tries to probe for undefined behaviour in getenv(), but provokes undefined behaviour in C/C++ by falling off the end of a function with a non-void return type. Without optimization clang++ generated a ud2 instruction here on amd64 producing an illegal instruction exception. With optimization the test case fell off the end and started re-executing main(), eventually producing a SIGBUS. Simply dropping the value of getenv() here and returning NULL wasn't useful, under -O2 the compiler optimized away the getenv() call, voiding the whole point of the test.
- Loading branch information