Skip to content

Commit 199a2d9

Browse files
committed
8362516: Support of GCC static analyzer (-fanalyzer)
Reviewed-by: lucy Backport-of: ba90ccc6a8ca7b0b728568ea614470c85a5f7f8a
1 parent 2f8cf5d commit 199a2d9

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
@@ -223,6 +223,9 @@ JDKOPT_SETUP_UNDEFINED_BEHAVIOR_SANITIZER
223223
# LeakSanitizer
224224
JDKOPT_SETUP_LEAK_SANITIZER
225225

226+
# Setup static analyzer
227+
JDKOPT_SETUP_STATIC_ANALYZER
228+
226229
# Fallback linker
227230
# This needs to go before 'LIB_DETERMINE_DEPENDENCIES'
228231
JDKOPT_SETUP_FALLBACK_LINKER

make/autoconf/jdk-options.m4

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,31 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_ADDRESS_SANITIZER],
462462

463463
###############################################################################
464464
#
465+
# Static analyzer
466+
#
467+
AC_DEFUN_ONCE([JDKOPT_SETUP_STATIC_ANALYZER],
468+
[
469+
UTIL_ARG_ENABLE(NAME: static-analyzer, DEFAULT: false, RESULT: STATIC_ANALYZER_ENABLED,
470+
DESC: [enable the GCC static analyzer],
471+
CHECK_AVAILABLE: [
472+
AC_MSG_CHECKING([if static analyzer is available])
473+
if test "x$TOOLCHAIN_TYPE" = "xgcc"; then
474+
AC_MSG_RESULT([yes])
475+
else
476+
AC_MSG_RESULT([no])
477+
AVAILABLE=false
478+
fi
479+
],
480+
IF_ENABLED: [
481+
STATIC_ANALYZER_CFLAGS="-fanalyzer -Wno-analyzer-fd-leak"
482+
CFLAGS_JDKLIB="$CFLAGS_JDKLIB $STATIC_ANALYZER_CFLAGS"
483+
CFLAGS_JDKEXE="$CFLAGS_JDKEXE $STATIC_ANALYZER_CFLAGS"
484+
])
485+
AC_SUBST(STATIC_ANALYZER_ENABLED)
486+
])
487+
488+
################################################################################
489+
#
465490
# LeakSanitizer
466491
#
467492
AC_DEFUN_ONCE([JDKOPT_SETUP_LEAK_SANITIZER],

0 commit comments

Comments
 (0)