/* APPLE LOCAL begin radar 4280641 */ /* { dg-do compile { target i?86-*-darwin* } } */ #include <objc/Object.h> @interface Example : Object float FLOAT; double DOUBLE; long double LONGDOUBLE; id ID; @end @implementation Example - (double) RET_DOUBLE { return DOUBLE; } - (float) RET_FLOAT { return FLOAT; } - (long double) RET_LONGDOUBLE { return LONGDOUBLE; } @end int main() { Example* pe; double dd = [pe RET_DOUBLE]; dd = [pe RET_FLOAT]; dd = [pe RET_LONGDOUBLE]; } /* { dg-final { scan-assembler "objc_msgSend_fpret" } } */ /* { dg-final { scan-assembler-not "objc_msgSend\[^_S\]" } } */ /* APPLE LOCAL end radar 4280641 */