-*- compilation -*- cd /dsk1/src/llvm-svn/llvm/tools/clang/test/ make -k PATH=$PATH:/dsk1/src/llvm-svn/llvm/Debug/bin:/dsk1/src/llvm-svn/llvm/test/Scripts find\ CodeGen Lexer Preprocessor Parser Sema Analysis Serialization\ \( -name '*.c' -or -name '*.cpp' -or -name '*.m' \)\ -print -exec ./TestRunner.sh {} \; CodeGen/writable-strings.c CodeGen/OpaqueStruct.c CodeGen/2007-11-29-ArraySizeFromInitializer.c CodeGen/mandel.c ******************** TEST 'CodeGen/mandel.c' FAILED! ******************** Command: clang -emit-llvm CodeGen/mandel.c Output: CodeGen/mandel.c:49:13: error: variable has incomplete type 'typeof(*(0 ? (typeof(0 ? (double *)0 : (void *)((((typeof((__real z) + (__imag z)))0.25) && ((typeof((__real z) + (__imag z)))0.25 - 1)))))0 : (typeof(0 ? (typeof((__real z) + (__imag z)) *)0 : (void *)(!((((typeof((__real z) + (__imag z)))0.25) && ((typeof((__real z) + (__imag z)))0.25 - 1))))))0))' if (hypot(__real__ z, __imag__ z) >= ESCAPE) ^ CodeGen/mandel.c:49:43: error: invalid operands to binary expression ('void' and 'int') if (hypot(__real__ z, __imag__ z) >= ESCAPE) ~~~~~ ^ ~~~~~~ 2 diagnostics generated. ; ModuleID = 'foo' target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" target triple = "i686-pc-linux-gnu" @accum = global { double, double } zeroinitializer ; <{ double, double }*> [#uses=0] ******************** TEST 'CodeGen/mandel.c' FAILED! ******************** CodeGen/string-literal.c CodeGen/typedef.c CodeGen/complex.c CodeGen/switch.c CodeGen/enum.c CodeGen/conditional.c CodeGen/shared-string-literals.c CodeGen/pointer-arithmetic.c CodeGen/functions.c CodeGen/dostmt.c CodeGen/staticinit.c CodeGen/func-return-member.c CodeGen/array.c CodeGen/cfstring.c CodeGen/whilestmt.c CodeGen/globalinit.c CodeGen/compound.c CodeGen/global-with-initialiser.c CodeGen/struct.c CodeGen/ocu-vector.c CodeGen/struct-x86-darwin.c CodeGen/int-to-pointer.c CodeGen/pointer-to-int.c CodeGen/conditional-gnu-ext.c CodeGen/union.c CodeGen/trunc-array-initializer.c CodeGen/cast.c Lexer/cxx0x_keyword.cpp Lexer/pragma-mark.c Lexer/badstring_in_if0.c Lexer/11-27-2007-FloatLiterals.c Lexer/escape_newline.c Lexer/block_cmt_end.c Lexer/number.c Lexer/unknown-char.c Lexer/cxx0x_keyword_as_cxx98.cpp Lexer/c90.c Lexer/constants.c Preprocessor/define_other_target.c Preprocessor/macro_expandloc.c Preprocessor/comment_save_if.c Preprocessor/macro_expand.c Preprocessor/macro_fn_disable_expand.c Preprocessor/macro_paste_spacing.c Preprocessor/cxx_or.cpp Preprocessor/macro_paste_bad.c Preprocessor/poison.c Preprocessor/macro_fn_comma_swallow.c Preprocessor/macro_paste_empty.c Preprocessor/stringize_space2.c Preprocessor/macro_paste_none.c Preprocessor/macro_fn_varargs_named.c Preprocessor/disabled-cond-diags.c Preprocessor/expr_usual_conversions.c Preprocessor/macro_expandloc2.c Preprocessor/comment_save.c Preprocessor/paste_bad.c Preprocessor/includeexpand.c Preprocessor/_Pragma-physloc.c Preprocessor/print_line_track.c Preprocessor/stringize_space.c Preprocessor/macro_fn_placemarker.c Preprocessor/macro_rescan.c Preprocessor/macro_rparen_scan2.c Preprocessor/define_target.c Preprocessor/cxx_true.cpp Preprocessor/macro_paste_hashhash.c Preprocessor/function_macro_file.c Preprocessor/macro_disable2.c Preprocessor/macro_paste_simple.c Preprocessor/macro_disable4.c Preprocessor/_Pragma-poison.c Preprocessor/output_paste_avoid.c Preprocessor/macro_defined.c Preprocessor/c99-6_10_3_4_p5.c Preprocessor/macro_rescan_varargs.c Preprocessor/c99-6_10_3_4_p7.c Preprocessor/_Pragma-dependency.c Preprocessor/cxx_not.cpp Preprocessor/cxx_and.cpp Preprocessor/c99-6_10_3_4_p9.c Preprocessor/cxx_oper_spelling.cpp Preprocessor/expr_liveness.c Preprocessor/pragma_unknown.c Preprocessor/cxx_xor.cpp Preprocessor/cxx_oper_keyword.cpp Preprocessor/macro_paste_c_block_comment.c Preprocessor/macro_arg_keyword.c Preprocessor/hash_space.c Preprocessor/comment_save_macro.c Preprocessor/_Pragma-syshdr2.c Preprocessor/includeexpand2.c Preprocessor/macro_rparen_scan.c Preprocessor/c99-6_10_3_3_p4.c Preprocessor/ifdef-recover.c Preprocessor/import_self.c Preprocessor/macro_disable.c Preprocessor/stringize_misc.c Preprocessor/macro_fn_preexpand.c Preprocessor/hash_line.c Preprocessor/poison_expansion.c Preprocessor/cxx_bitor.cpp Preprocessor/indent_macro.c Preprocessor/macro_disable3.c Preprocessor/cxx_not_eq.cpp Preprocessor/macro_paste_bcpl_comment.c Preprocessor/macro_fn_lparen_scan2.c Preprocessor/_Pragma-location.c Preprocessor/macro_space.c Preprocessor/builtin_line.c Preprocessor/macro_rescan2.c Preprocessor/c99-6_10_3_4_p6.c Preprocessor/_Pragma-syshdr.c Preprocessor/macro_fn_varargs_iso.c Preprocessor/cxx_bitand.cpp Preprocessor/macro_fn_lparen_scan.c Preprocessor/macro_paste_hard.c Preprocessor/macro_not_define.c Preprocessor/cxx_compl.cpp Parser/cxx-reference.cpp Parser/if-scope-c90.c Parser/goto-ident.c Parser/types.c Parser/char-literal-printing.c Parser/objc-messaging-1.m Parser/declarators.c Parser/objc-quirks.m Parser/typeof.c Parser/encode.m Parser/argument_qualified.c Parser/pointer-arithmetic.c Parser/if-scope-c99.c Parser/enhanced-proto-1.m Parser/argument_scope.c Parser/extension.c Parser/c-namespace.c Parser/function-decls.c Parser/builtin_types_compatible.c Parser/ocu_vector_components.c Parser/objc-try-catch-1.m Parser/expressions.c Parser/namelookup-bug-1.c Parser/namelookup-bug-2.c Parser/implicit-casts.c Parser/CompoundStmtScope.c Parser/attributes.c Parser/argument_redef.c Parser/control-scope.c Parser/statements.c Parser/cxx-casting.cpp Parser/selector-1.m Parser/builtin_classify_type.c Parser/method-prototype-1.m Parser/cxx-bool.cpp Parser/struct-recursion.c Parser/expressions.m Parser/recovery-1.c Parser/objc-type-printing.m Parser/compound_literal.c Parser/portability.c Parser/bad-control.c Parser/check_cast.c Parser/asm.c Parser/parmvardecl_conversion.c Parser/check-objc2-syntax-1.m Parser/objc-alias-printing.m Parser/promote_types_in_proto.c Parser/pointer_promotion.c Parser/cxx-extern.cpp ******************** TEST 'Parser/cxx-extern.cpp' FAILED! ******************** Command: clang -fsyntax-only Parser/cxx-extern.cpp Output: Parser/cxx-extern.cpp:19:8: error: expected identifier or '(' extern "C" int g(); ^ Parser/cxx-extern.cpp:20:8: error: expected identifier or '(' extern "C++" int h(); ^ Parser/cxx-extern.cpp:21:8: error: expected identifier or '(' extern "FORTRAN" int F(); ^ Parser/cxx-extern.cpp:24:8: error: expected identifier or '(' extern "C" { ^ 4 diagnostics generated. ******************** TEST 'Parser/cxx-extern.cpp' FAILED! ******************** Sema/array-init.c Sema/switch.c Sema/init.c Sema/carbon.c Sema/conditional.c Sema/static-type-protocol-1.m Sema/argument-checking.m Sema/static-ivar-ref-1.m Sema/address-constant.c Sema/forward-class-1.m Sema/alias-test-1.m Sema/class-proto-1.m Sema/protocol-id-test-1.m Sema/unused-expr.c Sema/protocol-id-test-3.m Sema/typedef-retain.c Sema/floating-point-compare.c Sema/typecheck-binop.c Sema/undecl-objc-h.m ******************** TEST 'Sema/undecl-objc-h.m' FAILED! ******************** Command: clang -rewrite-test Sema/undecl-objc-h.m | clang Output: In file included from :23: /usr/lib/gcc/i386-redhat-linux/4.0.2/include/objc/objc.h:145:3: error: redefinition of 'Protocol' } Protocol; ^ :7:28: error: previous definition is here typedef struct objc_object Protocol; ^ :57:185: warning: incompatible types passing 'int' to function expecting 'SEL' return ((int (*)(id, SEL, int))(void *)objc_msgSend)((id)self, sel_registerName("another:"), (sizeof(NSRec) <= 8 ? ((NSRec (*)(id, SEL, NSRec, NSRec))(void *)objc_msgSend)((id)self, sel_registerName("MainMethod::"), self->d, self->d) : ((NSRec (*)(id, SEL, NSRec, NSRec))(void *)objc_msgSend_stret)((id)self, sel_registerName("MainMethod::"), self->d, self->d)).size); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :57:312: warning: incompatible types passing 'int' to function expecting 'SEL' return ((int (*)(id, SEL, int))(void *)objc_msgSend)((id)self, sel_registerName("another:"), (sizeof(NSRec) <= 8 ? ((NSRec (*)(id, SEL, NSRec, NSRec))(void *)objc_msgSend)((id)self, sel_registerName("MainMethod::"), self->d, self->d) : ((NSRec (*)(id, SEL, NSRec, NSRec))(void *)objc_msgSend_stret)((id)self, sel_registerName("MainMethod::"), self->d, self->d)).size); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :57:66: warning: incompatible types passing 'int' to function expecting 'SEL' return ((int (*)(id, SEL, int))(void *)objc_msgSend)((id)self, sel_registerName("another:"), (sizeof(NSRec) <= 8 ? ((NSRec (*)(id, SEL, NSRec, NSRec))(void *)objc_msgSend)((id)self, sel_registerName("MainMethod::"), self->d, self->d) : ((NSRec (*)(id, SEL, NSRec, NSRec))(void *)objc_msgSend_stret)((id)self, sel_registerName("MainMethod::"), self->d, self->d)).size); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 diagnostics generated. ******************** TEST 'Sema/undecl-objc-h.m' FAILED! ******************** Sema/if-empty-body.c Sema/compare.c Sema/merge-decls.c Sema/protocol-rewrite-1.m ******************** TEST 'Sema/protocol-rewrite-1.m' FAILED! ******************** Command: clang -rewrite-test Sema/protocol-rewrite-1.m | clang Output: In file included from :23: /usr/lib/gcc/i386-redhat-linux/4.0.2/include/objc/objc.h:145:3: error: redefinition of 'Protocol' } Protocol; ^ :7:28: error: previous definition is here typedef struct objc_object Protocol; ^ :75:71: warning: incompatible types passing 'int' to function expecting 'SEL' widget = ((MyWidget *(*)(id, SEL))(void *)objc_msgSend)((id)view, sel_registerName("widget")); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ :83:99: warning: incompatible types passing 'int' to function expecting 'SEL' MyWidget *w = ((MyWidget *(*)(id, SEL, Foo *))(void *)objc_msgSend)(objc_getClass("Container"), sel_registerName("elementForView:"), (Foo *)view); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 diagnostics generated. ******************** TEST 'Sema/protocol-rewrite-1.m' FAILED! ******************** Sema/selector-1.m Sema/void_arg.c Sema/message.m Sema/check-increment.c Sema/array-constraint.c Sema/self-comparison.c Sema/implicit-int.c Sema/c89-2.c Sema/member-reference.c Sema/typedef-prototype.c Sema/metadata-test-1.m Sema/varargs.c Sema/ivar-sem-check-1.m Sema/implicit-def.c Sema/objc-comptypes-2.m ******************** TEST 'Sema/objc-comptypes-2.m' FAILED! ******************** Command: clang -fsyntax-only -verify Sema/objc-comptypes-2.m Output: Errors seen but not expected: Line 63: incomplete definition of type 'objc_selector' ******************** TEST 'Sema/objc-comptypes-2.m' FAILED! ******************** Sema/objc-comptypes-4.m Sema/i-c-e1.c Sema/objc-comptypes-6.m ******************** TEST 'Sema/objc-comptypes-6.m' FAILED! ******************** Command: clang -fsyntax-only -verify Sema/objc-comptypes-6.m Output: Errors seen but not expected: Line 63: incomplete definition of type 'objc_selector' ******************** TEST 'Sema/objc-comptypes-6.m' FAILED! ******************** Sema/for.c Sema/class-conforming-protocol-1.m Sema/method-encoding-1.m Sema/undeclared-method-1.m Sema/compound-literal.c Sema/declspec.c Sema/default.c Sema/switch-duplicate-defaults.c Sema/method-def-1.m Sema/enum.c Sema/conflicting-ivar-test-1.m Sema/DoubleMethod.m Sema/category-1.m Sema/array-declared-as-incorrect-type.c Sema/class-def-test-1.m Sema/protocol-test-1.m Sema/objc-unused.m Sema/vla.c Sema/undef-field-reference-1.m ******************** TEST 'Sema/undef-field-reference-1.m' FAILED! ******************** Command: clang -rewrite-test Sema/undef-field-reference-1.m | clang Output: In file included from Sema/undef-field-reference-1.m:3: /usr/lib/gcc/i386-redhat-linux/4.0.2/include/objc/objc.h:63:14: error: incomplete definition of type 'objc_selector' return s1->sel_id == s2->sel_id; ~~^ 1 diagnostic generated. In file included from :23: /usr/lib/gcc/i386-redhat-linux/4.0.2/include/objc/objc.h:145:3: error: redefinition of 'Protocol' } Protocol; ^ :7:28: error: previous definition is here typedef struct objc_object Protocol; ^ 2 diagnostics generated. ******************** TEST 'Sema/undef-field-reference-1.m' FAILED! ******************** Sema/undefined-protocol-type-1.m Sema/objc-string.m Sema/undef-superclass-1.m Sema/id_builtin.m Sema/invalid-objc-decls-1.m Sema/ivar-encoding-2.m Sema/va-method.m Sema/enhanced-proto-2.m Sema/implicit-cast.c Sema/stmt_exprs.c Sema/offsetof.c Sema/method-undef-category-warn-1.m Sema/rewrite-protocol-type-1.m ******************** TEST 'Sema/rewrite-protocol-type-1.m' FAILED! ******************** Command: clang -rewrite-test Sema/rewrite-protocol-type-1.m | clang Output: In file included from :23: /usr/lib/gcc/i386-redhat-linux/4.0.2/include/objc/objc.h:145:3: error: redefinition of 'Protocol' } Protocol; ^ :7:28: error: previous definition is here typedef struct objc_object Protocol; ^ 2 diagnostics generated. ******************** TEST 'Sema/rewrite-protocol-type-1.m' FAILED! ******************** Sema/class-impl-1.m Sema/builtins.c Sema/objc-legacy-implementation-1.m Sema/format-strings.c Sema/check-dup-objc-decls-1.m Sema/cxx-references.cpp Sema/alias-test-2.m Sema/protocol-id-test-2.m Sema/arg-duplicate.c Sema/objc-super-test.m ******************** TEST 'Sema/objc-super-test.m' FAILED! ******************** Command: clang -rewrite-test Sema/objc-super-test.m | clang Output: In file included from Sema/objc-super-test.m:3: /usr/lib/gcc/i386-redhat-linux/4.0.2/include/objc/objc.h:63:14: error: incomplete definition of type 'objc_selector' return s1->sel_id == s2->sel_id; ~~^ 1 diagnostic generated. In file included from :23: /usr/lib/gcc/i386-redhat-linux/4.0.2/include/objc/objc.h:145:3: error: redefinition of 'Protocol' } Protocol; ^ :7:28: error: previous definition is here typedef struct objc_object Protocol; ^ :48:144: warning: incompatible types passing 'int' to function expecting 'SEL' return ((int (*)(struct objc_super *, SEL))(void *)objc_msgSendSuper)(&(struct objc_super){ (id)(SUPER *)self, (id)objc_getClass("SUPER") }, sel_registerName("MainMethod")); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 diagnostics generated. ******************** TEST 'Sema/objc-super-test.m' FAILED! ******************** Sema/vector-assign.c Sema/incompatible-protocol-qualified-types.m Sema/method-not-defined.m Sema/static-init.c Sema/predefined-function.c Sema/vector-cast.c Sema/return-stack-addr.cpp Sema/cocoa.m Sema/ast-print.c Sema/protocol-expr-neg-1.m Sema/c89.c Sema/i-c-e2.c Sema/objc-string-concat-1.m Sema/expr-address-of.c Sema/shift.c Sema/asm.c Sema/selector-overload.m Sema/metadata-test-2.m Sema/objc-comptypes-1.m ******************** TEST 'Sema/objc-comptypes-1.m' FAILED! ******************** Command: clang -fsyntax-only -verify Sema/objc-comptypes-1.m Output: Errors seen but not expected: Line 63: incomplete definition of type 'objc_selector' ******************** TEST 'Sema/objc-comptypes-1.m' FAILED! ******************** Sema/objc-comptypes-3.m ******************** TEST 'Sema/objc-comptypes-3.m' FAILED! ******************** Command: clang -fsyntax-only -verify Sema/objc-comptypes-3.m Output: Errors seen but not expected: Line 63: incomplete definition of type 'objc_selector' ******************** TEST 'Sema/objc-comptypes-3.m' FAILED! ******************** Sema/objc-comptypes-5.m ******************** TEST 'Sema/objc-comptypes-5.m' FAILED! ******************** Command: clang -fsyntax-only -verify Sema/objc-comptypes-5.m Output: Errors seen but not expected: Line 63: incomplete definition of type 'objc_selector' ******************** TEST 'Sema/objc-comptypes-5.m' FAILED! ******************** Sema/undef-protocol-methods-1.m Sema/objc-comptypes-7.m ******************** TEST 'Sema/objc-comptypes-7.m' FAILED! ******************** Command: clang -fsyntax-only -verify Sema/objc-comptypes-7.m Output: Errors seen but not expected: Line 63: incomplete definition of type 'objc_selector' ******************** TEST 'Sema/objc-comptypes-7.m' FAILED! ******************** Sema/method-encoding-2.m Sema/rewrite-api-bug.m ******************** TEST 'Sema/rewrite-api-bug.m' FAILED! ******************** Command: clang -rewrite-test Sema/rewrite-api-bug.m Output: In file included from Sema/rewrite-api-bug.m:3: /usr/lib/gcc/i386-redhat-linux/4.0.2/include/objc/objc.h:63:14: error: incomplete definition of type 'objc_selector' return s1->sel_id == s2->sel_id; ~~^ 1 diagnostic generated. struct objc_selector; struct objc_class; #ifndef OBJC_SUPER struct objc_super { struct objc_object *o; struct objc_object *superClass; }; #define OBJC_SUPER #endif #ifndef _REWRITER_typedef_Protocol typedef struct objc_object Protocol; #define _REWRITER_typedef_Protocol #endif extern struct objc_object *objc_msgSend(struct objc_object *, struct objc_selector *, ...); extern struct objc_object *objc_msgSendSuper(struct objc_super *, struct objc_selector *, ...); extern struct objc_object *objc_msgSend_stret(struct objc_object *, struct objc_selector *, ...); extern struct objc_object *objc_msgSendSuper_stret(struct objc_super *, struct objc_selector *, ...); extern struct objc_object *objc_msgSend_fpret(struct objc_object *, struct objc_selector *, ...); extern struct objc_object *objc_getClass(const char *); extern struct objc_object *objc_getMetaClass(const char *); extern void objc_exception_throw(struct objc_object *); extern void objc_exception_try_enter(void *); extern void objc_exception_try_exit(void *); extern struct objc_object *objc_exception_extract(void *); extern int objc_exception_match(struct objc_class *, struct objc_object *, ...); extern Protocol *objc_getProtocol(const char *); #include // RUN: clang -rewrite-test %s #include #ifndef _REWRITER_typedef_MyDerived #define _REWRITER_typedef_MyDerived typedef struct MyDerived MyDerived; #endif // - (void) instanceMethod; // @end // @implementation MyDerived static void _I_MyDerived_instanceMethod(MyDerived * self, SEL _cmd){ } // @end #include struct _objc_method { SEL _cmd; char *method_types; void *_imp; }; struct _objc_method_list { struct _objc_method_list *next_method; int method_count; struct _objc_method method_list[]; }; static struct _objc_method_list _OBJC_INSTANCE_METHODS_MyDerived __attribute__ ((section ("__OBJC, __inst_meth")))= { 0, 1 ,{{(SEL)"instanceMethod", "v8@0:4", _I_MyDerived_instanceMethod} } }; struct _objc_class { struct _objc_class *isa; const char *super_class_name; char *name; long version; long info; long instance_size; struct _objc_ivar_list *ivars; struct _objc_method_list *methods; struct objc_cache *cache; struct _objc_protocol_list *protocols; const char *ivar_layout; struct _objc_class_ext *ext; }; static struct _objc_class _OBJC_METACLASS_MyDerived __attribute__ ((section ("__OBJC, __meta_class")))= { (struct _objc_class *)"MyDerived", 0, "MyDerived", 0,2, sizeof(struct _objc_class), 0, 0 ,0,0,0,0 }; static struct _objc_class _OBJC_CLASS_MyDerived __attribute__ ((section ("__OBJC, __class")))= { &_OBJC_METACLASS_MyDerived, 0, "MyDerived", 0,1,0,0, &_OBJC_INSTANCE_METHODS_MyDerived, 0 ,0,0,0 }; struct _objc_symtab { long sel_ref_cnt; SEL *refs; short cls_def_cnt; short cat_def_cnt; void *defs[1]; }; static struct _objc_symtab _OBJC_SYMBOLS __attribute__((section ("__OBJC, __symbols")))= { 0, 0, 1, 0 ,&_OBJC_CLASS_MyDerived }; struct _objc_module { long version; long size; const char *name; struct _objc_symtab *symtab; }; static struct _objc_module _OBJC_MODULES __attribute__ ((section ("__OBJC, __module_info")))= { 7, sizeof(struct _objc_module), "", &_OBJC_SYMBOLS }; ******************** TEST 'Sema/rewrite-api-bug.m' FAILED! ******************** Sema/assign.c Sema/check-dup-decl-methods-1.m Sema/id-test-3.m ******************** TEST 'Sema/id-test-3.m' FAILED! ******************** Command: clang -rewrite-test Sema/id-test-3.m | clang Output: In file included from :23: /usr/lib/gcc/i386-redhat-linux/4.0.2/include/objc/objc.h:145:3: error: redefinition of 'Protocol' } Protocol; ^ :7:28: error: previous definition is here typedef struct objc_object Protocol; ^ :41:100: warning: incompatible types passing 'int' to function expecting 'SEL' _I_INTF_IMeth(INTF * self, SEL _cmd){ return ((id (*)(id, SEL, id))(void *)objc_msgSend)((id)self, sel_registerName("Meth:"), (id)0); } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~ 3 diagnostics generated. ******************** TEST 'Sema/id-test-3.m' FAILED! ******************** Sema/protocol-expr-1.m Sema/method-def-2.m Sema/cast.c Sema/invalid-decl.c Sema/missing-string-interface.m Sema/protocol-test-2.m Sema/ivar-encoding-1.m Sema/decl-invalid.c Sema/assign-null.c Sema/usual-float.c Sema/method-undefined-warn-1.m Sema/arg-invalid.c Analysis/uninit-vals.c Analysis/dead-stores.c Analysis/conditional-op-missing-lhs.c Serialization/complex.c Serialization/stmt_exprs.c Compilation finished at Wed Jan 2 09:36:49