forked from OSchip/llvm-project
Add a less ambiguous macro for Android version.
Android has a handful of API levels relevant to developers described here: https://developer.android.com/studio/build#module-level. `__ANDROID_API__` is too vague and confuses a lot of people. Introduce a new macro name that is explicit about which one it represents. Keep the old name around because code has been using it for a decade.
This commit is contained in:
parent
6fa06628a7
commit
0849047860
|
@ -383,8 +383,12 @@ protected:
|
|||
Triple.getEnvironmentVersion(Maj, Min, Rev);
|
||||
this->PlatformName = "android";
|
||||
this->PlatformMinVersion = VersionTuple(Maj, Min, Rev);
|
||||
if (Maj)
|
||||
Builder.defineMacro("__ANDROID_API__", Twine(Maj));
|
||||
if (Maj) {
|
||||
Builder.defineMacro("__ANDROID_MIN_SDK_VERSION__", Twine(Maj));
|
||||
// This historical but ambiguous name for the minSdkVersion macro. Keep
|
||||
// defined for compatibility.
|
||||
Builder.defineMacro("__ANDROID_API__", "__ANDROID_MIN_SDK_VERSION__");
|
||||
}
|
||||
} else {
|
||||
Builder.defineMacro("__gnu_linux__");
|
||||
}
|
||||
|
|
|
@ -1397,6 +1397,7 @@
|
|||
//
|
||||
// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix ANDROID %s
|
||||
// ANDROID-NOT:#define __ANDROID_API__
|
||||
// ANDROID-NOT:#define __ANDROID_MIN_SDK_VERSION__
|
||||
// ANDROID:#define __ANDROID__ 1
|
||||
// ANDROID-NOT:#define __gnu_linux__
|
||||
//
|
||||
|
@ -1407,7 +1408,8 @@
|
|||
// X86_64-ANDROID-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL
|
||||
//
|
||||
// RUN: %clang_cc1 -triple arm-linux-androideabi20 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix ANDROID20 %s
|
||||
// ANDROID20:#define __ANDROID_API__ 20
|
||||
// ANDROID20:#define __ANDROID_API__ __ANDROID_MIN_SDK_VERSION__
|
||||
// ANDROID20:#define __ANDROID_MIN_SDK_VERSION__ 20
|
||||
// ANDROID20:#define __ANDROID__ 1
|
||||
// ANDROID-NOT:#define __gnu_linux__
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue