const-label-addr.c revision 72a91dd57239346d8c915133985cd3d444fb02a6
17b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramer// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s 272a91dd57239346d8c915133985cd3d444fb02a6Benjamin Kramer// REQUIRES: asserts 37b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramer 47b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramer// CHECK: @a.a = internal global i8* blockaddress(@a, %A) 5f01158941ba4560c63150032073bb231ce38999eEli Friedmanint a() { 6f01158941ba4560c63150032073bb231ce38999eEli FriedmanA:;static void* a = &&A; 7f01158941ba4560c63150032073bb231ce38999eEli Friedman} 87b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramer 97b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramer// PR14005 107b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramer// CHECK: @b.ar = internal global {{.*}} sub (i{{..}} ptrtoint (i8* blockaddress(@b, %l2) to i{{..}}), i{{..}} ptrtoint (i8* blockaddress(@b, %l1) to i{{..}})) 117b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramerint b() { 127b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramer static int ar = &&l2 - &&l1; 137b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramerl1: 147b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramer return 10; 157b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramerl2: 167b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramer return 11; 177b2f93c8b63f59d429731aaf16d14f0cd32f98c8Benjamin Kramer} 18