summaryrefslogtreecommitdiff
path: root/lib/BlocksRuntime/tests/small-struct.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/BlocksRuntime/tests/small-struct.c')
-rw-r--r--lib/BlocksRuntime/tests/small-struct.c45
1 files changed, 0 insertions, 45 deletions
diff --git a/lib/BlocksRuntime/tests/small-struct.c b/lib/BlocksRuntime/tests/small-struct.c
deleted file mode 100644
index 434f3c179..000000000
--- a/lib/BlocksRuntime/tests/small-struct.c
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-
-// -*- mode:C; c-basic-offset:4; tab-width:4; intent-tabs-mode:nil; -*-
-// CONFIG
-
-#import <stdio.h>
-#import <stdlib.h>
-#import <string.h>
-
-typedef struct {
- int a;
- int b;
-} MiniStruct;
-
-int main (int argc, const char * argv[]) {
- MiniStruct inny;
- MiniStruct outty;
- MiniStruct (^copyStruct)(MiniStruct);
-
- memset(&inny, 0xA5, sizeof(inny));
- memset(&outty, 0x2A, sizeof(outty));
-
- inny.a = 12;
- inny.b = 42;
-
- copyStruct = ^(MiniStruct aTinyStruct){ return aTinyStruct; }; // pass-by-value intrinsically copies the argument
-
- outty = copyStruct(inny);
-
- if ( &inny == &outty ) {
- printf("%s: struct wasn't copied.", argv[0]);
- exit(1);
- }
- if ( (inny.a != outty.a) || (inny.b != outty.b) ) {
- printf("%s: struct contents did not match.", argv[0]);
- exit(1);
- }
-
- printf("%s: success\n", argv[0]);
- return 0;
-}