From 5e7b77cefc611842a4dda7c8368c4ebc37b79ece Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Wed, 3 May 2017 11:27:34 +0000 Subject: [PATCH] Undo turning ExtBehavior into a bitfield. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This produces warnings that I can't explain in a GCC build: In file included from ../tools/clang/include/clang/Lex/LexDiagnostic.h:13:0, from /usr/local/google/home/djasper/llvm/tools/clang/lib/Lex/PTHLexer.cpp:19: ../tools/clang/include/clang/Basic/Diagnostic.h:219:34: warning: ‘clang::DiagnosticsEngine::DiagState::ExtBehavior’ is too small to hold all values of ‘enum class clang::diag::Severity’ [enabled by default] diag::Severity ExtBehavior : 4; // Map extensions to warnings or errors? ^ While I don't think this warning makes sense, I'd like to get this back to being warning-free. This only seems to trigger for "enum class". Reproducer: https://godbolt.org/g/P2ekVd git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@302012 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/Diagnostic.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/clang/Basic/Diagnostic.h b/include/clang/Basic/Diagnostic.h index 610273015c..22cded21c1 100644 --- a/include/clang/Basic/Diagnostic.h +++ b/include/clang/Basic/Diagnostic.h @@ -216,7 +216,7 @@ private: unsigned WarningsAsErrors : 1; // Treat warnings like errors. unsigned ErrorsAsFatal : 1; // Treat errors like fatal errors. unsigned SuppressSystemWarnings : 1; // Suppress warnings in system headers. - diag::Severity ExtBehavior : 4; // Map extensions to warnings or errors? + diag::Severity ExtBehavior; // Map extensions to warnings or errors? DiagState() : IgnoreAllWarnings(false), EnableAllWarnings(false), -- 2.40.0