1/* Test if ObjC types play nice in conditional expressions.  */
2/* Author: Ziemowit Laski  */
3
4/* { dg-do compile } */
5/* { dg-options "-fconstant-string-class=Foo" } */
6/* { dg-options "-mno-constant-cfstrings -fconstant-string-class=Foo" { target *-*-darwin* } } */
7
8#ifdef __NEXT_RUNTIME__
9# include "../../objc-obj-c++-shared/F-NSObject.h"
10# define OBJECT NSObject
11#else
12# include <objc/Object.h>
13# define OBJECT Object
14#endif
15#include "../../objc-obj-c++-shared/objc-test-suite-types.h"
16
17@interface Foo: OBJECT {
18  char *cString;
19  unsigned int len;
20}
21+ (id)description;
22@end
23
24@interface Bar: OBJECT
25+ (Foo *) getString: (int) which;
26@end
27
28TNS_STRING_REF_T _FooClassReference;  /* Only used by NeXT.  */
29
30@implementation Bar
31+ (Foo *) getString: (int) which {
32  return which? [Foo description]: @"Hello";
33}
34@end
35