Benjamin Kramer | 7b2f93c | 2012-10-03 14:15:39 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s |
Benjamin Kramer | 72a91dd | 2012-10-03 14:21:33 +0000 | [diff] [blame^] | 2 | // REQUIRES: asserts |
Benjamin Kramer | 7b2f93c | 2012-10-03 14:15:39 +0000 | [diff] [blame] | 3 | |
| 4 | // CHECK: @a.a = internal global i8* blockaddress(@a, %A) |
Eli Friedman | f011589 | 2009-01-25 01:21:06 +0000 | [diff] [blame] | 5 | int a() { |
| 6 | A:;static void* a = &&A; |
| 7 | } |
Benjamin Kramer | 7b2f93c | 2012-10-03 14:15:39 +0000 | [diff] [blame] | 8 | |
| 9 | // PR14005 |
| 10 | // CHECK: @b.ar = internal global {{.*}} sub (i{{..}} ptrtoint (i8* blockaddress(@b, %l2) to i{{..}}), i{{..}} ptrtoint (i8* blockaddress(@b, %l1) to i{{..}})) |
| 11 | int b() { |
| 12 | static int ar = &&l2 - &&l1; |
| 13 | l1: |
| 14 | return 10; |
| 15 | l2: |
| 16 | return 11; |
| 17 | } |