[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / clang / test / CodeGenObjC / 2010-03-17-StructRef.m
blobce24c8da575b0450243b6c9f26c207042caa6a4d
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;
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;
43 @end