diff options
author | Steve Naroff <snaroff@apple.com> | 2008-07-16 18:22:22 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2008-07-16 18:22:22 +0000 |
commit | de7d0f69badc320cf22b1cafefa15e39619ba5b1 (patch) | |
tree | e306de970bb2631602938b5bdd1d569fbda87b0a /clang/lib/Sema | |
parent | a59fe95be3f12c4dc557015772a879cd1a168725 (diff) | |
download | bcm5719-llvm-de7d0f69badc320cf22b1cafefa15e39619ba5b1.tar.gz bcm5719-llvm-de7d0f69badc320cf22b1cafefa15e39619ba5b1.zip |
Two fixes:
- Make sure ObjCIvarDecl propagates the bitfield width.
- RewriteObjC::SynthesizeIvarOffsetComputation(): Avoid using the __OFFSETOF__ mumbo jumbo for bitfields (since it isn't legal C). This fixes <rdar://problem/5986079> clang ObjC rewriter: bitfields and ivar access don't mix.
llvm-svn: 53694
Diffstat (limited to 'clang/lib/Sema')
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index f4d9da60147..00c73ea765c 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -1946,7 +1946,8 @@ Sema::DeclTy *Sema::ActOnIvar(Scope *S, InvalidDecl = true; } - ObjCIvarDecl *NewID = ObjCIvarDecl::Create(Context, Loc, II, T); + ObjCIvarDecl *NewID = ObjCIvarDecl::Create(Context, Loc, II, T, + (Expr *)BitfieldWidth); ProcessDeclAttributes(NewID, D); |