Atomic.h Error in all new Projects

When upgrading to VS 2017, enums are no longer implicitly treated as integers.

You can resolve this issue by casting the Enum to an int in the evaluation.

struct alignas((int) UE4Atomic_Private::TIsSupportedSize::Value ? alignof(UE4Atomic_Private::TUnderlyingIntegerType_T) : alignof(T)) TAtomicBase_Basic

Its a lot of crap just to get a compile time constant that can be passed into a template argument.

This occurs in at least 4.19 and forward when building with VS 2017.

Its not a virus. Its Visual Studio 2017.