Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / Rewriter / rewrite-modern-class.mm
blobcf2143e86463b7d625304238e9b6007f34e62156
1 // RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp
2 // RUN: %clang_cc1 -fsyntax-only -std=gnu++98 -fblocks -Wno-address-of-temporary -D"Class=void*" -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp
4 @protocol PROTO @end
6 @interface empty_root @end
8 @interface root_with_ivars
10   id ROOT_IVAR;
11   id ROOT1_IVAR;
13 @end
15 @interface MAXIMAL : root_with_ivars<PROTO>
17   double D_IVAR;
18   double D_PROPERTY;
20 - (void) V_METH;
21 @end
23 @implementation MAXIMAL
24 - (void) V_METH {}
25 @end
26 //=========================================
27 @interface empty_class @end
29 @implementation empty_class @end
30 //=========================================
31 @interface class_empty_root : empty_root @end
33 @implementation class_empty_root @end
34 //=========================================
35 @interface class_with_ivars : empty_root
37   int class_with_ivars_IVAR;
39 @end
41 @implementation class_with_ivars @end
42 //=========================================
43 @interface class_has_no_ivar : root_with_ivars @end
45 @implementation class_has_no_ivar @end
47 //============================class needs to be synthesized here=====================
48 @interface SUPER  {
49 @public
50   double divar;
51   SUPER *p_super;
53 @end
55 @interface INTF @end
57 @implementation INTF  
58 - (SUPER *) Meth : (SUPER *)arg { 
59   return arg->p_super; 
61 @end
63 @class FORM_CLASS;
64 @interface INTF_DECL  {
66 @end
68 double Meth(INTF_DECL *p, FORM_CLASS *f) {
69   return 1.34;