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