--Boundary-00=_hlO9RxrC6G+vSsc Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Monday 01 of July 2013, Eli Friedman wrote: > On Sun, Jun 30, 2013 at 12:01 AM, Lubos Lunak wrote: > > Hello, > > > > could somebody please review and commit the atached patch for pr15610 > > (it needs the patch for pr15610 applied first in order to apply cleanly). > > Thank you. > > > > Testcase? Updated. -- Lubos Lunak l.lunak@suse.cz --Boundary-00=_hlO9RxrC6G+vSsc Content-Type: text/x-diff; charset="iso 8859-15"; name="pr15614.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="pr15614.patch" =46rom c6c972b397f14b261c5350cb45bd94cea6609e7d Mon Sep 17 00:00:00 2001 =46rom: =3D?UTF-8?q?Lubo=3DC5=3DA1=3D20Lu=3DC5=3D88=3DC3=3DA1k?=3D Date: Sun, 28 Jul 2013 11:32:55 +0200 Subject: [PATCH] do not emit -Wunused-macros warnings in -frewrite-includes mode (PR15614) =2Dfrewrite-includes calls PP.SetMacroExpansionOnlyInDirectives() to avoid macro expansions that are useless in that mode, but this can lead to -Wunused-macros false positives. As -frewrite-includes does not emit normal warnings, block -Wunused-macros too. =2D-- lib/Lex/PPDirectives.cpp | 3 ++- test/Frontend/rewrite-includes-warnings.c | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/Lex/PPDirectives.cpp b/lib/Lex/PPDirectives.cpp index c70019f..06f7283 100644 =2D-- a/lib/Lex/PPDirectives.cpp +++ b/lib/Lex/PPDirectives.cpp @@ -2039,7 +2039,8 @@ void Preprocessor::HandleDefineDirective(Token &Defin= eTok, // warn-because-unused-macro set. If it gets used it will be removed fro= m set. if (isInPrimaryFile() && // don't warn for include'd macros. Diags->getDiagnosticLevel(diag::pp_macro_not_used, =2D MI->getDefinitionLoc()) !=3D DiagnosticsEngine::Ignored) { + MI->getDefinitionLoc()) !=3D DiagnosticsEngine::Ignored && + !MacroExpansionInDirectivesOverride) { MI->setIsWarnIfUnused(true); WarnUnusedMacroLocs.insert(MI->getDefinitionLoc()); } diff --git a/test/Frontend/rewrite-includes-warnings.c b/test/Frontend/rewr= ite-includes-warnings.c index 1fb98db..c4f38ed 100644 =2D-- a/test/Frontend/rewrite-includes-warnings.c +++ b/test/Frontend/rewrite-includes-warnings.c @@ -1,4 +1,9 @@ =2D// RUN: %clang_cc1 -verify -Wall -Wextra -E -frewrite-includes %s +// RUN: %clang_cc1 -verify -Wall -Wextra -Wunused-macros -E -frewrite-incl= udes %s // expected-no-diagnostics =20 +// PR14831 #pragma GCC visibility push (default) + +// PR15614 +#define FOO 1 +int foo =3D FOO; =2D-=20 1.8.1.4 --Boundary-00=_hlO9RxrC6G+vSsc Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ cfe-commits mailing list cfe-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits --Boundary-00=_hlO9RxrC6G+vSsc--