The following is evaluated incorrectly with gnatprep 3.4.6
# if  not VAR_TRUE  or  VAR_TRUE  then
   ans := Good;
# else
   ans := Wrong;
# end if;

Using command:
  gnatprep -r -DVAR_TRUE=true thing.in thing.out
generates following results
--! # if  not VAR_TRUE  or  VAR_TRUE  then
--!    ans := Good;
--! # else
   ans := Wrong;
--! # end if;

An earlier version(3.3.3) of gnatprep produced correct results.


-- 
           Summary: gnatprep evaluating "not" operator at incorrect
                    precidence
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: repucul at link dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34446

Reply via email to