]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
diagnostics: convert diagnostic_t to enum class diagnostics::kind: restore build...
authorThomas Schwinge <tschwinge@baylibre.com>
Sat, 26 Jul 2025 13:31:33 +0000 (15:31 +0200)
committerThomas Schwinge <tschwinge@baylibre.com>
Sat, 26 Jul 2025 14:02:20 +0000 (16:02 +0200)
Building with GCC 5, with commit 3cc27ed5b6fb4253d3fe2139dcc6295e85372a3a
"diagnostics: convert diagnostic_t to enum class diagnostics::kind", we got:

    ../../source-gcc/gcc/diagnostics/option-classifier.cc: In member function ‘diagnostics::kind diagnostics::option_classifier::update_effective_level_from_pragmas(diagnostics::diagnostic_info*) const’:
    ../../source-gcc/gcc/diagnostics/option-classifier.cc:212:20: error: ‘kind’ is not a class, namespace, or enumeration
            if (kind != kind::unspecified)
                        ^
    make[2]: *** [Makefile:1212: diagnostics/option-classifier.o] Error 1

Resolve this similar to, for example,
commit r14-4521-g08d0f840dc7ad212ab75d094373b01cbfc004e67
"analyzer: fix build with gcc < 6".

gcc/
* diagnostics/option-classifier.cc
(update_effective_level_from_pragmas): In presence of local
variable 'kind', explicitly state 'diagnostics::' scope for 'kind'
enum.

gcc/diagnostics/option-classifier.cc

index 98316b46f1fe646430be7b6b2f32b4cd81e00f74..f98fd55943faf614150ccd5851090bb27c1b446d 100644 (file)
@@ -209,7 +209,7 @@ update_effective_level_from_pragmas (diagnostic_info *diagnostic) const
          if (opt_id == 0 || opt_id == diagnostic->m_option_id)
            {
              enum kind kind = p->kind;
-             if (kind != kind::unspecified)
+             if (kind != diagnostics::kind::unspecified)
                diagnostic->m_kind = kind;
              return kind;
            }