1 /* PR debug/82837 */
2 /* { dg-do compile } */
3 /* { dg-options "-O2 -g" } */
4 /* { dg-additional-options "-march=athlon" { target ia32 } } */
5 /* { dg-additional-options "-fPIE" { target pie } } */
6 
7 static char b[100];
8 static int *c;
9 char *e;
a(char * f,char * i)10 void a(char *f, char *i) {
11   int d = __builtin_object_size(f, 1);
12   __builtin___strcpy_chk(f, i, d);
13 }
g(void)14 void g(void) {
15   int h;
16   switch (*c) {
17   case 8:
18     e = "swapgs";
19     break;
20   case 9:
21     e = "rdtscp";
22     break;
23   default:
24     return;
25   }
26   h = __builtin_strlen(b);
27   a(b + h - 6, e);
28   c++;
29 }
30