Хотя ваш x имеет тип long int, 1 нет. 1 является int, поэтому 1<<63 действительно не определено.
x
long int
1
int
1<<63
Попробуйте (static_cast<long int>(1) << 63) или 1L << 63, как предложено Wojtek.
(static_cast<long int>(1) << 63)
1L << 63