diff options
author | Robert Dewar <dewar@adacore.com> | 2008-05-20 14:51:17 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-05-20 14:51:17 +0200 |
commit | 09bc9ab600e7492588d6cbd9d565cf541d1480a8 (patch) | |
tree | 3acaae64e746b354a27b2162c0a3d1b8e3a75916 | |
parent | cd2fb9207ace61a867ce118129cdb4ecc0d0a8f7 (diff) | |
download | gcc-09bc9ab600e7492588d6cbd9d565cf541d1480a8.zip gcc-09bc9ab600e7492588d6cbd9d565cf541d1480a8.tar.gz gcc-09bc9ab600e7492588d6cbd9d565cf541d1480a8.tar.bz2 |
sem_res.adb (Resolve_Op_Not): Warn on double negation
2008-05-20 Robert Dewar <dewar@adacore.com>
* sem_res.adb (Resolve_Op_Not): Warn on double negation
From-SVN: r135644
-rw-r--r-- | gcc/ada/sem_res.adb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ada/sem_res.adb b/gcc/ada/sem_res.adb index 39cd895..9cc285f 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); |