to declare a static object. // rdar://
9603056
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135970
91177308-0d34-0410-b5e6-
96231b3b80d8
QualType T = NewVD->getType();
if (T->isObjCObjectType()) {
- Diag(NewVD->getLocation(), diag::err_statically_allocated_object);
+ Diag(NewVD->getLocation(), diag::err_statically_allocated_object)
+ << FixItHint::CreateInsertion(NewVD->getLocation(), "*");
return NewVD->setInvalidDecl();
}
--- /dev/null
+// Objective-C recovery
+// RUN: cp %s %t
+// RUN: %clang_cc1 -fixit -x objective-c %t || true
+// RUN: %clang_cc1 -fsyntax-only -Werror -x objective-c %t
+
+// Objective-C++ recovery
+// RUN: cp %s %t
+// RUN: %clang_cc1 -fixit -x objective-c++ %t || true
+// RUN: %clang_cc1 -fsyntax-only -Werror -x objective-c++ %t
+// rdar://9603056
+
+@interface NSArray
++ (id) arrayWithObjects;
+@end
+
+int main() {
+ NSArray pluginNames = [NSArray arrayWithObjects];
+}