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.
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;
}