My VC2017 compiler is showing this behavior, can someone explain me what is going on?:
long long testLLSigned0 = LLONG_MIN; // OK, equal to -922129006921510580
long long testLLSigned1 = -922129006921510580i64; // Error, invalid suffix i64 on integer constant
long long testLLSigned2 = -922337203685477580i64; // OK!
long long testLLSigned3 = -922337203685477580LL; // OK!
long long testLLSigned4 = -62129006921510911LL; // Error, use of undeclared identifier 62129006921510911LL
long long testLLSigned5 = -62129006921510911i64; // Error, use of undeclared identifier 62129006921510911i64
Thanks to Eljay, NathanOliver, eerorika & user1810087, I solved it.
The biggest reason the code didn't compile was due to copying the calculated values from the Windows calculator (!) into any modern editor (!). The value 62129006921510911 was copied inside the editor with invisible unicode characters! The result when pasted in vim showed us: -<202d>62129006921510911<202c>LL
Side note: use the LL syntax, the i64 syntax is specific to Microsoft and is not portable.