164 165 WARNINGS_ENABLE_ALL="-W3" 166 DISABLED_WARNINGS="4800" 167 ;; 168 169 solstudio) 170 DISABLE_WARNING_PREFIX="-erroff=" 171 CFLAGS_WARNINGS_ARE_ERRORS="-errwarn=%all" 172 173 WARNINGS_ENABLE_ALL_CFLAGS="-v" 174 WARNINGS_ENABLE_ALL_CXXFLAGS="+w" 175 176 DISABLED_WARNINGS_C="" 177 DISABLED_WARNINGS_CXX="" 178 ;; 179 180 gcc) 181 DISABLE_WARNING_PREFIX="-Wno-" 182 CFLAGS_WARNINGS_ARE_ERRORS="-Werror" 183 184 WARNINGS_ENABLE_ALL="-Wall -Wextra -Wformat=2" 185 WARNINGS_ENABLE_ADDITIONAL_JVM="-Wpointer-arith -Wsign-compare -Wunused-function -Wundef -Wunused-value -Woverloaded-virtual -Wreorder -Wreturn-type" 186 187 DISABLED_WARNINGS="unused-parameter unused" 188 189 # Repeate the check for the BUILD_CC and BUILD_CXX. Need to also reset 190 # CFLAGS since any target specific flags will likely not work with the 191 # build compiler 192 CC_OLD="$CC" 193 CXX_OLD="$CXX" 194 CC="$BUILD_CC" 195 CXX="$BUILD_CXX" 196 CFLAGS_OLD="$CFLAGS" 197 CFLAGS="" 198 BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-" 199 CC="$CC_OLD" 200 CXX="$CXX_OLD" 201 CFLAGS="$CFLAGS_OLD" 202 ;; 203 204 clang) 205 DISABLE_WARNING_PREFIX="-Wno-" 206 CFLAGS_WARNINGS_ARE_ERRORS="-Werror" 207 208 WARNINGS_ENABLE_ALL="-Wall -Wextra -Wformat=2" 209 WARNINGS_ENABLE_ADDITIONAL_JVM="-Wpointer-arith -Wsign-compare -Wunused-function -Wundef -Wunused-value -Woverloaded-virtual -Wreorder" 210 211 DISABLED_WARNINGS="unused-parameter unused" 212 ;; 213 214 xlc) 215 DISABLE_WARNING_PREFIX="-qsuppress=" 216 CFLAGS_WARNINGS_ARE_ERRORS="-qhalt=w" 217 218 # Possibly a better subset than "all" is "lan:trx:ret:zea:cmp:ret" 219 WARNINGS_ENABLE_ALL="-qinfo=all -qformat=all" 220 DISABLED_WARNINGS="" 221 ;; 222 esac 223 AC_SUBST(DISABLE_WARNING_PREFIX) 224 AC_SUBST(BUILD_CC_DISABLE_WARNING_PREFIX) 225 AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS) 226 AC_SUBST(DISABLED_WARNINGS) 227 AC_SUBST(DISABLED_WARNINGS_C) 228 AC_SUBST(DISABLED_WARNINGS_CXX) 229 ]) 230 231 AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS], 554 if test "x$DEBUG_LEVEL" = xslowdebug; then 555 # Previously -g was used instead of -g0 for slowdebug; this is equivalent 556 # to setting +d. 557 TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM +d" 558 fi 559 560 elif test "x$TOOLCHAIN_TYPE" = xxlc; then 561 # Suggested additions: -qsrcmsg to get improved error reporting 562 TOOLCHAIN_CFLAGS_JDK="-qchars=signed -qfullpath -qsaveopt" # add on both CFLAGS 563 TOOLCHAIN_CFLAGS_JVM="-qtune=balanced \ 564 -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \ 565 -qlanglvl=noredefmac -qnortti -qnoeh -qignerrno" 566 elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then 567 TOOLCHAIN_CFLAGS_JVM="-nologo -MD -MP" 568 TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:wchar_t-" 569 fi 570 571 # CFLAGS WARNINGS STUFF 572 # Set JVM_CFLAGS warning handling 573 if test "x$TOOLCHAIN_TYPE" = xgcc; then 574 WARNING_CFLAGS_JDK="$WARNINGS_ENABLE_ALL" 575 WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL $WARNINGS_ENABLE_ADDITIONAL_JVM" 576 577 elif test "x$TOOLCHAIN_TYPE" = xclang; then 578 if test "x$OPENJDK_TARGET_OS" = xlinux; then 579 WARNING_CFLAGS_JDK="$WARNINGS_ENABLE_ALL" 580 else 581 WARNING_CFLAGS_JDK="" # currently left empty 582 fi 583 WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL $WARNINGS_ENABLE_ADDITIONAL_JVM" 584 585 elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then 586 WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS" 587 WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS" 588 WARNING_CFLAGS_JVM="" # currently left empty 589 elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then 590 WARNING_CFLAGS="$WARNINGS_ENABLE_ALL" 591 elif test "x$TOOLCHAIN_TYPE" = xxlc; then 592 WARNING_CFLAGS="" # currently left empty 593 fi 594 595 # Set some additional per-OS defines. 596 597 # Additional macosx handling 598 if test "x$OPENJDK_TARGET_OS" = xmacosx; then 599 OS_CFLAGS="-DMAC_OS_X_VERSION_MIN_REQUIRED=$MACOSX_VERSION_MIN_NODOTS \ 600 -mmacosx-version-min=$MACOSX_VERSION_MIN" 601 602 if test -n "$MACOSX_VERSION_MAX"; then 603 OS_CFLAGS="$OS_CFLAGS \ 604 -DMAC_OS_X_VERSION_MAX_ALLOWED=$MACOSX_VERSION_MAX_NODOTS" 605 fi 606 fi 607 608 # Where does this really belong?? 609 if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then 610 PICFLAG="-fPIC" | 164 165 WARNINGS_ENABLE_ALL="-W3" 166 DISABLED_WARNINGS="4800" 167 ;; 168 169 solstudio) 170 DISABLE_WARNING_PREFIX="-erroff=" 171 CFLAGS_WARNINGS_ARE_ERRORS="-errwarn=%all" 172 173 WARNINGS_ENABLE_ALL_CFLAGS="-v" 174 WARNINGS_ENABLE_ALL_CXXFLAGS="+w" 175 176 DISABLED_WARNINGS_C="" 177 DISABLED_WARNINGS_CXX="" 178 ;; 179 180 gcc) 181 DISABLE_WARNING_PREFIX="-Wno-" 182 CFLAGS_WARNINGS_ARE_ERRORS="-Werror" 183 184 # Additional warnings that are not activated by -Wall and -Wextra 185 WARNINGS_ENABLE_ADDITIONAL="-Wpointer-arith -Wsign-compare \ 186 -Wunused-function -Wundef -Wunused-value -Wreturn-type" 187 WARNINGS_ENABLE_ADDITIONAL_CXX="-Woverloaded-virtual -Wreorder" 188 WARNINGS_ENABLE_ALL_CFLAGS="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL" 189 WARNINGS_ENABLE_ALL_CXXFLAGS="$WARNINGS_ENABLE_ALL_CFLAGS $WARNINGS_ENABLE_ADDITIONAL_CXX" 190 191 DISABLED_WARNINGS="unused-parameter unused" 192 193 # Repeate the check for the BUILD_CC and BUILD_CXX. Need to also reset 194 # CFLAGS since any target specific flags will likely not work with the 195 # build compiler 196 CC_OLD="$CC" 197 CXX_OLD="$CXX" 198 CC="$BUILD_CC" 199 CXX="$BUILD_CXX" 200 CFLAGS_OLD="$CFLAGS" 201 CFLAGS="" 202 BUILD_CC_DISABLE_WARNING_PREFIX="-Wno-" 203 CC="$CC_OLD" 204 CXX="$CXX_OLD" 205 CFLAGS="$CFLAGS_OLD" 206 ;; 207 208 clang) 209 DISABLE_WARNING_PREFIX="-Wno-" 210 CFLAGS_WARNINGS_ARE_ERRORS="-Werror" 211 212 # Additional warnings that are not activated by -Wall and -Wextra 213 WARNINGS_ENABLE_ADDITIONAL="-Wpointer-arith -Wsign-compare -Wreorder \ 214 -Wunused-function -Wundef -Wunused-value -Woverloaded-virtual" 215 WARNINGS_ENABLE_ALL="-Wall -Wextra -Wformat=2 $WARNINGS_ENABLE_ADDITIONAL" 216 217 DISABLED_WARNINGS="unused-parameter unused" 218 219 if test "x$OPENJDK_TARGET_OS" = xmacosx; then 220 # missing-method-return-type triggers in JavaNativeFoundation framework 221 DISABLED_WARNINGS="$DISABLED_WARNINGS missing-method-return-type" 222 fi 223 224 ;; 225 226 xlc) 227 DISABLE_WARNING_PREFIX="-qsuppress=" 228 CFLAGS_WARNINGS_ARE_ERRORS="-qhalt=w" 229 230 # Possibly a better subset than "all" is "lan:trx:ret:zea:cmp:ret" 231 WARNINGS_ENABLE_ALL="-qinfo=all -qformat=all" 232 DISABLED_WARNINGS="" 233 ;; 234 esac 235 AC_SUBST(DISABLE_WARNING_PREFIX) 236 AC_SUBST(BUILD_CC_DISABLE_WARNING_PREFIX) 237 AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS) 238 AC_SUBST(DISABLED_WARNINGS) 239 AC_SUBST(DISABLED_WARNINGS_C) 240 AC_SUBST(DISABLED_WARNINGS_CXX) 241 ]) 242 243 AC_DEFUN([FLAGS_SETUP_QUALITY_CHECKS], 566 if test "x$DEBUG_LEVEL" = xslowdebug; then 567 # Previously -g was used instead of -g0 for slowdebug; this is equivalent 568 # to setting +d. 569 TOOLCHAIN_CFLAGS_JVM="$TOOLCHAIN_CFLAGS_JVM +d" 570 fi 571 572 elif test "x$TOOLCHAIN_TYPE" = xxlc; then 573 # Suggested additions: -qsrcmsg to get improved error reporting 574 TOOLCHAIN_CFLAGS_JDK="-qchars=signed -qfullpath -qsaveopt" # add on both CFLAGS 575 TOOLCHAIN_CFLAGS_JVM="-qtune=balanced \ 576 -qalias=noansi -qstrict -qtls=default -qlanglvl=c99vla \ 577 -qlanglvl=noredefmac -qnortti -qnoeh -qignerrno" 578 elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then 579 TOOLCHAIN_CFLAGS_JVM="-nologo -MD -MP" 580 TOOLCHAIN_CFLAGS_JDK="-nologo -MD -Zc:wchar_t-" 581 fi 582 583 # CFLAGS WARNINGS STUFF 584 # Set JVM_CFLAGS warning handling 585 if test "x$TOOLCHAIN_TYPE" = xgcc; then 586 WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS" 587 WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS" 588 WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS" 589 590 elif test "x$TOOLCHAIN_TYPE" = xclang; then 591 WARNING_CFLAGS="$WARNINGS_ENABLE_ALL" 592 593 elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then 594 WARNING_CFLAGS_JDK_CONLY="$WARNINGS_ENABLE_ALL_CFLAGS" 595 WARNING_CFLAGS_JDK_CXXONLY="$WARNINGS_ENABLE_ALL_CXXFLAGS" 596 WARNING_CFLAGS_JVM="$WARNINGS_ENABLE_ALL_CXXFLAGS" 597 598 elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then 599 WARNING_CFLAGS="$WARNINGS_ENABLE_ALL" 600 601 elif test "x$TOOLCHAIN_TYPE" = xxlc; then 602 WARNING_CFLAGS="" # currently left empty 603 fi 604 605 # Set some additional per-OS defines. 606 607 # Additional macosx handling 608 if test "x$OPENJDK_TARGET_OS" = xmacosx; then 609 OS_CFLAGS="-DMAC_OS_X_VERSION_MIN_REQUIRED=$MACOSX_VERSION_MIN_NODOTS \ 610 -mmacosx-version-min=$MACOSX_VERSION_MIN" 611 612 if test -n "$MACOSX_VERSION_MAX"; then 613 OS_CFLAGS="$OS_CFLAGS \ 614 -DMAC_OS_X_VERSION_MAX_ALLOWED=$MACOSX_VERSION_MAX_NODOTS" 615 fi 616 fi 617 618 # Where does this really belong?? 619 if test "x$TOOLCHAIN_TYPE" = xgcc || test "x$TOOLCHAIN_TYPE" = xclang; then 620 PICFLAG="-fPIC" |