The C standard does not prohibit the _Atomic specifier on incomplete types, which turns out to be sometimes useful.
This addresses PR37237.
Note that C++ still requires checking if the type is complete in order to support member pointers under the Microsoft ABI (because that check completes some information on the type), which is a use case we have in test\SemaCXX\atomic-type.cpp.
The (pre-existing) isScalarType() check here looks wrong to me. If we had a non-trivially-copyable scalar type (which I think do not currently exist in our type system), I think we should reject it here.