summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjC/local-static-block.m
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2015-08-19 20:49:38 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2015-08-19 20:49:38 +0000
commit7747ce226051791be0a03ec106d9502e3564c1af (patch)
treeaee95454826c294c66952e75676eecd939ea4226 /clang/test/CodeGenObjC/local-static-block.m
parent39259ffc65556b2e848ff691f6611f896c0ed6aa (diff)
downloadbcm5719-llvm-7747ce226051791be0a03ec106d9502e3564c1af.tar.gz
bcm5719-llvm-7747ce226051791be0a03ec106d9502e3564c1af.zip
Internal-linkage variables with constant-evaluatable initializers do not need to be emitted. (Also reduces the set of variables that need to be eagerly deserialized when using PCH / modules.)
llvm-svn: 245497
Diffstat (limited to 'clang/test/CodeGenObjC/local-static-block.m')
-rw-r--r--clang/test/CodeGenObjC/local-static-block.m10
1 files changed, 9 insertions, 1 deletions
diff --git a/clang/test/CodeGenObjC/local-static-block.m b/clang/test/CodeGenObjC/local-static-block.m
index b55cc6af4d6..73c670f5c92 100644
--- a/clang/test/CodeGenObjC/local-static-block.m
+++ b/clang/test/CodeGenObjC/local-static-block.m
@@ -14,8 +14,13 @@ static NSArray *(^ArrayRecurs)(NSArray *addresses, unsigned long level) = ^(NSA
return (NSArray *)0;
};
+extern NSArray *address;
+extern unsigned long level;
+
void FUNC()
{
+ ArrayRecurs(address, level);
+
static NSArray *(^ArrayRecurs)(NSArray *addresses, unsigned long level) = ^(NSArray *addresses, unsigned long level) {
for(id rawAddress in addresses)
@@ -25,6 +30,7 @@ void FUNC()
}
return (NSArray *)0;
};
+ ArrayRecurs(address, level);
if (ArrayRecurs) {
static NSArray *(^ArrayRecurs)(NSArray *addresses, unsigned long level) = ^(NSArray *addresses, unsigned long level) {
@@ -36,6 +42,7 @@ void FUNC()
}
return (NSArray *)0;
};
+ ArrayRecurs(address, level);
}
}
@@ -50,8 +57,9 @@ void FUNC1()
}
return (NSArray *)0;
};
+ ArrayRecurs(address, level);
}
// CHECK-LP64: @ArrayRecurs = internal global
// CHECK-LP64: @FUNC.ArrayRecurs = internal global
-// CHECK-LP64: @FUNC.ArrayRecurs.3 = internal global
+// CHECK-LP64: @FUNC.ArrayRecurs.1 = internal global
// CHECK-LP64: @FUNC1.ArrayRecurs = internal global
OpenPOWER on IntegriCloud