[LLVMdev] Is this a bug in clang?
Joe Armstrong
joearms at gmail.com
Tue Apr 19 01:59:58 PDT 2011
Hello,
Is this a bug in clang, or a bug in my thinking?
/Joe Armstrong
/*
When I compile the following program I get different answers in clang and gcc.
$ gcc bug2.c
$ ./a.out
j = 40
$ clang bug2.c
$ ./a.out
j = 41
I think the correct answer is 41. If my understanding of C is correct
(which, or course, it might not be) the incremented value of i++ is
first made available at the next sequence point, which is after the
';' at the end of the offending statment statement.
*/
int printf(const char * format, ...);
int main()
{
int i, j;
i = 10;
j = i++ + 20 + i;
printf("j = %d\n",j);
return(0);
}
More information about the llvm-dev
mailing list