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