Several macros were guarded with a check along the lines of:
#ifndef MACRO # define MACRO ... #endif
However, some of these macros are never intended to be defined by users,
so it's pointless to make this check (i.e. the first #ifndef is always
true). This commit removes those checks.
The motivation for doing this cleanup is to remove the impression that
arbitrary configurations macros can be defined by users when including
libc++ headers, which doesn't work reliably and leads to macro spaghetti.
If one needs to be able to override a knob in the config, that's fine,
but the proper way to do that is to document the macro as being a public
facing knob in the documentation, and most likely to migrate that macro
to config_site (depending on the nature of the macro).
@vitalybuka Just pinging you in case you can think of someone that might be broken by this (i.e. they would have to manually define _LIBCPP_HAS_NO_ASAN on a compiler that pretends that __has_feature(address_sanitizer) is true).