[ObjC] Warn on unguarded use of partial declaration
This commit adds a traversal of the AST after Sema of a function that diagnoses unguarded references to declarations that are partially available (based on availability attributes). This traversal is only done when we would otherwise emit -Wpartial-availability. This commit is part of a feature I proposed here: http://lists.llvm.org/pipermail/cfe-dev/2016-July/049851.html Differential revision: https://reviews.llvm.org/D23003 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@278826 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/AST/Stmt.h 2 additions, 0 deletionsinclude/clang/AST/Stmt.h
- include/clang/Basic/DiagnosticGroups.td 2 additions, 1 deletioninclude/clang/Basic/DiagnosticGroups.td
- include/clang/Basic/DiagnosticSemaKinds.td 16 additions, 11 deletionsinclude/clang/Basic/DiagnosticSemaKinds.td
- include/clang/Sema/ScopeInfo.h 6 additions, 1 deletioninclude/clang/Sema/ScopeInfo.h
- include/clang/Sema/Sema.h 3 additions, 0 deletionsinclude/clang/Sema/Sema.h
- lib/AST/Stmt.cpp 4 additions, 0 deletionslib/AST/Stmt.cpp
- lib/Sema/JumpDiagnostics.cpp 7 additions, 10 deletionslib/Sema/JumpDiagnostics.cpp
- lib/Sema/ScopeInfo.cpp 1 addition, 0 deletionslib/Sema/ScopeInfo.cpp
- lib/Sema/SemaDecl.cpp 3 additions, 0 deletionslib/Sema/SemaDecl.cpp
- lib/Sema/SemaDeclAttr.cpp 147 additions, 0 deletionslib/Sema/SemaDeclAttr.cpp
- lib/Sema/SemaExpr.cpp 5 additions, 5 deletionslib/Sema/SemaExpr.cpp
- lib/Sema/SemaStmt.cpp 1 addition, 1 deletionlib/Sema/SemaStmt.cpp
- test/Parser/objc-available.m 0 additions, 2 deletionstest/Parser/objc-available.m
- test/Sema/attr-availability.c 1 addition, 1 deletiontest/Sema/attr-availability.c
- test/SemaObjC/attr-availability.m 7 additions, 7 deletionstest/SemaObjC/attr-availability.m
- test/SemaObjC/property-deprecated-warning.m 10 additions, 10 deletionstest/SemaObjC/property-deprecated-warning.m
- test/SemaObjC/unguarded-availability.m 180 additions, 0 deletionstest/SemaObjC/unguarded-availability.m
Loading
Please register or sign in to comment