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

            Bug ID: 59671
           Summary: Improper Ada behavior under -gnat2012
           Product: gcc
           Version: 4.8.2
            Status: UNCONFIRMED
          Severity: blocker
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: p-kell at live dot com

Compilation under -gnat2012 fails with this error:
"conflict of writable function parameter in construct with arbitrary order of
evaluation"

Fallback to -gnat2005, and it reports that functions can only have an "in"
parameter, which is correct for -gnat2005; however, they can be used in
-gnat2012. Removing the "out" parameter and compiling with -gnat2005 resulted
in a correct build. Immediately compiling with -gnat2012 resulted in a correct
build. I was lucky in that I didn't actually need the "out" on those
parameters. (note: an unused "out" doesn't cause problems in an of itself)

The current behavior is not following the ARM2012, which is why I've labeled
this as a "blocker". "in out" parameters on functions is one of the major
enhancements to Ada 2012.

Other compilation flags: "-O2 -gnato -gnatE -fstack-check"
Error still occurs without "-O2"

Reply via email to