Skip to content

Commit ba90ccc

Browse files
committed
8362516: Support of GCC static analyzer (-fanalyzer)
Reviewed-by: erikj
1 parent 86f48ab commit ba90ccc

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

make/autoconf/configure.ac

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,9 @@ JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER
221221
# LeakSanitizer
222222
JDKOPT_SETUP_LEAK_SANITIZER
223223

224+
# Setup static analyzer
225+
JDKOPT_SETUP_STATIC_ANALYZER
226+
224227
# Fallback linker
225228
# This needs to go before 'LIB_DETERMINE_DEPENDENCIES'
226229
JDKOPT_SETUP_FALLBACK_LINKER

make/autoconf/jdk-options.m4

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,31 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
479479
AC_SUBST(ASAN_ENABLED)
480480
])
481481

482+
################################################################################
483+
#
484+
# Static analyzer
485+
#
486+
AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_ANALYZER],
487+
[
488+
UTIL_ARG_ENABLE(NAME: static-analyzer, DEFAULT: false, RESULT: STATIC_ANALYZER_ENABLED,
489+
DESC: [enable the GCC static analyzer],
490+
CHECK_AVAILABLE: [
491+
AC_MSG_CHECKING([if static analyzer is available])
492+
if test "x$TOOLCHAIN_TYPE" = "xgcc"; then
493+
AC_MSG_RESULT([yes])
494+
else
495+
AC_MSG_RESULT([no])
496+
AVAILABLE=false
497+
fi
498+
],
499+
IF_ENABLED: [
500+
STATIC_ANALYZER_CFLAGS="-fanalyzer -Wno-analyzer-fd-leak"
501+
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $STATIC_ANALYZER_CFLAGS"
502+
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $STATIC_ANALYZER_CFLAGS"
503+
])
504+
AC_SUBST(STATIC_ANALYZER_ENABLED)
505+
])
506+
482507
################################################################################
483508
#
484509
# LeakSanitizer

0 commit comments

Comments
 (0)