Replace __double_underscored type nullability qualifiers with _Uppercase_underscored
Addresses a conflict with glibc's __nonnull macro by renaming the type nullability qualifiers as follows: __nonnull -> _Nonnull __nullable -> _Nullable __null_unspecified -> _Null_unspecified This is the major part of rdar://problem/21530726, but does not yet provide the Darwin-specific behavior for the old names. llvm-svn: 240596
This commit is contained in:
@@ -647,16 +647,17 @@ const char *clang::getOperatorSpelling(OverloadedOperatorKind Operator) {
|
||||
llvm_unreachable("Invalid OverloadedOperatorKind!");
|
||||
}
|
||||
|
||||
StringRef clang::getNullabilitySpelling(NullabilityKind kind) {
|
||||
StringRef clang::getNullabilitySpelling(NullabilityKind kind,
|
||||
bool isContextSensitive) {
|
||||
switch (kind) {
|
||||
case NullabilityKind::NonNull:
|
||||
return "__nonnull";
|
||||
return isContextSensitive ? "nonnull" : "_Nonnull";
|
||||
|
||||
case NullabilityKind::Nullable:
|
||||
return "__nullable";
|
||||
return isContextSensitive ? "nullable" : "_Nullable";
|
||||
|
||||
case NullabilityKind::Unspecified:
|
||||
return "__null_unspecified";
|
||||
return isContextSensitive ? "null_unspecified" : "_Null_unspecified";
|
||||
}
|
||||
llvm_unreachable("Unknown nullability kind.");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user