aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/mv4.C
blob: ff1cc2f63f43bfe03eb0975e9bac57ecb533f92e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* Test case to check if the compiler generates an error message
   when the default version of a multiversioned function is absent
   and its pointer is taken.  */

/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-require-ifunc "" }  */
/* { dg-options "-O2" } */

int __attribute__ ((target ("sse")))
foo ()
{
  return 1;
}
int __attribute__ ((target ("popcnt")))
foo ()
{
  return 0;
}

int main ()
{
  int (*p)() = &foo; /* { dg-error "use of multiversioned function without a default" {} } */
  return (*p)();
}