https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66437

            Bug ID: 66437
           Summary: False Positive warning "Variable  is not modified in
                    loop body"
           Product: gcc
           Version: 4.7.4
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tod_04 at syncorsystems dot com
  Target Milestone: ---

In Ada when calling a function in a while loop and the function takes a
parameter of mode "in out" the warning is generated that the passed variable is
not modified. Specifically given : 

    while Next_Stone(Value) loop
       null;
    end loop;
Where Next_Stone is declared as

    function Next_Stone (Value : in out Positive) return Boolean is 

Will generate the following two warnings
    warning: variable "Value" is not modified in loop body"
    warning : possible infinite loop

I would suggest that the warning should not be issued when the parameter mode
is "out" or "in out".

Reply via email to