This revision was automatically updated to reflect the committed changes.
Closed by commit rL22: [Sema][ObjC] Check whether a variable has a
definition, rather than (authored by ahatanak).
Changed prior to commit:
https://reviews.llvm.org/D31673?vs=94686&id=94899#toc
Repository:
rL LLVM
rjmccall accepted this revision.
rjmccall added a comment.
This revision is now accepted and ready to land.
Thanks, LGTM.
https://reviews.llvm.org/D31673
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/l
ahatanak updated this revision to Diff 94686.
ahatanak marked an inline comment as done.
https://reviews.llvm.org/D31673
Files:
lib/Sema/SemaExprObjC.cpp
test/SemaObjCXX/arc-bridged-cast.mm
Index: test/SemaObjCXX/arc-bridged-cast.mm
==
ahatanak added inline comments.
Comment at: lib/Sema/SemaExprObjC.cpp:3358
var &&
- var->getStorageClass() == SC_Extern &&
+ !var->isThisDeclarationADefinition() &&
var->getType().isConstQualified()) {
rjmccall wrote:
> aha
rjmccall added inline comments.
Comment at: lib/Sema/SemaExprObjC.cpp:3358
var &&
- var->getStorageClass() == SC_Extern &&
+ !var->isThisDeclarationADefinition() &&
var->getType().isConstQualified()) {
ahatanak wrote:
> rjm
ahatanak updated this revision to Diff 94460.
ahatanak marked an inline comment as done.
https://reviews.llvm.org/D31673
Files:
lib/Sema/SemaExprObjC.cpp
test/SemaObjCXX/arc-bridged-cast.mm
Index: test/SemaObjCXX/arc-bridged-cast.mm
==
ahatanak added inline comments.
Comment at: lib/Sema/SemaExprObjC.cpp:3358
var &&
- var->getStorageClass() == SC_Extern &&
+ !var->isThisDeclarationADefinition() &&
var->getType().isConstQualified()) {
rjmccall wrote:
> Hmm
rjmccall added inline comments.
Comment at: lib/Sema/SemaExprObjC.cpp:3358
var &&
- var->getStorageClass() == SC_Extern &&
+ !var->isThisDeclarationADefinition() &&
var->getType().isConstQualified()) {
Hmm. Come to think o
ahatanak created this revision.
ARCCastChecker::VisitDeclRefExpr allows casting a constant pointer declared in
a header file to an ObjC pointer type. However, it rejects a cast from a
variable declared with a language linkage specification (e.g., extern "C") to
an ObjC pointer type.
According