mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-23 21:45:46 -04:00

Normal customer devices won't be able to run these devices, we're hoping to get a public facing bot set up at some point. There will be some smaller follow-on patches. The changes to tools/lldb-server are verbose and I'm not thrilled with having to skip all of these tests manually. There are a few places where I'm making the assumption that "armv7", "armv7k", "arm64" means it's an ios device, and I need to review & clean these up with an OS check as well. (Android will show up as "arm" and "aarch64" so by pure luck they shouldn't cause problems, but it's not an assumption I want to rely on). I'll be watching the bots for the rest of today; if any problems are introduced by this patch I'll revert it - if anyone sees a problem with their bot that I don't see, please do the same. I know it's a rather large patch. One change I had to make specifically for iOS devices was that debugserver can't create files. There were several tests that launch the inferior process redirecting its output to a file, then they retrieve the file. They were not trying to test file redirection in these tests, so I rewrote those to write their output to a file directly. llvm-svn: 313932
41 lines
834 B
Objective-C
41 lines
834 B
Objective-C
#import <Foundation/Foundation.h>
|
|
#include <TargetConditionals.h>
|
|
|
|
#if TARGET_OS_IPHONE
|
|
@import CoreGraphics;
|
|
typedef CGRect NSRect;
|
|
#endif
|
|
|
|
struct things_to_sum {
|
|
int a;
|
|
int b;
|
|
int c;
|
|
};
|
|
|
|
@interface ThingSummer : NSObject {
|
|
};
|
|
-(int)sumThings:(struct things_to_sum)tts;
|
|
@end
|
|
|
|
@implementation ThingSummer
|
|
-(int)sumThings:(struct things_to_sum)tts
|
|
{
|
|
return tts.a + tts.b + tts.c;
|
|
}
|
|
@end
|
|
|
|
int main()
|
|
{
|
|
@autoreleasepool
|
|
{
|
|
ThingSummer *summer = [ThingSummer alloc];
|
|
struct things_to_sum tts = { 2, 3, 4 };
|
|
int ret = [summer sumThings:tts];
|
|
NSRect rect = {{0, 0}, {10, 20}};
|
|
// The Objective C V1 runtime won't read types from metadata so we need
|
|
// NSValue in our debug info to use it in our test.
|
|
NSValue *v = [NSValue valueWithRect:rect];
|
|
return rect.origin.x; // Set breakpoint here.
|
|
}
|
|
}
|