I’m curious why this causes the two compilers to produce different results
unsigned char* p = (unsigned char*)((char*)0-1);
int len = 4;
printf("%p\n",p);
if(p + len < p){
printf("p + len < p");
}else{
printf("p + len >= p");
}
My compiler: gcc 8.2.0 64-bit Release and VisualStudio2019 64-bit Release
gcc:
FFFFFFFFFFFFFFFF
p + len >= p
vs2019:
FFFFFFFFFFFFFFFF
p + len < p