summaryrefslogtreecommitdiff
path: root/test/cfi/icall/weak.c
blob: c5ec620b3fca3ac0364e0ce0313d56d5b299f4f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// Test that weak symbols stay weak.
// RUN: %clang_cfi -lm -o %t1 %s && %t1
// REQUIRES: rdar://problem/29255437

__attribute__((weak)) void does_not_exist(void);

__attribute__((noinline))
void foo(void (*p)(void)) {
  p();
}

int main(int argc, char **argv) {
  if (does_not_exist)
    foo(does_not_exist);
}