Tests: Update Preprocess test for XL compiler limitations
This commit is contained in:
parent
cdc53b62c2
commit
baef72f2b3
|
@ -134,6 +134,15 @@ if((NOT MSVC OR PP_NMAKE) AND
|
||||||
set(EXPR_OP1 "%")
|
set(EXPR_OP1 "%")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# XL: )(
|
||||||
|
# The XL compiler cannot pass unbalanced parens correctly to a tool
|
||||||
|
# it launches internally.
|
||||||
|
if(CMAKE_C_COMPILER_ID STREQUAL "XL")
|
||||||
|
set(STRING_EXTRA "${STRING_EXTRA}()")
|
||||||
|
else()
|
||||||
|
set(STRING_EXTRA "${STRING_EXTRA})(")
|
||||||
|
endif()
|
||||||
|
|
||||||
# General: \"
|
# General: \"
|
||||||
# Make tools do not reliably accept \\\" syntax:
|
# Make tools do not reliably accept \\\" syntax:
|
||||||
# - MinGW and MSYS make tools crash with \\\"
|
# - MinGW and MSYS make tools crash with \\\"
|
||||||
|
@ -141,7 +150,10 @@ endif()
|
||||||
# or $(BACKSLASH)\" where BACKSLASH is a variable set to \\
|
# or $(BACKSLASH)\" where BACKSLASH is a variable set to \\
|
||||||
# - VS IDE gets confused about the bounds of the definition value \\\"
|
# - VS IDE gets confused about the bounds of the definition value \\\"
|
||||||
# - NMake is okay with just \\\"
|
# - NMake is okay with just \\\"
|
||||||
if(PP_NMAKE OR PP_UMAKE)
|
# - The XL compiler does not re-escape \\\" when launching an
|
||||||
|
# internal tool to do preprocessing .
|
||||||
|
if((PP_NMAKE OR PP_UMAKE) AND
|
||||||
|
NOT CMAKE_C_COMPILER_ID STREQUAL "XL")
|
||||||
set(STRING_EXTRA "${STRING_EXTRA}\\\"")
|
set(STRING_EXTRA "${STRING_EXTRA}\\\"")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -160,7 +172,7 @@ endif()
|
||||||
# support it and it is not an operator it is not worthwhile.
|
# support it and it is not an operator it is not worthwhile.
|
||||||
|
|
||||||
# Compose the final test string.
|
# Compose the final test string.
|
||||||
set(STRING_VALUE "hello`~!@$*)(_+-=}{][:'.?/${STRING_EXTRA}world")
|
set(STRING_VALUE "hello`~!@$*_+-=}{][:'.?/${STRING_EXTRA}world")
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Function-style macro command-line support:
|
# Function-style macro command-line support:
|
||||||
|
|
Loading…
Reference in New Issue