[Bug c++/48814] New: Incorrect scalar increment result

schaub.johannes at googlemail dot com gcc-bugzilla@gcc.gnu.org
Fri Apr 29 06:29:00 GMT 2011


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

           Summary: Incorrect scalar increment result
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: schaub.johannes@googlemail.com


The following test-case should output "2 3", but GCC outputs "1 2":

#include <stdio.h>

int arr[] = {1,2,3,4};
int count = 0;

int incr(){
 return ++count;
}

int main(){  
   arr[count++]=incr();
   printf("%d %d",count,arr[count]);    
   return 0;
}

(it may not be obvious; see
http://stackoverflow.com/questions/5827707/why-this-output/5828578#5828578 ).
Clang correctly handles this case.



More information about the Gcc-bugs mailing list