150
|
1 // RUN: %clang_cc1 %s -emit-llvm -triple x86_64-apple-darwin -fobjc-runtime=macosx-fragile-10.5 -o - | FileCheck %s
|
|
2 // Bitfield references must not touch memory outside of the enclosing
|
|
3 // struct. Radar 7639995
|
|
4 typedef signed char BOOL;
|
|
5 @protocol NSObject
|
|
6 - (id)init;
|
|
7 @end
|
|
8 @interface NSObject <NSObject> {}
|
|
9 @end
|
|
10 @interface IMAVChatParticipant : NSObject {
|
|
11 int _ardRole;
|
|
12 int _state;
|
|
13 int _avRelayStatus;
|
|
14 int _chatEndedReason;
|
|
15 int _chatError;
|
|
16 unsigned _sendingAudio:1;
|
|
17 unsigned _sendingVideo:1;
|
|
18 unsigned _sendingAuxVideo:1;
|
|
19 unsigned _audioMuted:1;
|
|
20 unsigned _videoPaused:1;
|
|
21 unsigned _networkStalled:1;
|
|
22 unsigned _isInitiator:1;
|
|
23 unsigned _isAOLInterop:1;
|
|
24 unsigned _isRecording:1;
|
|
25 unsigned _isUsingICE:1;
|
|
26 }
|
|
27 @end
|
|
28 @implementation IMAVChatParticipant
|
|
29 - (id) init {
|
|
30 self = [super init];
|
|
31 if ( self ) {
|
|
32 BOOL blah = (BOOL)1;
|
|
33 // We're expecting these three bitfield assignments will generate i8 stores.
|
|
34 _sendingAudio = (BOOL)1;
|
|
35 _isUsingICE = (BOOL)1;
|
|
36 _isUsingICE = blah;
|
|
37 // CHECK: store i8
|
|
38 // CHECK: store i8
|
|
39 // CHECK: store i8
|
|
40 }
|
|
41 return self;
|
|
42 }
|
|
43 @end
|