Grab-bag of bit-field fixes:
- References to ObjC bit-field ivars are bit-field lvalues; fixes rdar://13794269, which got me started down this. - Introduce Expr::refersToBitField, switch a couple users to it where semantically important, and comment the difference between this and the existing API. - Discourage Expr::getBitField by making it a bit longer and less general-sounding. - Lock down on const_casts of bit-field gl-values until we hear back from the committee as to whether they're allowed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181252 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/AST/Expr.h 16 additions, 4 deletionsinclude/clang/AST/Expr.h
- include/clang/AST/ExprObjC.h 2 additions, 1 deletioninclude/clang/AST/ExprObjC.h
- include/clang/Basic/DiagnosticSemaKinds.td 5 additions, 1 deletioninclude/clang/Basic/DiagnosticSemaKinds.td
- lib/AST/ASTContext.cpp 1 addition, 1 deletionlib/AST/ASTContext.cpp
- lib/AST/Expr.cpp 8 additions, 3 deletionslib/AST/Expr.cpp
- lib/Sema/SemaCast.cpp 11 additions, 1 deletionlib/Sema/SemaCast.cpp
- lib/Sema/SemaChecking.cpp 2 additions, 2 deletionslib/Sema/SemaChecking.cpp
- lib/Sema/SemaExpr.cpp 1 addition, 1 deletionlib/Sema/SemaExpr.cpp
- lib/Sema/SemaInit.cpp 10 additions, 5 deletionslib/Sema/SemaInit.cpp
- lib/Sema/SemaOverload.cpp 1 addition, 1 deletionlib/Sema/SemaOverload.cpp
- test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp 23 additions, 0 deletionstest/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp
- test/CXX/expr/expr.post/expr.const.cast/p1-0x.cpp 16 additions, 1 deletiontest/CXX/expr/expr.post/expr.const.cast/p1-0x.cpp
- test/CXX/expr/expr.unary/expr.sizeof/p1.cpp 20 additions, 0 deletionstest/CXX/expr/expr.unary/expr.sizeof/p1.cpp
- test/Sema/bitfield.c 15 additions, 0 deletionstest/Sema/bitfield.c
- test/SemaObjCXX/references.mm 16 additions, 3 deletionstest/SemaObjCXX/references.mm
Loading
Please register or sign in to comment