From: Robert Dewar Date: Tue, 20 May 2008 12:51:17 +0000 (+0200) Subject: sem_res.adb (Resolve_Op_Not): Warn on double negation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=09bc9ab600e7492588d6cbd9d565cf541d1480a8;p=gcc.git 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 --- 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);