/* PR tree-optimization/85063 */ | |
/* { dg-additional-options "-ftree-switch-conversion" } */ | |
#include <stdlib.h> | |
#pragma omp declare target | |
static int __attribute__((noinline)) foo (int n) | |
{ | |
switch (n & 3) | |
{ | |
case 0: return 4; | |
case 1: return 3; | |
case 2: return 2; | |
default: | |
return 1; | |
} | |
} | |
#pragma omp end declare target | |
int | |
main (void) | |
{ | |
int n[1]; | |
n[0] = 4; | |
#pragma omp target | |
{ | |
n[0] = foo (n[0]); | |
} | |
if (n[0] != 4) | |
abort (); | |
return 0; | |
} |