Retro C++ quiz #57

Given the following in C++:

#include <cstdint>
#include <limits>

int main() {
int64_t s=32;
int64_t x=std::numeric_limits<int32_t>::max();

1 << s; // A
1 + x; // B
}

Without checking, assuming LP64, which invokes undefined behavior:

A. Both
B. None
C. A
D. B

#Cplusplus
#Cpppolls

A
36.4%
B
27.3%
C
31.8%
D
4.5%
Poll ended at .
@shafik why is A not A and B not B?