Skip to content

Commit 53de256

Browse files
committed
Fix two flaws in Configure
Configure conflated the file 'cppstdin' and the variable $cppstdin, failing to initialize the latter. It also overrode the hints file wrapper for feeding stdin to the C preprocessor. It did this without asking, but ran a simple test, and if it passed, did the override. This behavior dates to the mid 1990s. The problem is that on z/OS the simple test passes, but not all inputs do. Some system header files on z/OS have C trigraphs, which cause modern compilers to warn about them. The hints file wrapper, which dates from the late 1990's, did an "fgrep -v" to get rid of them, but it doesn't end up getting used. The simple test that Configure ends up of course would not think to try trigraphs. (There may be other issues as well, but this one really pops out.) This commit initializes $cppstdin, and doesn't try to override a furnished cppstdin from the hints.
1 parent 934f179 commit 53de256

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

Configure

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4817,6 +4817,7 @@ else
48174817
fi
48184818
chmod 755 cppstdin
48194819
wrapper=`pwd`/cppstdin
4820+
cppstdin=$wrapper
48204821
ok='false'
48214822
cd UU
48224823

@@ -4826,7 +4827,7 @@ if $test "X$cppstdin" != "X" && \
48264827
then
48274828
echo "You used to use $cppstdin $cppminus so we'll use that again."
48284829
case "$cpprun" in
4829-
'') echo "But let's see if we can live without a wrapper..." ;;
4830+
'') ok=true;;
48304831
*)
48314832
if $cpprun $cpplast <testcpp.c >testcpp.out 2>&1 && \
48324833
$contains 'abc.*xyz' testcpp.out >/dev/null 2>&1

0 commit comments

Comments
 (0)