1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// FIXME: Check IR rather than asm, then triple is not needed.
2651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang -Xclang -triple=%itanium_abi_triple -S -g -fverbose-asm %s -o - | FileCheck %s
3c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel// Radar 8461032
4c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel// CHECK: DW_AT_location
5c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel// CHECK-NEXT: byte 145
6c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel
7c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel// 145 is DW_OP_fbreg
8c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patelstruct s {
9c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel  int a;
10c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel  struct s *next;
11c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel};
12c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel
13c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patelint foo(struct  s *s) {
14c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel  switch (s->a) {
15c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel  case 1:
16c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel  case 2: {
17c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel    struct s *sp = s->next;
18c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel  }
19c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel    break;
20c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel  }
21c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel  return 1;
22c1cabfbdff3986724ee8c4b350a440872e6b8f00Devang Patel}
23