From 09bc9ab600e7492588d6cbd9d565cf541d1480a8 Mon Sep 17 00:00:00 2001 From: Robert Dewar Date: Tue, 20 May 2008 14:51:17 +0200 Subject: [PATCH] sem_res.adb (Resolve_Op_Not): Warn on double negation 2008-05-20 Robert Dewar * sem_res.adb (Resolve_Op_Not): Warn on double negation From-SVN: r135644 --- gcc/ada/sem_res.adb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index 39cd89514fb..9cc285f1100 100644 --- a/gcc/ada/sem_res.adb +++ b/gcc/ada/sem_res.adb @@ -6975,6 +6975,19 @@ package body Sem_Res is Error_Msg_N ("?not expression should be parenthesized here!", N); end if; + -- Warn on double negation if checking redundant constructs + + if Warn_On_Redundant_Constructs + and then Comes_From_Source (N) + and then Comes_From_Source (Right_Opnd (N)) + and then Root_Type (Typ) = Standard_Boolean + and then Nkind (Right_Opnd (N)) = N_Op_Not + then + Error_Msg_N ("redundant double negation?", N); + end if; + + -- Complete resolution and evaluation of NOT + Resolve (Right_Opnd (N), B_Typ); Check_Unset_Reference (Right_Opnd (N)); Set_Etype (N, B_Typ); -- 2.30.2