Merge topic 'pellesc-default-flags' 12e6c14e69 PellesC: Add default -Ze flag to support compilation against Windows APIs 9db2cf5429 PellesC: Add default compilation and link flags Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !12000
diff --git a/.clang-tidy b/.clang-tidy index ccd74be..ae0dc23 100644 --- a/.clang-tidy +++ b/.clang-tidy
@@ -3,8 +3,10 @@ bugprone-*,\ -bugprone-assignment-in-if-condition,\ -bugprone-crtp-constructor-accessibility,\ +-bugprone-derived-method-shadowing-base-method,\ -bugprone-easily-swappable-parameters,\ -bugprone-empty-catch,\ +-bugprone-exception-escape,\ -bugprone-implicit-widening-of-multiplication-result,\ -bugprone-inc-dec-in-conditions,\ -bugprone-macro-parentheses,\ @@ -13,8 +15,10 @@ -bugprone-return-const-ref-from-parameter,\ -bugprone-suspicious-stringview-data-usage,\ -bugprone-switch-missing-default-case,\ +-bugprone-throwing-static-initialization,\ -bugprone-too-small-loop-variable,\ -bugprone-unchecked-optional-access,\ +-bugprone-unchecked-string-to-number-conversion,\ -bugprone-unused-local-non-trivial-variable,\ -bugprone-unused-return-value,\ -bugprone-use-after-move,\ @@ -22,13 +26,17 @@ -misc-confusable-identifiers,\ -misc-const-correctness,\ -misc-include-cleaner,\ +-misc-multiple-inheritance,\ -misc-non-private-member-variables-in-classes,\ -misc-no-recursion,\ +-misc-override-with-different-visibility,\ +-misc-predictable-rand,\ -misc-static-assert,\ -misc-use-anonymous-namespace,\ -misc-use-internal-linkage,\ modernize-*,\ -modernize-avoid-c-arrays,\ +-modernize-avoid-c-style-cast,\ -modernize-concat-nested-namespaces,\ -modernize-macro-to-enum,\ -modernize-return-braced-init-list,\ @@ -60,6 +68,9 @@ -readability-make-member-function-const,\ -readability-math-missing-parentheses,\ -readability-named-parameter,\ +-readability-redundant-casting,\ +-readability-redundant-parentheses,\ +-readability-redundant-typename,\ -readability-simplify-boolean-expr,\ -readability-static-accessed-through-instance,\ -readability-suspicious-call-argument,\
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7345496..8c78b99 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml
@@ -65,7 +65,7 @@ p:doc-package: extends: - - .fedora43_sphinx_package + - .fedora44_sphinx_package - .cmake_prep_doc_linux - .linux_x86_64_tags - .cmake_doc_artifacts @@ -129,18 +129,18 @@ - .cmake_cdash_artifacts - .rules -l:tidy-fedora43: +l:tidy-fedora44: extends: - - .fedora43_tidy + - .fedora44_tidy - .cmake_build_linux - .cmake_tidy_artifacts - .linux_x86_64_tags - .cmake_cdash_artifacts - .rules -l:pvs-studio-fedora43: +l:pvs-studio-fedora44: extends: - - .fedora43_pvs_studio + - .fedora44_pvs_studio - .cmake_build_linux - .linux_x86_64_tags - .cmake_cdash_artifacts @@ -150,9 +150,9 @@ CMAKE_CI_JOB_NIGHTLY: "true" CMAKE_CI_JOB_NO_MR: "true" -l:sphinx-fedora43: +l:sphinx-fedora44: extends: - - .fedora43_sphinx + - .fedora44_sphinx - .cmake_build_linux - .cmake_sphinx_artifacts - .linux_x86_64_tags @@ -161,34 +161,34 @@ CMAKE_CI_JOB_CONTINUOUS: "true" CMAKE_CI_JOB_HELP: "true" -l:clang-analyzer-fedora43: +l:clang-analyzer-fedora44: extends: - - .fedora43_clang_analyzer + - .fedora44_clang_analyzer - .cmake_build_linux - .linux_x86_64_tags - .rules variables: CMAKE_CI_JOB_NIGHTLY: "true" -l:clang-fuzzing-fedora43: +l:clang-fuzzing-fedora44: extends: - - .fedora43_clang_fuzzing + - .fedora44_clang_fuzzing - .cmake_build_linux - .linux_x86_64_tags - .rules -l:clazy-fedora43: +l:clazy-fedora44: extends: - - .fedora43_clazy + - .fedora44_clazy - .cmake_build_linux - .linux_x86_64_tags - .rules # Coverage builds -b:fedora43-gcc-gcov: +b:fedora44-gcc-gcov: extends: - - .fedora43_gcc_gcov + - .fedora44_gcc_gcov - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -197,9 +197,9 @@ CMAKE_CI_JOB_NIGHTLY: "true" CMAKE_CI_JOB_RUN_MANUALLY: "true" -t:fedora43-gcc-gcov: +t:fedora44-gcc-gcov: extends: - - .fedora43_gcc_gcov + - .fedora44_gcc_gcov - .cmake_test_linux - .cmake_coverage_artifacts - .linux_x86_64_tags_x11 @@ -207,25 +207,25 @@ # Run coverage analysis even if the tests fail. allow_failure: true needs: - - b:fedora43-gcc-gcov + - b:fedora44-gcc-gcov variables: CMAKE_CI_JOB_NIGHTLY: "true" -a:fedora43-gcc-gcov: +a:fedora44-gcc-gcov: extends: - - .fedora43_gcc_gcov + - .fedora44_gcc_gcov - .cmake_coverage_linux - .cmake_cdash_artifacts - .linux_x86_64_tags - .rules needs: - - t:fedora43-gcc-gcov + - t:fedora44-gcc-gcov variables: CMAKE_CI_JOB_NIGHTLY: "true" -b:fedora43-bullseye-coverage: +b:fedora44-bullseye-coverage: extends: - - .fedora43_bullseye_coverage + - .fedora44_bullseye_coverage - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -235,9 +235,9 @@ CMAKE_CI_JOB_NO_MR: "true" CMAKE_CI_JOB_RUN_MANUALLY: "true" -t:fedora43-bullseye-coverage: +t:fedora44-bullseye-coverage: extends: - - .fedora43_bullseye_coverage + - .fedora44_bullseye_coverage - .cmake_test_linux - .cmake_coverage_artifacts - .linux_x86_64_tags_x11 @@ -245,20 +245,20 @@ # Run coverage analysis even if the tests fail. allow_failure: true needs: - - b:fedora43-bullseye-coverage + - b:fedora44-bullseye-coverage variables: CMAKE_CI_JOB_NIGHTLY: "true" CMAKE_CI_JOB_NO_MR: "true" -a:fedora43-bullseye-coverage: +a:fedora44-bullseye-coverage: extends: - - .fedora43_bullseye_coverage + - .fedora44_bullseye_coverage - .cmake_coverage_linux - .cmake_cdash_artifacts - .linux_x86_64_tags - .rules needs: - - t:fedora43-bullseye-coverage + - t:fedora44-bullseye-coverage variables: CMAKE_CI_JOB_NIGHTLY: "true" CMAKE_CI_JOB_NO_MR: "true" @@ -352,9 +352,9 @@ variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora43-hip-radeon: +t:fedora44-hip-radeon: extends: - - .fedora43_hip_radeon + - .fedora44_hip_radeon - .cmake_test_linux_release - .linux_x86_64_tags_rocm6.2 - .rules @@ -362,9 +362,9 @@ variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora43-makefiles-lfortran: +t:fedora44-makefiles-lfortran: extends: - - .fedora43_makefiles_lfortran + - .fedora44_makefiles_lfortran - .cmake_test_linux_release - .linux_x86_64_tags - .rules @@ -372,9 +372,9 @@ variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora43-ninja-lfortran: +t:fedora44-ninja-lfortran: extends: - - .fedora43_ninja_lfortran + - .fedora44_ninja_lfortran - .cmake_test_linux_release - .linux_x86_64_tags - .rules @@ -382,17 +382,17 @@ variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora43-ninja-multi: +t:fedora44-ninja-multi: extends: - - .fedora43_ninja_multi + - .fedora44_ninja_multi - .cmake_test_linux_release - .linux_x86_64_tags - .rules - .needs_centos7_x86_64 -t:fedora43-ninja-clang: +t:fedora44-ninja-clang: extends: - - .fedora43_ninja_clang + - .fedora44_ninja_clang - .cmake_test_linux_release - .linux_x86_64_tags - .rules @@ -400,9 +400,9 @@ variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora43-ninja-gcc-std-reloc: +t:fedora44-ninja-gcc-std-reloc: extends: - - .fedora43_ninja_gcc_std_reloc + - .fedora44_ninja_gcc_std_reloc - .cmake_test_linux_release - .linux_x86_64_tags - .rules @@ -410,9 +410,9 @@ variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora43-ninja-multi-clang: +t:fedora44-ninja-multi-clang: extends: - - .fedora43_ninja_multi_clang + - .fedora44_ninja_multi_clang - .cmake_test_linux_release - .linux_x86_64_tags - .rules @@ -420,9 +420,9 @@ variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora43-makefiles-clang: +t:fedora44-makefiles-clang: extends: - - .fedora43_makefiles_clang + - .fedora44_makefiles_clang - .cmake_test_linux_release - .linux_x86_64_tags - .rules @@ -430,17 +430,17 @@ variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora43-makefiles: +t:fedora44-makefiles: extends: - - .fedora43_makefiles + - .fedora44_makefiles - .cmake_test_linux_release - .linux_x86_64_v3_tags - .rules - .needs_centos7_x86_64 -t:fedora43-makefiles-nospace: +t:fedora44-makefiles-nospace: extends: - - .fedora43_makefiles + - .fedora44_makefiles - .cmake_test_linux_release - .linux_x86_64_v3_tags - .cmake_junit_artifacts @@ -448,12 +448,12 @@ - .needs_centos7_x86_64 variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci" - CMAKE_CI_BUILD_NAME: fedora43_makefiles_nospace + CMAKE_CI_BUILD_NAME: fedora44_makefiles_nospace CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora43-fastbuild: +t:fedora44-fastbuild: extends: - - .fedora43_fastbuild + - .fedora44_fastbuild - .cmake_test_linux_release - .linux_x86_64_v3_tags - .rules @@ -461,9 +461,9 @@ variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora43-instrumentation: +t:fedora44-instrumentation: extends: - - .fedora43_ninja_instrumentation + - .fedora44_ninja_instrumentation - .cmake_test_linux_release - .linux_x86_64_tags - .rules @@ -670,9 +670,9 @@ variables: CMAKE_CI_JOB_NIGHTLY: "true" -b:fedora43-ninja: +b:fedora44-ninja: extends: - - .fedora43_ninja + - .fedora44_ninja - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -681,9 +681,9 @@ CMAKE_CI_JOB_CONTINUOUS: "true" CMAKE_CI_JOB_RUN_MANUALLY: "true" -b:fedora43-makefiles-symlinked: +b:fedora44-makefiles-symlinked: extends: - - .fedora43_makefiles_symlinked + - .fedora44_makefiles_symlinked - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -722,9 +722,9 @@ CMAKE_CI_JOB_NIGHTLY: "true" CMAKE_CI_JOB_RUN_MANUALLY: "true" -b:fedora43-extdeps: +b:fedora44-extdeps: extends: - - .fedora43_extdeps + - .fedora44_extdeps - .cmake_build_linux_standalone - .linux_x86_64_tags - .rules @@ -732,27 +732,27 @@ CMAKE_CI_JOB_NIGHTLY: "true" CMAKE_CI_JOB_RUN_MANUALLY: "true" -t:fedora43-ninja: +t:fedora44-ninja: extends: - - .fedora43_ninja + - .fedora44_ninja - .cmake_test_linux - .linux_x86_64_tags_x11 - .cmake_test_artifacts - .rules needs: - - b:fedora43-ninja + - b:fedora44-ninja variables: CMAKE_CI_JOB_CONTINUOUS: "true" -t:fedora43-makefiles-symlinked: +t:fedora44-makefiles-symlinked: extends: - - .fedora43_makefiles_symlinked + - .fedora44_makefiles_symlinked - .cmake_test_linux - .linux_x86_64_tags_x11 - .cmake_test_artifacts - .rules needs: - - b:fedora43-makefiles-symlinked + - b:fedora44-makefiles-symlinked variables: CMAKE_CI_JOB_NIGHTLY: "true" @@ -945,9 +945,9 @@ ## Sanitizer builds -b:fedora43-asan: +b:fedora44-asan: extends: - - .fedora43_asan + - .fedora44_asan - .cmake_build_linux - .cmake_build_artifacts - .linux_x86_64_tags @@ -956,21 +956,21 @@ CMAKE_CI_JOB_NIGHTLY: "true" CMAKE_CI_JOB_RUN_MANUALLY: "true" -t:fedora43-asan: +t:fedora44-asan: extends: - - .fedora43_asan + - .fedora44_asan - .cmake_memcheck_linux - .linux_x86_64_tags - .cmake_junit_artifacts - .rules needs: - - b:fedora43-asan + - b:fedora44-asan variables: CMAKE_CI_JOB_NIGHTLY: "true" -t:fedora43-ninja-valgrind: +t:fedora44-ninja-valgrind: extends: - - .fedora43_ninja_valgrind + - .fedora44_ninja_valgrind - .cmake_test_linux_release # Use a fast CPU so that timeouts are less of a concern. - .linux_x86_64_tags_fast_x11
diff --git a/.gitlab/ci/bullseye.sh b/.gitlab/ci/bullseye.sh index 8c4cd2b..132588c 100755 --- a/.gitlab/ci/bullseye.sh +++ b/.gitlab/ci/bullseye.sh
@@ -7,12 +7,12 @@ exit 1 fi -readonly version="9.22.3" +readonly version="9.25.1" case "$(uname -s)-$(uname -m)" in Linux-x86_64) tarball="BullseyeCoverage-$version-Linux-x64.tar.xz" - sha256sum="d5be7e65d9363161b67fa77a30407c7c200d995af79a422c4e2e278802ba0776" + sha256sum="cc77ef1ffd846e9911a5a22c41a8e24c5e1f1c4c59c0c688b6756fcb14fa4af5" shatool="sha256sum" ;; *)
diff --git a/.gitlab/ci/configure_fedora43_clang_analyzer.cmake b/.gitlab/ci/configure_fedora43_clang_analyzer.cmake deleted file mode 100644 index c18dfe6..0000000 --- a/.gitlab/ci/configure_fedora43_clang_analyzer.cmake +++ /dev/null
@@ -1,4 +0,0 @@ -set(configure_no_sccache 1) -set(CMake_QT_MAJOR_VERSION "5" CACHE STRING "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common.cmake")
diff --git a/.gitlab/ci/configure_fedora43_makefiles_lfortran.cmake b/.gitlab/ci/configure_fedora43_makefiles_lfortran.cmake deleted file mode 100644 index 918c2c3..0000000 --- a/.gitlab/ci/configure_fedora43_makefiles_lfortran.cmake +++ /dev/null
@@ -1 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common_lfortran.cmake")
diff --git a/.gitlab/ci/configure_fedora43_ninja_lfortran.cmake b/.gitlab/ci/configure_fedora43_ninja_lfortran.cmake deleted file mode 100644 index 918c2c3..0000000 --- a/.gitlab/ci/configure_fedora43_ninja_lfortran.cmake +++ /dev/null
@@ -1 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common_lfortran.cmake")
diff --git a/.gitlab/ci/configure_fedora43_ninja_valgrind.cmake b/.gitlab/ci/configure_fedora43_ninja_valgrind.cmake deleted file mode 100644 index d156e20..0000000 --- a/.gitlab/ci/configure_fedora43_ninja_valgrind.cmake +++ /dev/null
@@ -1,6 +0,0 @@ -set(CMake_TEST_Qt5 ON CACHE BOOL "") -set(CMake_TEST_Qt6 ON CACHE BOOL "") - -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_valgrind.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_ninja.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_fedora43_pvs_studio.cmake b/.gitlab/ci/configure_fedora43_pvs_studio.cmake deleted file mode 100644 index ff6e7f0..0000000 --- a/.gitlab/ci/configure_fedora43_pvs_studio.cmake +++ /dev/null
@@ -1,3 +0,0 @@ -set(configure_no_sccache 1) -set(CMake_RUN_PVS_STUDIO ON CACHE BOOL "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common.cmake")
diff --git a/.gitlab/ci/configure_fedora43_asan.cmake b/.gitlab/ci/configure_fedora44_asan.cmake similarity index 72% rename from .gitlab/ci/configure_fedora43_asan.cmake rename to .gitlab/ci/configure_fedora44_asan.cmake index 9913430..88f40c3 100644 --- a/.gitlab/ci/configure_fedora43_asan.cmake +++ b/.gitlab/ci/configure_fedora44_asan.cmake
@@ -2,4 +2,4 @@ set(CMAKE_CXX_FLAGS "-fsanitize=address" CACHE STRING "") set(CMake_QT_MAJOR_VERSION "5" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common.cmake")
diff --git a/.gitlab/ci/configure_fedora43_bullseye_coverage.cmake b/.gitlab/ci/configure_fedora44_bullseye_coverage.cmake similarity index 94% rename from .gitlab/ci/configure_fedora43_bullseye_coverage.cmake rename to .gitlab/ci/configure_fedora44_bullseye_coverage.cmake index e9cf156..d2e44a9 100644 --- a/.gitlab/ci/configure_fedora43_bullseye_coverage.cmake +++ b/.gitlab/ci/configure_fedora44_bullseye_coverage.cmake
@@ -19,4 +19,4 @@ set(CMake_TEST_TLS_VERSION "1.3" CACHE STRING "") set(CMake_TEST_TLS_VERSION_URL_BAD "https://badtls-v1-1.kitware.com:8011" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common.cmake")
diff --git a/.gitlab/ci/configure_fedora44_clang_analyzer.cmake b/.gitlab/ci/configure_fedora44_clang_analyzer.cmake new file mode 100644 index 0000000..58046b9 --- /dev/null +++ b/.gitlab/ci/configure_fedora44_clang_analyzer.cmake
@@ -0,0 +1,4 @@ +set(configure_no_sccache 1) +set(CMake_QT_MAJOR_VERSION "5" CACHE STRING "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common.cmake")
diff --git a/.gitlab/ci/configure_fedora43_clang_fuzzing.cmake b/.gitlab/ci/configure_fedora44_clang_fuzzing.cmake similarity index 100% rename from .gitlab/ci/configure_fedora43_clang_fuzzing.cmake rename to .gitlab/ci/configure_fedora44_clang_fuzzing.cmake
diff --git a/.gitlab/ci/configure_fedora43_clazy.cmake b/.gitlab/ci/configure_fedora44_clazy.cmake similarity index 66% rename from .gitlab/ci/configure_fedora43_clazy.cmake rename to .gitlab/ci/configure_fedora44_clazy.cmake index 1943447..7f2ec78 100644 --- a/.gitlab/ci/configure_fedora43_clazy.cmake +++ b/.gitlab/ci/configure_fedora44_clazy.cmake
@@ -2,4 +2,4 @@ set(CMake_QT_MAJOR_VERSION "5" CACHE STRING "") set(CMAKE_USE_SYSTEM_JSONCPP ON CACHE BOOL "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common.cmake")
diff --git a/.gitlab/ci/configure_fedora43_common.cmake b/.gitlab/ci/configure_fedora44_common.cmake similarity index 100% rename from .gitlab/ci/configure_fedora43_common.cmake rename to .gitlab/ci/configure_fedora44_common.cmake
diff --git a/.gitlab/ci/configure_fedora43_common_clang.cmake b/.gitlab/ci/configure_fedora44_common_clang.cmake similarity index 91% rename from .gitlab/ci/configure_fedora43_common_clang.cmake rename to .gitlab/ci/configure_fedora44_common_clang.cmake index 941a040..c7b38b6 100644 --- a/.gitlab/ci/configure_fedora43_common_clang.cmake +++ b/.gitlab/ci/configure_fedora44_common_clang.cmake
@@ -1,4 +1,4 @@ -set(CMAKE_Fortran_COMPILER "/usr/bin/flang-21" CACHE FILEPATH "") +set(CMAKE_Fortran_COMPILER "/usr/bin/flang" CACHE FILEPATH "") set(CMAKE_Fortran_COMPILER_ID "LLVMFlang" CACHE STRING "") set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 "1" CACHE BOOL "")
diff --git a/.gitlab/ci/configure_fedora43_common_lfortran.cmake b/.gitlab/ci/configure_fedora44_common_lfortran.cmake similarity index 100% rename from .gitlab/ci/configure_fedora43_common_lfortran.cmake rename to .gitlab/ci/configure_fedora44_common_lfortran.cmake
diff --git a/.gitlab/ci/configure_fedora43_extdeps.cmake b/.gitlab/ci/configure_fedora44_extdeps.cmake similarity index 100% rename from .gitlab/ci/configure_fedora43_extdeps.cmake rename to .gitlab/ci/configure_fedora44_extdeps.cmake
diff --git a/.gitlab/ci/configure_fedora43_fastbuild.cmake b/.gitlab/ci/configure_fedora44_fastbuild.cmake similarity index 100% rename from .gitlab/ci/configure_fedora43_fastbuild.cmake rename to .gitlab/ci/configure_fedora44_fastbuild.cmake
diff --git a/.gitlab/ci/configure_fedora43_gcc_gcov.cmake b/.gitlab/ci/configure_fedora44_gcc_gcov.cmake similarity index 95% rename from .gitlab/ci/configure_fedora43_gcc_gcov.cmake rename to .gitlab/ci/configure_fedora44_gcc_gcov.cmake index a40e0cc..e54437e 100644 --- a/.gitlab/ci/configure_fedora43_gcc_gcov.cmake +++ b/.gitlab/ci/configure_fedora44_gcc_gcov.cmake
@@ -28,4 +28,4 @@ # Do not bootstrap for the coverage test suite. set(CMAKE_SKIP_BOOTSTRAP_TEST TRUE CACHE BOOL "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common.cmake")
diff --git a/.gitlab/ci/configure_fedora43_hip_radeon.cmake b/.gitlab/ci/configure_fedora44_hip_radeon.cmake similarity index 100% rename from .gitlab/ci/configure_fedora43_hip_radeon.cmake rename to .gitlab/ci/configure_fedora44_hip_radeon.cmake
diff --git a/.gitlab/ci/configure_fedora43_makefiles.cmake b/.gitlab/ci/configure_fedora44_makefiles.cmake similarity index 100% rename from .gitlab/ci/configure_fedora43_makefiles.cmake rename to .gitlab/ci/configure_fedora44_makefiles.cmake
diff --git a/.gitlab/ci/configure_fedora43_makefiles_clang.cmake b/.gitlab/ci/configure_fedora44_makefiles_clang.cmake similarity index 68% rename from .gitlab/ci/configure_fedora43_makefiles_clang.cmake rename to .gitlab/ci/configure_fedora44_makefiles_clang.cmake index e3f1ef9..02bf288 100644 --- a/.gitlab/ci/configure_fedora43_makefiles_clang.cmake +++ b/.gitlab/ci/configure_fedora44_makefiles_clang.cmake
@@ -2,4 +2,4 @@ set(CMAKE_TESTS_CDASH_SERVER "https://open.cdash.org" CACHE STRING "") endif() -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common_clang.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common_clang.cmake")
diff --git a/.gitlab/ci/configure_fedora44_makefiles_lfortran.cmake b/.gitlab/ci/configure_fedora44_makefiles_lfortran.cmake new file mode 100644 index 0000000..2289116 --- /dev/null +++ b/.gitlab/ci/configure_fedora44_makefiles_lfortran.cmake
@@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common_lfortran.cmake")
diff --git a/.gitlab/ci/configure_fedora43_makefiles_symlinked.cmake b/.gitlab/ci/configure_fedora44_makefiles_symlinked.cmake similarity index 71% rename from .gitlab/ci/configure_fedora43_makefiles_symlinked.cmake rename to .gitlab/ci/configure_fedora44_makefiles_symlinked.cmake index c5ef84c..e14b28f 100644 --- a/.gitlab/ci/configure_fedora43_makefiles_symlinked.cmake +++ b/.gitlab/ci/configure_fedora44_makefiles_symlinked.cmake
@@ -2,4 +2,4 @@ set(CMake_TEST_GUI "ON" CACHE BOOL "") include("${CMAKE_CURRENT_LIST_DIR}/configure_symlinked_common.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common.cmake")
diff --git a/.gitlab/ci/configure_fedora43_ninja.cmake b/.gitlab/ci/configure_fedora44_ninja.cmake similarity index 96% rename from .gitlab/ci/configure_fedora43_ninja.cmake rename to .gitlab/ci/configure_fedora44_ninja.cmake index 94e6e81..d536871 100644 --- a/.gitlab/ci/configure_fedora43_ninja.cmake +++ b/.gitlab/ci/configure_fedora44_ninja.cmake
@@ -42,4 +42,4 @@ # Qt 6 requires C++17, so use Qt 5. set(CMake_QT_MAJOR_VERSION "5" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common.cmake")
diff --git a/.gitlab/ci/configure_fedora43_ninja_clang.cmake b/.gitlab/ci/configure_fedora44_ninja_clang.cmake similarity index 75% rename from .gitlab/ci/configure_fedora43_ninja_clang.cmake rename to .gitlab/ci/configure_fedora44_ninja_clang.cmake index 6cf0f85..5e007f4 100644 --- a/.gitlab/ci/configure_fedora43_ninja_clang.cmake +++ b/.gitlab/ci/configure_fedora44_ninja_clang.cmake
@@ -1,3 +1,3 @@ set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared,bmionly,build_database,import_std23" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common_clang.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common_clang.cmake")
diff --git a/.gitlab/ci/configure_fedora43_ninja_gcc_std_reloc.cmake b/.gitlab/ci/configure_fedora44_ninja_gcc_std_reloc.cmake similarity index 100% rename from .gitlab/ci/configure_fedora43_ninja_gcc_std_reloc.cmake rename to .gitlab/ci/configure_fedora44_ninja_gcc_std_reloc.cmake
diff --git a/.gitlab/ci/configure_fedora43_ninja_instrumentation.cmake b/.gitlab/ci/configure_fedora44_ninja_instrumentation.cmake similarity index 60% rename from .gitlab/ci/configure_fedora43_ninja_instrumentation.cmake rename to .gitlab/ci/configure_fedora44_ninja_instrumentation.cmake index daf845f..1033477 100644 --- a/.gitlab/ci/configure_fedora43_ninja_instrumentation.cmake +++ b/.gitlab/ci/configure_fedora44_ninja_instrumentation.cmake
@@ -1,3 +1,3 @@ set(CMake_ENABLE_INSTRUMENTATION "ON" CACHE BOOL "") set(CMake_TEST_GUI "OFF" CACHE BOOL "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_ninja.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_ninja.cmake")
diff --git a/.gitlab/ci/configure_fedora44_ninja_lfortran.cmake b/.gitlab/ci/configure_fedora44_ninja_lfortran.cmake new file mode 100644 index 0000000..2289116 --- /dev/null +++ b/.gitlab/ci/configure_fedora44_ninja_lfortran.cmake
@@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common_lfortran.cmake")
diff --git a/.gitlab/ci/configure_fedora43_ninja_multi.cmake b/.gitlab/ci/configure_fedora44_ninja_multi.cmake similarity index 100% rename from .gitlab/ci/configure_fedora43_ninja_multi.cmake rename to .gitlab/ci/configure_fedora44_ninja_multi.cmake
diff --git a/.gitlab/ci/configure_fedora43_ninja_multi_clang.cmake b/.gitlab/ci/configure_fedora44_ninja_multi_clang.cmake similarity index 74% rename from .gitlab/ci/configure_fedora43_ninja_multi_clang.cmake rename to .gitlab/ci/configure_fedora44_ninja_multi_clang.cmake index 522d012..3a54edf 100644 --- a/.gitlab/ci/configure_fedora43_ninja_multi_clang.cmake +++ b/.gitlab/ci/configure_fedora44_ninja_multi_clang.cmake
@@ -1,3 +1,3 @@ set(CMake_TEST_MODULE_COMPILATION "named,compile_commands,collation,partitions,internal_partitions,export_bmi,install_bmi,shared,bmionly,build_database" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common_clang.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common_clang.cmake")
diff --git a/.gitlab/ci/configure_fedora44_ninja_valgrind.cmake b/.gitlab/ci/configure_fedora44_ninja_valgrind.cmake new file mode 100644 index 0000000..53f1b83 --- /dev/null +++ b/.gitlab/ci/configure_fedora44_ninja_valgrind.cmake
@@ -0,0 +1,6 @@ +set(CMake_TEST_Qt5 ON CACHE BOOL "") +set(CMake_TEST_Qt6 ON CACHE BOOL "") + +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_valgrind.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_ninja.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")
diff --git a/.gitlab/ci/configure_fedora44_pvs_studio.cmake b/.gitlab/ci/configure_fedora44_pvs_studio.cmake new file mode 100644 index 0000000..b15137e --- /dev/null +++ b/.gitlab/ci/configure_fedora44_pvs_studio.cmake
@@ -0,0 +1,3 @@ +set(configure_no_sccache 1) +set(CMake_RUN_PVS_STUDIO ON CACHE BOOL "") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common.cmake")
diff --git a/.gitlab/ci/configure_fedora43_sphinx.cmake b/.gitlab/ci/configure_fedora44_sphinx.cmake similarity index 100% rename from .gitlab/ci/configure_fedora43_sphinx.cmake rename to .gitlab/ci/configure_fedora44_sphinx.cmake
diff --git a/.gitlab/ci/configure_fedora43_sphinx_package.cmake b/.gitlab/ci/configure_fedora44_sphinx_package.cmake similarity index 100% rename from .gitlab/ci/configure_fedora43_sphinx_package.cmake rename to .gitlab/ci/configure_fedora44_sphinx_package.cmake
diff --git a/.gitlab/ci/configure_fedora43_tidy.cmake b/.gitlab/ci/configure_fedora44_tidy.cmake similarity index 85% rename from .gitlab/ci/configure_fedora43_tidy.cmake rename to .gitlab/ci/configure_fedora44_tidy.cmake index 5b0bd62..18e7743 100644 --- a/.gitlab/ci/configure_fedora43_tidy.cmake +++ b/.gitlab/ci/configure_fedora44_tidy.cmake
@@ -4,4 +4,4 @@ set(CMake_CLANG_TIDY_EXPORT_FIXES_DIR "$ENV{CI_PROJECT_DIR}/.gitlab/clang-tidy-fixes" CACHE PATH "") set(CMake_QT_MAJOR_VERSION "5" CACHE STRING "") -include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_common.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora44_common.cmake")
diff --git a/.gitlab/ci/configure_fedora43_valgrind.cmake b/.gitlab/ci/configure_fedora44_valgrind.cmake similarity index 100% rename from .gitlab/ci/configure_fedora43_valgrind.cmake rename to .gitlab/ci/configure_fedora44_valgrind.cmake
diff --git a/.gitlab/ci/ctest_memcheck_fedora43.valgrind.supp b/.gitlab/ci/ctest_memcheck_fedora44.valgrind.supp similarity index 100% rename from .gitlab/ci/ctest_memcheck_fedora43.valgrind.supp rename to .gitlab/ci/ctest_memcheck_fedora44.valgrind.supp
diff --git a/.gitlab/ci/ctest_memcheck_fedora43_asan.lsan.supp b/.gitlab/ci/ctest_memcheck_fedora44_asan.lsan.supp similarity index 100% rename from .gitlab/ci/ctest_memcheck_fedora43_asan.lsan.supp rename to .gitlab/ci/ctest_memcheck_fedora44_asan.lsan.supp
diff --git a/.gitlab/ci/docker/fedora43-hip/Dockerfile b/.gitlab/ci/docker/fedora44-hip/Dockerfile similarity index 94% rename from .gitlab/ci/docker/fedora43-hip/Dockerfile rename to .gitlab/ci/docker/fedora44-hip/Dockerfile index 0f0cbed..463d19f 100644 --- a/.gitlab/ci/docker/fedora43-hip/Dockerfile +++ b/.gitlab/ci/docker/fedora44-hip/Dockerfile
@@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -ARG BASE_IMAGE=fedora:43 +ARG BASE_IMAGE=fedora:44 FROM ${BASE_IMAGE} AS dnf-cache LABEL maintainer="Brad King <brad.king@kitware.com>"
diff --git a/.gitlab/ci/docker/fedora43-hip/deps_packages.lst b/.gitlab/ci/docker/fedora44-hip/deps_packages.lst similarity index 93% rename from .gitlab/ci/docker/fedora43-hip/deps_packages.lst rename to .gitlab/ci/docker/fedora44-hip/deps_packages.lst index abae13a..bac9e53 100644 --- a/.gitlab/ci/docker/fedora43-hip/deps_packages.lst +++ b/.gitlab/ci/docker/fedora44-hip/deps_packages.lst
@@ -7,7 +7,6 @@ make # Install HIP language toolchain. -hsakmt-devel lld llvm rocm-comgr-devel
diff --git a/.gitlab/ci/docker/fedora43-hip/dnf.conf b/.gitlab/ci/docker/fedora44-hip/dnf.conf similarity index 100% rename from .gitlab/ci/docker/fedora43-hip/dnf.conf rename to .gitlab/ci/docker/fedora44-hip/dnf.conf
diff --git a/.gitlab/ci/docker/fedora43/Dockerfile b/.gitlab/ci/docker/fedora44/Dockerfile similarity index 98% rename from .gitlab/ci/docker/fedora43/Dockerfile rename to .gitlab/ci/docker/fedora44/Dockerfile index 86ee3b8..d36ccc9 100644 --- a/.gitlab/ci/docker/fedora43/Dockerfile +++ b/.gitlab/ci/docker/fedora44/Dockerfile
@@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -ARG BASE_IMAGE=fedora:43 +ARG BASE_IMAGE=fedora:44 FROM ${BASE_IMAGE} AS dnf-cache # Populate DNF cache w/ the fresh metadata and prefetch packages. @@ -132,4 +132,4 @@ tar -C /usr/local -xf /root/rvm.tar RUN --mount=type=bind,from=rbenv-build,source=/root,target=/root \ - tar -C / -xf /root/rbenv.tar && rbenv global 3.4.3 + tar -C / -xf /root/rbenv.tar && rbenv global 3.4.9
diff --git a/.gitlab/ci/docker/fedora43/build_iwyu.sh b/.gitlab/ci/docker/fedora44/build_iwyu.sh similarity index 100% rename from .gitlab/ci/docker/fedora43/build_iwyu.sh rename to .gitlab/ci/docker/fedora44/build_iwyu.sh
diff --git a/.gitlab/ci/docker/fedora43/build_rbenv.sh b/.gitlab/ci/docker/fedora44/build_rbenv.sh similarity index 92% rename from .gitlab/ci/docker/fedora43/build_rbenv.sh rename to .gitlab/ci/docker/fedora44/build_rbenv.sh index feb574f..f5ddd06 100755 --- a/.gitlab/ci/docker/fedora43/build_rbenv.sh +++ b/.gitlab/ci/docker/fedora44/build_rbenv.sh
@@ -7,7 +7,7 @@ # Ruby rbenv export RUBY_CONFIGURE_OPTS=--disable-install-doc export RUBY_BUILD_CURL_OPTS=-C- -rbenv install 3.4.3 -k -s -v +rbenv install 3.4.9 -k -s -v cat <<EOF >/tmp/exclude.lst *LICENSE*
diff --git a/.gitlab/ci/docker/fedora43/build_rust.sh b/.gitlab/ci/docker/fedora44/build_rust.sh similarity index 88% rename from .gitlab/ci/docker/fedora43/build_rust.sh rename to .gitlab/ci/docker/fedora44/build_rust.sh index 5ab91f7..1ee87eb 100755 --- a/.gitlab/ci/docker/fedora43/build_rust.sh +++ b/.gitlab/ci/docker/fedora44/build_rust.sh
@@ -2,7 +2,7 @@ set -e -typos_version=1.44.0 +typos_version=1.45.2 cargo install --root /usr/local --version "$typos_version" typos-cli strip /usr/local/bin/typos
diff --git a/.gitlab/ci/docker/fedora43/build_rvm.sh b/.gitlab/ci/docker/fedora44/build_rvm.sh similarity index 100% rename from .gitlab/ci/docker/fedora43/build_rvm.sh rename to .gitlab/ci/docker/fedora44/build_rvm.sh
diff --git a/.gitlab/ci/docker/fedora43/deps_packages.lst b/.gitlab/ci/docker/fedora44/deps_packages.lst similarity index 98% rename from .gitlab/ci/docker/fedora43/deps_packages.lst rename to .gitlab/ci/docker/fedora44/deps_packages.lst index 143c296..b763bb7 100644 --- a/.gitlab/ci/docker/fedora43/deps_packages.lst +++ b/.gitlab/ci/docker/fedora44/deps_packages.lst
@@ -96,7 +96,7 @@ hdf5-openmpi-devel ImageMagick-c++-devel jasper-devel -java-21-openjdk-devel +java-25-openjdk-devel jsoncpp-devel lapack-devel libarchive-devel
diff --git a/.gitlab/ci/docker/fedora43/dnf.conf b/.gitlab/ci/docker/fedora44/dnf.conf similarity index 100% rename from .gitlab/ci/docker/fedora43/dnf.conf rename to .gitlab/ci/docker/fedora44/dnf.conf
diff --git a/.gitlab/ci/docker/fedora43/install_deps.sh b/.gitlab/ci/docker/fedora44/install_deps.sh similarity index 100% rename from .gitlab/ci/docker/fedora43/install_deps.sh rename to .gitlab/ci/docker/fedora44/install_deps.sh
diff --git a/.gitlab/ci/docker/fedora43/iwyu_packages.lst b/.gitlab/ci/docker/fedora44/iwyu_packages.lst similarity index 100% rename from .gitlab/ci/docker/fedora43/iwyu_packages.lst rename to .gitlab/ci/docker/fedora44/iwyu_packages.lst
diff --git a/.gitlab/ci/docker/fedora43/rbenv_packages.lst b/.gitlab/ci/docker/fedora44/rbenv_packages.lst similarity index 93% rename from .gitlab/ci/docker/fedora43/rbenv_packages.lst rename to .gitlab/ci/docker/fedora44/rbenv_packages.lst index d16afff..7cba990 100644 --- a/.gitlab/ci/docker/fedora43/rbenv_packages.lst +++ b/.gitlab/ci/docker/fedora44/rbenv_packages.lst
@@ -1,5 +1,6 @@ rbenv ruby-build-rbenv +ruby-build-ruby # Packages needed for `rbenv` # https://github.com/rbenv/ruby-build/wiki#fedora
diff --git a/.gitlab/ci/docker/fedora43/rust_packages.lst b/.gitlab/ci/docker/fedora44/rust_packages.lst similarity index 100% rename from .gitlab/ci/docker/fedora43/rust_packages.lst rename to .gitlab/ci/docker/fedora44/rust_packages.lst
diff --git a/.gitlab/ci/docker/fedora43/rvm_packages.lst b/.gitlab/ci/docker/fedora44/rvm_packages.lst similarity index 100% rename from .gitlab/ci/docker/fedora43/rvm_packages.lst rename to .gitlab/ci/docker/fedora44/rvm_packages.lst
diff --git a/.gitlab/ci/env_fedora43_common_clang.sh b/.gitlab/ci/env_fedora43_common_clang.sh deleted file mode 100644 index 55533e7..0000000 --- a/.gitlab/ci/env_fedora43_common_clang.sh +++ /dev/null
@@ -1,3 +0,0 @@ -export CC=/usr/bin/clang-21 -export CXX=/usr/bin/clang++-21 -export FC=/usr/bin/flang-21
diff --git a/.gitlab/ci/env_fedora43_hip_radeon.sh b/.gitlab/ci/env_fedora43_hip_radeon.sh deleted file mode 100644 index 2c942a8..0000000 --- a/.gitlab/ci/env_fedora43_hip_radeon.sh +++ /dev/null
@@ -1,2 +0,0 @@ -export HIPCXX=/usr/bin/clang++-21 -export HIPFLAGS='--rocm-path=/usr --rocm-device-lib-path=/usr/lib64/rocm/llvm/lib/clang/19/amdgcn/bitcode'
diff --git a/.gitlab/ci/env_fedora43_makefiles_clang.sh b/.gitlab/ci/env_fedora43_makefiles_clang.sh deleted file mode 100644 index 3953f88..0000000 --- a/.gitlab/ci/env_fedora43_makefiles_clang.sh +++ /dev/null
@@ -1 +0,0 @@ -. .gitlab/ci/env_fedora43_common_clang.sh
diff --git a/.gitlab/ci/env_fedora43_makefiles_lfortran.sh b/.gitlab/ci/env_fedora43_makefiles_lfortran.sh deleted file mode 100644 index 6b02339..0000000 --- a/.gitlab/ci/env_fedora43_makefiles_lfortran.sh +++ /dev/null
@@ -1 +0,0 @@ -. .gitlab/ci/env_fedora43_common_lfortran.sh
diff --git a/.gitlab/ci/env_fedora43_makefiles_symlinked.cmake b/.gitlab/ci/env_fedora43_makefiles_symlinked.cmake deleted file mode 100644 index fb004e8..0000000 --- a/.gitlab/ci/env_fedora43_makefiles_symlinked.cmake +++ /dev/null
@@ -1 +0,0 @@ -include("${CMAKE_CURRENT_LIST_DIR}/env_fedora43_makefiles.cmake")
diff --git a/.gitlab/ci/env_fedora43_makefiles_symlinked.sh b/.gitlab/ci/env_fedora43_makefiles_symlinked.sh deleted file mode 100644 index 448b592..0000000 --- a/.gitlab/ci/env_fedora43_makefiles_symlinked.sh +++ /dev/null
@@ -1 +0,0 @@ -. .gitlab/ci/env_fedora43_makefiles.sh
diff --git a/.gitlab/ci/env_fedora43_ninja_clang.sh b/.gitlab/ci/env_fedora43_ninja_clang.sh deleted file mode 100644 index 3953f88..0000000 --- a/.gitlab/ci/env_fedora43_ninja_clang.sh +++ /dev/null
@@ -1 +0,0 @@ -. .gitlab/ci/env_fedora43_common_clang.sh
diff --git a/.gitlab/ci/env_fedora43_ninja_instrumentation.sh b/.gitlab/ci/env_fedora43_ninja_instrumentation.sh deleted file mode 100644 index cc89d0b..0000000 --- a/.gitlab/ci/env_fedora43_ninja_instrumentation.sh +++ /dev/null
@@ -1 +0,0 @@ -source .gitlab/ci/env_fedora43_ninja.sh
diff --git a/.gitlab/ci/env_fedora43_ninja_lfortran.sh b/.gitlab/ci/env_fedora43_ninja_lfortran.sh deleted file mode 100644 index 6b02339..0000000 --- a/.gitlab/ci/env_fedora43_ninja_lfortran.sh +++ /dev/null
@@ -1 +0,0 @@ -. .gitlab/ci/env_fedora43_common_lfortran.sh
diff --git a/.gitlab/ci/env_fedora43_ninja_multi_clang.sh b/.gitlab/ci/env_fedora43_ninja_multi_clang.sh deleted file mode 100644 index 3953f88..0000000 --- a/.gitlab/ci/env_fedora43_ninja_multi_clang.sh +++ /dev/null
@@ -1 +0,0 @@ -. .gitlab/ci/env_fedora43_common_clang.sh
diff --git a/.gitlab/ci/env_fedora43_ninja_valgrind.sh b/.gitlab/ci/env_fedora43_ninja_valgrind.sh deleted file mode 100644 index cc89d0b..0000000 --- a/.gitlab/ci/env_fedora43_ninja_valgrind.sh +++ /dev/null
@@ -1 +0,0 @@ -source .gitlab/ci/env_fedora43_ninja.sh
diff --git a/.gitlab/ci/env_fedora43_asan.sh b/.gitlab/ci/env_fedora44_asan.sh similarity index 100% rename from .gitlab/ci/env_fedora43_asan.sh rename to .gitlab/ci/env_fedora44_asan.sh
diff --git a/.gitlab/ci/env_fedora43_bullseye_coverage.sh b/.gitlab/ci/env_fedora44_bullseye_coverage.sh similarity index 100% rename from .gitlab/ci/env_fedora43_bullseye_coverage.sh rename to .gitlab/ci/env_fedora44_bullseye_coverage.sh
diff --git a/.gitlab/ci/env_fedora43_clang_analyzer.sh b/.gitlab/ci/env_fedora44_clang_analyzer.sh similarity index 100% rename from .gitlab/ci/env_fedora43_clang_analyzer.sh rename to .gitlab/ci/env_fedora44_clang_analyzer.sh
diff --git a/.gitlab/ci/env_fedora43_clang_fuzzing.sh b/.gitlab/ci/env_fedora44_clang_fuzzing.sh similarity index 100% rename from .gitlab/ci/env_fedora43_clang_fuzzing.sh rename to .gitlab/ci/env_fedora44_clang_fuzzing.sh
diff --git a/.gitlab/ci/env_fedora43_clazy.sh b/.gitlab/ci/env_fedora44_clazy.sh similarity index 100% rename from .gitlab/ci/env_fedora43_clazy.sh rename to .gitlab/ci/env_fedora44_clazy.sh
diff --git a/.gitlab/ci/env_fedora44_common_clang.sh b/.gitlab/ci/env_fedora44_common_clang.sh new file mode 100644 index 0000000..2200841 --- /dev/null +++ b/.gitlab/ci/env_fedora44_common_clang.sh
@@ -0,0 +1,3 @@ +export CC=/usr/bin/clang +export CXX=/usr/bin/clang++ +export FC=/usr/bin/flang
diff --git a/.gitlab/ci/env_fedora43_common_lfortran.sh b/.gitlab/ci/env_fedora44_common_lfortran.sh similarity index 100% rename from .gitlab/ci/env_fedora43_common_lfortran.sh rename to .gitlab/ci/env_fedora44_common_lfortran.sh
diff --git a/.gitlab/ci/env_fedora43_extdeps.sh b/.gitlab/ci/env_fedora44_extdeps.sh similarity index 100% rename from .gitlab/ci/env_fedora43_extdeps.sh rename to .gitlab/ci/env_fedora44_extdeps.sh
diff --git a/.gitlab/ci/env_fedora43_fastbuild.sh b/.gitlab/ci/env_fedora44_fastbuild.sh similarity index 100% rename from .gitlab/ci/env_fedora43_fastbuild.sh rename to .gitlab/ci/env_fedora44_fastbuild.sh
diff --git a/.gitlab/ci/env_fedora44_hip_radeon.patch b/.gitlab/ci/env_fedora44_hip_radeon.patch new file mode 100644 index 0000000..a6411ed --- /dev/null +++ b/.gitlab/ci/env_fedora44_hip_radeon.patch
@@ -0,0 +1,14 @@ +--- a/usr/lib/clang/22/include/cuda_wrappers/new ++++ b/usr/lib/clang/22/include/cuda_wrappers/new +@@ -98,9 +98,9 @@ + __device__ inline void *operator new[](__SIZE_TYPE__, void *__ptr) CUDA_NOEXCEPT { + return __ptr; + } +-#endif + __device__ inline void operator delete(void *, void *) CUDA_NOEXCEPT {} + __device__ inline void operator delete[](void *, void *) CUDA_NOEXCEPT {} ++#endif + + #pragma pop_macro("CUDA_NOEXCEPT") + +---
diff --git a/.gitlab/ci/env_fedora44_hip_radeon.sh b/.gitlab/ci/env_fedora44_hip_radeon.sh new file mode 100644 index 0000000..dfa0121 --- /dev/null +++ b/.gitlab/ci/env_fedora44_hip_radeon.sh
@@ -0,0 +1,4 @@ +export HIPCXX=/usr/bin/clang++ +export HIPFLAGS='--rocm-path=/usr --rocm-device-lib-path=/usr/lib64/rocm/llvm/lib/clang/20/lib/amdgcn/bitcode' + +git apply --unsafe-paths --directory=/ .gitlab/ci/env_fedora44_hip_radeon.patch
diff --git a/.gitlab/ci/env_fedora43_makefiles.cmake b/.gitlab/ci/env_fedora44_makefiles.cmake similarity index 100% rename from .gitlab/ci/env_fedora43_makefiles.cmake rename to .gitlab/ci/env_fedora44_makefiles.cmake
diff --git a/.gitlab/ci/env_fedora43_makefiles.sh b/.gitlab/ci/env_fedora44_makefiles.sh similarity index 100% rename from .gitlab/ci/env_fedora43_makefiles.sh rename to .gitlab/ci/env_fedora44_makefiles.sh
diff --git a/.gitlab/ci/env_fedora44_makefiles_clang.sh b/.gitlab/ci/env_fedora44_makefiles_clang.sh new file mode 100644 index 0000000..4d2ba81 --- /dev/null +++ b/.gitlab/ci/env_fedora44_makefiles_clang.sh
@@ -0,0 +1 @@ +. .gitlab/ci/env_fedora44_common_clang.sh
diff --git a/.gitlab/ci/env_fedora44_makefiles_lfortran.sh b/.gitlab/ci/env_fedora44_makefiles_lfortran.sh new file mode 100644 index 0000000..409404e --- /dev/null +++ b/.gitlab/ci/env_fedora44_makefiles_lfortran.sh
@@ -0,0 +1 @@ +. .gitlab/ci/env_fedora44_common_lfortran.sh
diff --git a/.gitlab/ci/env_fedora44_makefiles_symlinked.cmake b/.gitlab/ci/env_fedora44_makefiles_symlinked.cmake new file mode 100644 index 0000000..8c39210 --- /dev/null +++ b/.gitlab/ci/env_fedora44_makefiles_symlinked.cmake
@@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/env_fedora44_makefiles.cmake")
diff --git a/.gitlab/ci/env_fedora44_makefiles_symlinked.sh b/.gitlab/ci/env_fedora44_makefiles_symlinked.sh new file mode 100644 index 0000000..84a747c --- /dev/null +++ b/.gitlab/ci/env_fedora44_makefiles_symlinked.sh
@@ -0,0 +1 @@ +. .gitlab/ci/env_fedora44_makefiles.sh
diff --git a/.gitlab/ci/env_fedora43_ninja.sh b/.gitlab/ci/env_fedora44_ninja.sh similarity index 83% rename from .gitlab/ci/env_fedora43_ninja.sh rename to .gitlab/ci/env_fedora44_ninja.sh index 18c2158..3607fb1 100644 --- a/.gitlab/ci/env_fedora43_ninja.sh +++ b/.gitlab/ci/env_fedora44_ninja.sh
@@ -4,9 +4,9 @@ fi # This job builds CMake as C++11. Prevent C++17 headers from being used. -if test "$CMAKE_CONFIGURATION" = "fedora43_ninja" -a "$CI_JOB_STAGE" = "build"; then +if test "$CMAKE_CONFIGURATION" = "fedora44_ninja" -a "$CI_JOB_STAGE" = "build"; then for i in filesystem optional string_view; do - sed -i -e '$a#error "Use <cm/'"$i"'> instead"' "/usr/include/c++/15/$i" + sed -i -e '$a#error "Use <cm/'"$i"'> instead"' "/usr/include/c++/16/$i" done fi
diff --git a/.gitlab/ci/env_fedora44_ninja_clang.sh b/.gitlab/ci/env_fedora44_ninja_clang.sh new file mode 100644 index 0000000..4d2ba81 --- /dev/null +++ b/.gitlab/ci/env_fedora44_ninja_clang.sh
@@ -0,0 +1 @@ +. .gitlab/ci/env_fedora44_common_clang.sh
diff --git a/.gitlab/ci/env_fedora43_ninja_gcc_std_reloc.sh b/.gitlab/ci/env_fedora44_ninja_gcc_std_reloc.sh similarity index 85% rename from .gitlab/ci/env_fedora43_ninja_gcc_std_reloc.sh rename to .gitlab/ci/env_fedora44_ninja_gcc_std_reloc.sh index 91b824d..ae640b7 100644 --- a/.gitlab/ci/env_fedora43_ninja_gcc_std_reloc.sh +++ b/.gitlab/ci/env_fedora44_ninja_gcc_std_reloc.sh
@@ -1,6 +1,6 @@ # "Misplace" the `libstdc++.modules.json` file so that # `CMAKE_CXX_STDLIB_MODULES_JSON` is needed to use `import std`. -stdlib_modules_dir="/usr/lib/gcc/x86_64-redhat-linux/15" +stdlib_modules_dir="/usr/lib/gcc/x86_64-redhat-linux/16" mkdir "$stdlib_modules_dir.reloc" mv "$stdlib_modules_dir/libstdc++.modules.json" "$stdlib_modules_dir.reloc" export CMAKE_CI_CXX_STDLIB_MODULES_JSON="$stdlib_modules_dir.reloc/libstdc++.modules.json"
diff --git a/.gitlab/ci/env_fedora44_ninja_instrumentation.sh b/.gitlab/ci/env_fedora44_ninja_instrumentation.sh new file mode 100644 index 0000000..99f7538 --- /dev/null +++ b/.gitlab/ci/env_fedora44_ninja_instrumentation.sh
@@ -0,0 +1 @@ +source .gitlab/ci/env_fedora44_ninja.sh
diff --git a/.gitlab/ci/env_fedora44_ninja_lfortran.sh b/.gitlab/ci/env_fedora44_ninja_lfortran.sh new file mode 100644 index 0000000..409404e --- /dev/null +++ b/.gitlab/ci/env_fedora44_ninja_lfortran.sh
@@ -0,0 +1 @@ +. .gitlab/ci/env_fedora44_common_lfortran.sh
diff --git a/.gitlab/ci/env_fedora43_ninja_multi.sh b/.gitlab/ci/env_fedora44_ninja_multi.sh similarity index 100% rename from .gitlab/ci/env_fedora43_ninja_multi.sh rename to .gitlab/ci/env_fedora44_ninja_multi.sh
diff --git a/.gitlab/ci/env_fedora44_ninja_multi_clang.sh b/.gitlab/ci/env_fedora44_ninja_multi_clang.sh new file mode 100644 index 0000000..4d2ba81 --- /dev/null +++ b/.gitlab/ci/env_fedora44_ninja_multi_clang.sh
@@ -0,0 +1 @@ +. .gitlab/ci/env_fedora44_common_clang.sh
diff --git a/.gitlab/ci/env_fedora44_ninja_valgrind.sh b/.gitlab/ci/env_fedora44_ninja_valgrind.sh new file mode 100644 index 0000000..99f7538 --- /dev/null +++ b/.gitlab/ci/env_fedora44_ninja_valgrind.sh
@@ -0,0 +1 @@ +source .gitlab/ci/env_fedora44_ninja.sh
diff --git a/.gitlab/ci/env_fedora43_pvs_studio.sh b/.gitlab/ci/env_fedora44_pvs_studio.sh similarity index 100% rename from .gitlab/ci/env_fedora43_pvs_studio.sh rename to .gitlab/ci/env_fedora44_pvs_studio.sh
diff --git a/.gitlab/ci/post_build_fedora43_tidy.sh b/.gitlab/ci/post_build_fedora44_tidy.sh similarity index 100% rename from .gitlab/ci/post_build_fedora43_tidy.sh rename to .gitlab/ci/post_build_fedora44_tidy.sh
diff --git a/.gitlab/ci/pre_build_fedora43_bullseye_coverage.sh b/.gitlab/ci/pre_build_fedora44_bullseye_coverage.sh similarity index 100% rename from .gitlab/ci/pre_build_fedora43_bullseye_coverage.sh rename to .gitlab/ci/pre_build_fedora44_bullseye_coverage.sh
diff --git a/.gitlab/ci/pre_configure_fedora43_bullseye_coverage.sh b/.gitlab/ci/pre_configure_fedora44_bullseye_coverage.sh similarity index 100% rename from .gitlab/ci/pre_configure_fedora43_bullseye_coverage.sh rename to .gitlab/ci/pre_configure_fedora44_bullseye_coverage.sh
diff --git a/.gitlab/ci/pre_configure_fedora43_tidy.sh b/.gitlab/ci/pre_configure_fedora44_tidy.sh similarity index 100% rename from .gitlab/ci/pre_configure_fedora43_tidy.sh rename to .gitlab/ci/pre_configure_fedora44_tidy.sh
diff --git a/.gitlab/ci/pre_test_fedora43_bullseye_coverage.sh b/.gitlab/ci/pre_test_fedora44_bullseye_coverage.sh similarity index 100% rename from .gitlab/ci/pre_test_fedora43_bullseye_coverage.sh rename to .gitlab/ci/pre_test_fedora44_bullseye_coverage.sh
diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index 4d9aff3..96fed40 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml
@@ -5,7 +5,7 @@ ### Release .linux_prep_source: - image: "fedora:43" + image: "fedora:44" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci" @@ -81,15 +81,15 @@ ### Fedora -.fedora43: - image: "kitware/cmake:ci-fedora43-x86_64-2026-04-28" +.fedora44: + image: "kitware/cmake:ci-fedora44-x86_64-2026-04-30" variables: GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci/long file name for testing purposes" CMAKE_ARCH: x86_64 -.fedora43_hip: - image: "kitware/cmake:ci-fedora43-hip-x86_64-2025-10-29" +.fedora44_hip: + image: "kitware/cmake:ci-fedora44-hip-x86_64-2026-04-30" variables: # FIXME(rocclr): device modules fail loading from binaries in paths with spaces @@ -98,26 +98,26 @@ #### Coverage builds -.fedora43_gcc_gcov: - extends: .fedora43 +.fedora44_gcc_gcov: + extends: .fedora44 variables: # See issue #20001 CMAKE_GENERATOR: "Unix Makefiles" - CMAKE_CONFIGURATION: fedora43_gcc_gcov + CMAKE_CONFIGURATION: fedora44_gcc_gcov CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_CI_BUILD_TYPE: Debug CMAKE_CI_TEST_TIMEOUT: "1500" CMAKE_CI_NO_INSTALL: 1 -.fedora43_bullseye_coverage: - extends: .fedora43 +.fedora44_bullseye_coverage: + extends: .fedora44 environment: name: bullseye-coverage variables: # See issue #20001 CMAKE_GENERATOR: "Unix Makefiles" - CMAKE_CONFIGURATION: fedora43_bullseye_coverage + CMAKE_CONFIGURATION: fedora44_bullseye_coverage CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_CI_BUILD_TYPE: Debug CMAKE_CI_TEST_TIMEOUT: "1500" @@ -125,61 +125,61 @@ #### Lint builds -.fedora43_tidy: - extends: .fedora43 +.fedora44_tidy: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_tidy + CMAKE_CONFIGURATION: fedora44_tidy CMAKE_CI_NO_INSTALL: 1 -.fedora43_pvs_studio: - extends: .fedora43 +.fedora44_pvs_studio: + extends: .fedora44 environment: name: pvs-studio variables: - CMAKE_CONFIGURATION: fedora43_pvs_studio + CMAKE_CONFIGURATION: fedora44_pvs_studio CMAKE_CI_NO_INSTALL: 1 -.fedora43_clang_analyzer: - extends: .fedora43 +.fedora44_clang_analyzer: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_clang_analyzer + CMAKE_CONFIGURATION: fedora44_clang_analyzer CMAKE_CI_BUILD_TYPE: Debug CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_CI_NO_INSTALL: 1 -.fedora43_clang_fuzzing: - extends: .fedora43 +.fedora44_clang_fuzzing: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_clang_fuzzing + CMAKE_CONFIGURATION: fedora44_clang_fuzzing CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_CI_NO_INSTALL: 1 -.fedora43_clazy: - extends: .fedora43 +.fedora44_clazy: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_clazy + CMAKE_CONFIGURATION: fedora44_clazy CMAKE_CI_BUILD_TYPE: Debug CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_CI_NO_INSTALL: 1 -.fedora43_sphinx: - extends: .fedora43 +.fedora44_sphinx: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_sphinx + CMAKE_CONFIGURATION: fedora44_sphinx CTEST_NO_WARNINGS_ALLOWED: 1 CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx" CMAKE_CI_NO_INSTALL: 1 -.fedora43_sphinx_package: - extends: .fedora43 +.fedora44_sphinx_package: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_sphinx_package + CMAKE_CONFIGURATION: fedora44_sphinx_package CTEST_SOURCE_SUBDIRECTORY: "Utilities/Sphinx" #### Build and test @@ -235,53 +235,53 @@ CMAKE_CI_BUILD_TYPE: Release CTEST_NO_WARNINGS_ALLOWED: 1 -.fedora43_extdeps: - extends: .fedora43 +.fedora44_extdeps: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_extdeps + CMAKE_CONFIGURATION: fedora44_extdeps CMAKE_CI_BUILD_TYPE: Release CTEST_NO_WARNINGS_ALLOWED: 1 -.fedora43_ninja: - extends: .fedora43 +.fedora44_ninja: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_ninja + CMAKE_CONFIGURATION: fedora44_ninja CMAKE_CI_BUILD_TYPE: Release CTEST_NO_WARNINGS_ALLOWED: 1 -.fedora43_makefiles: - extends: .fedora43 +.fedora44_makefiles: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_makefiles + CMAKE_CONFIGURATION: fedora44_makefiles CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_GENERATOR: "Unix Makefiles" -.fedora43_makefiles_symlinked: - extends: .fedora43 +.fedora44_makefiles_symlinked: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_makefiles_symlinked + CMAKE_CONFIGURATION: fedora44_makefiles_symlinked CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_GENERATOR: "Unix Makefiles" CMAKE_CI_IN_SYMLINK_TREE: 1 CMAKE_CI_BUILD_DIR: "real_work/work/build" -.fedora43_fastbuild: - extends: .fedora43 +.fedora44_fastbuild: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_fastbuild + CMAKE_CONFIGURATION: fedora44_fastbuild CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_GENERATOR: "FASTBuild" -.fedora43_ninja_instrumentation: - extends: .fedora43 +.fedora44_ninja_instrumentation: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_ninja_instrumentation + CMAKE_CONFIGURATION: fedora44_ninja_instrumentation CTEST_NO_WARNINGS_ALLOWED: 1 CMAKE_GENERATOR: "Ninja" @@ -300,57 +300,57 @@ variables: CMAKE_CONFIGURATION: debian13_ninja_clang -.fedora43_makefiles_clang: - extends: .fedora43 +.fedora44_makefiles_clang: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_makefiles_clang + CMAKE_CONFIGURATION: fedora44_makefiles_clang CMAKE_GENERATOR: "Unix Makefiles" -.fedora43_makefiles_lfortran: - extends: .fedora43 +.fedora44_makefiles_lfortran: + extends: .fedora44 variables: # FIXME(lfortran): -rpath flags with spaces not forwarded GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci" - CMAKE_CONFIGURATION: fedora43_makefiles_lfortran + CMAKE_CONFIGURATION: fedora44_makefiles_lfortran CMAKE_GENERATOR: "Unix Makefiles" CTEST_LABELS: "Fortran" -.fedora43_ninja_lfortran: - extends: .fedora43 +.fedora44_ninja_lfortran: + extends: .fedora44 variables: # FIXME(lfortran): -rpath flags with spaces not forwarded GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake-ci" - CMAKE_CONFIGURATION: fedora43_ninja_lfortran + CMAKE_CONFIGURATION: fedora44_ninja_lfortran CTEST_LABELS: "Fortran" -.fedora43_ninja_multi: - extends: .fedora43 +.fedora44_ninja_multi: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_ninja_multi + CMAKE_CONFIGURATION: fedora44_ninja_multi CMAKE_GENERATOR: "Ninja Multi-Config" -.fedora43_ninja_clang: - extends: .fedora43 +.fedora44_ninja_clang: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_ninja_clang + CMAKE_CONFIGURATION: fedora44_ninja_clang -.fedora43_ninja_gcc_std_reloc: - extends: .fedora43 +.fedora44_ninja_gcc_std_reloc: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_ninja_gcc_std_reloc + CMAKE_CONFIGURATION: fedora44_ninja_gcc_std_reloc CTEST_LABELS: "CXXModules" -.fedora43_ninja_multi_clang: - extends: .fedora43 +.fedora44_ninja_multi_clang: + extends: .fedora44 variables: - CMAKE_CONFIGURATION: fedora43_ninja_multi_clang + CMAKE_CONFIGURATION: fedora44_ninja_multi_clang CMAKE_GENERATOR: "Ninja Multi-Config" ### Sanitizers @@ -373,23 +373,23 @@ CTEST_MEMORYCHECK_TYPE: Valgrind CMAKE_CI_RUN_MEMCHECK: "true" CMAKE_CI_TEST_TIMEOUT: "1500" - CMAKE_VALGRIND_CONFIGURATION: fedora43 + CMAKE_VALGRIND_CONFIGURATION: fedora44 -.fedora43_asan: +.fedora44_asan: extends: - - .fedora43 + - .fedora44 - .fedora_asan_addon variables: - CMAKE_CONFIGURATION: fedora43_asan + CMAKE_CONFIGURATION: fedora44_asan -.fedora43_ninja_valgrind: +.fedora44_ninja_valgrind: extends: - - .fedora43 + - .fedora44 - .fedora_valgrind_addon variables: - CMAKE_CONFIGURATION: fedora43_ninja_valgrind + CMAKE_CONFIGURATION: fedora44_ninja_valgrind ### Intel Compiler @@ -599,11 +599,11 @@ CMAKE_CONFIGURATION: debian13_hip_radeon CTEST_LABELS: "HIP" -.fedora43_hip_radeon: - extends: .fedora43_hip +.fedora44_hip_radeon: + extends: .fedora44_hip variables: - CMAKE_CONFIGURATION: fedora43_hip_radeon + CMAKE_CONFIGURATION: fedora44_hip_radeon CTEST_LABELS: "HIP" .hip6.3_nvidia: @@ -758,14 +758,14 @@ .cmake_version_update_linux: stage: build - extends: .fedora43 + extends: .fedora44 script: - .gitlab/ci/cmake_version_update.sh interruptible: false # The job internally fetches and retries. .cmake_spellcheck_linux: stage: build - extends: .fedora43 + extends: .fedora44 script: - .gitlab/ci/codespell.bash - .gitlab/ci/typos.bash @@ -936,7 +936,7 @@ .cmake_org_help: stage: build extends: - - .fedora43 + - .fedora44 - .linux_x86_64_tags - .cmake_org_help_artifacts script:
diff --git a/.gitlab/upload.yml b/.gitlab/upload.yml index 47316d1..7e7516b 100644 --- a/.gitlab/upload.yml +++ b/.gitlab/upload.yml
@@ -1,7 +1,7 @@ # Steps for uploading artifacts .rsync_upload_package: - image: "fedora:43" + image: "fedora:44" stage: upload tags: - cmake @@ -21,7 +21,7 @@ .rsync_upload_help: stage: upload - image: "fedora:43" + image: "fedora:44" tags: - cmake - docker
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 64acb89..b986c76 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml
@@ -113,7 +113,7 @@ # NOTE See BUG https://github.com/crate-ci/typos/issues/390 - repo: https://github.com/adhtruong/mirrors-typos - rev: v1.44.0 + rev: v1.45.2 hooks: - id: typos # NOTE Override hook's default args to prevent automatic
diff --git a/CTestCustom.cmake.in b/CTestCustom.cmake.in index 75642c9..591da55 100644 --- a/CTestCustom.cmake.in +++ b/CTestCustom.cmake.in
@@ -51,6 +51,7 @@ "Warning: Function .* can throw only the exceptions thrown by the function .* it overrides\\." "WarningMessagesDialog\\.cxx" "warning.*directory name.*CMake-Xcode.*/bin/.*does not exist.*" + "stl_algo(base)?\\.h:[0-9:]* warning: loop not unrolled" "stl_deque.h:1051" "Tests/CMakeLib/testCTestResourceSpec.cxx:.*warning: missing initializer for member.*cmCTestResourceSpec::.*" # GCC 4.8 disagrees with later compilers on C++11 initializer list conversion "(Lexer|Parser).*warning.*conversion.*may (alter its value|change the sign)"
diff --git a/Help/command/ctest_test.rst b/Help/command/ctest_test.rst index ad43cd2..47dfe23 100644 --- a/Help/command/ctest_test.rst +++ b/Help/command/ctest_test.rst
@@ -183,6 +183,13 @@ file is **not** uploaded to CDash because it would be redundant with CTest's ``Test.xml`` file. +``COVERAGE_TOOL <tool>`` + .. versionadded:: 4.4 + + Specify the ``<tool>`` used for collecting coverage during the running + of the tests. See the CTest :ref:`CoverageTool <ctest-CoverageTool>` + setting for details. + ``QUIET`` .. versionadded:: 3.3
diff --git a/Help/command/install.rst b/Help/command/install.rst index 0d6ccb6..e69d266 100644 --- a/Help/command/install.rst +++ b/Help/command/install.rst
@@ -61,9 +61,8 @@ but not recommended. .. versionadded:: 4.4 - The :ref:`CMD_INSTALL_ABSOLUTE_DESTINATION <CMD_INSTALL_ABSOLUTE_DESTINATION>` - diagnostic can be enabled to warn or error out when an absolute destination - is provided. + The :diagnostic:`CMD_INSTALL_ABSOLUTE_DESTINATION` diagnostic can be + enabled to warn or error out when an absolute destination is provided. When a relative path is given, it is interpreted relative to the value of the :variable:`CMAKE_INSTALL_PREFIX` variable.
diff --git a/Help/dev/README.rst b/Help/dev/README.rst index 84766a6..050ec07 100644 --- a/Help/dev/README.rst +++ b/Help/dev/README.rst
@@ -41,12 +41,14 @@ * The `CMake Testing Guide`_. * The `CMake Experimental Features Guide`_. * The `CMake Debugging Guide`_. +* The `CMake Diagnostics Guide`_. .. _`CMake Source Code Guide`: source.rst .. _`CMake Documentation Guide`: documentation.rst .. _`CMake Testing Guide`: testing.rst .. _`CMake Experimental Features Guide`: experimental.rst .. _`CMake Debugging Guide`: debug.rst +.. _`CMake Diagnostics Guide`: diagnostics.rst Maintainer Documentation ========================
diff --git a/Help/dev/diagnostics.rst b/Help/dev/diagnostics.rst new file mode 100644 index 0000000..394f4d6 --- /dev/null +++ b/Help/dev/diagnostics.rst
@@ -0,0 +1,157 @@ +CMake Diagnostics Guide +*********************** + +The following is a guide on how CMake should issue diagnostics. +See documentation on `CMake Development`_ for more information. + +.. _`CMake Development`: README.rst + +TL;DR Porting Guide (from CMake < 4.4) +====================================== + +I want to write ``IssueMessage(MessageType::AUTHOR_WARNING, ...``: + Write ``IssueDiagnostic(cmDiagnostics::CMD_AUTHOR, ...`` instead. + +I want to write ``IssueMessage(MessageType::DEPRECATION_WARNING, ...``: + Write ``IssueDiagnostic(cmDiagnostics::CMD_DEPRECATED, ...`` instead. + +I want to write ``IssueMessage(MessageType::AUTHOR_ERROR, ...``: + No, you don't. Under the old system, there isn't a meaningful difference + between ``AUTHOR_WARNING`` and ``AUTHOR_ERROR``; at least, not as arguments + to ``IssueMessage``. + +I want to write ``IssueMessage(MessageType::DEPRECATION_ERROR, ...``: + See ``AUTHOR_ERROR``. + +History +======= + +Prior to CMake 4.4, CMake did not have a formal system for issuing diagnostics. +The messaging system had message types for author diagnostics and deprecation +diagnostics which conflated category and severity. Worse, although these types +*purported* to allow the caller to specify severity, this information is not +actually honored. Other diagnostics existed which did not use these types. + +More importantly, the mechanisms for managing severity differed depending on +the diagnostic. Variables to control a diagnostic might be documented, +undocumented, or non-existent. Spelling of command-line options to control +diagnostics was inconsistent, as was the ability to make diagnostics fatal. +Adding new categories required significant effort, as the logic to handle a +diagnostic was bespoke at every layer. + +CMake Diagnostic Framework +========================== + +CMake 4.4 introduced a structured framework for issuing and managing +diagnostics. The ``cmDiagnostics.h`` header enumerates all available +diagnostic categories. All code to manage diagnostics leverages either this +table or helper code generated from the same, such that it is the *only* +non-documentation location that needs to be updated to add a new diagnostic +category. The framework is also responsible for determining the severity of a +diagnostic, based on the combination of category defaults and user preferences, +and for presenting the user with a consistent set of control mechanisms. + +Numeric identifiers associated with diagnostic categories are only used +internally and are never persisted. This means that numbers can be reassigned +at any time. This also permits ensuring that numbers are consecutive, which +allows iterating over all categories using a simple ``for`` loop. (Note that +such loops will typically start from ``1``, not ``0``, as ``0`` is reserved +for the 'NONE' category which is used primarily as a virtual parent.) Where +necessary, macros provided by ``cmDiagnostics.h`` can generate code for each +diagnostic category. + +Refer to ``Help/manual/cmake-diagnostics.7.rst`` for user-facing documentation. + +Issuing Diagnostics +=================== + +Diagnostics are the CMake equivalent of compiler warnings, with categorization +providing both additional information and additional response control to users. + +Diagnostics are issued via the ``IssueDiagnostic`` method. This method is +provided on various objects, with ``cmMakefile`` being the most prominent, and +typically exists alongside an ``IssueMessage`` method. The latter is not +deprecated, and should still be used to issue messages outside of the +diagnostic categories, such as hard errors or informational messages. + +The historic ``{AUTHOR,DEPRECATION}_{WARNING,ERROR}`` message types, however, +have been removed. These are replaced by ``IssueDiagnostic`` and the +``CMD_{AUTHOR,DEPRECATED}`` diagnostic categories. Because the methods have +similar signatures, porting in many cases can be accomplished by replacing the +method name and first argument (the former message type, newly the diagnostic +category). For example, where prior versions of CMake wrote: + +.. code:: c++ + + mf->IssueMessage(MessageType::AUTHOR_WARNING, ...); + +CMake 4.4 and later should write: + +.. code:: c++ + + mf->IssueDiagnostic(cmDiagnostics::CMD_AUTHOR, ...); + +(Note that the ``"cmDiagnostics.h"`` header may need to be newly included.) + +As previously mentioned, the purported severity was ignored by ``cmMessenger``, +which instead used its own internal state to decide whether a message should +be a warning or an error. This logic overrode the severity component of the +message type as passed into the method. As a result, although the new method +does not accept a severity, this is actually consistent with the historic +behavior and does not represent any loss of functionality. + +.. note:: + + When issuing diagnostics targeted at build-system authors, please consult the + complete list of available diagnostics, as a more specific category may be + available. In some cases, it may even make sense to add a new category. + +Adding Diagnostic Categories +============================ + +Adding new diagnostic categories involves four steps. + +1. The new category must be added to ``cmDiagnostics.h``. The diagnostics + table looks like this: + + .. code:: c++ + + #define CM_FOR_EACH_DIAGNOSTIC_TABLE(ACTION, SELECT) \ + SELECT(ACTION, Warn, CMD_NONE, CMD_AUTHOR, 12) \ + SELECT(ACTION, Warn, CMD_AUTHOR, CMD_DEPRECATED, 1) \ + ... + + Add a new entry. All entries must begin with ``SELECT(ACTION,``. The + second argument is the *default* state of the diagnostic and should + typically be ``Warn``, but may be ``Ignore`` if the diagnostic should be + opt-in. Defaulting to ``SendError`` would be exceptional, and defaulting + to ``FatalError`` is not recommended under any circumstances. The third + argument is the *parent* of the diagnostic (see below). The fourth is the + actual name of the diagnostic. The fifth and final argument is the CMake + preset version corresponding to the introduction of the argument, which + should be the latest preset version as used by the version of CMake under + development. + + .. note:: + + In the event that the development version has not already introduced a + new preset version, adding a new diagnostic will additionally require + introducing a new preset version. + + Diagnostics are hierarchical and **must** be listed in order of a + depth-first search. (If you imagine the order of items in a typical tree + view which has been fully expanded, that is depth-first order.) Each + diagnostic has a direct parent. Recursive alterations to a diagnostic will + also affect all descendant diagnostics. + +2. A documentation page for the new diagnostic must be created under + ``Help/diagnostic``, and a link to the same added to the Diagnostics + manual, ``Help/manual/cmake-diagnostics.7.rst``. + +3. The new presets fields must be mentioned in the CMake presets version + history, found at the bottom of ``Help/manual/cmake-presets.7.rst``. Note + that the documentation of the fields themselves is generated. + +4. The ``Utilities/Scripts/regenerate-presets.py`` script must be run to + generate the updated presets schema and documentation. Don't forget to + review and commit the changes made by this script.
diff --git a/Help/dev/experimental.rst b/Help/dev/experimental.rst index 30d53ff..61b77c0 100644 --- a/Help/dev/experimental.rst +++ b/Help/dev/experimental.rst
@@ -37,7 +37,7 @@ * The package name associated with specific targets may be specified using the ``CMAKE_EXPORT_FIND_PACKAGE_NAME`` variable and/or -``EXPORT_FIND_PACKAGE_NAME`` target property. + ``EXPORT_FIND_PACKAGE_NAME`` target property. Export |CPS| Package Information for ``install(EXPORT)`` ======================================================== @@ -102,7 +102,7 @@ * Targets with the property set to a true value will have their C++ build information exported to the build database. -Software Bill Of Materials |SBOM| +Software Bill Of Materials (SBOM) ================================= In order to activate support for the :command:`install(SBOM)` command,
diff --git a/Help/dev/source.rst b/Help/dev/source.rst index ec4e12c..046be1e 100644 --- a/Help/dev/source.rst +++ b/Help/dev/source.rst
@@ -287,10 +287,10 @@ * ``<cmext/type_traits>``: * ``cm::is_pair``: - Checks if a type is a std::pair<> type. + Checks if a type is a std::pair<> type. * ``cm::is_tuple``: - Checks if a type is a std::tuple<> type. + Checks if a type is a std::tuple<> type. * ``cm::is_container``: Checks if a type is a container type.
diff --git a/Help/diagnostic/CMD_AUTHOR.rst b/Help/diagnostic/CMD_AUTHOR.rst new file mode 100644 index 0000000..c309f31 --- /dev/null +++ b/Help/diagnostic/CMD_AUTHOR.rst
@@ -0,0 +1,16 @@ +CMD_AUTHOR +---------- + +.. diagnostic:: + :default: warn + + Warn about a build system's incorrect use of CMake, or of a CMake interface + provided by a dependency. This is the category triggered by + :command:`message(AUTHOR_WARNING)`. It is also the ancestor of many other + diagnostic categories. + + The most important aspect of this category is that it represents issues with + a project's build system which typically require alteration to the same. + This is to say that users simply trying to build a project obtained elsewhere + will typically not be interested in these warnings, except to perhaps report + them to the project's developer(s).
diff --git a/Help/diagnostic/CMD_DEPRECATED.rst b/Help/diagnostic/CMD_DEPRECATED.rst new file mode 100644 index 0000000..dfb23d5 --- /dev/null +++ b/Help/diagnostic/CMD_DEPRECATED.rst
@@ -0,0 +1,9 @@ +CMD_DEPRECATED +-------------- + +.. diagnostic:: + :default: warn + :parent: CMD_AUTHOR + + Warn about use of a deprecated function or package. This is the category + triggered by :command:`message(DEPRECATION)`.
diff --git a/Help/diagnostic/CMD_INSTALL_ABSOLUTE_DESTINATION.rst b/Help/diagnostic/CMD_INSTALL_ABSOLUTE_DESTINATION.rst new file mode 100644 index 0000000..b7c6e08 --- /dev/null +++ b/Help/diagnostic/CMD_INSTALL_ABSOLUTE_DESTINATION.rst
@@ -0,0 +1,10 @@ +CMD_INSTALL_ABSOLUTE_DESTINATION +-------------------------------- + +.. diagnostic:: + :default: ignore + :parent: CMD_AUTHOR + + Warn when an :command:`install` command specifies an absolute ``DESTINATION`` + path. Absolute destinations are typically undesirable because they prevent + the installation prefix from being overridden at install time.
diff --git a/Help/diagnostic/CMD_UNINITIALIZED.rst b/Help/diagnostic/CMD_UNINITIALIZED.rst new file mode 100644 index 0000000..8c2edc8 --- /dev/null +++ b/Help/diagnostic/CMD_UNINITIALIZED.rst
@@ -0,0 +1,7 @@ +CMD_UNINITIALIZED +----------------- + +.. diagnostic:: + :default: ignore + + Warn if an uninitialized variable is dereferenced.
diff --git a/Help/diagnostic/CMD_UNUSED_CLI.rst b/Help/diagnostic/CMD_UNUSED_CLI.rst new file mode 100644 index 0000000..718598e --- /dev/null +++ b/Help/diagnostic/CMD_UNUSED_CLI.rst
@@ -0,0 +1,12 @@ +CMD_UNUSED_CLI +-------------- + +.. diagnostic:: + :default: ignore + + Warn about variables that are declared on the command line, but not used. + + This diagnostic is issued outside of the configuration / generation phases. + Accordingly, while the action of this warning category can be queried as + usual, the :command:`cmake_diagnostic` command is unable to affect the action + of this diagnostic.
diff --git a/Help/manual/cmake-diagnostics.7.rst b/Help/manual/cmake-diagnostics.7.rst index 5612299..de2b705 100644 --- a/Help/manual/cmake-diagnostics.7.rst +++ b/Help/manual/cmake-diagnostics.7.rst
@@ -32,71 +32,62 @@ * Issues that may impact the ability of the project to be built with newer versions of CMake. -Diagnostic Actions ------------------- +Controlling Diagnostics +======================= -The action taken when a particular diagnostic is triggered depends on the -diagnostic category. Most categories will warn by default. The -:command:`cmake_diagnostic` command and :option:`-W <cmake -W>` options can be -used to control what action occurs when a diagnostic of a particular category -is triggered. The possible actions are described in the documentation of the -same. +Each diagnostic category has an associated action to be taken when that +diagnostic is triggered. Most categories will warn by default. The available +actions are described in the :command:`cmake_diagnostic` command documentation. + +CMake maintains a diagnostic state stack that is similar to the policy state. +The initial state of the stack is determined by four factors, which are, in +order of precedence: + +* The default action associated with the diagnostic. + +* The action associated with the diagnostic stored in the CMake variable cache, + which is used to persist the initial state between CMake runs. + +* The :preset:`configurePresets.warnings` and :preset:`configurePresets.errors` + fields of :manual:`CMake Presets <cmake-presets(7)>`. + +* The :option:`-W[no-][error=] <cmake -W>` command line arguments. + +.. note:: + + Because command line arguments operate both recursively and in the order + specified, some combinations of diagnostic arguments may result in later + arguments completely overwriting the action of earlier arguments. For + example, ``-Wno-child -Wparent`` will result in the ``child`` warning being + enabled, because ``-Wparent`` promotes both ``parent`` and ``child`` to at + least ``WARN`` severity. CMake presets are evaluated in order from most + ancestral to least ancestral. + +During script execution, the :command:`cmake_diagnostic` command can be used to +query or alter the state, or to perform limited stack manipulations. + +When a diagnostic is issued at configure time (or during script execution, when +CMake is running in script mode), the current diagnostic state controls the +action. Diagnostics issued at generate time, or outside of the configuration +and generation phases must make use of recorded state information. While CMake +strives to preserve this information in a way that matches the recorded state +to the state as of the CMake command which ultimately causes a diagnostic to be +issued, CMake may sometimes fall back to the state when processing of a +subdirectory completed, or even the root state. This may limit the ability of +the :command:`cmake_diagnostic` command to control such diagnostics, especially +if called from a function or included file. This is especially the case for +diagnostics that are not directly coupled to a CMake command. Diagnostic Categories ===================== -The following categories are defined. +The following categories are defined: -``CMD_AUTHOR`` (``-Wauthor``) ------------------------------ +.. toctree:: + :maxdepth: 1 -:Default: Warn - -Warn about a build system's incorrect use of CMake, or of a CMake interface -provided by a dependency. This is the category triggered by -:command:`message(AUTHOR_WARNING)`. It is also the ancestor of many other -diagnostic categories. - -The most important aspect of this category is that it represents issues with -a project's build system which typically require alteration to the same. This -is to say that users simply trying to build a project obtained elsewhere will -typically not be interested in these warnings, except to perhaps report them -to the project's developer(s). - -``CMD_DEPRECATED`` (``-Wdeprecated``) -------------------------------------- - -:Default: Warn -:Parent: ``CMD_AUTHOR`` - -Warn about use of a deprecated function or package. This is the category -triggered by :command:`message(DEPRECATION)`. - -``CMD_UNINITIALIZED`` (``-Wuninitialized``) -------------------------------------------- - -:Default: Ignore - -Warn if an uninitialized variable is dereferenced. - -``CMD_UNUSED_CLI`` (``-Wunused-cli``) -------------------------------------- - -:Default: Warn - -Warn about variables that are declared on the command line, but not used. - -Although the action of this warning category can be queried as usual, changes -made using the :command:`cmake_diagnostic` command have no effect. - -.. _CMD_INSTALL_ABSOLUTE_DESTINATION: - -``CMD_INSTALL_ABSOLUTE_DESTINATION`` (``-Winstall-absolute-destination``) -------------------------------------------------------------------------- - -:Default: Ignore - -Warn when an :command:`install` command specifies an absolute -``DESTINATION`` path. Absolute destinations are typically undesirable -because they prevent the installation prefix from being overridden at -install time. + /diagnostic/CMD_AUTHOR + /diagnostic/CMD_DEPRECATED + /diagnostic/CMD_INSTALL_ABSOLUTE_DESTINATION + /diagnostic/CMD_UNINITIALIZED + /diagnostic/CMD_UNUSED_CLI
diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst index a2ddcef..71318dd 100644 --- a/Help/manual/cmake-variables.7.rst +++ b/Help/manual/cmake-variables.7.rst
@@ -806,6 +806,7 @@ /variable/CTEST_SVN_UPDATE_OPTIONS /variable/CTEST_TEST_LOAD /variable/CTEST_TEST_TIMEOUT + /variable/CTEST_TEST_COVERAGE_TOOL /variable/CTEST_TLS_VERIFY /variable/CTEST_TLS_VERSION /variable/CTEST_UPDATE_COMMAND
diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst index c64fd81..4ab9d75 100644 --- a/Help/manual/ctest.1.rst +++ b/Help/manual/ctest.1.rst
@@ -1383,8 +1383,41 @@ * `CTest Script`_ variable: :variable:`CTEST_TEST_TIMEOUT` * :module:`CTest` module variable: ``DART_TESTING_TIMEOUT`` +.. _`ctest-CoverageTool`: + +``CoverageTool`` + .. versionadded:: 4.4 + + Specify the tool used for collecting coverage during the running + of the tests. The tool may be one of: + + ``LLVM-COV`` + This value indicates the usage of Clang's source-based code coverage + which "operates on AST and preprocessor information directly". + For more information, see the `Clang Source-based Code Coverage`_ + documentation. + + CTest will run each test with the ``LLVM_PROFILE_FILE`` environment + variable set to ``<directory>/<test-name>_<process-id>.profraw``, + where ``<directory>`` is the absolute path to the directory where + the ``CTestTestfile.cmake`` that describes the test is located. + This configures Clang Source-based Code Coverage to uniquely identify + the coverage information gathered by each test without any collisions. + + Any existing ``<directory>/<test-name>_*.profraw`` files for a test + are removed before running the test. Any existing ``LLVM_PROFILE_FILE`` + environment variable is ignored. + + If no value is specified, no work is done and nothing is added to the + environment. + + * `CTest Script`_ variable: :variable:`CTEST_TEST_COVERAGE_TOOL` + * :module:`CTest` module variable: :variable:`CTEST_TEST_COVERAGE_TOOL` + To report extra test values to CDash, see :ref:`Additional Test Measurements`. +.. _`Clang Source-based Code Coverage`: https://clang.llvm.org/docs/SourceBasedCodeCoverage.html + .. _`CTest Coverage Step`: CTest Coverage Step
diff --git a/Help/release/dev/ctest-llvm-cov.rst b/Help/release/dev/ctest-llvm-cov.rst new file mode 100644 index 0000000..f6ca701 --- /dev/null +++ b/Help/release/dev/ctest-llvm-cov.rst
@@ -0,0 +1,6 @@ +ctest-llvm-cov +-------------- + +* :manual:`ctest(1)` gained a :ref:`CoverageTool <ctest-CoverageTool>` + option in :ref:`Dashboard Client` mode to configure tests for + coverage collection by ``llvm-cov``.
diff --git a/Help/release/dev/install-absolute-dest-configure-time.rst b/Help/release/dev/install-absolute-dest-configure-time.rst index 25a9c0a..580a46c 100644 --- a/Help/release/dev/install-absolute-dest-configure-time.rst +++ b/Help/release/dev/install-absolute-dest-configure-time.rst
@@ -3,8 +3,10 @@ * CMake gained the ability to diagnose :command:`install` commands that specify an absolute ``DESTINATION`` path via the - :ref:`CMD_INSTALL_ABSOLUTE_DESTINATION <CMD_INSTALL_ABSOLUTE_DESTINATION>` - diagnostic category. This diagnostic may be controlled with the - :option:`-Winstall-absolute-destination <cmake -W>` command-line option, the - ``installAbsoluteDestination`` field in a :manual:`cmake-presets(7)` - ``warnings`` object, or the :command:`cmake_diagnostic` command. + :diagnostic:`CMD_INSTALL_ABSOLUTE_DESTINATION` diagnostic category. + This diagnostic may be controlled with the + :option:`-Winstall-absolute-destination <cmake -W>` command-line option, + the ``installAbsoluteDestination`` field in a + :manual:`CMake Presets <cmake-presets(7)>` + :preset:`configurePresets.warnings` object, + or the :command:`cmake_diagnostic` command.
diff --git a/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst b/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst index 84a27e5..5ee7bf3 100644 --- a/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst +++ b/Help/variable/CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION.rst
@@ -11,8 +11,7 @@ .. versionadded:: 4.4 - The :ref:`CMD_INSTALL_ABSOLUTE_DESTINATION <CMD_INSTALL_ABSOLUTE_DESTINATION>` - diagnostic can be used to to generate errors for absolute install destinations - at generate time. + The :diagnostic:`CMD_INSTALL_ABSOLUTE_DESTINATION` diagnostic can be used to + generate errors for absolute install destinations at generate time. See also :variable:`CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION`.
diff --git a/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst b/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst index fac680e..ac40b3d 100644 --- a/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst +++ b/Help/variable/CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION.rst
@@ -10,8 +10,7 @@ .. versionadded:: 4.4 - The :ref:`CMD_INSTALL_ABSOLUTE_DESTINATION <CMD_INSTALL_ABSOLUTE_DESTINATION>` - diagnostic can be used to to generate warnings for absolute install destinations - at generate time. + The :diagnostic:`CMD_INSTALL_ABSOLUTE_DESTINATION` diagnostic can be used to + generate warnings for absolute install destinations at generate time. See also :variable:`CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION`.
diff --git a/Help/variable/CTEST_TEST_COVERAGE_TOOL.rst b/Help/variable/CTEST_TEST_COVERAGE_TOOL.rst new file mode 100644 index 0000000..bc94825 --- /dev/null +++ b/Help/variable/CTEST_TEST_COVERAGE_TOOL.rst
@@ -0,0 +1,7 @@ +CTEST_TEST_COVERAGE_TOOL +------------------------ + +.. versionadded:: 4.4 + +Specify the CTest :ref:`CoverageTool <ctest-CoverageTool>` setting +in a :manual:`ctest(1)` :ref:`Dashboard Client` script.
diff --git a/Modules/DartConfiguration.tcl.in b/Modules/DartConfiguration.tcl.in index 67d9f8f..409a5c6 100644 --- a/Modules/DartConfiguration.tcl.in +++ b/Modules/DartConfiguration.tcl.in
@@ -107,3 +107,6 @@ # specify behavior for retrying the submission CTestSubmitRetryDelay: @CTEST_SUBMIT_RETRY_DELAY@ CTestSubmitRetryCount: @CTEST_SUBMIT_RETRY_COUNT@ + +# Invoke each test with environment variables configuring tool's collection. +CTestTestCoverageTool: @CTEST_TEST_COVERAGE_TOOL@
diff --git a/Modules/FindArmadillo.cmake b/Modules/FindArmadillo.cmake index 901ea22..861540b 100644 --- a/Modules/FindArmadillo.cmake +++ b/Modules/FindArmadillo.cmake
@@ -133,7 +133,7 @@ set(Armadillo_VERSION_NAME "EARLY RELEASE") if(EXISTS "${ARMADILLO_INCLUDE_DIR}/armadillo_bits/arma_version.hpp") - # Read and parse armdillo version header file for version number + # Read and parse Armadillo version header file for version number. file(STRINGS "${ARMADILLO_INCLUDE_DIR}/armadillo_bits/arma_version.hpp" _ARMA_HEADER_CONTENTS REGEX "#define ARMA_VERSION_[A-Z]+ ") string(REGEX REPLACE ".*#define ARMA_VERSION_MAJOR ([0-9]+).*" "\\1" ARMADILLO_VERSION_MAJOR "${_ARMA_HEADER_CONTENTS}") string(REGEX REPLACE ".*#define ARMA_VERSION_MINOR ([0-9]+).*" "\\1" ARMADILLO_VERSION_MINOR "${_ARMA_HEADER_CONTENTS}") @@ -176,8 +176,6 @@ ) mark_as_advanced(ARMADILLO_LIBRARY) set(_ARMA_REQUIRED_VARS ARMADILLO_LIBRARY) -else() - set(ARMADILLO_LIBRARY "") endif() # Transitive linking with the wrapper does not work with MSVC,
diff --git a/Modules/ProcessorCount.cmake b/Modules/ProcessorCount.cmake index 260b663..b8fa1fa 100644 --- a/Modules/ProcessorCount.cmake +++ b/Modules/ProcessorCount.cmake
@@ -94,12 +94,13 @@ execute_process(COMMAND ${ProcessorCount_cmd_sysctl} -n hw.ncpu ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE count) + OUTPUT_VARIABLE count + RESULT_VARIABLE _count_ok) #message("ProcessorCount: trying sysctl '${ProcessorCount_cmd_sysctl}'") endif() endif() - if(NOT count) + if(NOT (_count_ok EQUAL 0 AND count GREATER 0)) # Linux (systems with nproc): # Prefer nproc to getconf if available as getconf may return the host CPU count in Linux containers find_program(ProcessorCount_cmd_nproc nproc) @@ -108,12 +109,13 @@ execute_process(COMMAND ${ProcessorCount_cmd_nproc} ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE count) + OUTPUT_VARIABLE count + RESULT_VARIABLE _count_ok) #message("ProcessorCount: trying nproc '${ProcessorCount_cmd_nproc}'") endif() endif() - if(NOT count) + if(NOT (_count_ok EQUAL 0 AND count GREATER 0)) # Linux (systems with getconf): find_program(ProcessorCount_cmd_getconf getconf) mark_as_advanced(ProcessorCount_cmd_getconf) @@ -121,12 +123,13 @@ execute_process(COMMAND ${ProcessorCount_cmd_getconf} _NPROCESSORS_ONLN ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE count) + OUTPUT_VARIABLE count + RESULT_VARIABLE _count_ok) #message("ProcessorCount: trying getconf '${ProcessorCount_cmd_getconf}'") endif() endif() - if(NOT count) + if(NOT (_count_ok EQUAL 0 AND count GREATER 0)) # HPUX (systems with machinfo): find_program(ProcessorCount_cmd_machinfo machinfo PATHS /usr/contrib/bin) @@ -150,15 +153,18 @@ execute_process(COMMAND ${ProcessorCount_cmd_mpsched} -s OUTPUT_QUIET ERROR_STRIP_TRAILING_WHITESPACE - ERROR_VARIABLE mpsched_output) - string(REGEX MATCHALL "Processor Count *: *([0-9]+)" procs "${mpsched_output}") - set(count "${CMAKE_MATCH_1}") + ERROR_VARIABLE mpsched_output + RESULT_VARIABLE _mpsched_ok) + if(_mpsched_ok EQUAL 0) + string(REGEX MATCHALL "Processor Count *: *([0-9]+)" procs "${mpsched_output}") + set(count "${CMAKE_MATCH_1}") + endif() #message("ProcessorCount: trying mpsched -s '${ProcessorCount_cmd_mpsched}'") endif() endif() endif() - if(NOT count) + if(NOT count GREATER 0) # AIX (systems with lsconf): find_program(ProcessorCount_cmd_lsconf lsconf PATHS /usr/sbin) @@ -167,14 +173,17 @@ execute_process(COMMAND ${ProcessorCount_cmd_lsconf} ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE lsconf_output) - string(REGEX MATCHALL "Number Of Processors: ([0-9]+)" procs "${lsconf_output}") - set(count "${CMAKE_MATCH_1}") + OUTPUT_VARIABLE lsconf_output + RESULT_VARIABLE _lsconf_ok) + if(_lsconf_ok EQUAL 0) + string(REGEX MATCHALL "Number Of Processors: ([0-9]+)" procs "${lsconf_output}") + set(count "${CMAKE_MATCH_1}") + endif() #message("ProcessorCount: trying lsconf '${ProcessorCount_cmd_lsconf}'") endif() endif() - if(NOT count) + if(NOT count GREATER 0) # QNX (systems with pidin): find_program(ProcessorCount_cmd_pidin pidin) mark_as_advanced(ProcessorCount_cmd_pidin) @@ -182,14 +191,17 @@ execute_process(COMMAND ${ProcessorCount_cmd_pidin} info ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE pidin_output) - string(REGEX MATCHALL "Processor[0-9]+: " procs "${pidin_output}") - list(LENGTH procs count) + OUTPUT_VARIABLE pidin_output + RESULT_VARIABLE _pidin_ok) + if(_pidin_ok EQUAL 0) + string(REGEX MATCHALL "Processor[0-9]+: " procs "${pidin_output}") + list(LENGTH procs count) + endif() #message("ProcessorCount: trying pidin '${ProcessorCount_cmd_pidin}'") endif() endif() - if(NOT count) + if(NOT count GREATER 0) # Sun (systems where psrinfo tool is available) find_program(ProcessorCount_cmd_psrinfo psrinfo PATHS /usr/sbin /sbin) mark_as_advanced(ProcessorCount_cmd_psrinfo) @@ -197,13 +209,16 @@ execute_process(COMMAND ${ProcessorCount_cmd_psrinfo} -p -v ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE psrinfo_output) - string(REGEX MATCHALL "has [0-9]+ virtual processor" procs "${psrinfo_output}") - set(count "") - foreach(proc ${procs}) - string(REGEX MATCH "has ([0-9]+) virtual" res ${proc}) - math(EXPR count "${count} + ${CMAKE_MATCH_1}") - endforeach() + OUTPUT_VARIABLE psrinfo_output + RESULT_VARIABLE _psrinfo_ok) + if(_psrinfo_ok EQUAL 0) + string(REGEX MATCHALL "has [0-9]+ virtual processor" procs "${psrinfo_output}") + set(count "") + foreach(proc IN LISTS procs) + string(REGEX MATCH "has ([0-9]+) virtual" res ${proc}) + math(EXPR count "${count} + ${CMAKE_MATCH_1}") + endforeach() + endif() #message("ProcessorCount: trying '${ProcessorCount_cmd_psrinfo}' -p -v") else() # Sun (systems where uname -X emits "NumCPU" in its output): @@ -213,9 +228,12 @@ execute_process(COMMAND ${ProcessorCount_cmd_uname} -X ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE uname_X_output) - string(REGEX MATCHALL "NumCPU = ([0-9]+)" procs "${uname_X_output}") - set(count "${CMAKE_MATCH_1}") + OUTPUT_VARIABLE uname_X_output + RESULT_VARIABLE _uname_X_ok) + if(_uname_X_ok EQUAL 0) + string(REGEX MATCHALL "NumCPU = ([0-9]+)" procs "${uname_X_output}") + set(count "${CMAKE_MATCH_1}") + endif() #message("ProcessorCount: trying uname -X '${ProcessorCount_cmd_uname}'") endif() endif() @@ -224,7 +242,7 @@ # Execute this code when all previously attempted methods return empty # output: # - if(NOT count) + if(NOT count GREATER 0) # Systems with /proc/cpuinfo: set(cpuinfo_file /proc/cpuinfo) if(EXISTS "${cpuinfo_file}") @@ -237,7 +255,7 @@ endif() endif() - if(NOT count) + if(NOT count GREATER 0) # Haiku find_program(ProcessorCount_cmd_sysinfo sysinfo) mark_as_advanced(ProcessorCount_cmd_sysinfo) @@ -245,9 +263,12 @@ execute_process(COMMAND ${ProcessorCount_cmd_sysinfo} ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE - OUTPUT_VARIABLE sysinfo_X_output) - string(REGEX MATCHALL "\nCPU #[0-9]+:" procs "\n${sysinfo_X_output}") - list(LENGTH procs count) + OUTPUT_VARIABLE sysinfo_X_output + RESULT_VARIABLE _sysinfo_ok) + if(_sysinfo_ok EQUAL 0) + string(REGEX MATCHALL "\nCPU #[0-9]+:" procs "\n${sysinfo_X_output}") + list(LENGTH procs count) + endif() #message("ProcessorCount: trying sysinfo '${ProcessorCount_cmd_sysinfo}'") endif() endif() @@ -255,7 +276,7 @@ # Since cygwin builds of CMake do not define WIN32 anymore, but they still # run on Windows, and will still have this env var defined: # - if(NOT count) + if(NOT count GREATER 0) set(count "$ENV{NUMBER_OF_PROCESSORS}") #message("ProcessorCount: last fallback, trying environment variable") endif()
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index ecb5c31..54bc9ad 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake
@@ -1,7 +1,7 @@ # CMake version number components. set(CMake_VERSION_MAJOR 4) set(CMake_VERSION_MINOR 3) -set(CMake_VERSION_PATCH 20260501) +set(CMake_VERSION_PATCH 20260505) #set(CMake_VERSION_RC 0) set(CMake_VERSION_IS_DIRTY 0)
diff --git a/Source/CTest/cmCTestRunTest.cxx b/Source/CTest/cmCTestRunTest.cxx index c5e7ce1..eaf5831 100644 --- a/Source/CTest/cmCTestRunTest.cxx +++ b/Source/CTest/cmCTestRunTest.cxx
@@ -14,7 +14,10 @@ #include <cm/memory> #include <cm/optional> +#include <cm/string_view> +#include <cmext/string_view> +#include "cmsys/Glob.hxx" #include "cmsys/RegularExpression.hxx" #include "cmCTest.h" @@ -874,6 +877,35 @@ diff.ApplyTo(env); } + // Inject LLVM Profile name : + // https://clang.llvm.org/docs/SourceBasedCodeCoverage.html#running-the-instrumented-program + if (this->CTest->GetCTestConfiguration("CTestTestCoverageTool") == + "LLVM-COV"_s || + this->TestHandler->TestOptions.CoverageTool == "LLVM-COV"_s) { + + // Isolate the test from any ambient LLVM_PROFILE_FILE + env.UnPutEnv("LLVM_PROFILE_FILE"); + // Value is <Test Dir>/<testName>_<processID>.profraw + std::string profileEnv = + cmStrCat(this->TestProperties->CTestDirectory, "/", + this->TestProperties->Name, "_%p.profraw"_s); + cmCTestOptionalLog(this->CTest, HANDLER_VERBOSE_OUTPUT, + this->Index + << ": Using environment variable LLVM_PROFILE_FILE="_s + << profileEnv << " \n", + this->TestHandler->GetQuiet()); + env.PutEnv(cmStrCat("LLVM_PROFILE_FILE="_s, profileEnv)); + // ProcessID -> * to allow for glob to find all + // files generated by the test + cmSystemTools::ReplaceString(profileEnv, "%p", "*"); + + cmsys::Glob glob; + glob.FindFiles(profileEnv); + for (std::string const& file : glob.GetFiles()) { + cmSystemTools::RemoveFile(file); + } + }; + if (this->UseAllocatedResources) { this->SetupResourcesEnvironment(env); } else {
diff --git a/Source/CTest/cmCTestTestCommand.cxx b/Source/CTest/cmCTestTestCommand.cxx index 2d923a4..1c0d4e7 100644 --- a/Source/CTest/cmCTestTestCommand.cxx +++ b/Source/CTest/cmCTestTestCommand.cxx
@@ -96,6 +96,9 @@ if (!args.ResourceSpecFile.empty()) { handler->TestOptions.ResourceSpecFile = args.ResourceSpecFile; } + if (!args.CoverageTool.empty()) { + handler->TestOptions.CoverageTool = args.CoverageTool; + } if (!args.StopTime.empty()) { this->CTest->SetStopTime(args.StopTime); }
diff --git a/Source/CTest/cmCTestTestCommand.h b/Source/CTest/cmCTestTestCommand.h index 125d5a5..00297f6 100644 --- a/Source/CTest/cmCTestTestCommand.h +++ b/Source/CTest/cmCTestTestCommand.h
@@ -46,6 +46,7 @@ std::string TestLoad; std::string ResourceSpecFile; std::string OutputJUnit; + std::string CoverageTool; bool StopOnFailure = false; }; @@ -74,6 +75,7 @@ .Bind("TEST_LOAD"_s, &TestArguments::TestLoad) .Bind("RESOURCE_SPEC_FILE"_s, &TestArguments::ResourceSpecFile) .Bind("STOP_ON_FAILURE"_s, &TestArguments::StopOnFailure) + .Bind("COVERAGE_TOOL"_s, &TestArguments::CoverageTool) .Bind("OUTPUT_JUNIT"_s, &TestArguments::OutputJUnit); }
diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx index 65957af..9731a17 100644 --- a/Source/CTest/cmCTestTestHandler.cxx +++ b/Source/CTest/cmCTestTestHandler.cxx
@@ -2493,7 +2493,8 @@ cmCTestTestProperties test; test.Name = testname; test.Args = args; - test.Directory = cmSystemTools::GetLogicalWorkingDirectory(); + test.CTestDirectory = cmSystemTools::GetLogicalWorkingDirectory(); + test.Directory = test.CTestDirectory; cmCTestOptionalLog(this->CTest, DEBUG, "Set test directory: " << test.Directory << std::endl, this->Quiet);
diff --git a/Source/CTest/cmCTestTestHandler.h b/Source/CTest/cmCTestTestHandler.h index 4d4dbb8..c6238da 100644 --- a/Source/CTest/cmCTestTestHandler.h +++ b/Source/CTest/cmCTestTestHandler.h
@@ -56,6 +56,8 @@ std::string ResourceSpecFile; std::string JUnitXMLFileName; + std::string CoverageTool; + std::vector<std::string> TestPassthroughArguments; }; @@ -131,7 +133,10 @@ void AppendError(cm::string_view err); cm::optional<std::string> Error; std::string Name; + // working directory for test, overridden by WORKING_DIRECTORY property std::string Directory; + // Original directory of test creation + std::string CTestDirectory; std::vector<std::string> Args; std::vector<std::string> RequiredFiles; std::vector<std::string> Depends;
diff --git a/Source/LexerParser/cmDependsJavaParser.cxx b/Source/LexerParser/cmDependsJavaParser.cxx index e85bf98..578646f 100644 --- a/Source/LexerParser/cmDependsJavaParser.cxx +++ b/Source/LexerParser/cmDependsJavaParser.cxx
@@ -119,13 +119,16 @@ # pragma GCC diagnostic ignored "-Wconversion" # pragma GCC diagnostic ignored "-Wfree-nonheap-object" #endif +#if defined(__GNUC__) && __GNUC__ >= 16 +# pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif #if defined(__clang__) && defined(__has_warning) # if __has_warning("-Wunused-but-set-variable") # pragma clang diagnostic ignored "-Wunused-but-set-variable" # endif #endif -#line 129 "cmDependsJavaParser.cxx" +#line 132 "cmDependsJavaParser.cxx" # ifndef YY_CAST # ifdef __cplusplus @@ -813,42 +816,42 @@ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 184, 184, 193, 201, 209, 217, 225, 233, 242, - 250, 259, 267, 276, 281, 286, 291, 296, 301, 306, - 311, 317, 325, 334, 344, 353, 362, 370, 380, 386, - 393, 400, 406, 413, 422, 432, 442, 451, 459, 468, - 477, 483, 492, 498, 507, 513, 522, 534, 542, 551, - 563, 576, 584, 592, 601, 609, 618, 618, 618, 619, - 620, 620, 620, 620, 620, 620, 621, 624, 634, 643, - 652, 661, 671, 677, 686, 695, 704, 712, 721, 730, - 736, 745, 753, 761, 769, 778, 786, 795, 801, 809, - 818, 826, 835, 844, 853, 861, 870, 878, 886, 895, - 904, 914, 921, 931, 941, 948, 955, 958, 964, 974, - 984, 994, 1000, 1010, 1020, 1030, 1039, 1049, 1060, 1070, - 1077, 1087, 1096, 1106, 1115, 1125, 1131, 1141, 1150, 1160, - 1170, 1177, 1186, 1195, 1204, 1213, 1221, 1230, 1239, 1249, - 1259, 1268, 1278, 1288, 1295, 1304, 1314, 1323, 1333, 1342, - 1349, 1359, 1368, 1378, 1387, 1396, 1406, 1416, 1425, 1435, - 1444, 1453, 1462, 1471, 1480, 1490, 1499, 1508, 1517, 1526, - 1536, 1545, 1554, 1563, 1572, 1581, 1590, 1599, 1608, 1617, - 1626, 1635, 1645, 1655, 1666, 1676, 1686, 1695, 1704, 1713, - 1722, 1731, 1740, 1750, 1760, 1770, 1780, 1787, 1794, 1801, - 1811, 1818, 1828, 1838, 1847, 1857, 1866, 1876, 1883, 1890, - 1897, 1905, 1912, 1922, 1929, 1939, 1949, 1956, 1966, 1975, - 1985, 1995, 2004, 2014, 2023, 2033, 2044, 2051, 2058, 2069, - 2079, 2089, 2099, 2108, 2118, 2125, 2135, 2144, 2154, 2161, - 2171, 2180, 2190, 2199, 2205, 2214, 2223, 2232, 2241, 2251, - 2261, 2268, 2278, 2285, 2295, 2304, 2314, 2323, 2332, 2341, - 2351, 2358, 2368, 2377, 2387, 2397, 2403, 2410, 2420, 2430, - 2440, 2451, 2461, 2472, 2482, 2493, 2503, 2513, 2522, 2531, - 2540, 2549, 2559, 2569, 2579, 2588, 2597, 2606, 2615, 2625, - 2635, 2645, 2654, 2663, 2672, 2682, 2691, 2700, 2707, 2716, - 2725, 2734, 2744, 2753, 2762, 2772, 2781, 2790, 2799, 2809, - 2818, 2827, 2836, 2845, 2854, 2864, 2873, 2882, 2892, 2901, - 2911, 2920, 2930, 2939, 2949, 2958, 2968, 2977, 2987, 2996, - 3006, 3015, 3025, 3035, 3045, 3054, 3064, 3073, 3082, 3091, - 3100, 3109, 3118, 3127, 3136, 3145, 3154, 3163, 3173, 3183, - 3193, 3202 + 0, 187, 187, 196, 204, 212, 220, 228, 236, 245, + 253, 262, 270, 279, 284, 289, 294, 299, 304, 309, + 314, 320, 328, 337, 347, 356, 365, 373, 383, 389, + 396, 403, 409, 416, 425, 435, 445, 454, 462, 471, + 480, 486, 495, 501, 510, 516, 525, 537, 545, 554, + 566, 579, 587, 595, 604, 612, 621, 621, 621, 622, + 623, 623, 623, 623, 623, 623, 624, 627, 637, 646, + 655, 664, 674, 680, 689, 698, 707, 715, 724, 733, + 739, 748, 756, 764, 772, 781, 789, 798, 804, 812, + 821, 829, 838, 847, 856, 864, 873, 881, 889, 898, + 907, 917, 924, 934, 944, 951, 958, 961, 967, 977, + 987, 997, 1003, 1013, 1023, 1033, 1042, 1052, 1063, 1073, + 1080, 1090, 1099, 1109, 1118, 1128, 1134, 1144, 1153, 1163, + 1173, 1180, 1189, 1198, 1207, 1216, 1224, 1233, 1242, 1252, + 1262, 1271, 1281, 1291, 1298, 1307, 1317, 1326, 1336, 1345, + 1352, 1362, 1371, 1381, 1390, 1399, 1409, 1419, 1428, 1438, + 1447, 1456, 1465, 1474, 1483, 1493, 1502, 1511, 1520, 1529, + 1539, 1548, 1557, 1566, 1575, 1584, 1593, 1602, 1611, 1620, + 1629, 1638, 1648, 1658, 1669, 1679, 1689, 1698, 1707, 1716, + 1725, 1734, 1743, 1753, 1763, 1773, 1783, 1790, 1797, 1804, + 1814, 1821, 1831, 1841, 1850, 1860, 1869, 1879, 1886, 1893, + 1900, 1908, 1915, 1925, 1932, 1942, 1952, 1959, 1969, 1978, + 1988, 1998, 2007, 2017, 2026, 2036, 2047, 2054, 2061, 2072, + 2082, 2092, 2102, 2111, 2121, 2128, 2138, 2147, 2157, 2164, + 2174, 2183, 2193, 2202, 2208, 2217, 2226, 2235, 2244, 2254, + 2264, 2271, 2281, 2288, 2298, 2307, 2317, 2326, 2335, 2344, + 2354, 2361, 2371, 2380, 2390, 2400, 2406, 2413, 2423, 2433, + 2443, 2454, 2464, 2475, 2485, 2496, 2506, 2516, 2525, 2534, + 2543, 2552, 2562, 2572, 2582, 2591, 2600, 2609, 2618, 2628, + 2638, 2648, 2657, 2666, 2675, 2685, 2694, 2703, 2710, 2719, + 2728, 2737, 2747, 2756, 2765, 2775, 2784, 2793, 2802, 2812, + 2821, 2830, 2839, 2848, 2857, 2867, 2876, 2885, 2895, 2904, + 2914, 2923, 2933, 2942, 2952, 2961, 2971, 2980, 2990, 2999, + 3009, 3018, 3028, 3038, 3048, 3057, 3067, 3076, 3085, 3094, + 3103, 3112, 3121, 3130, 3139, 3148, 3157, 3166, 3176, 3186, + 3196, 3205 }; #endif @@ -2469,214 +2472,214 @@ switch (yyn) { case 2: /* Goal: CompilationUnit */ -#line 185 "cmDependsJavaParser.y" +#line 188 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2480 "cmDependsJavaParser.cxx" +#line 2483 "cmDependsJavaParser.cxx" break; case 3: /* Literal: IntegerLiteral */ -#line 194 "cmDependsJavaParser.y" +#line 197 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2491 "cmDependsJavaParser.cxx" +#line 2494 "cmDependsJavaParser.cxx" break; case 4: /* Literal: jp_FLOATINGPOINTLITERAL */ -#line 202 "cmDependsJavaParser.y" +#line 205 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2502 "cmDependsJavaParser.cxx" +#line 2505 "cmDependsJavaParser.cxx" break; case 5: /* Literal: jp_BOOLEANLITERAL */ -#line 210 "cmDependsJavaParser.y" +#line 213 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2513 "cmDependsJavaParser.cxx" +#line 2516 "cmDependsJavaParser.cxx" break; case 6: /* Literal: jp_CHARACTERLITERAL */ -#line 218 "cmDependsJavaParser.y" +#line 221 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2524 "cmDependsJavaParser.cxx" +#line 2527 "cmDependsJavaParser.cxx" break; case 7: /* Literal: jp_STRINGLITERAL */ -#line 226 "cmDependsJavaParser.y" +#line 229 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2535 "cmDependsJavaParser.cxx" +#line 2538 "cmDependsJavaParser.cxx" break; case 8: /* Literal: jp_NULLLITERAL */ -#line 234 "cmDependsJavaParser.y" +#line 237 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2546 "cmDependsJavaParser.cxx" +#line 2549 "cmDependsJavaParser.cxx" break; case 9: /* IntegerLiteral: jp_DECIMALINTEGERLITERAL */ -#line 243 "cmDependsJavaParser.y" +#line 246 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2557 "cmDependsJavaParser.cxx" +#line 2560 "cmDependsJavaParser.cxx" break; case 10: /* IntegerLiteral: jp_HEXINTEGERLITERAL */ -#line 251 "cmDependsJavaParser.y" +#line 254 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2568 "cmDependsJavaParser.cxx" +#line 2571 "cmDependsJavaParser.cxx" break; case 11: /* Type: PrimitiveType */ -#line 260 "cmDependsJavaParser.y" +#line 263 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2579 "cmDependsJavaParser.cxx" +#line 2582 "cmDependsJavaParser.cxx" break; case 12: /* Type: ReferenceType */ -#line 268 "cmDependsJavaParser.y" +#line 271 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2590 "cmDependsJavaParser.cxx" +#line 2593 "cmDependsJavaParser.cxx" break; case 13: /* PrimitiveType: jp_BYTE_TYPE */ -#line 277 "cmDependsJavaParser.y" +#line 280 "cmDependsJavaParser.y" { jpElementStart(0); } -#line 2598 "cmDependsJavaParser.cxx" +#line 2601 "cmDependsJavaParser.cxx" break; case 14: /* PrimitiveType: jp_SHORT_TYPE */ -#line 282 "cmDependsJavaParser.y" +#line 285 "cmDependsJavaParser.y" { jpElementStart(0); } -#line 2606 "cmDependsJavaParser.cxx" +#line 2609 "cmDependsJavaParser.cxx" break; case 15: /* PrimitiveType: jp_INT_TYPE */ -#line 287 "cmDependsJavaParser.y" +#line 290 "cmDependsJavaParser.y" { jpElementStart(0); } -#line 2614 "cmDependsJavaParser.cxx" +#line 2617 "cmDependsJavaParser.cxx" break; case 16: /* PrimitiveType: jp_LONG_TYPE */ -#line 292 "cmDependsJavaParser.y" +#line 295 "cmDependsJavaParser.y" { jpElementStart(0); } -#line 2622 "cmDependsJavaParser.cxx" +#line 2625 "cmDependsJavaParser.cxx" break; case 17: /* PrimitiveType: jp_CHAR_TYPE */ -#line 297 "cmDependsJavaParser.y" +#line 300 "cmDependsJavaParser.y" { jpElementStart(0); } -#line 2630 "cmDependsJavaParser.cxx" +#line 2633 "cmDependsJavaParser.cxx" break; case 18: /* PrimitiveType: jp_FLOAT_TYPE */ -#line 302 "cmDependsJavaParser.y" +#line 305 "cmDependsJavaParser.y" { jpElementStart(0); } -#line 2638 "cmDependsJavaParser.cxx" +#line 2641 "cmDependsJavaParser.cxx" break; case 19: /* PrimitiveType: jp_DOUBLE_TYPE */ -#line 307 "cmDependsJavaParser.y" +#line 310 "cmDependsJavaParser.y" { jpElementStart(0); } -#line 2646 "cmDependsJavaParser.cxx" +#line 2649 "cmDependsJavaParser.cxx" break; case 20: /* PrimitiveType: jp_BOOLEAN_TYPE */ -#line 312 "cmDependsJavaParser.y" +#line 315 "cmDependsJavaParser.y" { jpElementStart(0); } -#line 2654 "cmDependsJavaParser.cxx" +#line 2657 "cmDependsJavaParser.cxx" break; case 21: /* ReferenceType: ClassOrInterfaceType */ -#line 318 "cmDependsJavaParser.y" +#line 321 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2665 "cmDependsJavaParser.cxx" +#line 2668 "cmDependsJavaParser.cxx" break; case 22: /* ReferenceType: ArrayType */ -#line 326 "cmDependsJavaParser.y" +#line 329 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2676 "cmDependsJavaParser.cxx" +#line 2679 "cmDependsJavaParser.cxx" break; case 23: /* ClassOrInterfaceType: Name */ -#line 335 "cmDependsJavaParser.y" +#line 338 "cmDependsJavaParser.y" { jpElementStart(1); jpStoreClass((yyvsp[0].str)); @@ -2684,44 +2687,44 @@ (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2688 "cmDependsJavaParser.cxx" +#line 2691 "cmDependsJavaParser.cxx" break; case 24: /* ClassType: ClassOrInterfaceType */ -#line 345 "cmDependsJavaParser.y" +#line 348 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2699 "cmDependsJavaParser.cxx" +#line 2702 "cmDependsJavaParser.cxx" break; case 25: /* InterfaceType: ClassOrInterfaceType */ -#line 354 "cmDependsJavaParser.y" +#line 357 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2710 "cmDependsJavaParser.cxx" +#line 2713 "cmDependsJavaParser.cxx" break; case 26: /* ArrayType: PrimitiveType Dims */ -#line 363 "cmDependsJavaParser.y" +#line 366 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2721 "cmDependsJavaParser.cxx" +#line 2724 "cmDependsJavaParser.cxx" break; case 27: /* ArrayType: Name Dims */ -#line 371 "cmDependsJavaParser.y" +#line 374 "cmDependsJavaParser.y" { jpElementStart(2); jpStoreClass((yyvsp[-1].str)); @@ -2729,56 +2732,56 @@ (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2733 "cmDependsJavaParser.cxx" +#line 2736 "cmDependsJavaParser.cxx" break; case 28: /* Name: SimpleName */ -#line 381 "cmDependsJavaParser.y" +#line 384 "cmDependsJavaParser.y" { jpElementStart(1); (yyval.str) = (yyvsp[0].str); } -#line 2742 "cmDependsJavaParser.cxx" +#line 2745 "cmDependsJavaParser.cxx" break; case 29: /* Name: QualifiedName */ -#line 387 "cmDependsJavaParser.y" +#line 390 "cmDependsJavaParser.y" { jpElementStart(1); (yyval.str) = (yyvsp[0].str); } -#line 2751 "cmDependsJavaParser.cxx" +#line 2754 "cmDependsJavaParser.cxx" break; case 30: /* SimpleName: Identifier */ -#line 394 "cmDependsJavaParser.y" +#line 397 "cmDependsJavaParser.y" { jpElementStart(1); (yyval.str) = (yyvsp[0].str); } -#line 2760 "cmDependsJavaParser.cxx" +#line 2763 "cmDependsJavaParser.cxx" break; case 31: /* Identifier: jp_NAME */ -#line 401 "cmDependsJavaParser.y" +#line 404 "cmDependsJavaParser.y" { jpElementStart(1); (yyval.str) = (yyvsp[0].str); } -#line 2769 "cmDependsJavaParser.cxx" +#line 2772 "cmDependsJavaParser.cxx" break; case 32: /* Identifier: jp_DOLLAR jp_NAME */ -#line 407 "cmDependsJavaParser.y" +#line 410 "cmDependsJavaParser.y" { jpElementStart(2); (yyval.str) = (yyvsp[0].str); } -#line 2778 "cmDependsJavaParser.cxx" +#line 2781 "cmDependsJavaParser.cxx" break; case 33: /* QualifiedName: Name jp_DOT Identifier */ -#line 414 "cmDependsJavaParser.y" +#line 417 "cmDependsJavaParser.y" { jpElementStart(3); yyGetParser->AddClassFound((yyvsp[-2].str)); @@ -2786,11 +2789,11 @@ yyGetParser->DeallocateParserType(&((yyvsp[-2].str))); (yyval.str) = const_cast<char*>(yyGetParser->GetCurrentCombine()); } -#line 2790 "cmDependsJavaParser.cxx" +#line 2793 "cmDependsJavaParser.cxx" break; case 34: /* QualifiedName: Name jp_DOT jp_CLASS */ -#line 423 "cmDependsJavaParser.y" +#line 426 "cmDependsJavaParser.y" { jpElementStart(3); jpStoreClass((yyvsp[-2].str)); @@ -2799,11 +2802,11 @@ (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2803 "cmDependsJavaParser.cxx" +#line 2806 "cmDependsJavaParser.cxx" break; case 35: /* QualifiedName: Name jp_DOT jp_THIS */ -#line 433 "cmDependsJavaParser.y" +#line 436 "cmDependsJavaParser.y" { jpElementStart(3); jpStoreClass((yyvsp[-2].str)); @@ -2812,118 +2815,118 @@ (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2816 "cmDependsJavaParser.cxx" +#line 2819 "cmDependsJavaParser.cxx" break; case 36: /* QualifiedName: SimpleType jp_DOT jp_CLASS */ -#line 443 "cmDependsJavaParser.y" +#line 446 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2827 "cmDependsJavaParser.cxx" +#line 2830 "cmDependsJavaParser.cxx" break; case 37: /* SimpleType: PrimitiveType */ -#line 452 "cmDependsJavaParser.y" +#line 455 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2838 "cmDependsJavaParser.cxx" +#line 2841 "cmDependsJavaParser.cxx" break; case 38: /* SimpleType: jp_VOID */ -#line 460 "cmDependsJavaParser.y" +#line 463 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2849 "cmDependsJavaParser.cxx" +#line 2852 "cmDependsJavaParser.cxx" break; case 39: /* CompilationUnit: PackageDeclarationopt ImportDeclarations TypeDeclarations */ -#line 469 "cmDependsJavaParser.y" +#line 472 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2860 "cmDependsJavaParser.cxx" +#line 2863 "cmDependsJavaParser.cxx" break; case 40: /* PackageDeclarationopt: %empty */ -#line 477 "cmDependsJavaParser.y" +#line 480 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2870 "cmDependsJavaParser.cxx" +#line 2873 "cmDependsJavaParser.cxx" break; case 41: /* PackageDeclarationopt: PackageDeclaration */ -#line 484 "cmDependsJavaParser.y" +#line 487 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2881 "cmDependsJavaParser.cxx" +#line 2884 "cmDependsJavaParser.cxx" break; case 42: /* ImportDeclarations: %empty */ -#line 492 "cmDependsJavaParser.y" +#line 495 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2891 "cmDependsJavaParser.cxx" +#line 2894 "cmDependsJavaParser.cxx" break; case 43: /* ImportDeclarations: ImportDeclarations ImportDeclaration */ -#line 499 "cmDependsJavaParser.y" +#line 502 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2902 "cmDependsJavaParser.cxx" +#line 2905 "cmDependsJavaParser.cxx" break; case 44: /* TypeDeclarations: %empty */ -#line 507 "cmDependsJavaParser.y" +#line 510 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2912 "cmDependsJavaParser.cxx" +#line 2915 "cmDependsJavaParser.cxx" break; case 45: /* TypeDeclarations: TypeDeclarations TypeDeclaration */ -#line 514 "cmDependsJavaParser.y" +#line 517 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2923 "cmDependsJavaParser.cxx" +#line 2926 "cmDependsJavaParser.cxx" break; case 46: /* PackageDeclaration: jp_PACKAGE Name jp_SEMICOL */ -#line 523 "cmDependsJavaParser.y" +#line 526 "cmDependsJavaParser.y" { jpElementStart(3); yyGetParser->SetCurrentPackage((yyvsp[-1].str)); @@ -2933,33 +2936,33 @@ (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2937 "cmDependsJavaParser.cxx" +#line 2940 "cmDependsJavaParser.cxx" break; case 47: /* ImportDeclaration: SingleTypeImportDeclaration */ -#line 535 "cmDependsJavaParser.y" +#line 538 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2948 "cmDependsJavaParser.cxx" +#line 2951 "cmDependsJavaParser.cxx" break; case 48: /* ImportDeclaration: TypeImportOnDemandDeclaration */ -#line 543 "cmDependsJavaParser.y" +#line 546 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2959 "cmDependsJavaParser.cxx" +#line 2962 "cmDependsJavaParser.cxx" break; case 49: /* SingleTypeImportDeclaration: jp_IMPORT Name jp_SEMICOL */ -#line 552 "cmDependsJavaParser.y" +#line 555 "cmDependsJavaParser.y" { jpElementStart(3); yyGetParser->AddPackagesImport((yyvsp[-1].str)); @@ -2969,11 +2972,11 @@ (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2973 "cmDependsJavaParser.cxx" +#line 2976 "cmDependsJavaParser.cxx" break; case 50: /* TypeImportOnDemandDeclaration: jp_IMPORT Name jp_DOT jp_TIMES jp_SEMICOL */ -#line 564 "cmDependsJavaParser.y" +#line 567 "cmDependsJavaParser.y" { jpElementStart(5); std::string str = (yyvsp[-3].str); @@ -2984,77 +2987,77 @@ (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2988 "cmDependsJavaParser.cxx" +#line 2991 "cmDependsJavaParser.cxx" break; case 51: /* TypeDeclaration: ClassDeclaration */ -#line 577 "cmDependsJavaParser.y" +#line 580 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 2999 "cmDependsJavaParser.cxx" +#line 3002 "cmDependsJavaParser.cxx" break; case 52: /* TypeDeclaration: InterfaceDeclaration */ -#line 585 "cmDependsJavaParser.y" +#line 588 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3010 "cmDependsJavaParser.cxx" +#line 3013 "cmDependsJavaParser.cxx" break; case 53: /* TypeDeclaration: jp_SEMICOL */ -#line 593 "cmDependsJavaParser.y" +#line 596 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3021 "cmDependsJavaParser.cxx" +#line 3024 "cmDependsJavaParser.cxx" break; case 54: /* Modifiers: Modifier */ -#line 602 "cmDependsJavaParser.y" +#line 605 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3032 "cmDependsJavaParser.cxx" +#line 3035 "cmDependsJavaParser.cxx" break; case 55: /* Modifiers: Modifiers Modifier */ -#line 610 "cmDependsJavaParser.y" +#line 613 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3043 "cmDependsJavaParser.cxx" +#line 3046 "cmDependsJavaParser.cxx" break; case 67: /* ClassHeader: Modifiersopt jp_CLASS Identifier */ -#line 625 "cmDependsJavaParser.y" +#line 628 "cmDependsJavaParser.y" { yyGetParser->StartClass((yyvsp[0].str)); jpElementStart(3); yyGetParser->DeallocateParserType(&((yyvsp[0].str))); jpCheckEmpty(3); } -#line 3054 "cmDependsJavaParser.cxx" +#line 3057 "cmDependsJavaParser.cxx" break; case 68: /* ClassDeclaration: ClassHeader ClassBody */ -#line 635 "cmDependsJavaParser.y" +#line 638 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -3062,11 +3065,11 @@ yyGetParser->SetCurrentCombine(""); yyGetParser->EndClass(); } -#line 3066 "cmDependsJavaParser.cxx" +#line 3069 "cmDependsJavaParser.cxx" break; case 69: /* ClassDeclaration: ClassHeader Interfaces ClassBody */ -#line 644 "cmDependsJavaParser.y" +#line 647 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(2); @@ -3074,11 +3077,11 @@ yyGetParser->SetCurrentCombine(""); yyGetParser->EndClass(); } -#line 3078 "cmDependsJavaParser.cxx" +#line 3081 "cmDependsJavaParser.cxx" break; case 70: /* ClassDeclaration: ClassHeader Super ClassBody */ -#line 653 "cmDependsJavaParser.y" +#line 656 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -3086,11 +3089,11 @@ yyGetParser->SetCurrentCombine(""); yyGetParser->EndClass(); } -#line 3090 "cmDependsJavaParser.cxx" +#line 3093 "cmDependsJavaParser.cxx" break; case 71: /* ClassDeclaration: ClassHeader Super Interfaces ClassBody */ -#line 662 "cmDependsJavaParser.y" +#line 665 "cmDependsJavaParser.y" { jpElementStart(4); jpCheckEmpty(4); @@ -3098,226 +3101,226 @@ yyGetParser->SetCurrentCombine(""); yyGetParser->EndClass(); } -#line 3102 "cmDependsJavaParser.cxx" +#line 3105 "cmDependsJavaParser.cxx" break; case 72: /* Modifiersopt: %empty */ -#line 671 "cmDependsJavaParser.y" +#line 674 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3112 "cmDependsJavaParser.cxx" +#line 3115 "cmDependsJavaParser.cxx" break; case 73: /* Modifiersopt: Modifiers */ -#line 678 "cmDependsJavaParser.y" +#line 681 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3123 "cmDependsJavaParser.cxx" +#line 3126 "cmDependsJavaParser.cxx" break; case 74: /* Super: jp_EXTENDS ClassType */ -#line 687 "cmDependsJavaParser.y" +#line 690 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3134 "cmDependsJavaParser.cxx" +#line 3137 "cmDependsJavaParser.cxx" break; case 75: /* Interfaces: jp_IMPLEMENTS InterfaceTypeList */ -#line 696 "cmDependsJavaParser.y" +#line 699 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3145 "cmDependsJavaParser.cxx" +#line 3148 "cmDependsJavaParser.cxx" break; case 76: /* InterfaceTypeList: InterfaceType */ -#line 705 "cmDependsJavaParser.y" +#line 708 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3156 "cmDependsJavaParser.cxx" +#line 3159 "cmDependsJavaParser.cxx" break; case 77: /* InterfaceTypeList: InterfaceTypeList jp_COMMA InterfaceType */ -#line 713 "cmDependsJavaParser.y" +#line 716 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3167 "cmDependsJavaParser.cxx" +#line 3170 "cmDependsJavaParser.cxx" break; case 78: /* ClassBody: jp_CURLYSTART ClassBodyDeclarations jp_CURLYEND */ -#line 722 "cmDependsJavaParser.y" +#line 725 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3178 "cmDependsJavaParser.cxx" +#line 3181 "cmDependsJavaParser.cxx" break; case 79: /* ClassBodyDeclarations: %empty */ -#line 730 "cmDependsJavaParser.y" +#line 733 "cmDependsJavaParser.y" { jpElementStart(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3188 "cmDependsJavaParser.cxx" +#line 3191 "cmDependsJavaParser.cxx" break; case 80: /* ClassBodyDeclarations: ClassBodyDeclarations ClassBodyDeclaration */ -#line 737 "cmDependsJavaParser.y" +#line 740 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3199 "cmDependsJavaParser.cxx" +#line 3202 "cmDependsJavaParser.cxx" break; case 81: /* ClassBodyDeclaration: ClassMemberDeclaration */ -#line 746 "cmDependsJavaParser.y" +#line 749 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3210 "cmDependsJavaParser.cxx" +#line 3213 "cmDependsJavaParser.cxx" break; case 82: /* ClassBodyDeclaration: StaticInitializer */ -#line 754 "cmDependsJavaParser.y" +#line 757 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3221 "cmDependsJavaParser.cxx" +#line 3224 "cmDependsJavaParser.cxx" break; case 83: /* ClassBodyDeclaration: ConstructorDeclaration */ -#line 762 "cmDependsJavaParser.y" +#line 765 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3232 "cmDependsJavaParser.cxx" +#line 3235 "cmDependsJavaParser.cxx" break; case 84: /* ClassBodyDeclaration: TypeDeclaration */ -#line 770 "cmDependsJavaParser.y" +#line 773 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3243 "cmDependsJavaParser.cxx" +#line 3246 "cmDependsJavaParser.cxx" break; case 85: /* ClassMemberDeclaration: FieldDeclaration */ -#line 779 "cmDependsJavaParser.y" +#line 782 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3254 "cmDependsJavaParser.cxx" +#line 3257 "cmDependsJavaParser.cxx" break; case 86: /* ClassMemberDeclaration: MethodDeclaration */ -#line 787 "cmDependsJavaParser.y" +#line 790 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3265 "cmDependsJavaParser.cxx" +#line 3268 "cmDependsJavaParser.cxx" break; case 87: /* FieldDeclaration: Modifiersopt Type VariableDeclarators jp_SEMICOL */ -#line 796 "cmDependsJavaParser.y" +#line 799 "cmDependsJavaParser.y" { jpElementStart(4); } -#line 3273 "cmDependsJavaParser.cxx" +#line 3276 "cmDependsJavaParser.cxx" break; case 88: /* VariableDeclarators: VariableDeclarator */ -#line 802 "cmDependsJavaParser.y" +#line 805 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3284 "cmDependsJavaParser.cxx" +#line 3287 "cmDependsJavaParser.cxx" break; case 89: /* VariableDeclarators: VariableDeclarators jp_COMMA VariableDeclarator */ -#line 810 "cmDependsJavaParser.y" +#line 813 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3295 "cmDependsJavaParser.cxx" +#line 3298 "cmDependsJavaParser.cxx" break; case 90: /* VariableDeclarator: VariableDeclaratorId */ -#line 819 "cmDependsJavaParser.y" +#line 822 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3306 "cmDependsJavaParser.cxx" +#line 3309 "cmDependsJavaParser.cxx" break; case 91: /* VariableDeclarator: VariableDeclaratorId jp_EQUALS VariableInitializer */ -#line 827 "cmDependsJavaParser.y" +#line 830 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3317 "cmDependsJavaParser.cxx" +#line 3320 "cmDependsJavaParser.cxx" break; case 92: /* VariableDeclaratorId: Identifier */ -#line 836 "cmDependsJavaParser.y" +#line 839 "cmDependsJavaParser.y" { jpElementStart(1); yyGetParser->DeallocateParserType(&((yyvsp[0].str))); @@ -3325,77 +3328,77 @@ (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3329 "cmDependsJavaParser.cxx" +#line 3332 "cmDependsJavaParser.cxx" break; case 93: /* VariableDeclaratorId: VariableDeclaratorId jp_BRACKETSTART jp_BRACKETEND */ -#line 845 "cmDependsJavaParser.y" +#line 848 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3340 "cmDependsJavaParser.cxx" +#line 3343 "cmDependsJavaParser.cxx" break; case 94: /* VariableInitializer: Expression */ -#line 854 "cmDependsJavaParser.y" +#line 857 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3351 "cmDependsJavaParser.cxx" +#line 3354 "cmDependsJavaParser.cxx" break; case 95: /* VariableInitializer: ArrayInitializer */ -#line 862 "cmDependsJavaParser.y" +#line 865 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3362 "cmDependsJavaParser.cxx" +#line 3365 "cmDependsJavaParser.cxx" break; case 96: /* MethodDeclaration: MethodHeader jp_SEMICOL */ -#line 871 "cmDependsJavaParser.y" +#line 874 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3373 "cmDependsJavaParser.cxx" +#line 3376 "cmDependsJavaParser.cxx" break; case 97: /* MethodDeclaration: MethodHeader MethodBody */ -#line 879 "cmDependsJavaParser.y" +#line 882 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3384 "cmDependsJavaParser.cxx" +#line 3387 "cmDependsJavaParser.cxx" break; case 98: /* MethodDeclaration: MethodHeader MethodBody jp_SEMICOL */ -#line 887 "cmDependsJavaParser.y" +#line 890 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3395 "cmDependsJavaParser.cxx" +#line 3398 "cmDependsJavaParser.cxx" break; case 99: /* MethodHeader: Modifiersopt Type MethodDeclarator Throwsopt */ -#line 896 "cmDependsJavaParser.y" +#line 899 "cmDependsJavaParser.y" { jpElementStart(4); jpCheckEmpty(4); @@ -3403,11 +3406,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3407 "cmDependsJavaParser.cxx" +#line 3410 "cmDependsJavaParser.cxx" break; case 100: /* MethodHeader: Modifiersopt jp_VOID MethodDeclarator Throwsopt */ -#line 905 "cmDependsJavaParser.y" +#line 908 "cmDependsJavaParser.y" { jpElementStart(4); jpCheckEmpty(4); @@ -3415,22 +3418,22 @@ yyGetParser->SetCurrentCombine(""); } -#line 3419 "cmDependsJavaParser.cxx" +#line 3422 "cmDependsJavaParser.cxx" break; case 101: /* Throwsopt: %empty */ -#line 914 "cmDependsJavaParser.y" +#line 917 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3430 "cmDependsJavaParser.cxx" +#line 3433 "cmDependsJavaParser.cxx" break; case 102: /* Throwsopt: Throws */ -#line 922 "cmDependsJavaParser.y" +#line 925 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3438,11 +3441,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3442 "cmDependsJavaParser.cxx" +#line 3445 "cmDependsJavaParser.cxx" break; case 103: /* MethodDeclarator: Identifier jp_PARESTART FormalParameterListopt jp_PAREEND */ -#line 932 "cmDependsJavaParser.y" +#line 935 "cmDependsJavaParser.y" { jpElementStart(4); yyGetParser->DeallocateParserType(&((yyvsp[-3].str))); @@ -3451,40 +3454,40 @@ yyGetParser->SetCurrentCombine(""); } -#line 3455 "cmDependsJavaParser.cxx" +#line 3458 "cmDependsJavaParser.cxx" break; case 104: /* MethodDeclarator: MethodDeclarator jp_BRACKETSTART jp_BRACKETEND */ -#line 942 "cmDependsJavaParser.y" +#line 945 "cmDependsJavaParser.y" { jpElementStart(3); } -#line 3464 "cmDependsJavaParser.cxx" +#line 3467 "cmDependsJavaParser.cxx" break; case 105: /* FormalParameterListopt: %empty */ -#line 948 "cmDependsJavaParser.y" +#line 951 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3475 "cmDependsJavaParser.cxx" +#line 3478 "cmDependsJavaParser.cxx" break; case 107: /* FormalParameterList: FormalParameter */ -#line 959 "cmDependsJavaParser.y" +#line 962 "cmDependsJavaParser.y" { jpElementStart(1); } -#line 3484 "cmDependsJavaParser.cxx" +#line 3487 "cmDependsJavaParser.cxx" break; case 108: /* FormalParameterList: FormalParameterList jp_COMMA FormalParameter */ -#line 965 "cmDependsJavaParser.y" +#line 968 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -3492,11 +3495,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3496 "cmDependsJavaParser.cxx" +#line 3499 "cmDependsJavaParser.cxx" break; case 109: /* FormalParameter: Modifiersopt Type VariableDeclaratorId */ -#line 975 "cmDependsJavaParser.y" +#line 978 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -3504,11 +3507,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3508 "cmDependsJavaParser.cxx" +#line 3511 "cmDependsJavaParser.cxx" break; case 110: /* Throws: jp_THROWS ClassTypeList */ -#line 985 "cmDependsJavaParser.y" +#line 988 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -3516,20 +3519,20 @@ yyGetParser->SetCurrentCombine(""); } -#line 3520 "cmDependsJavaParser.cxx" +#line 3523 "cmDependsJavaParser.cxx" break; case 111: /* ClassTypeList: ClassType */ -#line 995 "cmDependsJavaParser.y" +#line 998 "cmDependsJavaParser.y" { jpElementStart(1); } -#line 3529 "cmDependsJavaParser.cxx" +#line 3532 "cmDependsJavaParser.cxx" break; case 112: /* ClassTypeList: ClassTypeList jp_COMMA ClassType */ -#line 1001 "cmDependsJavaParser.y" +#line 1004 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -3537,11 +3540,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3541 "cmDependsJavaParser.cxx" +#line 3544 "cmDependsJavaParser.cxx" break; case 113: /* MethodBody: Block */ -#line 1011 "cmDependsJavaParser.y" +#line 1014 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3549,11 +3552,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3553 "cmDependsJavaParser.cxx" +#line 3556 "cmDependsJavaParser.cxx" break; case 114: /* StaticInitializer: jp_STATIC Block */ -#line 1021 "cmDependsJavaParser.y" +#line 1024 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -3561,11 +3564,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3565 "cmDependsJavaParser.cxx" +#line 3568 "cmDependsJavaParser.cxx" break; case 115: /* ConstructorDeclaration: Modifiersopt ConstructorDeclarator Throwsopt ConstructorBody */ -#line 1031 "cmDependsJavaParser.y" +#line 1034 "cmDependsJavaParser.y" { jpElementStart(4); jpCheckEmpty(4); @@ -3573,11 +3576,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3577 "cmDependsJavaParser.cxx" +#line 3580 "cmDependsJavaParser.cxx" break; case 116: /* ConstructorDeclaration: Modifiersopt ConstructorDeclarator Throwsopt ConstructorBody jp_SEMICOL */ -#line 1040 "cmDependsJavaParser.y" +#line 1043 "cmDependsJavaParser.y" { jpElementStart(5); jpCheckEmpty(5); @@ -3585,11 +3588,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3589 "cmDependsJavaParser.cxx" +#line 3592 "cmDependsJavaParser.cxx" break; case 117: /* ConstructorDeclarator: SimpleName jp_PARESTART FormalParameterListopt jp_PAREEND */ -#line 1050 "cmDependsJavaParser.y" +#line 1053 "cmDependsJavaParser.y" { jpElementStart(4); yyGetParser->DeallocateParserType(&((yyvsp[-3].str))); @@ -3598,11 +3601,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3602 "cmDependsJavaParser.cxx" +#line 3605 "cmDependsJavaParser.cxx" break; case 118: /* ConstructorBody: jp_CURLYSTART ExplicitConstructorInvocationopt BlockStatementsopt jp_CURLYEND */ -#line 1061 "cmDependsJavaParser.y" +#line 1064 "cmDependsJavaParser.y" { jpElementStart(4); jpCheckEmpty(4); @@ -3610,22 +3613,22 @@ yyGetParser->SetCurrentCombine(""); } -#line 3614 "cmDependsJavaParser.cxx" +#line 3617 "cmDependsJavaParser.cxx" break; case 119: /* ExplicitConstructorInvocationopt: %empty */ -#line 1070 "cmDependsJavaParser.y" +#line 1073 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3625 "cmDependsJavaParser.cxx" +#line 3628 "cmDependsJavaParser.cxx" break; case 120: /* ExplicitConstructorInvocationopt: ExplicitConstructorInvocationopt ExplicitConstructorInvocation */ -#line 1078 "cmDependsJavaParser.y" +#line 1081 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -3633,11 +3636,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3637 "cmDependsJavaParser.cxx" +#line 3640 "cmDependsJavaParser.cxx" break; case 121: /* ExplicitConstructorInvocation: jp_THIS jp_PARESTART ArgumentListopt jp_PAREEND jp_SEMICOL */ -#line 1088 "cmDependsJavaParser.y" +#line 1091 "cmDependsJavaParser.y" { jpElementStart(5); jpCheckEmpty(5); @@ -3645,11 +3648,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3649 "cmDependsJavaParser.cxx" +#line 3652 "cmDependsJavaParser.cxx" break; case 122: /* ExplicitConstructorInvocation: jp_SUPER jp_PARESTART ArgumentListopt jp_PAREEND jp_SEMICOL */ -#line 1097 "cmDependsJavaParser.y" +#line 1100 "cmDependsJavaParser.y" { jpElementStart(5); jpCheckEmpty(5); @@ -3657,22 +3660,22 @@ yyGetParser->SetCurrentCombine(""); } -#line 3661 "cmDependsJavaParser.cxx" +#line 3664 "cmDependsJavaParser.cxx" break; case 123: /* InterfaceHeader: Modifiersopt jp_INTERFACE Identifier */ -#line 1107 "cmDependsJavaParser.y" +#line 1110 "cmDependsJavaParser.y" { yyGetParser->StartClass((yyvsp[0].str)); jpElementStart(3); yyGetParser->DeallocateParserType(&((yyvsp[0].str))); jpCheckEmpty(3); } -#line 3672 "cmDependsJavaParser.cxx" +#line 3675 "cmDependsJavaParser.cxx" break; case 124: /* InterfaceDeclaration: InterfaceHeader ExtendsInterfacesopt InterfaceBody */ -#line 1116 "cmDependsJavaParser.y" +#line 1119 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -3680,21 +3683,21 @@ yyGetParser->SetCurrentCombine(""); yyGetParser->EndClass(); } -#line 3684 "cmDependsJavaParser.cxx" +#line 3687 "cmDependsJavaParser.cxx" break; case 125: /* ExtendsInterfacesopt: %empty */ -#line 1125 "cmDependsJavaParser.y" +#line 1128 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3694 "cmDependsJavaParser.cxx" +#line 3697 "cmDependsJavaParser.cxx" break; case 126: /* ExtendsInterfacesopt: ExtendsInterfaces */ -#line 1132 "cmDependsJavaParser.y" +#line 1135 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3702,11 +3705,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3706 "cmDependsJavaParser.cxx" +#line 3709 "cmDependsJavaParser.cxx" break; case 127: /* ExtendsInterfaces: jp_EXTENDS InterfaceType */ -#line 1142 "cmDependsJavaParser.y" +#line 1145 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -3714,11 +3717,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3718 "cmDependsJavaParser.cxx" +#line 3721 "cmDependsJavaParser.cxx" break; case 128: /* ExtendsInterfaces: ExtendsInterfaces jp_COMMA InterfaceType */ -#line 1151 "cmDependsJavaParser.y" +#line 1154 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -3726,11 +3729,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3730 "cmDependsJavaParser.cxx" +#line 3733 "cmDependsJavaParser.cxx" break; case 129: /* InterfaceBody: jp_CURLYSTART InterfaceMemberDeclarations jp_CURLYEND */ -#line 1161 "cmDependsJavaParser.y" +#line 1164 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -3738,33 +3741,33 @@ yyGetParser->SetCurrentCombine(""); } -#line 3742 "cmDependsJavaParser.cxx" +#line 3745 "cmDependsJavaParser.cxx" break; case 130: /* InterfaceMemberDeclarations: %empty */ -#line 1170 "cmDependsJavaParser.y" +#line 1173 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3753 "cmDependsJavaParser.cxx" +#line 3756 "cmDependsJavaParser.cxx" break; case 131: /* InterfaceMemberDeclarations: InterfaceMemberDeclarations InterfaceMemberDeclaration */ -#line 1178 "cmDependsJavaParser.y" +#line 1181 "cmDependsJavaParser.y" { jpElementStart(2); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3764 "cmDependsJavaParser.cxx" +#line 3767 "cmDependsJavaParser.cxx" break; case 132: /* InterfaceMemberDeclaration: ConstantDeclaration */ -#line 1187 "cmDependsJavaParser.y" +#line 1190 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3772,11 +3775,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3776 "cmDependsJavaParser.cxx" +#line 3779 "cmDependsJavaParser.cxx" break; case 133: /* InterfaceMemberDeclaration: AbstractMethodDeclaration */ -#line 1196 "cmDependsJavaParser.y" +#line 1199 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3784,11 +3787,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3788 "cmDependsJavaParser.cxx" +#line 3791 "cmDependsJavaParser.cxx" break; case 134: /* InterfaceMemberDeclaration: ClassDeclaration */ -#line 1205 "cmDependsJavaParser.y" +#line 1208 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3796,22 +3799,22 @@ yyGetParser->SetCurrentCombine(""); } -#line 3800 "cmDependsJavaParser.cxx" +#line 3803 "cmDependsJavaParser.cxx" break; case 135: /* InterfaceMemberDeclaration: ClassDeclaration jp_SEMICOL */ -#line 1214 "cmDependsJavaParser.y" +#line 1217 "cmDependsJavaParser.y" { jpElementStart(2); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3811 "cmDependsJavaParser.cxx" +#line 3814 "cmDependsJavaParser.cxx" break; case 136: /* InterfaceMemberDeclaration: InterfaceDeclaration */ -#line 1222 "cmDependsJavaParser.y" +#line 1225 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3819,22 +3822,22 @@ yyGetParser->SetCurrentCombine(""); } -#line 3823 "cmDependsJavaParser.cxx" +#line 3826 "cmDependsJavaParser.cxx" break; case 137: /* InterfaceMemberDeclaration: InterfaceDeclaration jp_SEMICOL */ -#line 1231 "cmDependsJavaParser.y" +#line 1234 "cmDependsJavaParser.y" { jpElementStart(2); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3834 "cmDependsJavaParser.cxx" +#line 3837 "cmDependsJavaParser.cxx" break; case 138: /* ConstantDeclaration: FieldDeclaration */ -#line 1240 "cmDependsJavaParser.y" +#line 1243 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3842,11 +3845,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3846 "cmDependsJavaParser.cxx" +#line 3849 "cmDependsJavaParser.cxx" break; case 139: /* AbstractMethodDeclaration: MethodHeader Semicols */ -#line 1250 "cmDependsJavaParser.y" +#line 1253 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -3854,11 +3857,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3858 "cmDependsJavaParser.cxx" +#line 3861 "cmDependsJavaParser.cxx" break; case 140: /* Semicols: jp_SEMICOL */ -#line 1260 "cmDependsJavaParser.y" +#line 1263 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3866,11 +3869,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3870 "cmDependsJavaParser.cxx" +#line 3873 "cmDependsJavaParser.cxx" break; case 141: /* Semicols: Semicols jp_SEMICOL */ -#line 1269 "cmDependsJavaParser.y" +#line 1272 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -3878,11 +3881,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3882 "cmDependsJavaParser.cxx" +#line 3885 "cmDependsJavaParser.cxx" break; case 142: /* ArrayInitializer: jp_CURLYSTART VariableInitializersOptional jp_CURLYEND */ -#line 1279 "cmDependsJavaParser.y" +#line 1282 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -3890,22 +3893,22 @@ yyGetParser->SetCurrentCombine(""); } -#line 3894 "cmDependsJavaParser.cxx" +#line 3897 "cmDependsJavaParser.cxx" break; case 143: /* VariableInitializersOptional: %empty */ -#line 1288 "cmDependsJavaParser.y" +#line 1291 "cmDependsJavaParser.y" { jpElementStart(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3905 "cmDependsJavaParser.cxx" +#line 3908 "cmDependsJavaParser.cxx" break; case 144: /* VariableInitializersOptional: VariableInitializers */ -#line 1296 "cmDependsJavaParser.y" +#line 1299 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3913,11 +3916,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3917 "cmDependsJavaParser.cxx" +#line 3920 "cmDependsJavaParser.cxx" break; case 145: /* VariableInitializersOptional: VariableInitializers jp_COMMA */ -#line 1305 "cmDependsJavaParser.y" +#line 1308 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -3925,11 +3928,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3929 "cmDependsJavaParser.cxx" +#line 3932 "cmDependsJavaParser.cxx" break; case 146: /* VariableInitializers: VariableInitializer */ -#line 1315 "cmDependsJavaParser.y" +#line 1318 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3937,11 +3940,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3941 "cmDependsJavaParser.cxx" +#line 3944 "cmDependsJavaParser.cxx" break; case 147: /* VariableInitializers: VariableInitializers jp_COMMA VariableInitializer */ -#line 1324 "cmDependsJavaParser.y" +#line 1327 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -3949,33 +3952,33 @@ yyGetParser->SetCurrentCombine(""); } -#line 3953 "cmDependsJavaParser.cxx" +#line 3956 "cmDependsJavaParser.cxx" break; case 148: /* Block: jp_CURLYSTART BlockStatementsopt jp_CURLYEND */ -#line 1334 "cmDependsJavaParser.y" +#line 1337 "cmDependsJavaParser.y" { jpElementStart(4); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3964 "cmDependsJavaParser.cxx" +#line 3967 "cmDependsJavaParser.cxx" break; case 149: /* BlockStatementsopt: %empty */ -#line 1342 "cmDependsJavaParser.y" +#line 1345 "cmDependsJavaParser.y" { jpElementStart(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 3975 "cmDependsJavaParser.cxx" +#line 3978 "cmDependsJavaParser.cxx" break; case 150: /* BlockStatementsopt: BlockStatements */ -#line 1350 "cmDependsJavaParser.y" +#line 1353 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3983,11 +3986,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3987 "cmDependsJavaParser.cxx" +#line 3990 "cmDependsJavaParser.cxx" break; case 151: /* BlockStatements: BlockStatement */ -#line 1360 "cmDependsJavaParser.y" +#line 1363 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -3995,11 +3998,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 3999 "cmDependsJavaParser.cxx" +#line 4002 "cmDependsJavaParser.cxx" break; case 152: /* BlockStatements: BlockStatements BlockStatement */ -#line 1369 "cmDependsJavaParser.y" +#line 1372 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(2); @@ -4007,11 +4010,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4011 "cmDependsJavaParser.cxx" +#line 4014 "cmDependsJavaParser.cxx" break; case 153: /* BlockStatement: LocalVariableDeclarationStatement */ -#line 1379 "cmDependsJavaParser.y" +#line 1382 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4019,11 +4022,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4023 "cmDependsJavaParser.cxx" +#line 4026 "cmDependsJavaParser.cxx" break; case 154: /* BlockStatement: Statement */ -#line 1388 "cmDependsJavaParser.y" +#line 1391 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4031,11 +4034,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4035 "cmDependsJavaParser.cxx" +#line 4038 "cmDependsJavaParser.cxx" break; case 155: /* BlockStatement: ClassDeclaration */ -#line 1397 "cmDependsJavaParser.y" +#line 1400 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4043,11 +4046,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4047 "cmDependsJavaParser.cxx" +#line 4050 "cmDependsJavaParser.cxx" break; case 156: /* LocalVariableDeclarationStatement: LocalVariableDeclaration jp_SEMICOL */ -#line 1407 "cmDependsJavaParser.y" +#line 1410 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(2); @@ -4055,11 +4058,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4059 "cmDependsJavaParser.cxx" +#line 4062 "cmDependsJavaParser.cxx" break; case 157: /* LocalVariableDeclaration: Modifiers Type VariableDeclarators */ -#line 1417 "cmDependsJavaParser.y" +#line 1420 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(3); @@ -4067,11 +4070,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4071 "cmDependsJavaParser.cxx" +#line 4074 "cmDependsJavaParser.cxx" break; case 158: /* LocalVariableDeclaration: Type VariableDeclarators */ -#line 1426 "cmDependsJavaParser.y" +#line 1429 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(2); @@ -4079,11 +4082,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4083 "cmDependsJavaParser.cxx" +#line 4086 "cmDependsJavaParser.cxx" break; case 159: /* Statement: StatementWithoutTrailingSubstatement */ -#line 1436 "cmDependsJavaParser.y" +#line 1439 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4091,11 +4094,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4095 "cmDependsJavaParser.cxx" +#line 4098 "cmDependsJavaParser.cxx" break; case 160: /* Statement: LabeledStatement */ -#line 1445 "cmDependsJavaParser.y" +#line 1448 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4103,11 +4106,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4107 "cmDependsJavaParser.cxx" +#line 4110 "cmDependsJavaParser.cxx" break; case 161: /* Statement: IfThenStatement */ -#line 1454 "cmDependsJavaParser.y" +#line 1457 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4115,11 +4118,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4119 "cmDependsJavaParser.cxx" +#line 4122 "cmDependsJavaParser.cxx" break; case 162: /* Statement: IfThenElseStatement */ -#line 1463 "cmDependsJavaParser.y" +#line 1466 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4127,11 +4130,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4131 "cmDependsJavaParser.cxx" +#line 4134 "cmDependsJavaParser.cxx" break; case 163: /* Statement: WhileStatement */ -#line 1472 "cmDependsJavaParser.y" +#line 1475 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4139,11 +4142,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4143 "cmDependsJavaParser.cxx" +#line 4146 "cmDependsJavaParser.cxx" break; case 164: /* Statement: ForStatement */ -#line 1481 "cmDependsJavaParser.y" +#line 1484 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4151,11 +4154,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4155 "cmDependsJavaParser.cxx" +#line 4158 "cmDependsJavaParser.cxx" break; case 165: /* StatementNoShortIf: StatementWithoutTrailingSubstatement */ -#line 1491 "cmDependsJavaParser.y" +#line 1494 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4163,11 +4166,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4167 "cmDependsJavaParser.cxx" +#line 4170 "cmDependsJavaParser.cxx" break; case 166: /* StatementNoShortIf: LabeledStatementNoShortIf */ -#line 1500 "cmDependsJavaParser.y" +#line 1503 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4175,11 +4178,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4179 "cmDependsJavaParser.cxx" +#line 4182 "cmDependsJavaParser.cxx" break; case 167: /* StatementNoShortIf: IfThenElseStatementNoShortIf */ -#line 1509 "cmDependsJavaParser.y" +#line 1512 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4187,11 +4190,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4191 "cmDependsJavaParser.cxx" +#line 4194 "cmDependsJavaParser.cxx" break; case 168: /* StatementNoShortIf: WhileStatementNoShortIf */ -#line 1518 "cmDependsJavaParser.y" +#line 1521 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4199,11 +4202,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4203 "cmDependsJavaParser.cxx" +#line 4206 "cmDependsJavaParser.cxx" break; case 169: /* StatementNoShortIf: ForStatementNoShortIf */ -#line 1527 "cmDependsJavaParser.y" +#line 1530 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4211,11 +4214,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4215 "cmDependsJavaParser.cxx" +#line 4218 "cmDependsJavaParser.cxx" break; case 170: /* StatementWithoutTrailingSubstatement: Block */ -#line 1537 "cmDependsJavaParser.y" +#line 1540 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4223,11 +4226,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4227 "cmDependsJavaParser.cxx" +#line 4230 "cmDependsJavaParser.cxx" break; case 171: /* StatementWithoutTrailingSubstatement: EmptyStatement */ -#line 1546 "cmDependsJavaParser.y" +#line 1549 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4235,11 +4238,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4239 "cmDependsJavaParser.cxx" +#line 4242 "cmDependsJavaParser.cxx" break; case 172: /* StatementWithoutTrailingSubstatement: ExpressionStatement */ -#line 1555 "cmDependsJavaParser.y" +#line 1558 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4247,11 +4250,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4251 "cmDependsJavaParser.cxx" +#line 4254 "cmDependsJavaParser.cxx" break; case 173: /* StatementWithoutTrailingSubstatement: SwitchStatement */ -#line 1564 "cmDependsJavaParser.y" +#line 1567 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4259,11 +4262,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4263 "cmDependsJavaParser.cxx" +#line 4266 "cmDependsJavaParser.cxx" break; case 174: /* StatementWithoutTrailingSubstatement: DoStatement */ -#line 1573 "cmDependsJavaParser.y" +#line 1576 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4271,11 +4274,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4275 "cmDependsJavaParser.cxx" +#line 4278 "cmDependsJavaParser.cxx" break; case 175: /* StatementWithoutTrailingSubstatement: BreakStatement */ -#line 1582 "cmDependsJavaParser.y" +#line 1585 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4283,11 +4286,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4287 "cmDependsJavaParser.cxx" +#line 4290 "cmDependsJavaParser.cxx" break; case 176: /* StatementWithoutTrailingSubstatement: ContinueStatement */ -#line 1591 "cmDependsJavaParser.y" +#line 1594 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4295,11 +4298,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4299 "cmDependsJavaParser.cxx" +#line 4302 "cmDependsJavaParser.cxx" break; case 177: /* StatementWithoutTrailingSubstatement: ReturnStatement */ -#line 1600 "cmDependsJavaParser.y" +#line 1603 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4307,11 +4310,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4311 "cmDependsJavaParser.cxx" +#line 4314 "cmDependsJavaParser.cxx" break; case 178: /* StatementWithoutTrailingSubstatement: SynchronizedStatement */ -#line 1609 "cmDependsJavaParser.y" +#line 1612 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4319,11 +4322,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4323 "cmDependsJavaParser.cxx" +#line 4326 "cmDependsJavaParser.cxx" break; case 179: /* StatementWithoutTrailingSubstatement: ThrowStatement */ -#line 1618 "cmDependsJavaParser.y" +#line 1621 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4331,11 +4334,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4335 "cmDependsJavaParser.cxx" +#line 4338 "cmDependsJavaParser.cxx" break; case 180: /* StatementWithoutTrailingSubstatement: TryStatement */ -#line 1627 "cmDependsJavaParser.y" +#line 1630 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4343,11 +4346,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4347 "cmDependsJavaParser.cxx" +#line 4350 "cmDependsJavaParser.cxx" break; case 181: /* StatementWithoutTrailingSubstatement: AssertStatement */ -#line 1636 "cmDependsJavaParser.y" +#line 1639 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4355,11 +4358,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4359 "cmDependsJavaParser.cxx" +#line 4362 "cmDependsJavaParser.cxx" break; case 182: /* EmptyStatement: jp_SEMICOL */ -#line 1646 "cmDependsJavaParser.y" +#line 1649 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4367,11 +4370,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4371 "cmDependsJavaParser.cxx" +#line 4374 "cmDependsJavaParser.cxx" break; case 183: /* LabeledStatement: Identifier jp_COLON Statement */ -#line 1656 "cmDependsJavaParser.y" +#line 1659 "cmDependsJavaParser.y" { jpElementStart(3); yyGetParser->DeallocateParserType(&((yyvsp[-2].str))); @@ -4380,11 +4383,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4384 "cmDependsJavaParser.cxx" +#line 4387 "cmDependsJavaParser.cxx" break; case 184: /* LabeledStatementNoShortIf: Identifier jp_COLON StatementNoShortIf */ -#line 1667 "cmDependsJavaParser.y" +#line 1670 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -4392,11 +4395,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4396 "cmDependsJavaParser.cxx" +#line 4399 "cmDependsJavaParser.cxx" break; case 185: /* ExpressionStatement: StatementExpression jp_SEMICOL */ -#line 1677 "cmDependsJavaParser.y" +#line 1680 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -4404,11 +4407,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4408 "cmDependsJavaParser.cxx" +#line 4411 "cmDependsJavaParser.cxx" break; case 186: /* StatementExpression: Assignment */ -#line 1687 "cmDependsJavaParser.y" +#line 1690 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4416,11 +4419,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4420 "cmDependsJavaParser.cxx" +#line 4423 "cmDependsJavaParser.cxx" break; case 187: /* StatementExpression: PreIncrementExpression */ -#line 1696 "cmDependsJavaParser.y" +#line 1699 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4428,11 +4431,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4432 "cmDependsJavaParser.cxx" +#line 4435 "cmDependsJavaParser.cxx" break; case 188: /* StatementExpression: PreDecrementExpression */ -#line 1705 "cmDependsJavaParser.y" +#line 1708 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4440,11 +4443,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4444 "cmDependsJavaParser.cxx" +#line 4447 "cmDependsJavaParser.cxx" break; case 189: /* StatementExpression: PostIncrementExpression */ -#line 1714 "cmDependsJavaParser.y" +#line 1717 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4452,11 +4455,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4456 "cmDependsJavaParser.cxx" +#line 4459 "cmDependsJavaParser.cxx" break; case 190: /* StatementExpression: PostDecrementExpression */ -#line 1723 "cmDependsJavaParser.y" +#line 1726 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4464,11 +4467,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4468 "cmDependsJavaParser.cxx" +#line 4471 "cmDependsJavaParser.cxx" break; case 191: /* StatementExpression: MethodInvocation */ -#line 1732 "cmDependsJavaParser.y" +#line 1735 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4476,11 +4479,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4480 "cmDependsJavaParser.cxx" +#line 4483 "cmDependsJavaParser.cxx" break; case 192: /* StatementExpression: ClassInstanceCreationExpression */ -#line 1741 "cmDependsJavaParser.y" +#line 1744 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4488,11 +4491,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4492 "cmDependsJavaParser.cxx" +#line 4495 "cmDependsJavaParser.cxx" break; case 193: /* IfThenStatement: jp_IF jp_PARESTART Expression jp_PAREEND Statement */ -#line 1751 "cmDependsJavaParser.y" +#line 1754 "cmDependsJavaParser.y" { jpElementStart(5); jpCheckEmpty(5); @@ -4500,11 +4503,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4504 "cmDependsJavaParser.cxx" +#line 4507 "cmDependsJavaParser.cxx" break; case 194: /* IfThenElseStatement: jp_IF jp_PARESTART Expression jp_PAREEND StatementNoShortIf jp_ELSE Statement */ -#line 1761 "cmDependsJavaParser.y" +#line 1764 "cmDependsJavaParser.y" { jpElementStart(7); jpCheckEmpty(7); @@ -4512,11 +4515,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4516 "cmDependsJavaParser.cxx" +#line 4519 "cmDependsJavaParser.cxx" break; case 195: /* IfThenElseStatementNoShortIf: jp_IF jp_PARESTART Expression jp_PAREEND StatementNoShortIf jp_ELSE StatementNoShortIf */ -#line 1771 "cmDependsJavaParser.y" +#line 1774 "cmDependsJavaParser.y" { jpElementStart(7); jpCheckEmpty(7); @@ -4524,40 +4527,40 @@ yyGetParser->SetCurrentCombine(""); } -#line 4528 "cmDependsJavaParser.cxx" +#line 4531 "cmDependsJavaParser.cxx" break; case 196: /* SwitchStatement: jp_SWITCH jp_PARESTART Expression jp_PAREEND SwitchBlock */ -#line 1781 "cmDependsJavaParser.y" +#line 1784 "cmDependsJavaParser.y" { jpElementStart(5); } -#line 4537 "cmDependsJavaParser.cxx" +#line 4540 "cmDependsJavaParser.cxx" break; case 197: /* SwitchBlock: jp_CURLYSTART SwitchBlockStatementGroups SwitchLabelsopt jp_CURLYEND */ -#line 1788 "cmDependsJavaParser.y" +#line 1791 "cmDependsJavaParser.y" { jpElementStart(4); } -#line 4546 "cmDependsJavaParser.cxx" +#line 4549 "cmDependsJavaParser.cxx" break; case 198: /* SwitchLabelsopt: %empty */ -#line 1794 "cmDependsJavaParser.y" +#line 1797 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 4557 "cmDependsJavaParser.cxx" +#line 4560 "cmDependsJavaParser.cxx" break; case 199: /* SwitchLabelsopt: SwitchLabels */ -#line 1802 "cmDependsJavaParser.y" +#line 1805 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4565,22 +4568,22 @@ yyGetParser->SetCurrentCombine(""); } -#line 4569 "cmDependsJavaParser.cxx" +#line 4572 "cmDependsJavaParser.cxx" break; case 200: /* SwitchBlockStatementGroups: %empty */ -#line 1811 "cmDependsJavaParser.y" +#line 1814 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 4580 "cmDependsJavaParser.cxx" +#line 4583 "cmDependsJavaParser.cxx" break; case 201: /* SwitchBlockStatementGroups: SwitchBlockStatementGroups SwitchBlockStatementGroup */ -#line 1819 "cmDependsJavaParser.y" +#line 1822 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -4588,11 +4591,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4592 "cmDependsJavaParser.cxx" +#line 4595 "cmDependsJavaParser.cxx" break; case 202: /* SwitchBlockStatementGroup: SwitchLabels BlockStatements */ -#line 1829 "cmDependsJavaParser.y" +#line 1832 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -4600,11 +4603,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4604 "cmDependsJavaParser.cxx" +#line 4607 "cmDependsJavaParser.cxx" break; case 203: /* SwitchLabels: SwitchLabel */ -#line 1839 "cmDependsJavaParser.y" +#line 1842 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4612,11 +4615,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4616 "cmDependsJavaParser.cxx" +#line 4619 "cmDependsJavaParser.cxx" break; case 204: /* SwitchLabels: SwitchLabels SwitchLabel */ -#line 1848 "cmDependsJavaParser.y" +#line 1851 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -4624,11 +4627,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4628 "cmDependsJavaParser.cxx" +#line 4631 "cmDependsJavaParser.cxx" break; case 205: /* SwitchLabel: jp_CASE ConstantExpression jp_COLON */ -#line 1858 "cmDependsJavaParser.y" +#line 1861 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -4636,11 +4639,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4640 "cmDependsJavaParser.cxx" +#line 4643 "cmDependsJavaParser.cxx" break; case 206: /* SwitchLabel: jp_DEFAULT jp_COLON */ -#line 1867 "cmDependsJavaParser.y" +#line 1870 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -4648,58 +4651,58 @@ yyGetParser->SetCurrentCombine(""); } -#line 4652 "cmDependsJavaParser.cxx" +#line 4655 "cmDependsJavaParser.cxx" break; case 207: /* WhileStatement: jp_WHILE jp_PARESTART Expression jp_PAREEND Statement */ -#line 1877 "cmDependsJavaParser.y" +#line 1880 "cmDependsJavaParser.y" { jpElementStart(5); } -#line 4661 "cmDependsJavaParser.cxx" +#line 4664 "cmDependsJavaParser.cxx" break; case 208: /* WhileStatementNoShortIf: jp_WHILE jp_PARESTART Expression jp_PAREEND StatementNoShortIf */ -#line 1884 "cmDependsJavaParser.y" +#line 1887 "cmDependsJavaParser.y" { jpElementStart(5); } -#line 4670 "cmDependsJavaParser.cxx" +#line 4673 "cmDependsJavaParser.cxx" break; case 209: /* DoStatement: jp_DO Statement jp_WHILE jp_PARESTART Expression jp_PAREEND jp_SEMICOL */ -#line 1891 "cmDependsJavaParser.y" +#line 1894 "cmDependsJavaParser.y" { jpElementStart(7); } -#line 4679 "cmDependsJavaParser.cxx" +#line 4682 "cmDependsJavaParser.cxx" break; case 210: /* ForStatement: jp_FOR jp_PARESTART ForInitopt jp_SEMICOL Expressionopt jp_SEMICOL ForUpdateopt jp_PAREEND Statement */ -#line 1899 "cmDependsJavaParser.y" +#line 1902 "cmDependsJavaParser.y" { jpElementStart(9); } -#line 4688 "cmDependsJavaParser.cxx" +#line 4691 "cmDependsJavaParser.cxx" break; case 211: /* ForUpdateopt: %empty */ -#line 1905 "cmDependsJavaParser.y" +#line 1908 "cmDependsJavaParser.y" { jpElementStart(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 4699 "cmDependsJavaParser.cxx" +#line 4702 "cmDependsJavaParser.cxx" break; case 212: /* ForUpdateopt: ForUpdate */ -#line 1913 "cmDependsJavaParser.y" +#line 1916 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4707,22 +4710,22 @@ yyGetParser->SetCurrentCombine(""); } -#line 4711 "cmDependsJavaParser.cxx" +#line 4714 "cmDependsJavaParser.cxx" break; case 213: /* ForInitopt: %empty */ -#line 1922 "cmDependsJavaParser.y" +#line 1925 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 4722 "cmDependsJavaParser.cxx" +#line 4725 "cmDependsJavaParser.cxx" break; case 214: /* ForInitopt: ForInit */ -#line 1930 "cmDependsJavaParser.y" +#line 1933 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4730,33 +4733,33 @@ yyGetParser->SetCurrentCombine(""); } -#line 4734 "cmDependsJavaParser.cxx" +#line 4737 "cmDependsJavaParser.cxx" break; case 215: /* ForStatementNoShortIf: jp_FOR jp_PARESTART ForInitopt jp_SEMICOL Expressionopt jp_SEMICOL ForUpdateopt jp_PAREEND StatementNoShortIf */ -#line 1941 "cmDependsJavaParser.y" +#line 1944 "cmDependsJavaParser.y" { jpElementStart(9); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 4745 "cmDependsJavaParser.cxx" +#line 4748 "cmDependsJavaParser.cxx" break; case 216: /* Expressionopt: %empty */ -#line 1949 "cmDependsJavaParser.y" +#line 1952 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 4756 "cmDependsJavaParser.cxx" +#line 4759 "cmDependsJavaParser.cxx" break; case 217: /* Expressionopt: Expression */ -#line 1957 "cmDependsJavaParser.y" +#line 1960 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4764,11 +4767,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4768 "cmDependsJavaParser.cxx" +#line 4771 "cmDependsJavaParser.cxx" break; case 218: /* ForInit: StatementExpressionList */ -#line 1967 "cmDependsJavaParser.y" +#line 1970 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4776,11 +4779,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4780 "cmDependsJavaParser.cxx" +#line 4783 "cmDependsJavaParser.cxx" break; case 219: /* ForInit: LocalVariableDeclaration */ -#line 1976 "cmDependsJavaParser.y" +#line 1979 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4788,11 +4791,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4792 "cmDependsJavaParser.cxx" +#line 4795 "cmDependsJavaParser.cxx" break; case 220: /* ForUpdate: StatementExpressionList */ -#line 1986 "cmDependsJavaParser.y" +#line 1989 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4800,11 +4803,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4804 "cmDependsJavaParser.cxx" +#line 4807 "cmDependsJavaParser.cxx" break; case 221: /* StatementExpressionList: StatementExpression */ -#line 1996 "cmDependsJavaParser.y" +#line 1999 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4812,11 +4815,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4816 "cmDependsJavaParser.cxx" +#line 4819 "cmDependsJavaParser.cxx" break; case 222: /* StatementExpressionList: StatementExpressionList jp_COMMA StatementExpression */ -#line 2005 "cmDependsJavaParser.y" +#line 2008 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -4824,11 +4827,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4828 "cmDependsJavaParser.cxx" +#line 4831 "cmDependsJavaParser.cxx" break; case 223: /* AssertStatement: jp_ASSERT Expression jp_SEMICOL */ -#line 2015 "cmDependsJavaParser.y" +#line 2018 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -4836,11 +4839,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4840 "cmDependsJavaParser.cxx" +#line 4843 "cmDependsJavaParser.cxx" break; case 224: /* AssertStatement: jp_ASSERT Expression jp_COLON Expression jp_SEMICOL */ -#line 2024 "cmDependsJavaParser.y" +#line 2027 "cmDependsJavaParser.y" { jpElementStart(5); jpCheckEmpty(5); @@ -4848,11 +4851,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4852 "cmDependsJavaParser.cxx" +#line 4855 "cmDependsJavaParser.cxx" break; case 225: /* BreakStatement: jp_BREAK Identifieropt jp_SEMICOL */ -#line 2034 "cmDependsJavaParser.y" +#line 2037 "cmDependsJavaParser.y" { jpElementStart(3); yyGetParser->DeallocateParserType(&((yyvsp[-1].str))); @@ -4861,31 +4864,31 @@ yyGetParser->SetCurrentCombine(""); } -#line 4865 "cmDependsJavaParser.cxx" +#line 4868 "cmDependsJavaParser.cxx" break; case 226: /* Identifieropt: %empty */ -#line 2044 "cmDependsJavaParser.y" +#line 2047 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 4876 "cmDependsJavaParser.cxx" +#line 4879 "cmDependsJavaParser.cxx" break; case 227: /* Identifieropt: Identifier */ -#line 2052 "cmDependsJavaParser.y" +#line 2055 "cmDependsJavaParser.y" { jpElementStart(1); } -#line 4885 "cmDependsJavaParser.cxx" +#line 4888 "cmDependsJavaParser.cxx" break; case 228: /* ContinueStatement: jp_CONTINUE Identifieropt jp_SEMICOL */ -#line 2059 "cmDependsJavaParser.y" +#line 2062 "cmDependsJavaParser.y" { jpElementStart(3); yyGetParser->DeallocateParserType(&((yyvsp[-1].str))); @@ -4894,11 +4897,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4898 "cmDependsJavaParser.cxx" +#line 4901 "cmDependsJavaParser.cxx" break; case 229: /* ReturnStatement: jp_RETURN Expressionopt jp_SEMICOL */ -#line 2070 "cmDependsJavaParser.y" +#line 2073 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -4906,11 +4909,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4910 "cmDependsJavaParser.cxx" +#line 4913 "cmDependsJavaParser.cxx" break; case 230: /* ThrowStatement: jp_THROW Expression jp_SEMICOL */ -#line 2080 "cmDependsJavaParser.y" +#line 2083 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -4918,11 +4921,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4922 "cmDependsJavaParser.cxx" +#line 4925 "cmDependsJavaParser.cxx" break; case 231: /* SynchronizedStatement: jp_SYNCHRONIZED jp_PARESTART Expression jp_PAREEND Block */ -#line 2090 "cmDependsJavaParser.y" +#line 2093 "cmDependsJavaParser.y" { jpElementStart(5); jpCheckEmpty(5); @@ -4930,11 +4933,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4934 "cmDependsJavaParser.cxx" +#line 4937 "cmDependsJavaParser.cxx" break; case 232: /* TryStatement: jp_TRY Block Catches */ -#line 2100 "cmDependsJavaParser.y" +#line 2103 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -4942,11 +4945,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4946 "cmDependsJavaParser.cxx" +#line 4949 "cmDependsJavaParser.cxx" break; case 233: /* TryStatement: jp_TRY Block Catchesopt Finally */ -#line 2109 "cmDependsJavaParser.y" +#line 2112 "cmDependsJavaParser.y" { jpElementStart(4); jpCheckEmpty(4); @@ -4954,22 +4957,22 @@ yyGetParser->SetCurrentCombine(""); } -#line 4958 "cmDependsJavaParser.cxx" +#line 4961 "cmDependsJavaParser.cxx" break; case 234: /* Catchesopt: %empty */ -#line 2118 "cmDependsJavaParser.y" +#line 2121 "cmDependsJavaParser.y" { jpElementStart(1); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 4969 "cmDependsJavaParser.cxx" +#line 4972 "cmDependsJavaParser.cxx" break; case 235: /* Catchesopt: Catches */ -#line 2126 "cmDependsJavaParser.y" +#line 2129 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4977,11 +4980,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4981 "cmDependsJavaParser.cxx" +#line 4984 "cmDependsJavaParser.cxx" break; case 236: /* Catches: CatchClause */ -#line 2136 "cmDependsJavaParser.y" +#line 2139 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -4989,11 +4992,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 4993 "cmDependsJavaParser.cxx" +#line 4996 "cmDependsJavaParser.cxx" break; case 237: /* Catches: Catches CatchClause */ -#line 2145 "cmDependsJavaParser.y" +#line 2148 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -5001,20 +5004,20 @@ yyGetParser->SetCurrentCombine(""); } -#line 5005 "cmDependsJavaParser.cxx" +#line 5008 "cmDependsJavaParser.cxx" break; case 238: /* CatchClause: jp_CATCH jp_PARESTART FormalParameter jp_PAREEND Block */ -#line 2155 "cmDependsJavaParser.y" +#line 2158 "cmDependsJavaParser.y" { jpElementStart(5); } -#line 5014 "cmDependsJavaParser.cxx" +#line 5017 "cmDependsJavaParser.cxx" break; case 239: /* Finally: jp_FINALLY Block */ -#line 2162 "cmDependsJavaParser.y" +#line 2165 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -5022,11 +5025,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5026 "cmDependsJavaParser.cxx" +#line 5029 "cmDependsJavaParser.cxx" break; case 240: /* Primary: PrimaryNoNewArray */ -#line 2172 "cmDependsJavaParser.y" +#line 2175 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5034,11 +5037,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5038 "cmDependsJavaParser.cxx" +#line 5041 "cmDependsJavaParser.cxx" break; case 241: /* Primary: ArrayCreationExpression */ -#line 2181 "cmDependsJavaParser.y" +#line 2184 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5046,11 +5049,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5050 "cmDependsJavaParser.cxx" +#line 5053 "cmDependsJavaParser.cxx" break; case 242: /* PrimaryNoNewArray: Literal */ -#line 2191 "cmDependsJavaParser.y" +#line 2194 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5058,20 +5061,20 @@ yyGetParser->SetCurrentCombine(""); } -#line 5062 "cmDependsJavaParser.cxx" +#line 5065 "cmDependsJavaParser.cxx" break; case 243: /* PrimaryNoNewArray: jp_THIS */ -#line 2200 "cmDependsJavaParser.y" +#line 2203 "cmDependsJavaParser.y" { jpElementStart(1); } -#line 5071 "cmDependsJavaParser.cxx" +#line 5074 "cmDependsJavaParser.cxx" break; case 244: /* PrimaryNoNewArray: jp_PARESTART Expression jp_PAREEND */ -#line 2206 "cmDependsJavaParser.y" +#line 2209 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5079,11 +5082,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5083 "cmDependsJavaParser.cxx" +#line 5086 "cmDependsJavaParser.cxx" break; case 245: /* PrimaryNoNewArray: ClassInstanceCreationExpression */ -#line 2215 "cmDependsJavaParser.y" +#line 2218 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5091,11 +5094,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5095 "cmDependsJavaParser.cxx" +#line 5098 "cmDependsJavaParser.cxx" break; case 246: /* PrimaryNoNewArray: FieldAccess */ -#line 2224 "cmDependsJavaParser.y" +#line 2227 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5103,11 +5106,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5107 "cmDependsJavaParser.cxx" +#line 5110 "cmDependsJavaParser.cxx" break; case 247: /* PrimaryNoNewArray: MethodInvocation */ -#line 2233 "cmDependsJavaParser.y" +#line 2236 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5115,11 +5118,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5119 "cmDependsJavaParser.cxx" +#line 5122 "cmDependsJavaParser.cxx" break; case 248: /* PrimaryNoNewArray: ArrayAccess */ -#line 2242 "cmDependsJavaParser.y" +#line 2245 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5127,11 +5130,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5131 "cmDependsJavaParser.cxx" +#line 5134 "cmDependsJavaParser.cxx" break; case 249: /* ClassInstanceCreationExpression: New ClassType jp_PARESTART ArgumentListopt jp_PAREEND ClassBodyOpt */ -#line 2252 "cmDependsJavaParser.y" +#line 2255 "cmDependsJavaParser.y" { jpElementStart(6); jpCheckEmpty(6); @@ -5139,22 +5142,22 @@ yyGetParser->SetCurrentCombine(""); } -#line 5143 "cmDependsJavaParser.cxx" +#line 5146 "cmDependsJavaParser.cxx" break; case 250: /* ClassBodyOpt: %empty */ -#line 2261 "cmDependsJavaParser.y" +#line 2264 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 5154 "cmDependsJavaParser.cxx" +#line 5157 "cmDependsJavaParser.cxx" break; case 251: /* ClassBodyOpt: ClassBody */ -#line 2269 "cmDependsJavaParser.y" +#line 2272 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5162,22 +5165,22 @@ yyGetParser->SetCurrentCombine(""); } -#line 5166 "cmDependsJavaParser.cxx" +#line 5169 "cmDependsJavaParser.cxx" break; case 252: /* ArgumentListopt: %empty */ -#line 2278 "cmDependsJavaParser.y" +#line 2281 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 5177 "cmDependsJavaParser.cxx" +#line 5180 "cmDependsJavaParser.cxx" break; case 253: /* ArgumentListopt: ArgumentList */ -#line 2286 "cmDependsJavaParser.y" +#line 2289 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5185,11 +5188,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5189 "cmDependsJavaParser.cxx" +#line 5192 "cmDependsJavaParser.cxx" break; case 254: /* ArgumentList: Expression */ -#line 2296 "cmDependsJavaParser.y" +#line 2299 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5197,11 +5200,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5201 "cmDependsJavaParser.cxx" +#line 5204 "cmDependsJavaParser.cxx" break; case 255: /* ArgumentList: ArgumentList jp_COMMA Expression */ -#line 2305 "cmDependsJavaParser.y" +#line 2308 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5209,11 +5212,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5213 "cmDependsJavaParser.cxx" +#line 5216 "cmDependsJavaParser.cxx" break; case 256: /* ArrayCreationExpression: New PrimitiveType DimExprs Dimsopt */ -#line 2315 "cmDependsJavaParser.y" +#line 2318 "cmDependsJavaParser.y" { jpElementStart(4); jpCheckEmpty(4); @@ -5221,11 +5224,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5225 "cmDependsJavaParser.cxx" +#line 5228 "cmDependsJavaParser.cxx" break; case 257: /* ArrayCreationExpression: New ClassOrInterfaceType DimExprs Dimsopt */ -#line 2324 "cmDependsJavaParser.y" +#line 2327 "cmDependsJavaParser.y" { jpElementStart(4); jpCheckEmpty(4); @@ -5233,11 +5236,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5237 "cmDependsJavaParser.cxx" +#line 5240 "cmDependsJavaParser.cxx" break; case 258: /* ArrayCreationExpression: New PrimitiveType Dims ArrayInitializer */ -#line 2333 "cmDependsJavaParser.y" +#line 2336 "cmDependsJavaParser.y" { jpElementStart(4); jpCheckEmpty(4); @@ -5245,11 +5248,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5249 "cmDependsJavaParser.cxx" +#line 5252 "cmDependsJavaParser.cxx" break; case 259: /* ArrayCreationExpression: New ClassOrInterfaceType Dims ArrayInitializer */ -#line 2342 "cmDependsJavaParser.y" +#line 2345 "cmDependsJavaParser.y" { jpElementStart(4); jpCheckEmpty(4); @@ -5257,22 +5260,22 @@ yyGetParser->SetCurrentCombine(""); } -#line 5261 "cmDependsJavaParser.cxx" +#line 5264 "cmDependsJavaParser.cxx" break; case 260: /* Dimsopt: %empty */ -#line 2351 "cmDependsJavaParser.y" +#line 2354 "cmDependsJavaParser.y" { jpElementStart(0); (yyval.str) = 0; yyGetParser->SetCurrentCombine(""); } -#line 5272 "cmDependsJavaParser.cxx" +#line 5275 "cmDependsJavaParser.cxx" break; case 261: /* Dimsopt: Dims */ -#line 2359 "cmDependsJavaParser.y" +#line 2362 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5280,11 +5283,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5284 "cmDependsJavaParser.cxx" +#line 5287 "cmDependsJavaParser.cxx" break; case 262: /* DimExprs: DimExpr */ -#line 2369 "cmDependsJavaParser.y" +#line 2372 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5292,11 +5295,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5296 "cmDependsJavaParser.cxx" +#line 5299 "cmDependsJavaParser.cxx" break; case 263: /* DimExprs: DimExprs DimExpr */ -#line 2378 "cmDependsJavaParser.y" +#line 2381 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -5304,11 +5307,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5308 "cmDependsJavaParser.cxx" +#line 5311 "cmDependsJavaParser.cxx" break; case 264: /* DimExpr: jp_BRACKETSTART Expression jp_BRACKETEND */ -#line 2388 "cmDependsJavaParser.y" +#line 2391 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5316,29 +5319,29 @@ yyGetParser->SetCurrentCombine(""); } -#line 5320 "cmDependsJavaParser.cxx" +#line 5323 "cmDependsJavaParser.cxx" break; case 265: /* Dims: jp_BRACKETSTART jp_BRACKETEND */ -#line 2398 "cmDependsJavaParser.y" +#line 2401 "cmDependsJavaParser.y" { jpElementStart(2); } -#line 5329 "cmDependsJavaParser.cxx" +#line 5332 "cmDependsJavaParser.cxx" break; case 266: /* Dims: Dims jp_BRACKETSTART jp_BRACKETEND */ -#line 2404 "cmDependsJavaParser.y" +#line 2407 "cmDependsJavaParser.y" { jpElementStart(3); } -#line 5338 "cmDependsJavaParser.cxx" +#line 5341 "cmDependsJavaParser.cxx" break; case 267: /* FieldAccess: Primary jp_DOT Identifier */ -#line 2411 "cmDependsJavaParser.y" +#line 2414 "cmDependsJavaParser.y" { jpElementStart(3); yyGetParser->DeallocateParserType(&((yyvsp[0].str))); @@ -5347,11 +5350,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5351 "cmDependsJavaParser.cxx" +#line 5354 "cmDependsJavaParser.cxx" break; case 268: /* FieldAccess: jp_SUPER jp_DOT Identifier */ -#line 2421 "cmDependsJavaParser.y" +#line 2424 "cmDependsJavaParser.y" { jpElementStart(3); yyGetParser->DeallocateParserType(&((yyvsp[0].str))); @@ -5360,11 +5363,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5364 "cmDependsJavaParser.cxx" +#line 5367 "cmDependsJavaParser.cxx" break; case 269: /* FieldAccess: jp_THIS jp_DOT Identifier */ -#line 2431 "cmDependsJavaParser.y" +#line 2434 "cmDependsJavaParser.y" { jpElementStart(3); yyGetParser->DeallocateParserType(&((yyvsp[0].str))); @@ -5373,11 +5376,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5377 "cmDependsJavaParser.cxx" +#line 5380 "cmDependsJavaParser.cxx" break; case 270: /* FieldAccess: Primary jp_DOT jp_THIS */ -#line 2441 "cmDependsJavaParser.y" +#line 2444 "cmDependsJavaParser.y" { jpElementStart(3); yyGetParser->DeallocateParserType(&((yyvsp[0].str))); @@ -5386,11 +5389,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5390 "cmDependsJavaParser.cxx" +#line 5393 "cmDependsJavaParser.cxx" break; case 271: /* MethodInvocation: Name jp_PARESTART ArgumentListopt jp_PAREEND */ -#line 2452 "cmDependsJavaParser.y" +#line 2455 "cmDependsJavaParser.y" { jpElementStart(4); yyGetParser->DeallocateParserType(&((yyvsp[-3].str))); @@ -5399,11 +5402,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5403 "cmDependsJavaParser.cxx" +#line 5406 "cmDependsJavaParser.cxx" break; case 272: /* MethodInvocation: Primary jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND */ -#line 2462 "cmDependsJavaParser.y" +#line 2465 "cmDependsJavaParser.y" { jpElementStart(6); yyGetParser->DeallocateParserType(&((yyvsp[-5].str))); @@ -5413,11 +5416,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5417 "cmDependsJavaParser.cxx" +#line 5420 "cmDependsJavaParser.cxx" break; case 273: /* MethodInvocation: jp_SUPER jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND */ -#line 2473 "cmDependsJavaParser.y" +#line 2476 "cmDependsJavaParser.y" { jpElementStart(6); yyGetParser->DeallocateParserType(&((yyvsp[-3].str))); @@ -5426,11 +5429,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5430 "cmDependsJavaParser.cxx" +#line 5433 "cmDependsJavaParser.cxx" break; case 274: /* MethodInvocation: jp_THIS jp_DOT Identifier jp_PARESTART ArgumentListopt jp_PAREEND */ -#line 2483 "cmDependsJavaParser.y" +#line 2486 "cmDependsJavaParser.y" { jpElementStart(6); yyGetParser->DeallocateParserType(&((yyvsp[-3].str))); @@ -5439,11 +5442,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5443 "cmDependsJavaParser.cxx" +#line 5446 "cmDependsJavaParser.cxx" break; case 275: /* ArrayAccess: Name jp_BRACKETSTART Expression jp_BRACKETEND */ -#line 2494 "cmDependsJavaParser.y" +#line 2497 "cmDependsJavaParser.y" { jpElementStart(4); yyGetParser->DeallocateParserType(&((yyvsp[-3].str))); @@ -5452,11 +5455,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5456 "cmDependsJavaParser.cxx" +#line 5459 "cmDependsJavaParser.cxx" break; case 276: /* ArrayAccess: PrimaryNoNewArray jp_BRACKETSTART Expression jp_BRACKETEND */ -#line 2504 "cmDependsJavaParser.y" +#line 2507 "cmDependsJavaParser.y" { jpElementStart(4); jpCheckEmpty(4); @@ -5464,11 +5467,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5468 "cmDependsJavaParser.cxx" +#line 5471 "cmDependsJavaParser.cxx" break; case 277: /* PostfixExpression: Primary */ -#line 2514 "cmDependsJavaParser.y" +#line 2517 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5476,11 +5479,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5480 "cmDependsJavaParser.cxx" +#line 5483 "cmDependsJavaParser.cxx" break; case 278: /* PostfixExpression: Name */ -#line 2523 "cmDependsJavaParser.y" +#line 2526 "cmDependsJavaParser.y" { jpElementStart(1); yyGetParser->DeallocateParserType(&((yyvsp[0].str))); @@ -5488,11 +5491,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5492 "cmDependsJavaParser.cxx" +#line 5495 "cmDependsJavaParser.cxx" break; case 279: /* PostfixExpression: ArrayType jp_DOT jp_CLASS */ -#line 2532 "cmDependsJavaParser.y" +#line 2535 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5500,11 +5503,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5504 "cmDependsJavaParser.cxx" +#line 5507 "cmDependsJavaParser.cxx" break; case 280: /* PostfixExpression: PostIncrementExpression */ -#line 2541 "cmDependsJavaParser.y" +#line 2544 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5512,11 +5515,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5516 "cmDependsJavaParser.cxx" +#line 5519 "cmDependsJavaParser.cxx" break; case 281: /* PostfixExpression: PostDecrementExpression */ -#line 2550 "cmDependsJavaParser.y" +#line 2553 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5524,11 +5527,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5528 "cmDependsJavaParser.cxx" +#line 5531 "cmDependsJavaParser.cxx" break; case 282: /* PostIncrementExpression: PostfixExpression jp_PLUSPLUS */ -#line 2560 "cmDependsJavaParser.y" +#line 2563 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -5536,11 +5539,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5540 "cmDependsJavaParser.cxx" +#line 5543 "cmDependsJavaParser.cxx" break; case 283: /* PostDecrementExpression: PostfixExpression jp_MINUSMINUS */ -#line 2570 "cmDependsJavaParser.y" +#line 2573 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -5548,11 +5551,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5552 "cmDependsJavaParser.cxx" +#line 5555 "cmDependsJavaParser.cxx" break; case 284: /* UnaryExpression: PreIncrementExpression */ -#line 2580 "cmDependsJavaParser.y" +#line 2583 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5560,11 +5563,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5564 "cmDependsJavaParser.cxx" +#line 5567 "cmDependsJavaParser.cxx" break; case 285: /* UnaryExpression: PreDecrementExpression */ -#line 2589 "cmDependsJavaParser.y" +#line 2592 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5572,11 +5575,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5576 "cmDependsJavaParser.cxx" +#line 5579 "cmDependsJavaParser.cxx" break; case 286: /* UnaryExpression: jp_PLUS UnaryExpression */ -#line 2598 "cmDependsJavaParser.y" +#line 2601 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -5584,11 +5587,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5588 "cmDependsJavaParser.cxx" +#line 5591 "cmDependsJavaParser.cxx" break; case 287: /* UnaryExpression: jp_MINUS UnaryExpression */ -#line 2607 "cmDependsJavaParser.y" +#line 2610 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -5596,11 +5599,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5600 "cmDependsJavaParser.cxx" +#line 5603 "cmDependsJavaParser.cxx" break; case 288: /* UnaryExpression: UnaryExpressionNotPlusMinus */ -#line 2616 "cmDependsJavaParser.y" +#line 2619 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5608,11 +5611,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5612 "cmDependsJavaParser.cxx" +#line 5615 "cmDependsJavaParser.cxx" break; case 289: /* PreIncrementExpression: jp_PLUSPLUS UnaryExpression */ -#line 2626 "cmDependsJavaParser.y" +#line 2629 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -5620,11 +5623,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5624 "cmDependsJavaParser.cxx" +#line 5627 "cmDependsJavaParser.cxx" break; case 290: /* PreDecrementExpression: jp_MINUSMINUS UnaryExpression */ -#line 2636 "cmDependsJavaParser.y" +#line 2639 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -5632,11 +5635,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5636 "cmDependsJavaParser.cxx" +#line 5639 "cmDependsJavaParser.cxx" break; case 291: /* UnaryExpressionNotPlusMinus: PostfixExpression */ -#line 2646 "cmDependsJavaParser.y" +#line 2649 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5644,11 +5647,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5648 "cmDependsJavaParser.cxx" +#line 5651 "cmDependsJavaParser.cxx" break; case 292: /* UnaryExpressionNotPlusMinus: jp_TILDE UnaryExpression */ -#line 2655 "cmDependsJavaParser.y" +#line 2658 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -5656,11 +5659,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5660 "cmDependsJavaParser.cxx" +#line 5663 "cmDependsJavaParser.cxx" break; case 293: /* UnaryExpressionNotPlusMinus: jp_EXCLAMATION UnaryExpression */ -#line 2664 "cmDependsJavaParser.y" +#line 2667 "cmDependsJavaParser.y" { jpElementStart(2); jpCheckEmpty(2); @@ -5668,11 +5671,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5672 "cmDependsJavaParser.cxx" +#line 5675 "cmDependsJavaParser.cxx" break; case 294: /* UnaryExpressionNotPlusMinus: CastExpression */ -#line 2673 "cmDependsJavaParser.y" +#line 2676 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5680,11 +5683,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5684 "cmDependsJavaParser.cxx" +#line 5687 "cmDependsJavaParser.cxx" break; case 295: /* CastExpression: jp_PARESTART PrimitiveType Dimsopt jp_PAREEND UnaryExpression */ -#line 2683 "cmDependsJavaParser.y" +#line 2686 "cmDependsJavaParser.y" { jpElementStart(5); jpCheckEmpty(5); @@ -5692,11 +5695,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5696 "cmDependsJavaParser.cxx" +#line 5699 "cmDependsJavaParser.cxx" break; case 296: /* CastExpression: jp_PARESTART Expression jp_PAREEND UnaryExpressionNotPlusMinus */ -#line 2692 "cmDependsJavaParser.y" +#line 2695 "cmDependsJavaParser.y" { jpElementStart(4); jpCheckEmpty(4); @@ -5704,20 +5707,20 @@ yyGetParser->SetCurrentCombine(""); } -#line 5708 "cmDependsJavaParser.cxx" +#line 5711 "cmDependsJavaParser.cxx" break; case 297: /* CastExpression: jp_PARESTART Name Dims jp_PAREEND UnaryExpressionNotPlusMinus */ -#line 2701 "cmDependsJavaParser.y" +#line 2704 "cmDependsJavaParser.y" { jpElementStart(5); } -#line 5717 "cmDependsJavaParser.cxx" +#line 5720 "cmDependsJavaParser.cxx" break; case 298: /* MultiplicativeExpression: UnaryExpression */ -#line 2708 "cmDependsJavaParser.y" +#line 2711 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5725,11 +5728,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5729 "cmDependsJavaParser.cxx" +#line 5732 "cmDependsJavaParser.cxx" break; case 299: /* MultiplicativeExpression: MultiplicativeExpression jp_TIMES UnaryExpression */ -#line 2717 "cmDependsJavaParser.y" +#line 2720 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5737,11 +5740,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5741 "cmDependsJavaParser.cxx" +#line 5744 "cmDependsJavaParser.cxx" break; case 300: /* MultiplicativeExpression: MultiplicativeExpression jp_DIVIDE UnaryExpression */ -#line 2726 "cmDependsJavaParser.y" +#line 2729 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5749,11 +5752,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5753 "cmDependsJavaParser.cxx" +#line 5756 "cmDependsJavaParser.cxx" break; case 301: /* MultiplicativeExpression: MultiplicativeExpression jp_PERCENT UnaryExpression */ -#line 2735 "cmDependsJavaParser.y" +#line 2738 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5761,11 +5764,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5765 "cmDependsJavaParser.cxx" +#line 5768 "cmDependsJavaParser.cxx" break; case 302: /* AdditiveExpression: MultiplicativeExpression */ -#line 2745 "cmDependsJavaParser.y" +#line 2748 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5773,11 +5776,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5777 "cmDependsJavaParser.cxx" +#line 5780 "cmDependsJavaParser.cxx" break; case 303: /* AdditiveExpression: AdditiveExpression jp_PLUS MultiplicativeExpression */ -#line 2754 "cmDependsJavaParser.y" +#line 2757 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5785,11 +5788,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5789 "cmDependsJavaParser.cxx" +#line 5792 "cmDependsJavaParser.cxx" break; case 304: /* AdditiveExpression: AdditiveExpression jp_MINUS MultiplicativeExpression */ -#line 2763 "cmDependsJavaParser.y" +#line 2766 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5797,11 +5800,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5801 "cmDependsJavaParser.cxx" +#line 5804 "cmDependsJavaParser.cxx" break; case 305: /* ShiftExpression: AdditiveExpression */ -#line 2773 "cmDependsJavaParser.y" +#line 2776 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5809,11 +5812,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5813 "cmDependsJavaParser.cxx" +#line 5816 "cmDependsJavaParser.cxx" break; case 306: /* ShiftExpression: ShiftExpression jp_LTLT AdditiveExpression */ -#line 2782 "cmDependsJavaParser.y" +#line 2785 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5821,11 +5824,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5825 "cmDependsJavaParser.cxx" +#line 5828 "cmDependsJavaParser.cxx" break; case 307: /* ShiftExpression: ShiftExpression jp_GTGT AdditiveExpression */ -#line 2791 "cmDependsJavaParser.y" +#line 2794 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5833,11 +5836,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5837 "cmDependsJavaParser.cxx" +#line 5840 "cmDependsJavaParser.cxx" break; case 308: /* ShiftExpression: ShiftExpression jp_GTGTGT AdditiveExpression */ -#line 2800 "cmDependsJavaParser.y" +#line 2803 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5845,11 +5848,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5849 "cmDependsJavaParser.cxx" +#line 5852 "cmDependsJavaParser.cxx" break; case 309: /* RelationalExpression: ShiftExpression */ -#line 2810 "cmDependsJavaParser.y" +#line 2813 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5857,11 +5860,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5861 "cmDependsJavaParser.cxx" +#line 5864 "cmDependsJavaParser.cxx" break; case 310: /* RelationalExpression: RelationalExpression jp_LESSTHAN ShiftExpression */ -#line 2819 "cmDependsJavaParser.y" +#line 2822 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5869,11 +5872,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5873 "cmDependsJavaParser.cxx" +#line 5876 "cmDependsJavaParser.cxx" break; case 311: /* RelationalExpression: RelationalExpression jp_GREATER ShiftExpression */ -#line 2828 "cmDependsJavaParser.y" +#line 2831 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5881,11 +5884,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5885 "cmDependsJavaParser.cxx" +#line 5888 "cmDependsJavaParser.cxx" break; case 312: /* RelationalExpression: RelationalExpression jp_LTEQUALS ShiftExpression */ -#line 2837 "cmDependsJavaParser.y" +#line 2840 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5893,11 +5896,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5897 "cmDependsJavaParser.cxx" +#line 5900 "cmDependsJavaParser.cxx" break; case 313: /* RelationalExpression: RelationalExpression jp_GTEQUALS ShiftExpression */ -#line 2846 "cmDependsJavaParser.y" +#line 2849 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5905,11 +5908,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5909 "cmDependsJavaParser.cxx" +#line 5912 "cmDependsJavaParser.cxx" break; case 314: /* RelationalExpression: RelationalExpression jp_INSTANCEOF ReferenceType */ -#line 2855 "cmDependsJavaParser.y" +#line 2858 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5917,11 +5920,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5921 "cmDependsJavaParser.cxx" +#line 5924 "cmDependsJavaParser.cxx" break; case 315: /* EqualityExpression: RelationalExpression */ -#line 2865 "cmDependsJavaParser.y" +#line 2868 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5929,11 +5932,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5933 "cmDependsJavaParser.cxx" +#line 5936 "cmDependsJavaParser.cxx" break; case 316: /* EqualityExpression: EqualityExpression jp_EQUALSEQUALS RelationalExpression */ -#line 2874 "cmDependsJavaParser.y" +#line 2877 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5941,11 +5944,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5945 "cmDependsJavaParser.cxx" +#line 5948 "cmDependsJavaParser.cxx" break; case 317: /* EqualityExpression: EqualityExpression jp_EXCLAMATIONEQUALS RelationalExpression */ -#line 2883 "cmDependsJavaParser.y" +#line 2886 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5953,11 +5956,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5957 "cmDependsJavaParser.cxx" +#line 5960 "cmDependsJavaParser.cxx" break; case 318: /* AndExpression: EqualityExpression */ -#line 2893 "cmDependsJavaParser.y" +#line 2896 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5965,11 +5968,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5969 "cmDependsJavaParser.cxx" +#line 5972 "cmDependsJavaParser.cxx" break; case 319: /* AndExpression: AndExpression jp_AND EqualityExpression */ -#line 2902 "cmDependsJavaParser.y" +#line 2905 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -5977,11 +5980,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5981 "cmDependsJavaParser.cxx" +#line 5984 "cmDependsJavaParser.cxx" break; case 320: /* ExclusiveOrExpression: AndExpression */ -#line 2912 "cmDependsJavaParser.y" +#line 2915 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -5989,11 +5992,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 5993 "cmDependsJavaParser.cxx" +#line 5996 "cmDependsJavaParser.cxx" break; case 321: /* ExclusiveOrExpression: ExclusiveOrExpression jp_CARROT AndExpression */ -#line 2921 "cmDependsJavaParser.y" +#line 2924 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -6001,11 +6004,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6005 "cmDependsJavaParser.cxx" +#line 6008 "cmDependsJavaParser.cxx" break; case 322: /* InclusiveOrExpression: ExclusiveOrExpression */ -#line 2931 "cmDependsJavaParser.y" +#line 2934 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6013,11 +6016,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6017 "cmDependsJavaParser.cxx" +#line 6020 "cmDependsJavaParser.cxx" break; case 323: /* InclusiveOrExpression: InclusiveOrExpression jp_PIPE ExclusiveOrExpression */ -#line 2940 "cmDependsJavaParser.y" +#line 2943 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -6025,11 +6028,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6029 "cmDependsJavaParser.cxx" +#line 6032 "cmDependsJavaParser.cxx" break; case 324: /* ConditionalAndExpression: InclusiveOrExpression */ -#line 2950 "cmDependsJavaParser.y" +#line 2953 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6037,11 +6040,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6041 "cmDependsJavaParser.cxx" +#line 6044 "cmDependsJavaParser.cxx" break; case 325: /* ConditionalAndExpression: ConditionalAndExpression jp_ANDAND InclusiveOrExpression */ -#line 2959 "cmDependsJavaParser.y" +#line 2962 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -6049,11 +6052,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6053 "cmDependsJavaParser.cxx" +#line 6056 "cmDependsJavaParser.cxx" break; case 326: /* ConditionalOrExpression: ConditionalAndExpression */ -#line 2969 "cmDependsJavaParser.y" +#line 2972 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6061,11 +6064,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6065 "cmDependsJavaParser.cxx" +#line 6068 "cmDependsJavaParser.cxx" break; case 327: /* ConditionalOrExpression: ConditionalOrExpression jp_PIPEPIPE ConditionalAndExpression */ -#line 2978 "cmDependsJavaParser.y" +#line 2981 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -6073,11 +6076,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6077 "cmDependsJavaParser.cxx" +#line 6080 "cmDependsJavaParser.cxx" break; case 328: /* ConditionalExpression: ConditionalOrExpression */ -#line 2988 "cmDependsJavaParser.y" +#line 2991 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6085,11 +6088,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6089 "cmDependsJavaParser.cxx" +#line 6092 "cmDependsJavaParser.cxx" break; case 329: /* ConditionalExpression: ConditionalOrExpression jp_QUESTION Expression jp_COLON ConditionalExpression */ -#line 2997 "cmDependsJavaParser.y" +#line 3000 "cmDependsJavaParser.y" { jpElementStart(5); jpCheckEmpty(5); @@ -6097,11 +6100,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6101 "cmDependsJavaParser.cxx" +#line 6104 "cmDependsJavaParser.cxx" break; case 330: /* AssignmentExpression: ConditionalExpression */ -#line 3007 "cmDependsJavaParser.y" +#line 3010 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6109,11 +6112,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6113 "cmDependsJavaParser.cxx" +#line 6116 "cmDependsJavaParser.cxx" break; case 331: /* AssignmentExpression: Assignment */ -#line 3016 "cmDependsJavaParser.y" +#line 3019 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6121,11 +6124,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6125 "cmDependsJavaParser.cxx" +#line 6128 "cmDependsJavaParser.cxx" break; case 332: /* Assignment: LeftHandSide AssignmentOperator AssignmentExpression */ -#line 3026 "cmDependsJavaParser.y" +#line 3029 "cmDependsJavaParser.y" { jpElementStart(3); jpCheckEmpty(3); @@ -6133,11 +6136,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6137 "cmDependsJavaParser.cxx" +#line 6140 "cmDependsJavaParser.cxx" break; case 333: /* LeftHandSide: Name */ -#line 3036 "cmDependsJavaParser.y" +#line 3039 "cmDependsJavaParser.y" { jpElementStart(1); yyGetParser->DeallocateParserType(&((yyvsp[0].str))); @@ -6146,11 +6149,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6150 "cmDependsJavaParser.cxx" +#line 6153 "cmDependsJavaParser.cxx" break; case 334: /* LeftHandSide: FieldAccess */ -#line 3046 "cmDependsJavaParser.y" +#line 3049 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6158,11 +6161,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6162 "cmDependsJavaParser.cxx" +#line 6165 "cmDependsJavaParser.cxx" break; case 335: /* LeftHandSide: ArrayAccess */ -#line 3055 "cmDependsJavaParser.y" +#line 3058 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6170,11 +6173,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6174 "cmDependsJavaParser.cxx" +#line 6177 "cmDependsJavaParser.cxx" break; case 336: /* AssignmentOperator: jp_EQUALS */ -#line 3065 "cmDependsJavaParser.y" +#line 3068 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6182,11 +6185,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6186 "cmDependsJavaParser.cxx" +#line 6189 "cmDependsJavaParser.cxx" break; case 337: /* AssignmentOperator: jp_TIMESEQUALS */ -#line 3074 "cmDependsJavaParser.y" +#line 3077 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6194,11 +6197,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6198 "cmDependsJavaParser.cxx" +#line 6201 "cmDependsJavaParser.cxx" break; case 338: /* AssignmentOperator: jp_DIVIDEEQUALS */ -#line 3083 "cmDependsJavaParser.y" +#line 3086 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6206,11 +6209,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6210 "cmDependsJavaParser.cxx" +#line 6213 "cmDependsJavaParser.cxx" break; case 339: /* AssignmentOperator: jp_PERCENTEQUALS */ -#line 3092 "cmDependsJavaParser.y" +#line 3095 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6218,11 +6221,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6222 "cmDependsJavaParser.cxx" +#line 6225 "cmDependsJavaParser.cxx" break; case 340: /* AssignmentOperator: jp_PLUSEQUALS */ -#line 3101 "cmDependsJavaParser.y" +#line 3104 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6230,11 +6233,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6234 "cmDependsJavaParser.cxx" +#line 6237 "cmDependsJavaParser.cxx" break; case 341: /* AssignmentOperator: jp_MINUSEQUALS */ -#line 3110 "cmDependsJavaParser.y" +#line 3113 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6242,11 +6245,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6246 "cmDependsJavaParser.cxx" +#line 6249 "cmDependsJavaParser.cxx" break; case 342: /* AssignmentOperator: jp_LESLESEQUALS */ -#line 3119 "cmDependsJavaParser.y" +#line 3122 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6254,11 +6257,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6258 "cmDependsJavaParser.cxx" +#line 6261 "cmDependsJavaParser.cxx" break; case 343: /* AssignmentOperator: jp_GTGTEQUALS */ -#line 3128 "cmDependsJavaParser.y" +#line 3131 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6266,11 +6269,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6270 "cmDependsJavaParser.cxx" +#line 6273 "cmDependsJavaParser.cxx" break; case 344: /* AssignmentOperator: jp_GTGTGTEQUALS */ -#line 3137 "cmDependsJavaParser.y" +#line 3140 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6278,11 +6281,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6282 "cmDependsJavaParser.cxx" +#line 6285 "cmDependsJavaParser.cxx" break; case 345: /* AssignmentOperator: jp_ANDEQUALS */ -#line 3146 "cmDependsJavaParser.y" +#line 3149 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6290,11 +6293,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6294 "cmDependsJavaParser.cxx" +#line 6297 "cmDependsJavaParser.cxx" break; case 346: /* AssignmentOperator: jp_CARROTEQUALS */ -#line 3155 "cmDependsJavaParser.y" +#line 3158 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6302,11 +6305,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6306 "cmDependsJavaParser.cxx" +#line 6309 "cmDependsJavaParser.cxx" break; case 347: /* AssignmentOperator: jp_PIPEEQUALS */ -#line 3164 "cmDependsJavaParser.y" +#line 3167 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6314,11 +6317,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6318 "cmDependsJavaParser.cxx" +#line 6321 "cmDependsJavaParser.cxx" break; case 348: /* Expression: AssignmentExpression */ -#line 3174 "cmDependsJavaParser.y" +#line 3177 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6326,11 +6329,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6330 "cmDependsJavaParser.cxx" +#line 6333 "cmDependsJavaParser.cxx" break; case 349: /* ConstantExpression: Expression */ -#line 3184 "cmDependsJavaParser.y" +#line 3187 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6338,11 +6341,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6342 "cmDependsJavaParser.cxx" +#line 6345 "cmDependsJavaParser.cxx" break; case 350: /* New: jp_NEW */ -#line 3194 "cmDependsJavaParser.y" +#line 3197 "cmDependsJavaParser.y" { jpElementStart(1); jpCheckEmpty(1); @@ -6350,11 +6353,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6354 "cmDependsJavaParser.cxx" +#line 6357 "cmDependsJavaParser.cxx" break; case 351: /* New: Name jp_DOT jp_NEW */ -#line 3203 "cmDependsJavaParser.y" +#line 3206 "cmDependsJavaParser.y" { jpElementStart(3); jpStoreClass((yyvsp[-2].str)); @@ -6363,11 +6366,11 @@ yyGetParser->SetCurrentCombine(""); } -#line 6367 "cmDependsJavaParser.cxx" +#line 6370 "cmDependsJavaParser.cxx" break; -#line 6371 "cmDependsJavaParser.cxx" +#line 6374 "cmDependsJavaParser.cxx" default: break; } @@ -6591,7 +6594,7 @@ return yyresult; } -#line 3212 "cmDependsJavaParser.y" +#line 3215 "cmDependsJavaParser.y" /* End of grammar */
diff --git a/Source/LexerParser/cmDependsJavaParser.y b/Source/LexerParser/cmDependsJavaParser.y index 01d0017..7679212 100644 --- a/Source/LexerParser/cmDependsJavaParser.y +++ b/Source/LexerParser/cmDependsJavaParser.y
@@ -44,6 +44,9 @@ # pragma GCC diagnostic ignored "-Wconversion" # pragma GCC diagnostic ignored "-Wfree-nonheap-object" #endif +#if defined(__GNUC__) && __GNUC__ >= 16 +# pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif #if defined(__clang__) && defined(__has_warning) # if __has_warning("-Wunused-but-set-variable") # pragma clang diagnostic ignored "-Wunused-but-set-variable"
diff --git a/Source/LexerParser/cmExprParser.cxx b/Source/LexerParser/cmExprParser.cxx index d30d5cf..d4168a0 100644 --- a/Source/LexerParser/cmExprParser.cxx +++ b/Source/LexerParser/cmExprParser.cxx
@@ -112,6 +112,9 @@ # pragma GCC diagnostic ignored "-Wconversion" # pragma GCC diagnostic ignored "-Wfree-nonheap-object" #endif +#if defined(__GNUC__) && __GNUC__ >= 16 +# pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif #if defined(__clang__) && defined(__has_warning) # if __has_warning("-Wunused-but-set-variable") # pragma clang diagnostic ignored "-Wunused-but-set-variable" @@ -125,7 +128,7 @@ # pragma diag_suppress 550 /* variable set but never used */ #endif -#line 129 "cmExprParser.cxx" +#line 132 "cmExprParser.cxx" # ifndef YY_CAST # ifdef __cplusplus @@ -567,9 +570,9 @@ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint8 yyrline[] = { - 0, 86, 86, 91, 94, 99, 102, 107, 110, 115, - 118, 122, 128, 131, 135, 141, 144, 148, 152, 158, - 161, 164, 168, 173, 176 + 0, 89, 89, 94, 97, 102, 105, 110, 113, 118, + 121, 125, 131, 134, 138, 144, 147, 151, 155, 161, + 164, 167, 171, 176, 179 }; #endif @@ -1430,199 +1433,199 @@ switch (yyn) { case 2: /* start: exp */ -#line 86 "cmExprParser.y" +#line 89 "cmExprParser.y" { cmExpr_yyget_extra(yyscanner)->SetResult((yyvsp[0].Number)); } -#line 1438 "cmExprParser.cxx" +#line 1441 "cmExprParser.cxx" break; case 3: /* exp: bitwiseor */ -#line 91 "cmExprParser.y" +#line 94 "cmExprParser.y" { (yyval.Number) = (yyvsp[0].Number); } -#line 1446 "cmExprParser.cxx" +#line 1449 "cmExprParser.cxx" break; case 4: /* exp: exp exp_OR bitwiseor */ -#line 94 "cmExprParser.y" +#line 97 "cmExprParser.y" { (yyval.Number) = (yyvsp[-2].Number) | (yyvsp[0].Number); } -#line 1454 "cmExprParser.cxx" +#line 1457 "cmExprParser.cxx" break; case 5: /* bitwiseor: bitwisexor */ -#line 99 "cmExprParser.y" +#line 102 "cmExprParser.y" { (yyval.Number) = (yyvsp[0].Number); } -#line 1462 "cmExprParser.cxx" +#line 1465 "cmExprParser.cxx" break; case 6: /* bitwiseor: bitwiseor exp_XOR bitwisexor */ -#line 102 "cmExprParser.y" +#line 105 "cmExprParser.y" { (yyval.Number) = (yyvsp[-2].Number) ^ (yyvsp[0].Number); } -#line 1470 "cmExprParser.cxx" +#line 1473 "cmExprParser.cxx" break; case 7: /* bitwisexor: bitwiseand */ -#line 107 "cmExprParser.y" +#line 110 "cmExprParser.y" { (yyval.Number) = (yyvsp[0].Number); } -#line 1478 "cmExprParser.cxx" +#line 1481 "cmExprParser.cxx" break; case 8: /* bitwisexor: bitwisexor exp_AND bitwiseand */ -#line 110 "cmExprParser.y" +#line 113 "cmExprParser.y" { (yyval.Number) = (yyvsp[-2].Number) & (yyvsp[0].Number); } -#line 1486 "cmExprParser.cxx" +#line 1489 "cmExprParser.cxx" break; case 9: /* bitwiseand: shift */ -#line 115 "cmExprParser.y" +#line 118 "cmExprParser.y" { (yyval.Number) = (yyvsp[0].Number); } -#line 1494 "cmExprParser.cxx" +#line 1497 "cmExprParser.cxx" break; case 10: /* bitwiseand: bitwiseand exp_SHIFTLEFT shift */ -#line 118 "cmExprParser.y" +#line 121 "cmExprParser.y" { (yyval.Number) = cmExpr_yyget_extra(yyscanner) ->ShL((yyvsp[-2].Number), (yyvsp[0].Number)); } -#line 1503 "cmExprParser.cxx" +#line 1506 "cmExprParser.cxx" break; case 11: /* bitwiseand: bitwiseand exp_SHIFTRIGHT shift */ -#line 122 "cmExprParser.y" +#line 125 "cmExprParser.y" { (yyval.Number) = cmExpr_yyget_extra(yyscanner) ->ShR((yyvsp[-2].Number), (yyvsp[0].Number)); } -#line 1512 "cmExprParser.cxx" +#line 1515 "cmExprParser.cxx" break; case 12: /* shift: term */ -#line 128 "cmExprParser.y" +#line 131 "cmExprParser.y" { (yyval.Number) = (yyvsp[0].Number); } -#line 1520 "cmExprParser.cxx" +#line 1523 "cmExprParser.cxx" break; case 13: /* shift: shift exp_PLUS term */ -#line 131 "cmExprParser.y" +#line 134 "cmExprParser.y" { (yyval.Number) = cmExpr_yyget_extra(yyscanner) ->Add((yyvsp[-2].Number), (yyvsp[0].Number)); } -#line 1529 "cmExprParser.cxx" +#line 1532 "cmExprParser.cxx" break; case 14: /* shift: shift exp_MINUS term */ -#line 135 "cmExprParser.y" +#line 138 "cmExprParser.y" { (yyval.Number) = cmExpr_yyget_extra(yyscanner) ->Sub((yyvsp[-2].Number), (yyvsp[0].Number)); } -#line 1538 "cmExprParser.cxx" +#line 1541 "cmExprParser.cxx" break; case 15: /* term: unary */ -#line 141 "cmExprParser.y" +#line 144 "cmExprParser.y" { (yyval.Number) = (yyvsp[0].Number); } -#line 1546 "cmExprParser.cxx" +#line 1549 "cmExprParser.cxx" break; case 16: /* term: term exp_TIMES unary */ -#line 144 "cmExprParser.y" +#line 147 "cmExprParser.y" { (yyval.Number) = cmExpr_yyget_extra(yyscanner) ->Mul((yyvsp[-2].Number), (yyvsp[0].Number)); } -#line 1555 "cmExprParser.cxx" +#line 1558 "cmExprParser.cxx" break; case 17: /* term: term exp_DIVIDE unary */ -#line 148 "cmExprParser.y" +#line 151 "cmExprParser.y" { (yyval.Number) = cmExpr_yyget_extra(yyscanner) ->Div((yyvsp[-2].Number), (yyvsp[0].Number)); } -#line 1564 "cmExprParser.cxx" +#line 1567 "cmExprParser.cxx" break; case 18: /* term: term exp_MOD unary */ -#line 152 "cmExprParser.y" +#line 155 "cmExprParser.y" { (yyval.Number) = cmExpr_yyget_extra(yyscanner) ->Mod((yyvsp[-2].Number), (yyvsp[0].Number)); } -#line 1573 "cmExprParser.cxx" +#line 1576 "cmExprParser.cxx" break; case 19: /* unary: factor */ -#line 158 "cmExprParser.y" +#line 161 "cmExprParser.y" { (yyval.Number) = (yyvsp[0].Number); } -#line 1581 "cmExprParser.cxx" +#line 1584 "cmExprParser.cxx" break; case 20: /* unary: exp_PLUS unary */ -#line 161 "cmExprParser.y" +#line 164 "cmExprParser.y" { (yyval.Number) = + (yyvsp[0].Number); } -#line 1589 "cmExprParser.cxx" +#line 1592 "cmExprParser.cxx" break; case 21: /* unary: exp_MINUS unary */ -#line 164 "cmExprParser.y" +#line 167 "cmExprParser.y" { (yyval.Number) = cmExpr_yyget_extra(yyscanner) ->Neg((yyvsp[0].Number)); } -#line 1598 "cmExprParser.cxx" +#line 1601 "cmExprParser.cxx" break; case 22: /* unary: exp_NOT unary */ -#line 168 "cmExprParser.y" +#line 171 "cmExprParser.y" { (yyval.Number) = ~ (yyvsp[0].Number); } -#line 1606 "cmExprParser.cxx" +#line 1609 "cmExprParser.cxx" break; case 23: /* factor: exp_NUMBER */ -#line 173 "cmExprParser.y" +#line 176 "cmExprParser.y" { (yyval.Number) = (yyvsp[0].Number); } -#line 1614 "cmExprParser.cxx" +#line 1617 "cmExprParser.cxx" break; case 24: /* factor: exp_OPENPARENT exp exp_CLOSEPARENT */ -#line 176 "cmExprParser.y" +#line 179 "cmExprParser.y" { (yyval.Number) = (yyvsp[-1].Number); } -#line 1622 "cmExprParser.cxx" +#line 1625 "cmExprParser.cxx" break; -#line 1626 "cmExprParser.cxx" +#line 1629 "cmExprParser.cxx" default: break; } @@ -1846,7 +1849,7 @@ return yyresult; } -#line 181 "cmExprParser.y" +#line 184 "cmExprParser.y" /* End of grammar */
diff --git a/Source/LexerParser/cmExprParser.y b/Source/LexerParser/cmExprParser.y index edd3bc5..b4f7e60 100644 --- a/Source/LexerParser/cmExprParser.y +++ b/Source/LexerParser/cmExprParser.y
@@ -37,6 +37,9 @@ # pragma GCC diagnostic ignored "-Wconversion" # pragma GCC diagnostic ignored "-Wfree-nonheap-object" #endif +#if defined(__GNUC__) && __GNUC__ >= 16 +# pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif #if defined(__clang__) && defined(__has_warning) # if __has_warning("-Wunused-but-set-variable") # pragma clang diagnostic ignored "-Wunused-but-set-variable"
diff --git a/Source/LexerParser/cmFortranParser.cxx b/Source/LexerParser/cmFortranParser.cxx index a43f4fc..5bc20b0 100644 --- a/Source/LexerParser/cmFortranParser.cxx +++ b/Source/LexerParser/cmFortranParser.cxx
@@ -132,13 +132,16 @@ # pragma GCC diagnostic ignored "-Wconversion" # pragma GCC diagnostic ignored "-Wfree-nonheap-object" #endif +#if defined(__GNUC__) && __GNUC__ >= 16 +# pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif #if defined(__clang__) && defined(__has_warning) # if __has_warning("-Wunused-but-set-variable") # pragma clang diagnostic ignored "-Wunused-but-set-variable" # endif #endif -#line 142 "cmFortranParser.cxx" +#line 145 "cmFortranParser.cxx" # ifndef YY_CAST # ifdef __cplusplus @@ -610,13 +613,13 @@ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 106, 106, 106, 109, 113, 118, 123, 129, 136, - 141, 146, 150, 155, 167, 172, 177, 182, 187, 192, - 197, 202, 207, 211, 215, 219, 223, 224, 229, 229, - 229, 230, 230, 231, 231, 232, 232, 233, 233, 234, - 234, 235, 235, 236, 236, 237, 237, 238, 238, 241, - 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 257 + 0, 109, 109, 109, 112, 116, 121, 126, 132, 139, + 144, 149, 153, 158, 170, 175, 180, 185, 190, 195, + 200, 205, 210, 214, 218, 222, 226, 227, 232, 232, + 232, 233, 233, 234, 234, 235, 235, 236, 236, 237, + 237, 238, 238, 239, 239, 240, 240, 241, 241, 244, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 256, 257, 258, 259, 260 }; #endif @@ -1327,21 +1330,21 @@ switch (yykind) { case YYSYMBOL_STRING: /* STRING */ -#line 100 "cmFortranParser.y" +#line 103 "cmFortranParser.y" { free(((*yyvaluep).string)); } -#line 1333 "cmFortranParser.cxx" +#line 1336 "cmFortranParser.cxx" break; case YYSYMBOL_WORD: /* WORD */ -#line 100 "cmFortranParser.y" +#line 103 "cmFortranParser.y" { free(((*yyvaluep).string)); } -#line 1339 "cmFortranParser.cxx" +#line 1342 "cmFortranParser.cxx" break; case YYSYMBOL_CPP_INCLUDE_ANGLE: /* CPP_INCLUDE_ANGLE */ -#line 100 "cmFortranParser.y" +#line 103 "cmFortranParser.y" { free(((*yyvaluep).string)); } -#line 1345 "cmFortranParser.cxx" +#line 1348 "cmFortranParser.cxx" break; default: @@ -1618,47 +1621,47 @@ switch (yyn) { case 4: /* stmt: INTERFACE EOSTMT */ -#line 109 "cmFortranParser.y" +#line 112 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_SetInInterface(parser, true); } -#line 1627 "cmFortranParser.cxx" +#line 1630 "cmFortranParser.cxx" break; case 5: /* stmt: USE WORD other EOSTMT */ -#line 113 "cmFortranParser.y" +#line 116 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleUse(parser, (yyvsp[-2].string)); free((yyvsp[-2].string)); } -#line 1637 "cmFortranParser.cxx" +#line 1640 "cmFortranParser.cxx" break; case 6: /* stmt: MODULE WORD EOSTMT */ -#line 118 "cmFortranParser.y" +#line 121 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleModule(parser, (yyvsp[-1].string)); free((yyvsp[-1].string)); } -#line 1647 "cmFortranParser.cxx" +#line 1650 "cmFortranParser.cxx" break; case 7: /* stmt: SUBMODULE LPAREN WORD RPAREN WORD EOSTMT */ -#line 123 "cmFortranParser.y" +#line 126 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleSubmodule(parser, (yyvsp[-3].string), (yyvsp[-1].string)); free((yyvsp[-3].string)); free((yyvsp[-1].string)); } -#line 1658 "cmFortranParser.cxx" +#line 1661 "cmFortranParser.cxx" break; case 8: /* stmt: SUBMODULE LPAREN WORD COLON WORD RPAREN WORD EOSTMT */ -#line 129 "cmFortranParser.y" +#line 132 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleSubmoduleNested(parser, (yyvsp[-5].string), (yyvsp[-3].string), (yyvsp[-1].string)); @@ -1666,50 +1669,50 @@ free((yyvsp[-3].string)); free((yyvsp[-1].string)); } -#line 1670 "cmFortranParser.cxx" +#line 1673 "cmFortranParser.cxx" break; case 9: /* stmt: INTERFACE WORD EOSTMT */ -#line 136 "cmFortranParser.y" +#line 139 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_SetInInterface(parser, true); free((yyvsp[-1].string)); } -#line 1680 "cmFortranParser.cxx" +#line 1683 "cmFortranParser.cxx" break; case 10: /* stmt: END INTERFACE WORD EOSTMT */ -#line 141 "cmFortranParser.y" +#line 144 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_SetInInterface(parser, false); free((yyvsp[-1].string)); } -#line 1690 "cmFortranParser.cxx" +#line 1693 "cmFortranParser.cxx" break; case 11: /* stmt: END INTERFACE EOSTMT */ -#line 146 "cmFortranParser.y" +#line 149 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_SetInInterface(parser, false); } -#line 1699 "cmFortranParser.cxx" +#line 1702 "cmFortranParser.cxx" break; case 12: /* stmt: USE DCOLON WORD other EOSTMT */ -#line 150 "cmFortranParser.y" +#line 153 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleUse(parser, (yyvsp[-2].string)); free((yyvsp[-2].string)); } -#line 1709 "cmFortranParser.cxx" +#line 1712 "cmFortranParser.cxx" break; case 13: /* stmt: USE COMMA WORD DCOLON WORD other EOSTMT */ -#line 155 "cmFortranParser.y" +#line 158 "cmFortranParser.y" { if (cmsysString_strcasecmp((yyvsp[-4].string), "non_intrinsic") == 0) { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); @@ -1722,139 +1725,139 @@ free((yyvsp[-4].string)); free((yyvsp[-2].string)); } -#line 1726 "cmFortranParser.cxx" +#line 1729 "cmFortranParser.cxx" break; case 14: /* stmt: INCLUDE STRING EOSTMT */ -#line 167 "cmFortranParser.y" +#line 170 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleInclude(parser, (yyvsp[-1].string)); free((yyvsp[-1].string)); } -#line 1736 "cmFortranParser.cxx" +#line 1739 "cmFortranParser.cxx" break; case 15: /* stmt: CPP_LINE_DIRECTIVE STRING other EOSTMT */ -#line 172 "cmFortranParser.y" +#line 175 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleLineDirective(parser, (yyvsp[-2].string)); free((yyvsp[-2].string)); } -#line 1746 "cmFortranParser.cxx" +#line 1749 "cmFortranParser.cxx" break; case 16: /* stmt: CPP_INCLUDE_ANGLE other EOSTMT */ -#line 177 "cmFortranParser.y" +#line 180 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleInclude(parser, (yyvsp[-2].string)); free((yyvsp[-2].string)); } -#line 1756 "cmFortranParser.cxx" +#line 1759 "cmFortranParser.cxx" break; case 17: /* stmt: include STRING other EOSTMT */ -#line 182 "cmFortranParser.y" +#line 185 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleInclude(parser, (yyvsp[-2].string)); free((yyvsp[-2].string)); } -#line 1766 "cmFortranParser.cxx" +#line 1769 "cmFortranParser.cxx" break; case 18: /* stmt: define WORD other EOSTMT */ -#line 187 "cmFortranParser.y" +#line 190 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleDefine(parser, (yyvsp[-2].string)); free((yyvsp[-2].string)); } -#line 1776 "cmFortranParser.cxx" +#line 1779 "cmFortranParser.cxx" break; case 19: /* stmt: undef WORD other EOSTMT */ -#line 192 "cmFortranParser.y" +#line 195 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleUndef(parser, (yyvsp[-2].string)); free((yyvsp[-2].string)); } -#line 1786 "cmFortranParser.cxx" +#line 1789 "cmFortranParser.cxx" break; case 20: /* stmt: ifdef WORD other EOSTMT */ -#line 197 "cmFortranParser.y" +#line 200 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleIfdef(parser, (yyvsp[-2].string)); free((yyvsp[-2].string)); } -#line 1796 "cmFortranParser.cxx" +#line 1799 "cmFortranParser.cxx" break; case 21: /* stmt: ifndef WORD other EOSTMT */ -#line 202 "cmFortranParser.y" +#line 205 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleIfndef(parser, (yyvsp[-2].string)); free((yyvsp[-2].string)); } -#line 1806 "cmFortranParser.cxx" +#line 1809 "cmFortranParser.cxx" break; case 22: /* stmt: if other EOSTMT */ -#line 207 "cmFortranParser.y" +#line 210 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleIf(parser); } -#line 1815 "cmFortranParser.cxx" +#line 1818 "cmFortranParser.cxx" break; case 23: /* stmt: elif other EOSTMT */ -#line 211 "cmFortranParser.y" +#line 214 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleElif(parser); } -#line 1824 "cmFortranParser.cxx" +#line 1827 "cmFortranParser.cxx" break; case 24: /* stmt: else other EOSTMT */ -#line 215 "cmFortranParser.y" +#line 218 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleElse(parser); } -#line 1833 "cmFortranParser.cxx" +#line 1836 "cmFortranParser.cxx" break; case 25: /* stmt: endif other EOSTMT */ -#line 219 "cmFortranParser.y" +#line 222 "cmFortranParser.y" { cmFortranParser* parser = cmFortran_yyget_extra(yyscanner); cmFortranParser_RuleEndif(parser); } -#line 1842 "cmFortranParser.cxx" +#line 1845 "cmFortranParser.cxx" break; case 49: /* misc_code: WORD */ -#line 241 "cmFortranParser.y" +#line 244 "cmFortranParser.y" { free ((yyvsp[0].string)); } -#line 1848 "cmFortranParser.cxx" +#line 1851 "cmFortranParser.cxx" break; case 56: /* misc_code: STRING */ -#line 248 "cmFortranParser.y" +#line 251 "cmFortranParser.y" { free ((yyvsp[0].string)); } -#line 1854 "cmFortranParser.cxx" +#line 1857 "cmFortranParser.cxx" break; -#line 1858 "cmFortranParser.cxx" +#line 1861 "cmFortranParser.cxx" default: break; } @@ -2078,6 +2081,6 @@ return yyresult; } -#line 260 "cmFortranParser.y" +#line 263 "cmFortranParser.y" /* End of grammar */
diff --git a/Source/LexerParser/cmFortranParser.y b/Source/LexerParser/cmFortranParser.y index 431d6ab..77eaf75 100644 --- a/Source/LexerParser/cmFortranParser.y +++ b/Source/LexerParser/cmFortranParser.y
@@ -57,6 +57,9 @@ # pragma GCC diagnostic ignored "-Wconversion" # pragma GCC diagnostic ignored "-Wfree-nonheap-object" #endif +#if defined(__GNUC__) && __GNUC__ >= 16 +# pragma GCC diagnostic ignored "-Wunused-but-set-variable" +#endif #if defined(__clang__) && defined(__has_warning) # if __has_warning("-Wunused-but-set-variable") # pragma clang diagnostic ignored "-Wunused-but-set-variable"
diff --git a/Source/LexerParser/cmFortranParserTokens.h b/Source/LexerParser/cmFortranParserTokens.h index cb2b999..51b6a45 100644 --- a/Source/LexerParser/cmFortranParserTokens.h +++ b/Source/LexerParser/cmFortranParserTokens.h
@@ -100,7 +100,7 @@ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 76 "cmFortranParser.y" +#line 79 "cmFortranParser.y" char* string;
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx index 9bec12f..caf450e 100644 --- a/Source/cmCTest.cxx +++ b/Source/cmCTest.cxx
@@ -3267,6 +3267,7 @@ // CTest Test Step set("CTEST_TEST_TIMEOUT", "TimeOut"); + set("CTEST_TEST_COVERAGE_TOOL", "CTestTestCoverageTool"); // CTest Coverage Step set("CTEST_COVERAGE_COMMAND", "CoverageCommand");
diff --git a/Source/cmDocumentation.cxx b/Source/cmDocumentation.cxx index 66e3730..0cc2b64 100644 --- a/Source/cmDocumentation.cxx +++ b/Source/cmDocumentation.cxx
@@ -26,7 +26,7 @@ #include "cmVersion.h" namespace { -cmDocumentationEntry const cmDocumentationStandardOptions[21] = { +cmDocumentationEntry const cmDocumentationStandardOptions[] = { { "-h,-H,--help,-help,-usage,/?", "Print usage information and exit." }, { "--version[=json-v1],-version[=json-v1],/V[=json-v1],/version[=json-v1] " "[<file>]", @@ -39,6 +39,12 @@ { "--help-command-list [<file>]", "List commands with help available and exit." }, { "--help-commands [<file>]", "Print cmake-commands manual and exit." }, + { "--help-diagnostic <diag> [<file>]", + "Print help for one diagnostic and exit." }, + { "--help-diagnostic-list [<file>]", + "List diagnostics with help available and exit." }, + { "--help-diagnostics [<file>]", + "Print cmake-diagnostics manual and exit." }, { "--help-module <mod> [<file>]", "Print help for one module and exit." }, { "--help-module-list [<file>]", "List modules with help available and exit." }, @@ -164,6 +170,8 @@ return this->PrintHelpOneManual(os); case cmDocumentation::OneCommand: return this->PrintHelpOneCommand(os); + case cmDocumentation::OneDiagnostic: + return this->PrintHelpOneDiagnostic(os); case cmDocumentation::OneModule: return this->PrintHelpOneModule(os); case cmDocumentation::OnePolicy: @@ -176,6 +184,8 @@ return this->PrintHelpListManuals(os); case cmDocumentation::ListCommands: return this->PrintHelpListCommands(os); + case cmDocumentation::ListDiagnostics: + return this->PrintHelpListDiagnostics(os); case cmDocumentation::ListModules: return this->PrintHelpListModules(os); case cmDocumentation::ListProperties: @@ -377,6 +387,11 @@ cmSystemTools::Message( "Warning: --help-compatcommands no longer supported"); return true; + } else if (strcmp(argv[i], "--help-diagnostics") == 0) { + help.HelpType = cmDocumentation::OneManual; + help.Argument = "cmake-diagnostics.7"; + i += int(get_opt_argument(i + 1, help.Filename)); + this->WarnFormFromFilename(help, result); } else if (strcmp(argv[i], "--help-full") == 0) { help.HelpType = cmDocumentation::Full; i += int(get_opt_argument(i + 1, help.Filename)); @@ -393,6 +408,12 @@ i += int(get_opt_argument(i + 1, help.Filename)); help.Argument = cmSystemTools::LowerCase(help.Argument); this->WarnFormFromFilename(help, result); + } else if (strcmp(argv[i], "--help-diagnostic") == 0) { + help.HelpType = cmDocumentation::OneDiagnostic; + i += int(get_opt_argument(i + 1, help.Argument)); + i += int(get_opt_argument(i + 1, help.Filename)); + help.Argument = cmSystemTools::UpperCase(help.Argument); + this->WarnFormFromFilename(help, result); } else if (strcmp(argv[i], "--help-module") == 0) { help.HelpType = cmDocumentation::OneModule; i += int(get_opt_argument(i + 1, help.Argument)); @@ -421,6 +442,9 @@ } else if (strcmp(argv[i], "--help-command-list") == 0) { help.HelpType = cmDocumentation::ListCommands; i += int(get_opt_argument(i + 1, help.Filename)); + } else if (strcmp(argv[i], "--help-diagnostic-list") == 0) { + help.HelpType = cmDocumentation::ListDiagnostics; + i += int(get_opt_argument(i + 1, help.Filename)); } else if (strcmp(argv[i], "--help-module-list") == 0) { help.HelpType = cmDocumentation::ListModules; i += int(get_opt_argument(i + 1, help.Filename)); @@ -622,6 +646,25 @@ return true; } +bool cmDocumentation::PrintHelpOneDiagnostic(std::ostream& os) +{ + std::string dname = cmSystemTools::UpperCase(this->CurrentArgument); + if (this->PrintFiles(os, cmStrCat("diagnostic/", dname))) { + return true; + } + // Argument was not a command. Complain. + os << "Argument \"" << this->CurrentArgument + << "\" to --help-command is not a CMake diagnostic. " + "Use --help-diagnostic-list to see all diagnostics.\n"; + return false; +} + +bool cmDocumentation::PrintHelpListDiagnostics(std::ostream& os) +{ + this->PrintNames(os, "diagnostic/*"); + return true; +} + bool cmDocumentation::PrintHelpOneModule(std::ostream& os) { std::string mname = this->CurrentArgument;
diff --git a/Source/cmDocumentation.h b/Source/cmDocumentation.h index dd0fadb..e23cee9 100644 --- a/Source/cmDocumentation.h +++ b/Source/cmDocumentation.h
@@ -30,6 +30,7 @@ Full, ListManuals, ListCommands, + ListDiagnostics, ListModules, ListProperties, ListVariables, @@ -38,6 +39,7 @@ OneArbitrary, OneManual, OneCommand, + OneDiagnostic, OneModule, OneProperty, OneVariable, @@ -124,12 +126,14 @@ bool PrintHelpOneArbitrary(std::ostream& os); bool PrintHelpOneManual(std::ostream& os); bool PrintHelpOneCommand(std::ostream& os); + bool PrintHelpOneDiagnostic(std::ostream& os); bool PrintHelpOneModule(std::ostream& os); bool PrintHelpOnePolicy(std::ostream& os); bool PrintHelpOneProperty(std::ostream& os); bool PrintHelpOneVariable(std::ostream& os); bool PrintHelpListManuals(std::ostream& os); bool PrintHelpListCommands(std::ostream& os); + bool PrintHelpListDiagnostics(std::ostream& os); bool PrintHelpListModules(std::ostream& os); bool PrintHelpListProperties(std::ostream& os); bool PrintHelpListVariables(std::ostream& os);
diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx index aeb68a3..9d8311d 100644 --- a/Source/cmExportFileGenerator.cxx +++ b/Source/cmExportFileGenerator.cxx
@@ -63,8 +63,8 @@ openmodeApp); } else { // Generate atomically and with copy-if-different. - std::unique_ptr<cmGeneratedFileStream> ap( - new cmGeneratedFileStream(this->MainImportFile, true)); + auto ap = + cm::make_unique<cmGeneratedFileStream>(this->MainImportFile, true); ap->SetCopyIfDifferent(true); foutPtr = std::move(ap); }
diff --git a/Source/cmExtraEclipseCDT4Generator.cxx b/Source/cmExtraEclipseCDT4Generator.cxx index 9a5e109..7427422 100644 --- a/Source/cmExtraEclipseCDT4Generator.cxx +++ b/Source/cmExtraEclipseCDT4Generator.cxx
@@ -463,7 +463,8 @@ } void cmExtraEclipseCDT4Generator::WriteGroups( - SourceGroupVector const& sourceGroups, std::string& linkName, + SourceGroupVector const& sourceGroups, + cmSourceGroupFiles const& sourceGroupFiles, std::string& linkName, cmXMLWriter& xml) { for (auto const& sg : sourceGroups) { @@ -475,10 +476,11 @@ xml, linkName3, "virtual:/virtual", VirtualFolder); SourceGroupVector const& children = sg->GetGroupChildren(); if (!children.empty()) { - this->WriteGroups(children, linkName, xml); + this->WriteGroups(children, sourceGroupFiles, linkName, xml); } - std::vector<cmSourceFile const*> sFiles = sg->GetSourceFiles(); - for (cmSourceFile const* file : sFiles) { + std::vector<cmSourceFile const*> const& sourceFiles = + sourceGroupFiles.GetSourceFiles(sg.get()); + for (cmSourceFile const* file : sourceFiles) { std::string const& fullPath = file->GetFullPath(); if (!cmSystemTools::FileIsDirectory(fullPath)) { @@ -521,17 +523,18 @@ break; // skip generating the linked resources to the source files } // get the files from the source lists then add them to the groups + cmSourceGroupFiles sourceGroupFiles; std::vector<cmSourceFile*> files; target->GetSourceFiles( files, makefile->GetSafeDefinition("CMAKE_BUILD_TYPE")); for (cmSourceFile* sf : files) { // Add the file to the list of sources. - std::string const& source = sf->ResolveFullPath(); - cmSourceGroup* sourceGroup = lg->FindSourceGroup(source); - sourceGroup->AssignSource(sf); + sourceGroupFiles.Add(lg->FindSourceGroup(sf->ResolveFullPath()), + sf); } - this->WriteGroups(makefile->GetSourceGroups(), linkName2, xml); + this->WriteGroups(makefile->GetSourceGroups(), sourceGroupFiles, + linkName2, xml); } break; // ignore all others: default:
diff --git a/Source/cmExtraEclipseCDT4Generator.h b/Source/cmExtraEclipseCDT4Generator.h index aa7cc25..fa92fb4 100644 --- a/Source/cmExtraEclipseCDT4Generator.h +++ b/Source/cmExtraEclipseCDT4Generator.h
@@ -88,6 +88,7 @@ cmLocalGenerator& lg); void WriteGroups(SourceGroupVector const& sourceGroups, + cmSourceGroupFiles const& sourceGroupFiles, std::string& linkName, cmXMLWriter& xml); void CreateLinksToSubprojects(cmXMLWriter& xml, std::string const& baseDir); void CreateLinksForTargets(cmXMLWriter& xml);
diff --git a/Source/cmFastbuildNormalTargetGenerator.cxx b/Source/cmFastbuildNormalTargetGenerator.cxx index 6aa2ee4..63f7bbd 100644 --- a/Source/cmFastbuildNormalTargetGenerator.cxx +++ b/Source/cmFastbuildNormalTargetGenerator.cxx
@@ -1413,8 +1413,8 @@ useUnity = false; } - // List of sources isolated from the unity build if enabled. - std::set<std::string> isolatedFromUnity; + // List of sources excluded from the unity build if enabled. + std::set<std::string> excludedFromUnity; // Mapping from unity group (if any) to sources belonging to that group. std::map<std::string, std::vector<std::string>> sourcesWithGroups; @@ -1425,10 +1425,10 @@ std::string const pathToFile = srcFile.GetFullPath(); bool fileUsesUnity = useUnity; if (useUnity) { - // Check if the source should be added to "UnityInputIsolatedFiles". + // Check if the source should be added to "UnityInputExcludedFiles". if (srcFile.GetPropertyAsBool(SKIP_UNITY_BUILD_INCLUSION)) { fileUsesUnity = false; - isolatedFromUnity.emplace(pathToFile); + excludedFromUnity.emplace(pathToFile); } std::string const perFileUnityGroup = srcFile.GetSafeProperty(UNITY_GROUP); @@ -1567,27 +1567,27 @@ } if (useUnity) { target.UnityNodes = - GenerateUnity(objects, isolatedFromUnity, sourcesWithGroups); + GenerateUnity(objects, excludedFromUnity, sourcesWithGroups); } } FastbuildUnityNode cmFastbuildNormalTargetGenerator::GetOneUnity( - std::set<std::string> const& isolatedFiles, std::vector<std::string>& files, + std::set<std::string> const& excludedFiles, std::vector<std::string>& files, int unitySize) const { FastbuildUnityNode result; for (auto iter = files.begin(); iter != files.end();) { std::string pathToFile = std::move(*iter); iter = files.erase(iter); - // This source must be isolated - if (isolatedFiles.find(pathToFile) != isolatedFiles.end()) { + // This source must be excluded from the generated unity file. + if (excludedFiles.find(pathToFile) != excludedFiles.end()) { result.UnityInputFiles.emplace_back(pathToFile); - result.UnityInputIsolatedFiles.emplace_back(std::move(pathToFile)); + result.UnityInputExcludedFiles.emplace_back(std::move(pathToFile)); } else { result.UnityInputFiles.emplace_back(std::move(pathToFile)); } if (int(result.UnityInputFiles.size() - - result.UnityInputIsolatedFiles.size()) == unitySize) { + result.UnityInputExcludedFiles.size()) == unitySize) { break; } } @@ -1617,7 +1617,7 @@ std::vector<FastbuildUnityNode> cmFastbuildNormalTargetGenerator::GenerateUnity( std::vector<FastbuildObjectListNode>& objects, - std::set<std::string> const& isolatedSources, + std::set<std::string> const& excludedSources, std::map<std::string, std::vector<std::string>> const& sourcesWithGroups) { int const unitySize = GetUnityBatchSize(); @@ -1650,14 +1650,14 @@ // General unity batching of the remaining (non-grouped) sources. while (!obj.CompilerInputFiles.empty()) { FastbuildUnityNode node = - GetOneUnity(isolatedSources, obj.CompilerInputFiles, unitySize); + GetOneUnity(excludedSources, obj.CompilerInputFiles, unitySize); node.Name = cmStrCat(this->GetName(), "_Unity_", ++unityNumber); node.UnityOutputPath = obj.CompilerOutputPath; node.UnityOutputPattern = cmStrCat(node.Name, ext); - // Unity group of size 1 doesn't make sense - just isolate the source. + // Unity group of size 1 doesn't make sense - just exclude the source. if (groupedNode.UnityInputFiles.size() == 1) { - node.UnityInputIsolatedFiles.emplace_back( + node.UnityInputExcludedFiles.emplace_back( groupedNode.UnityInputFiles[0]); node.UnityInputFiles.emplace_back( std::move(groupedNode.UnityInputFiles[0]));
diff --git a/Source/cmFastbuildNormalTargetGenerator.h b/Source/cmFastbuildNormalTargetGenerator.h index 8a01f77..bc630b4 100644 --- a/Source/cmFastbuildNormalTargetGenerator.h +++ b/Source/cmFastbuildNormalTargetGenerator.h
@@ -76,14 +76,14 @@ std::string& args) const; void GenerateCudaDeviceLink(FastbuildTarget& target) const; void GenerateObjects(FastbuildTarget& target); - FastbuildUnityNode GetOneUnity(std::set<std::string> const& isolatedFiles, + FastbuildUnityNode GetOneUnity(std::set<std::string> const& excludedFiles, std::vector<std::string>& files, int unitySize) const; int GetUnityBatchSize() const; std::vector<FastbuildUnityNode> GenerateUnity( std::vector<FastbuildObjectListNode>& objects, - std::set<std::string> const& isolatedSources, + std::set<std::string> const& excludedSources, std::map<std::string, std::vector<std::string>> const& sourcesWithGroups); FastbuildUnityNode GenerateGroupedUnityNode( std::vector<std::string>& inputFiles,
diff --git a/Source/cmFileAPICodemodel.cxx b/Source/cmFileAPICodemodel.cxx index 3d398b2..8b214b6 100644 --- a/Source/cmFileAPICodemodel.cxx +++ b/Source/cmFileAPICodemodel.cxx
@@ -486,7 +486,7 @@ void ProcessLanguages(); void ProcessLanguage(std::string const& lang); - Json::ArrayIndex AddSourceGroup(cmSourceGroup* sg); + Json::ArrayIndex AddSourceGroup(cmSourceGroup const* sg); CompileData BuildCompileData(cmSourceFile* sf); CompileData MergeCompileData(CompileData const& fd); Json::ArrayIndex AddSourceCompileGroup(cmSourceFile* sf, @@ -1469,7 +1469,7 @@ } } -Json::ArrayIndex Target::AddSourceGroup(cmSourceGroup* sg) +Json::ArrayIndex Target::AddSourceGroup(cmSourceGroup const* sg) { auto i = this->SourceGroupsMap.find(sg); if (i == this->SourceGroupsMap.end()) { @@ -1802,7 +1802,8 @@ source["fileSetIndex"] = fsit->second; } - if (cmSourceGroup* sg = this->GT->LocalGenerator->FindSourceGroup(path)) { + if (cmSourceGroup const* sg = + this->GT->LocalGenerator->FindSourceGroup(path)) { Json::ArrayIndex const groupIndex = this->AddSourceGroup(sg); source["sourceGroupIndex"] = groupIndex; this->SourceGroups[groupIndex].SourceIndexes.append(si); @@ -1888,7 +1889,8 @@ source["fileSetIndex"] = fsit->second; } - if (cmSourceGroup* sg = this->GT->LocalGenerator->FindSourceGroup(path)) { + if (cmSourceGroup const* sg = + this->GT->LocalGenerator->FindSourceGroup(path)) { Json::ArrayIndex const groupIndex = this->AddSourceGroup(sg); source["sourceGroupIndex"] = groupIndex; this->SourceGroups[groupIndex].InterfaceSourceIndexes.append(si);
diff --git a/Source/cmGhsMultiTargetGenerator.cxx b/Source/cmGhsMultiTargetGenerator.cxx index 9c08298..5c1d1c4 100644 --- a/Source/cmGhsMultiTargetGenerator.cxx +++ b/Source/cmGhsMultiTargetGenerator.cxx
@@ -545,7 +545,7 @@ std::map<std::string, std::vector<cmSourceFile*>> groupFiles; std::set<std::string> groupNames; for (cmSourceFile* sf : sources) { - cmSourceGroup* sourceGroup = + cmSourceGroup const* sourceGroup = this->LocalGenerator->FindSourceGroup(sf->ResolveFullPath()); std::string gn = sourceGroup->GetFullName(); groupFiles[gn].push_back(sf);
diff --git a/Source/cmGlobalFastbuildGenerator.cxx b/Source/cmGlobalFastbuildGenerator.cxx index 9013c5e..e906e6f 100644 --- a/Source/cmGlobalFastbuildGenerator.cxx +++ b/Source/cmGlobalFastbuildGenerator.cxx
@@ -1201,9 +1201,9 @@ WriteVariable("UnityOutputPath", Quote(Unity.UnityOutputPath), 2); WriteVariable("UnityOutputPattern", Quote(Unity.UnityOutputPattern), 2); WriteArray("UnityInputFiles", Wrap(Unity.UnityInputFiles), 2); - if (!Unity.UnityInputIsolatedFiles.empty()) { - WriteArray("UnityInputIsolatedFiles", - Wrap(Unity.UnityInputIsolatedFiles), 2); + if (!Unity.UnityInputExcludedFiles.empty()) { + WriteArray("UnityInputExcludedFiles", + Wrap(Unity.UnityInputExcludedFiles), 2); } if (UsingRelativePaths) { WriteVariable("UseRelativePaths_Experimental", "true", 2);
diff --git a/Source/cmGlobalFastbuildGenerator.h b/Source/cmGlobalFastbuildGenerator.h index f2aa938..07e8772 100644 --- a/Source/cmGlobalFastbuildGenerator.h +++ b/Source/cmGlobalFastbuildGenerator.h
@@ -233,7 +233,7 @@ std::string UnityOutputPath; std::vector<std::string> UnityInputFiles; std::string UnityOutputPattern; - std::vector<std::string> UnityInputIsolatedFiles; + std::vector<std::string> UnityInputExcludedFiles; FastbuildUnityNode() : FastbuildTargetBase(FastbuildTargetType::UNITY) {
diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx index c273c87..bfbb24f 100644 --- a/Source/cmGlobalVisualStudioGenerator.cxx +++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -1063,7 +1063,7 @@ item = cmSystemTools::CollapseFullPath(item, mf->GetCurrentSourceDirectory()); } - cmSourceGroup* sg = + cmSourceGroup const* sg = cmSourceGroup::FindSourceGroup(item, mf->GetSourceGroups()); std::string folderName = sg->GetFullName(); if (folderName.empty()) {
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index 1fedd91..1e467e7 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -4563,7 +4563,7 @@ auto addSourceToGroup = [this, >gt, &generator](std::string const& source) { - cmSourceGroup* sourceGroup = generator->FindSourceGroup(source); + cmSourceGroup const* sourceGroup = generator->FindSourceGroup(source); cmXCodeObject* pbxgroup = this->CreateOrGetPBXGroup(gtgt.get(), sourceGroup); std::string key = GetGroupMapKeyFromPath(gtgt.get(), source); @@ -4639,7 +4639,7 @@ } cmXCodeObject* cmGlobalXCodeGenerator::CreateOrGetPBXGroup( - cmGeneratorTarget* gtgt, cmSourceGroup* sg) + cmGeneratorTarget* gtgt, cmSourceGroup const* sg) { std::string s; std::string target;
diff --git a/Source/cmGlobalXCodeGenerator.h b/Source/cmGlobalXCodeGenerator.h index 82bb9d5..114caec 100644 --- a/Source/cmGlobalXCodeGenerator.h +++ b/Source/cmGlobalXCodeGenerator.h
@@ -161,7 +161,7 @@ cm::string_view attributeValue); cmXCodeObject* CreateOrGetPBXGroup(cmGeneratorTarget* gtgt, - cmSourceGroup* sg); + cmSourceGroup const* sg); cmXCodeObject* CreatePBXGroup(cmXCodeObject* parent, std::string const& name); bool CreateGroups(std::vector<cmLocalGenerator*>& generators);
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 6de9c50..fa14c0a 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -1388,6 +1388,8 @@ AllConfigSources sources; sources.Sources = target->GetAllConfigSources(); + cmSourceGroupFiles sourceGroupFiles; + // Add CMakeLists.txt file with rule to re-run CMake for user convenience. if (target->GetType() != cmStateEnums::GLOBAL_TARGET && target->GetName() != CMAKE_CHECK_BUILD_SYSTEM_TARGET) { @@ -1425,9 +1427,7 @@ } } // Add the file to the list of sources. - std::string const source = sf->GetFullPath(); - cmSourceGroup* sourceGroup = this->FindSourceGroup(source); - sourceGroup->AssignSource(sf); + sourceGroupFiles.Add(this->FindSourceGroup(sf->GetFullPath()), sf); } // open the project @@ -1440,7 +1440,8 @@ // Loop through every source group. SourceGroupVector const& sourceGroups = this->Makefile->GetSourceGroups(); for (auto const& sg : sourceGroups) { - this->WriteGroup(sg.get(), target, fout, libName, configs, sources); + this->WriteGroup(sg.get(), target, fout, libName, configs, sources, + sourceGroupFiles); } fout << "\t</Files>\n"; @@ -1688,11 +1689,12 @@ bool cmLocalVisualStudio7Generator::WriteGroup( cmSourceGroup const* sg, cmGeneratorTarget* target, std::ostream& fout, std::string const& libName, std::vector<std::string> const& configs, - AllConfigSources const& sources) + AllConfigSources const& sources, cmSourceGroupFiles const& sourceGroupFiles) { cmGlobalVisualStudio7Generator* gg = static_cast<cmGlobalVisualStudio7Generator*>(this->GlobalGenerator); - std::vector<cmSourceFile const*> const& sourceFiles = sg->GetSourceFiles(); + std::vector<cmSourceFile const*> const& sourceFiles = + sourceGroupFiles.GetSourceFiles(sg); SourceGroupVector const& children = sg->GetGroupChildren(); // Write the children to temporary output. @@ -1700,7 +1702,7 @@ std::ostringstream tmpOut; for (auto const& child : children) { if (this->WriteGroup(child.get(), target, tmpOut, libName, configs, - sources)) { + sources, sourceGroupFiles)) { hasChildrenWithSources = true; } }
diff --git a/Source/cmLocalVisualStudio7Generator.h b/Source/cmLocalVisualStudio7Generator.h index 38df53b..885d8ca 100644 --- a/Source/cmLocalVisualStudio7Generator.h +++ b/Source/cmLocalVisualStudio7Generator.h
@@ -23,6 +23,7 @@ class cmMakefile; class cmSourceFile; class cmSourceGroup; +class cmSourceGroupFiles; class cmVS7GeneratorOptions : public cmVisualStudioGeneratorOptions { @@ -147,7 +148,8 @@ bool WriteGroup(cmSourceGroup const* sg, cmGeneratorTarget* target, std::ostream& fout, std::string const& libName, std::vector<std::string> const& configs, - AllConfigSources const& sources); + AllConfigSources const& sources, + cmSourceGroupFiles const& sourceGroupFiles); friend class cmLocalVisualStudio7GeneratorFCInfo; friend class cmLocalVisualStudio7GeneratorInternals;
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index d755360..11b5446 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx
@@ -3870,11 +3870,11 @@ bool global) { // Create the target. - std::unique_ptr<cmTarget> target( - new cmTarget(name, type, - global ? cmTarget::Visibility::ImportedGlobally - : cmTarget::Visibility::Imported, - this, cmTarget::PerConfig::Yes)); + auto target = + cm::make_unique<cmTarget>(name, type, + global ? cmTarget::Visibility::ImportedGlobally + : cmTarget::Visibility::Imported, + this, cmTarget::PerConfig::Yes); // Add to the set of available imported targets. this->ImportedTargets[name] = target.get(); @@ -3890,9 +3890,9 @@ std::string const& name) { auto foreign_name = cmStrCat("@foreign_", origin, "::", name); - std::unique_ptr<cmTarget> target(new cmTarget( + auto target = cm::make_unique<cmTarget>( foreign_name, cmStateEnums::TargetType::INTERFACE_LIBRARY, - cmTarget::Visibility::Foreign, this, cmTarget::PerConfig::Yes)); + cmTarget::Visibility::Foreign, this, cmTarget::PerConfig::Yes); this->ImportedTargets[foreign_name] = target.get(); this->GetGlobalGenerator()->IndexTarget(target.get());
diff --git a/Source/cmRST.cxx b/Source/cmRST.cxx index e490370..0d3f3bc 100644 --- a/Source/cmRST.cxx +++ b/Source/cmRST.cxx
@@ -20,7 +20,7 @@ : OS(os) , DocRoot(std::move(docroot)) , CMakeDirective("^.. (cmake:)?(" - "command|envvar|genex|signature|variable" + "command|diagnostic|envvar|genex|signature|variable" ")::") , CMakeModuleDirective("^.. cmake-module::[ \t]+([^ \t\n]+)$") , ParsedLiteralDirective("^.. parsed-literal::[ \t]*(.*)$") @@ -34,7 +34,7 @@ , ModuleRST(R"(^#\[(=*)\[\.rst:$)") , CMakeRole("(:cmake)?:(" "cref|" - "command|cpack_gen|generator|genex|" + "command|cpack_gen|diagnostic|generator|genex|" "variable|envvar|module|policy|" "prop_cache|prop_dir|prop_gbl|prop_inst|prop_sf|" "prop_test|prop_tgt|"
diff --git a/Source/cmSourceGroup.cxx b/Source/cmSourceGroup.cxx index 7251810..3b5feea 100644 --- a/Source/cmSourceGroup.cxx +++ b/Source/cmSourceGroup.cxx
@@ -7,7 +7,6 @@ #include <cm/memory> #include "cmGeneratorExpression.h" -#include "cmSourceFile.h" #include "cmStringAlgorithms.h" class cmSourceGroupInternals @@ -85,21 +84,11 @@ return this->GroupFiles.find(name) != this->GroupFiles.cend(); } -void cmSourceGroup::AssignSource(cmSourceFile const* sf) -{ - this->SourceFiles.push_back(sf); -} - std::set<std::string> const& cmSourceGroup::GetGroupFiles() const { return this->GroupFiles; } -std::vector<cmSourceFile const*> const& cmSourceGroup::GetSourceFiles() const -{ - return this->SourceFiles; -} - void cmSourceGroup::AddChild(std::unique_ptr<cmSourceGroup> child) { this->Internal->GroupChildren.push_back(std::move(child)); @@ -196,3 +185,19 @@ // Shouldn't get here, but just in case, return the default group. return groups.data()->get(); } + +void cmSourceGroupFiles::Add(cmSourceGroup const* sg, cmSourceFile const* sf) +{ + this->SourceFiles[sg].push_back(sf); +} + +std::vector<cmSourceFile const*> const& cmSourceGroupFiles::GetSourceFiles( + cmSourceGroup const* sg) const +{ + auto i = this->SourceFiles.find(sg); + if (i != this->SourceFiles.end()) { + return i->second; + } + static std::vector<cmSourceFile const*> const empty; + return empty; +}
diff --git a/Source/cmSourceGroup.h b/Source/cmSourceGroup.h index 4ce79ed..ff7d23f 100644 --- a/Source/cmSourceGroup.h +++ b/Source/cmSourceGroup.h
@@ -4,6 +4,7 @@ #include "cmConfigure.h" // IWYU pragma: keep +#include <map> #include <memory> #include <set> #include <string> @@ -100,22 +101,10 @@ cmSourceGroup* MatchChildrenRegex(std::string const& name) const; /** - * Assign the given source file to this group. Used only by - * generators. - */ - void AssignSource(cmSourceFile const* sf); - - /** * Get the set of file names explicitly added to this source group. */ std::set<std::string> const& GetGroupFiles() const; - /** - * Get the list of the source files that have been assigned to this - * source group. - */ - std::vector<cmSourceFile const*> const& GetSourceFiles() const; - SourceGroupVector const& GetGroupChildren() const; /** @@ -142,11 +131,18 @@ */ std::set<std::string> GroupFiles; - /** - * Vector of all source files that have been assigned to - * this group. - */ - std::vector<cmSourceFile const*> SourceFiles; - std::unique_ptr<cmSourceGroupInternals> Internal; }; + +/** \class cmSourceGroup + * \brief Used by generators to organize a target's sources into groups. + */ +class cmSourceGroupFiles +{ + std::map<cmSourceGroup const*, std::vector<cmSourceFile const*>> SourceFiles; + +public: + void Add(cmSourceGroup const* sg, cmSourceFile const* sf); + std::vector<cmSourceFile const*> const& GetSourceFiles( + cmSourceGroup const* sg) const; +};
diff --git a/Source/cmStringAlgorithms.h b/Source/cmStringAlgorithms.h index 966091a..9e846d5 100644 --- a/Source/cmStringAlgorithms.h +++ b/Source/cmStringAlgorithms.h
@@ -226,9 +226,9 @@ { } cmAlphaNum(char ch) - : View_(this->Digits_, 1) { this->Digits_[0] = ch; + this->View_ = cm::string_view(this->Digits_, 1); } cmAlphaNum(int val); cmAlphaNum(unsigned int val);
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 8ec4cb0..6bb6935 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx
@@ -2084,6 +2084,9 @@ static Resolver<Policies::LogicalPath> const resolver(RealOS); #endif resolver.Resolve(std::move(p), p); +#ifdef __clang_analyzer__ /* cplusplus.Move */ + p.clear(); +#endif return p; }
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 6622957..71da193 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -2007,14 +2007,16 @@ std::set<cmSourceGroup const*> groupsUsed; for (cmGeneratorTarget::AllConfigSource const& si : sources) { std::string const& source = si.Source->GetFullPath(); - cmSourceGroup* sourceGroup = this->LocalGenerator->FindSourceGroup(source); + cmSourceGroup const* sourceGroup = + this->LocalGenerator->FindSourceGroup(source); groupsUsed.insert(sourceGroup); } if (cmSourceFile const* srcCMakeLists = this->LocalGenerator->CreateVCProjBuildRule()) { std::string const& source = srcCMakeLists->GetFullPath(); - cmSourceGroup* sourceGroup = this->LocalGenerator->FindSourceGroup(source); + cmSourceGroup const* sourceGroup = + this->LocalGenerator->FindSourceGroup(source); groupsUsed.insert(sourceGroup); } @@ -2173,7 +2175,8 @@ for (ToolSource const& s : sources) { cmSourceFile const* sf = s.SourceFile; std::string const& source = sf->GetFullPath(); - cmSourceGroup* sourceGroup = this->LocalGenerator->FindSourceGroup(source); + cmSourceGroup const* sourceGroup = + this->LocalGenerator->FindSourceGroup(source); std::string const& filter = sourceGroup->GetFullName(); std::string path = this->ConvertPath(source, s.RelativePath); ConvertToWindowsSlash(path); @@ -6075,7 +6078,7 @@ std::string const& fullFileName = source->GetFullPath(); std::string const& srcDir = this->Makefile->GetCurrentSourceDirectory(); std::string const& binDir = this->Makefile->GetCurrentBinaryDirectory(); - cmSourceGroup* sourceGroup = + cmSourceGroup const* sourceGroup = this->LocalGenerator->FindSourceGroup(fullFileName); if (sourceGroup && !sourceGroup->GetFullName().empty()) { sourceGroupedFile =
diff --git a/Templates/CTestScript.cmake.in b/Templates/CTestScript.cmake.in index 54bfda4..cd79a23 100644 --- a/Templates/CTestScript.cmake.in +++ b/Templates/CTestScript.cmake.in
@@ -48,6 +48,7 @@ set(CTEST_RESOURCE_SPEC_FILE "@CTEST_RESOURCE_SPEC_FILE@") set(CTEST_TEST_LOAD "@CTEST_TEST_LOAD@") set(CTEST_TEST_TIMEOUT "@DART_TESTING_TIMEOUT@") +set(CTEST_TEST_COVERAGE_TOOL "@COVERAGE_TOOL@" # CTest Coverage Step set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
diff --git a/Tests/CMakeTests/ProcessorCountTest.cmake.in b/Tests/CMakeTests/ProcessorCountTest.cmake.in index f92dcc4..a2595c7 100644 --- a/Tests/CMakeTests/ProcessorCountTest.cmake.in +++ b/Tests/CMakeTests/ProcessorCountTest.cmake.in
@@ -1,5 +1,8 @@ include(ProcessorCount) +set(CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL ANY) +# ProcessorCount() must tolerate execute_process() failures + ProcessorCount(processor_count) message("### 1. This line should be the first line of text in the test output.")
diff --git a/Tests/RunCMake/FASTBuild/UnityIsolate-check.cmake b/Tests/RunCMake/FASTBuild/UnityIsolate-check.cmake index f42bb1b..94ead02 100644 --- a/Tests/RunCMake/FASTBuild/UnityIsolate-check.cmake +++ b/Tests/RunCMake/FASTBuild/UnityIsolate-check.cmake
@@ -10,7 +10,7 @@ '.*some_source_file_3.cpp', '.*some_source_file_4.cpp' } - .UnityInputIsolatedFiles = + .UnityInputExcludedFiles = { '.*some_source_file_1.cpp', '.*some_source_file_4.cpp'
diff --git a/Tests/RunCMake/ctest_test/RunCMakeTest.cmake b/Tests/RunCMake/ctest_test/RunCMakeTest.cmake index 730efa8..9f014d0 100644 --- a/Tests/RunCMake/ctest_test/RunCMakeTest.cmake +++ b/Tests/RunCMake/ctest_test/RunCMakeTest.cmake
@@ -260,6 +260,15 @@ endfunction() run_environment() +# Test setting of CTEST_TEST_COVERAGE_TOOL +function(run_CTestTestCoverageTool) + set(CASE_CTEST_TEST_ARGS "COVERAGE_TOOL" "LLVM-COV") + set(CASE_TEST_PREFIX_CODE [[ unset(ENV{LLVM_PROFILE_FILE})]]) + + run_ctest(TestCTestTestCoverageTool -VV) +endfunction() +run_CTestTestCoverageTool() + # test for OUTPUT_JUNIT run_ctest_test(OutputJUnit OUTPUT_JUNIT junit.xml REPEAT UNTIL_FAIL:2)
diff --git a/Tests/RunCMake/ctest_test/TestCTestTestCoverageTool-stdout.txt b/Tests/RunCMake/ctest_test/TestCTestTestCoverageTool-stdout.txt new file mode 100644 index 0000000..768bb03 --- /dev/null +++ b/Tests/RunCMake/ctest_test/TestCTestTestCoverageTool-stdout.txt
@@ -0,0 +1,3 @@ +1: Using environment variable LLVM_PROFILE_FILE=[^ +]*/Tests/RunCMake/ctest_test/[^ +]*_%p.profraw
diff --git a/Utilities/ClangTidyModule/OstringstreamUseCmstrcatCheck.cxx b/Utilities/ClangTidyModule/OstringstreamUseCmstrcatCheck.cxx index 8265e32..801c9f6 100644 --- a/Utilities/ClangTidyModule/OstringstreamUseCmstrcatCheck.cxx +++ b/Utilities/ClangTidyModule/OstringstreamUseCmstrcatCheck.cxx
@@ -18,13 +18,10 @@ void OstringstreamUseCmstrcatCheck::registerMatchers(MatchFinder* Finder) { - Finder->addMatcher( - typeLoc(unless(elaboratedTypeLoc()), - optionally(hasParent(elaboratedTypeLoc().bind("parentType"))), - loc(qualType( - hasDeclaration(namedDecl(hasName("::std::ostringstream")))))) - .bind("ostringstream"), - this); + Finder->addMatcher(typeLoc(loc(qualType(hasDeclaration( + namedDecl(hasName("::std::ostringstream")))))) + .bind("ostringstream"), + this); } void OstringstreamUseCmstrcatCheck::check(
diff --git a/Utilities/ClangTidyModule/UseCmsysFstreamCheck.cxx b/Utilities/ClangTidyModule/UseCmsysFstreamCheck.cxx index 5f28054..cf75bfc 100644 --- a/Utilities/ClangTidyModule/UseCmsysFstreamCheck.cxx +++ b/Utilities/ClangTidyModule/UseCmsysFstreamCheck.cxx
@@ -90,8 +90,7 @@ loc(usingType(throughUsingDecl(namedDecl(hasName(CmsysName))))); Finder->addMatcher( - typeLoc(IsStd, unless(IsCmsys), unless(elaboratedTypeLoc()), - optionally(hasParent(elaboratedTypeLoc().bind("parentType"))), + typeLoc(IsStd, unless(IsCmsys), optionally(hasParent(nestedNameSpecifierLoc().bind("parentName")))) .bind(Bind), this);
diff --git a/Utilities/Sphinx/cmake.py b/Utilities/Sphinx/cmake.py index 39b2d24..27049c7 100644 --- a/Utilities/Sphinx/cmake.py +++ b/Utilities/Sphinx/cmake.py
@@ -234,6 +234,7 @@ _cmake_index_objs = { 'command': _cmake_index_entry('command'), 'cpack_gen': _cmake_index_entry('cpack generator'), + 'diagnostic': _cmake_index_entry('diagnostic'), 'envvar': _cmake_index_entry('envvar'), 'generator': _cmake_index_entry('generator'), 'genex': _cmake_index_entry('genex'), @@ -523,6 +524,79 @@ return super().run() +class CMakeDiagnosticObject(CMakeObject): + object_type = 'diagnostic' + required_arguments = 0 + optional_arguments = 0 + + DEFAULT_CHOICES = {'ignore', 'warn', 'error'} + + def default_option(argument): + return directives.choice( + argument, CMakeDiagnosticObject.DEFAULT_CHOICES) + + option_spec = { + 'default': default_option, + 'parent': directives.unchanged, + } + + def __init__(self, *args, **kwargs): + self.targetname = None + super().__init__(*args, **kwargs) + + def _preset_name(self) -> str: + sep = False + out = '' + for c in self.targetname[4:]: + if c == '_': + sep = True + elif sep: + out += c + sep = False + else: + out += c.lower() + return out + + def _build_field(self, name: str, content: str | list[Node]) -> Node: + if type(content) is not list: + content = self.parse_text_to_nodes(content) + + name_node = nodes.field_name(text=name) + body_node = nodes.field_body('', *content) + return nodes.field('', name_node, body_node) + + def _build_cli(self) -> list[Node]: + cname = self.targetname[4:].lower().replace('_', '-') + ctext = f'-W[no-][error=]{cname}' + return self.parse_text_to_nodes(f':option:`{ctext} <cmake -W>`') + + def _build_preset_refs(self) -> list[Node]: + p = self._preset_name() + w = f':preset:`warnings.{p} <configurePresets.warnings.{p}>`' + e = f':preset:`errors.{p} <configurePresets.errors.{p}>`' + return self.parse_text_to_nodes(f'{w}, {e}') + + def run(self) -> list[Node]: + self.domain, self.objtype = self.name.split(':', 1) + doc = self.state.document + self.targetname = doc.next_node(nodes.title).astext() + + default = self.options['default'].capitalize() + parent = self.options.get('parent') + + headers = nodes.field_list() + headers += self._build_field('Command Line', self._build_cli()) + headers += self._build_field('Presets', self._build_preset_refs()) + headers += self._build_field('Default', default) + + if parent: + parentRef = self.parse_text_to_nodes(f':diagnostic:`{parent}`') + headers += self._build_field('Parent', parentRef) + + content = self.parse_content_to_nodes() + return [headers] + content + + class CMakeReferenceRole: # See sphinx.util.nodes.explicit_title_re; \x00 escapes '<'. _re = re.compile(r'^(.+?)(\s*)(?<!\x00)<(.*?)>$', re.DOTALL) @@ -680,6 +754,7 @@ object_types = { 'command': ObjType('command', 'command'), 'cpack_gen': ObjType('cpack_gen', 'cpack_gen'), + 'diagnostic': ObjType('diagnostic', 'diagnostic'), 'envvar': ObjType('envvar', 'envvar'), 'generator': ObjType('generator', 'generator'), 'genex': ObjType('genex', 'genex'), @@ -700,6 +775,7 @@ directives = { 'command': CMakeObject, 'envvar': CMakeObject, + 'diagnostic': CMakeDiagnosticObject, 'genex': CMakeGenexObject, 'signature': CMakeSignatureObject, 'variable': CMakeObject, @@ -710,6 +786,7 @@ 'cref': CMakeCRefRole(), 'command': CMakeXRefRole(fix_parens=True, lowercase=True), 'cpack_gen': CMakeXRefRole(), + 'diagnostic': CMakeXRefRole(), 'envvar': CMakeXRefRole(), 'generator': CMakeXRefRole(), 'genex': CMakeXRefRole(),