1a3f55b026fc24db6a4e275a8e4110d071122b99dRafael Espindola// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s 23883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// Radar 8288710: A small aggregate can be passed as an integer. Make sure 33883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// we don't get an error with "input constraint with a matching output 43883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// constraint of incompatible type!" 53883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 63883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopherstruct wrapper { 73883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher int i; 83883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher}; 93883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 103883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// CHECK: xyz 113883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopherint test(int i) { 123883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher struct wrapper w; 133883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher w.i = i; 143883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher __asm__("xyz" : "=r" (w) : "0" (w)); 153883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher return w.i; 163883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher} 17