[llvm-commits] [llvm-gcc-4.2] r58601 - in /llvm-gcc-4.2/trunk/gcc/testsuite: ./ bugs/powerpc/ g++.apple/ g++.dg/ gcc.apple/ gcc.dg/cpp/ gcc.target/i386/ gcc.target/powerpc/ gcc.target/x86_64/abi/ obj-c++.dg/ objc.dg/ objc.dg/special/

Bill Wendling isanbard at gmail.com
Mon Nov 3 00:36:00 PST 2008


Author: void
Date: Mon Nov  3 02:35:57 2008
New Revision: 58601

URL: http://llvm.org/viewvc/llvm-project?rev=58601&view=rev
Log:
Sync with Apple GCC mainline.

Added:
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/asm-block-66.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-destructors.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-duplicate-err.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-explicit-this.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-in-foreach-header.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-in_structors.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-localisglobal.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-nested-block-var.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-objectassign.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-printf-attribute-1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-sentinel-attribute.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/blocks-method-call.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/cp-block-byref-2.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/debug-inlined-section.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/eh1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/kext-weak.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/prototype.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/template.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/warn-ctors.C
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5813921.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5919583.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6187262.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6222167.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6227434.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6258941.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6286881.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6308664.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6310728.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-3.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-duplicate-err.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-in-foreach-header.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-localisglobal.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-nested-block-var.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-no-block-def.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-objectassign.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-printf-attribute-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-sentinel-attribute.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/debug-inlined-section.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/debug-inlined-section.h
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/longcall-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/no-nested-deprecated-warn.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/r6292557.c
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/cond-expr-warn.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/method-type-attribute.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-property-enumtype.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/property-missing-comma.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/syntax-error-9.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/6255801.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/6311054.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/cond-expr-warn.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-lvalue-cast-warn.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-property-enumtype.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-newmetadata-sections.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-property-typedefprotocol.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-sendsuper_msg.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/property-missing-comma.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/unimplemented-anon-category.m
Modified:
    llvm-gcc-4.2/trunk/gcc/testsuite/ChangeLog.apple
    llvm-gcc-4.2/trunk/gcc/testsuite/bugs/powerpc/gcc.xfail
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-5992047.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assigngcglobal.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assigngcivar.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assigngcstrongcast.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assignweakgc-1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assignweakgc.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assignweakgcivar.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-attributes-1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-block-property-2.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-2.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-3.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-4.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-5.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-6.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-7.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-8.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-byref-attribute.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-byref.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-codegen-1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-complicated-type.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-continuation.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-copy-destroy.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-copyconstructor.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-debug-1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-debug-2.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-dup-invoke_impl.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-enum.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-do.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-for.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-for1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-goto.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-nested-while.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-return.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-return1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-switch.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-while.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-explicit-return-type.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-global-byref-2.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-literal.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-local-stack.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-nested.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper-1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper-2.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper-3.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-nullblockisa.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-readweakgc.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-readweakgcivar.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-reference-in-method.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-unused-parameter.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-unused-warn.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/blocks-recovercpp.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/lookup-1.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/apple-longcall-2.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/apple-longcall-3.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/kext4.C
    llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/kext7.C
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4104248.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4113078.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4115609.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4167459.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4182984.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4525731-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4525731-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4603883.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/align-test-5b.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/align-test-5d.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-13.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-17.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-18.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-24.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-25.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-31.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-32.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-33.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-35.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-36.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-41.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-45.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-50.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-54.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-55.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-57.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-6.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-7.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-test-nofralloc.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-5992047.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-6116917.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcglobal.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcivar.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcstrongcast.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgc-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgc.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgcivar.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-attributes-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-block-property-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-3.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-4.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-5.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-6.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-7.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-8.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-attribute.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-codegen-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-complicated-type.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-copy-destroy.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-debug-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-debug-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-dup-invoke_impl.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-enum.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-error-global-byref.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-do.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-for.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-for1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-goto.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-nested-while.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-return.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-return1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-switch.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-while.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-explicit-return-type.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-literal.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-local-stack.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-local-static-test.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-3.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-nullblockisa.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-readweakgc.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-readweakgcivar.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-unused-parameter.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-unused-warn.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/const-cfstring-3.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-cpu-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-cpu-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-x86_32-sse3.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/dynamic-no-pic-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-att-stub-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-bitmask1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-deep-branch-predict-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-regparmandstackparm-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-ssetype-6.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-unaligned-movaps.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/opt-size-2.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/cpp/_Pragma3.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/4891561.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/reload-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/stack-prot-kernel.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/powerpc/darwin-bool-1.c
    llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/test_struct_returning.c
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/bitfield-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/bitfield-4.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-cfstring-4.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-10.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-11.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-12.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-13.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-9.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/debug-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/defs-warn-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/defs.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/layout-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/method-11.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-2.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-3.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-4.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fpret-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-2.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-4.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-8.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-section-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-section-2.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-weak-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-stret-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-visibility-hidden-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-1.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-2.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-4.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-5.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-9.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/property-neg-3.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/sync-objc-exception.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/syntax-error-7.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/template-4.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/try-catch-20.mm
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/bitfield-3.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/bitfield-5.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-cfstring-4.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-10.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-11.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-12.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-13.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-6.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/defs-warn-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/defs.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/encode-7a.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/image-info.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/layout-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/method-4.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/next-runtime-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-dir-dispatch.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-2.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-3.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-4.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fpret-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fpret-2.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-2.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-7.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-section-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-section-2.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-weak-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-visibility-hidden-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-alignment-test-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-2.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-4.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-5.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-9.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/selector-3.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/special/unclaimed-category-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/stret-2.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/symtab-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/sync-objc-exception.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/try-catch-15.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/try-catch-17.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/volatile-1.m
    llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/zero-link-2.m

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/ChangeLog.apple
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/ChangeLog.apple?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/ChangeLog.apple (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/ChangeLog.apple Mon Nov  3 02:35:57 2008
@@ -1,3 +1,629 @@
+2008-10-31  Stuart Hastings  <stuart at apple.com>
+
+	Radar 5813291
+	* gcc.apple/5813291.c: New.
+
+2008-10-31  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6175959
+	* gcc.apple/block-5992047.c: Modified
+	* gcc.apple/block-objectassign.c: Add
+	* g++.apple/block-objectassign.C: Add
+	* g++.apple/block-5992047.C: Modified
+
+2008-10-28  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6329245
+	* gcc.apple/block-nullblockisa.c: Modified
+	* gcc.apple/block-blocks-test-8.c: Modified
+	* gcc.apple/block-6116917.c: Modified
+	* g++.apple/block-nullblockisa.C: Modified
+	* g++.apple/block-blocks-test-8.C: Modified
+	* g++.apple/blocks-recovercpp.C: Modified
+
+2008-10-28  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6261630
+	* obj-c++.dg/method-type-attribute.mm: Add
+
+2008-10-27  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6231433
+	* objc.dg/cond-expr-warn.m: Add
+	* obj-c++.dg/cond-expr-warn.mm: Add
+
+2008-10-27  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6302949
+	* objc.dg/property-missing-comma.m: Add
+	* obj-c++.dg/property-missing-comma.mm: Add
+
+2008-10-24  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 6305545
+	* g++.apple/block-in_structors.C: Add
+
+2008-10-24  Stuart Hastings  <stuart at apple.com>
+
+	Radar 308664 6310728 6311054 6311100
+	* gcc.apple/6310728.c: New.
+	* gcc.apple/6308664.c: New.
+	* objc.dg/6311054.m: New.
+
+2008-10-24  Josh Conner  <jconner at apple.com>
+
+	Radar 6305331
+	* gcc.apple/longcall-2.c: New test.
+
+2008-10-22  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6310599
+	* gcc.apple/block-duplicate-err.c: Add
+	* g++.apple/block-duplicate-err.C: Add
+
+2008-10-21  Stuart Hastings  <stuart at apple.com>
+
+	Radar 6187262
+	* gcc.apple/6187262.c: New.
+
+2008-10-21  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 4746503
+	* gcc.apple/no-nested-deprecated-warn.c: Add
+
+2008-10-20  Stuart Hastings  <stuart at apple.com>
+
+	Radar 6222167
+	* gcc.apple/6222167.c: New.
+
+2008-10-20  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6255595
+	* objc.dg/objc2-newmetadata-sections.m: New
+	
+2008-10-17  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6289031
+	* gcc.apple/block-escape-do.c: Modified
+	* gcc.apple/block-escape-goto.c: Modified
+	* gcc.apple/block-escape-return.c: Modified
+	* gcc.apple/block-escape-while.c: Modified
+	* gcc.apple/block-noescape-helper.c: Modified
+	* gcc.apple/block-escape-for.c: Modified
+	* gcc.apple/block-escape-for1.c: Modified
+	* gcc.apple/block-noescape-helper-1.c: Modified
+	* gcc.apple/block-noescape-helper-2.c: Modified
+
+2008-10-15  Stuart Hastings  <stuart at apple.com>
+
+	Radar 6255801
+	* objc.dg/6255801.m: New.
+
+2008-10-16  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6276695
+	* gcc.apple/block-blocks-test-4.c: Modified
+	* gcc.apple/block-byref.c: Modified
+	* gcc.apple/block-noescape-helper-3.c: Modified
+	* gcc.apple/block-error-global-byref.c: Modified
+	* gcc.apple/block-block-property-2.c: Modified
+	* gcc.apple/block-blocks-test-5.c: Modified
+	* gcc.apple/block-escape-do.c: Modified
+	* gcc.apple/block-escape-switch.c: Modified
+	* gcc.apple/block-enum.c: Modified
+	* gcc.apple/block-assignweakgc-1.c: Modified
+	* gcc.apple/block-assigngcstrongcast.c: Modified
+	* gcc.apple/block-unused-parameter.c: Modified
+	* gcc.apple/block-blocks-test-6.c: Modified
+	* gcc.apple/block-escape-goto.c: Modified
+	* gcc.apple/block-escape-return.c: Modified
+	* gcc.apple/block-global-byref.c: Modified
+	* gcc.apple/block-byref-attribute.c: Modified
+	* gcc.apple/block-unused-warn.c: Modified
+	* gcc.apple/block-blocks-test-7.c: Modified
+	* gcc.apple/block-readweakgc.c: Modified
+	* gcc.apple/block-blocks-test-8.c: Modified
+	* gcc.apple/block-escape-while.c: Modified
+	* gcc.apple/block-codegen-1.c: Modified
+	* gcc.apple/block-assignweakgc.c: Modified
+	* gcc.apple/block-readweakgcivar.c: Modified
+	* gcc.apple/block-blocks-test-1.c: Modified
+	* gcc.apple/block-noescape-helper.c: Modified
+	* gcc.apple/block-escape-for.c: Modified
+	* gcc.apple/block-escape-nested-while.c: Modified
+	* gcc.apple/block-escape-for1.c: Modifie.c: Modified
+	* gcc.apple/block-blocks-test-2.c: Modified
+	* gcc.apple/block-noescape-helper-1.c: Modified
+	* gcc.apple/block-assigngcglobal.c: Modified
+	* gcc.apple/block-copy-destroy.c: Modified
+	* gcc.apple/block-global-byref-1.c: Modified
+	* gcc.apple/block-assigngcivar.c: Modified
+	* gcc.apple/block-blocks-test-3.c: Modified
+	* gcc.apple/block-escape-return1.c: Modified
+	* gcc.apple/block-noescape-helper-2.c: Modified
+	* gcc.apple/block-assignweakgcivar.c: Modified
+	* gcc.apple/block-dup-invoke_impl.c: Modified
+	* gcc.apple/block-global-byref-2.c: Modified
+	* g++.apple/block-byref.C: Modified
+	* g++.apple/block-noescape-helper-3.C: Modified
+	* g++.apple/block-block-property-2.C: Modified
+	* g++.apple/block-blocks-test-5.C: Modified
+	* g++.apple/block-escape-do.C: Modified
+	* g++.apple/block-escape-switch.C: Modified
+	* g++.apple/block-enum.C: Modified
+	* g++.apple/block-assignweakgc-1.C: Modified
+	* g++.apple/block-assigngcstrongcast.C: Modified
+	* g++.apple/block-unused-parameter.C: Modified
+	* g++.apple/block-blocks-test-6.C: Modified
+	* g++.apple/block-escape-goto.C: Modified
+	* g++.apple/block-escape-return.C: Modified
+	* g++.apple/block-unused-warn.C: Modified
+	* g++.apple/block-byref-attribute.C: Modified
+	* g++.apple/block-nested.C: Modified
+	* g++.apple/block-blocks-test-7.C: Modified
+	* g++.apple/block-readweakgc.C: Modified
+	* g++.apple/block-blocks-test-8.C: Modified
+	* g++.apple/block-escape-while.C: Modified
+	* g++.apple/block-codegen-1.C: Modified
+	* g++.apple/block-assignweakgc.C: Modified
+	* g++.apple/block-readweakgcivar.C: Modified
+	* g++.apple/block-blocks-test-1.C: Modified
+	* g++.apple/block-noescape-helper.C: Modified
+	* g++.apple/block-escape-for.C: Modified
+	* g++.apple/block-escape-nested-while.C: Modified
+	* g++.apple/block-escape-for1.C: Modified
+	* g++.apple/block-blocks-test-2.C: Modified
+	* g++.apple/block-noescape-helper-1.C: Modified
+	* g++.apple/block-assigngcglobal.C: Modified
+	* g++.apple/block-copy-destroy.C: Modified
+	* g++.apple/block-assigngcivar.C: Modified
+	* g++.apple/block-blocks-test-3.C: Modified
+	* g++.apple/block-escape-return1.C: Modified
+	* g++.apple/block-noescape-helper-2.C: Modified
+	* g++.apple/block-assignweakgcivar.C: Modified
+	* g++.apple/block-dup-invoke_impl.C: Modified
+	* g++.apple/block-global-byref-2.C: Modified
+	* g++.apple/block-blocks-test-4.C: Modified
+2008-10-16  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 6017984
+	* objc.dg/unimplemented-anon-category.m: Add
+
+2008-10-15  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6285794
+	* objc.dg/symtab-1-64bit.m: Modified
+
+2008-10-15  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6271728
+	* obj-c++.dg/syntax-error-7.mm: Modified
+	* obj-c++.dg/syntax-error-9.mm: Add
+
+2008-10-14  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6275956
+	* g++.apple/block-explicit-this.C: Add
+
+2008-10-14  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 6286881
+	* gcc.apple/6286881.c: New
+
+2008-10-13  Devang Patel  <dpatel at apple.com>
+
+       Radar 6184418
+       * gcc.apple/block-nested.c: Undo previous fix.
+       * gcc.apple/block-byref-block.c: Undo previous fix.
+       * gcc.apple/block-6116917.c: Undo previous fix.
+       * gcc.apple/align-test-5c.c: Undo previous fix.
+       * g++.apple/block-byref-block.c: Undo previous fix.
+       * objc-c++.dg/objc-gc-5.mm: Undo previous fix.
+       * objc.dg/objc-gc-3.m: Undo previous fix.
+
+2008-10-13  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 6255913
+	* objc.dg/objc2-protocol-1.m: Modifed
+	* objc.dg/objc2-protocol-9.m: Modifed
+	* objc.dg/objc2-protocol-2.m: Modifed
+	* objc.dg/objc2-protocol-4.m: Modifed
+	* objc.dg/objc2-protocol-5.m: Modifed
+	* obj-c++.dg/objc2-protocol-9.mm: Modifed
+	* obj-c++.dg/objc2-protocol-4.mm: Modifed
+	* obj-c++.dg/objc2-protocol-5.mm: Modifed
+	* obj-c++.dg/objc2-protocol-1.mm: Modifed
+	* obj-c++.dg/objc2-protocol-2.mm: Modifed
+	
+2008-10-10  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 5847213 - New block ABI
+
+	* gcc.apple/block-nullblockisa.c: Modified
+	* gcc.apple/block-blocks-test-8.c: Modified
+	* gcc.apple/block-6116917.c: Modified
+	* gcc.apple/block-nested-block-var.c: Modified
+	* g++.apple/block-nullblockisa.C: Modified
+	* g++.apple/block-blocks-test-8.C: Modified
+	* g++.apple/blocks-recovercpp.C: Modified
+	* g++.apple/block-nested-block-var.C: Modified
+ 
+2008-10-10  Stuart Hastings  <stuart at apple.com>
+
+	Radar 6227434
+	* gcc.apple/6227434.c: New.
+
+2008-10-10  Caroline Tice  <ctice at apple.com>a
+
+       Radar 6275985
+       * obj-c++.dg/dwarf-1.mm : Modify to expect function name
+       to be in __debug_str section.
+       * gcc.apple/debug-inlined-section.c: New testcase.
+       * gcc.apple/debug-inlined-section.h: New testcase.
+       * g++.apple/debug-inlined-section.C: New testcase.
+
+2008-10-09  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6269491
+	* objc.dg/objc-gc-lvalue-cast-warn.m: Add
+	* objc.dg/objc-gc-7.m: Modified
+	* objc.dg/objc-gc-weak-1.m: Modified
+	* objc.dg/objc-gc-1.m: Modified
+	* objc.dg/objc-gc-2.m: Modified
+	* obj-c++.dg/objc-gc-2.mm: Modified
+	* obj-c++.dg/objc-gc-weak-1.mm: Modified
+	* obj-c++.dg/objc-gc-8.mm: Modified
+	* obj-c++.dg/objc-gc-1.mm: Modified
+
+
+2008-10-09  Devang Patel  <dpatel at apple.com>
+
+       Radar 6184418
+       * gcc.target/powerpc/darwin-bool-1.c: Require ilp32.
+       * gcc.target/i386/4891561.c: Require ilp32.
+       * gcc.target/i386/stack-prot-kernel.c: Require ilp32.
+       * gcc.target/i386/reload-1.c: Require ilp32.
+       * gcc.apple/asm-block-18.c: Require ilp32.
+       * gcc.apple/align-test-5d.c: Require ilp32.
+       * gcc.apple/block-byref-block.c: Require ilp32.
+       * gcc.apple/4525731-2.c: Require ilp32.
+       * gcc.apple/asm-block-6.c: Require ilp32.
+       * gcc.apple/i386-ssetype-6.c: Require ilp32.
+       * gcc.apple/asm-block-36.c: Require ilp32.
+       * gcc.apple/asm-block-45.c: Require ilp32.
+       * gcc.apple/4182984.c: Require ilp32.
+       * gcc.apple/bswap-1.c: Require ilp32.
+       * gcc.apple/asm-block-7.c: Require ilp32.
+       * gcc.apple/asm-block-54.c: Require ilp32.
+       * gcc.apple/4603883.c: Require ilp32.
+       * gcc.apple/default-x86_32-sse3.c: Require ilp32.
+       * gcc.apple/i386-att-stub-1.c: Require ilp32.
+       * gcc.apple/asm-block-13.c: Require ilp32.
+       * gcc.apple/asm-block-55.c: Require ilp32.
+       * gcc.apple/i386-bitmask1.c: Require ilp32.
+       * gcc.apple/block-nested.c: Require ilp32.
+       * gcc.apple/asm-block-31.c: Require ilp32.
+       * gcc.apple/i386-regparmandstackparm-1.c: Require ilp32.
+       * gcc.apple/block-blocks-test-8.c: Require ilp32.
+       * gcc.apple/asm-block-32.c: Require ilp32.
+       * gcc.apple/asm-block-57.c: Require ilp32.
+       * gcc.apple/asm-block-41.c: Require ilp32.
+       * gcc.apple/asm-block-24.c: Require ilp32.
+       * gcc.apple/i386-unaligned-movaps.c: Require ilp32.
+       * gcc.apple/i386-deep-branch-predict-1.c: Require ilp32.
+       * gcc.apple/asm-block-50.c: Require ilp32.
+       * gcc.apple/asm-block-33.c: Require ilp32.
+       * gcc.apple/default-cpu-1.c: Require ilp32.
+       * gcc.apple/opt-size-2.c: Require ilp32.
+       * gcc.apple/align-test-5b.c: Require ilp32.
+       * gcc.apple/4104248.c: Require ilp32.
+       * gcc.apple/asm-block-25.c: Require ilp32.
+       * gcc.apple/4167459.c: Require ilp32.
+       * gcc.apple/const-cfstring-3.c: Require ilp32.
+       * gcc.apple/4115609.c: Require ilp32.
+       * gcc.apple/asm-block-17.c: Require ilp32.
+       * gcc.apple/default-cpu-2.c: Require ilp32.
+       * gcc.apple/align-test-5c.c: Require ilp32.
+       * gcc.apple/4113078.c: Require ilp32.
+       * gcc.apple/4525731-1.c: Require ilp32.
+       * gcc.apple/dynamic-no-pic-1.c: Require ilp32.
+       * gcc.apple/asm-test-nofralloc.c: Require ilp32.
+       * gcc.apple/block-6116917.c: Require ilp32.
+       * gcc.apple/asm-block-35.c: Require ilp32.
+       * g++.dg/kext4.C: Require ilp32.
+       * g++.dg/apple-longcall-2.C: Require ilp32.
+       * g++.dg/kext7.C: Require ilp32.
+       * g++.dg/apple-longcall-3.C: Require ilp32.
+       * objc.dg/objc-fast-4.m: Require ilp32.
+       * objc.dg/objc-dir-dispatch.m: Require ilp32.
+       * objc.dg/objc-fpret-2.m: Require ilp32.
+       * objc.dg/objc-gc-3.m: Require ilp32.
+       * objc.dg/const-str-10.m: Require ilp32.
+       * objc.dg/try-catch-17.m: Require ilp32.
+       * objc.dg/objc2-alignment-test-1.m: Require ilp32.
+       * objc.dg/const-str-11.m: Require ilp32.
+       * objc.dg/objc-visibility-hidden-1.m: Require ilp32.
+       * objc.dg/selector-3.m: Require ilp32.
+       * objc.dg/objc-gc-section-1.m: Require ilp32.
+       * objc.dg/const-str-12.m: Require ilp32.
+       * objc.dg/symtab-1.m: Require ilp32.
+       * objc.dg/objc-gc-section-2.m: Require ilp32.
+       * objc.dg/volatile-1.m: Require ilp32.
+       * objc.dg/const-str-13.m: Require ilp32.
+       * objc.dg/stubify-2.m: Require ilp32.
+       * objc.dg/special/unclaimed-category-1.m: Require ilp32.
+       * objc.dg/encode-7a.m: Require ilp32.
+       * objc.dg/layout-1.m: Require ilp32.
+       * objc.dg/bitfield-3.m: Require ilp32.
+       * objc.dg/defs-warn-1.m: Require ilp32.
+       * objc.dg/objc-fast-1.m: Require ilp32.
+       * objc.dg/stret-2.m: Require ilp32.
+       * objc.dg/zero-link-2.m: Require ilp32.
+       * objc.dg/objc-fast-2.m: Require ilp32.
+       * objc.dg/method-4.m: Require ilp32.
+       * objc.dg/sync-objc-exception.m: Require ilp32.
+       * objc.dg/next-runtime-1.m: Require ilp32.
+       * objc.dg/image-info.m: Require ilp32.
+       * objc.dg/bitfield-5.m: Require ilp32.
+       * objc.dg/objc-fast-3.m: Require ilp32.
+       * objc.dg/try-catch-15.m: Require ilp32.
+       * objc.dg/objc-fpret-1.m: Require ilp32.
+       * objc.dg/const-str-6.m: Require ilp32.
+       * objc.dg/objc-gc-2.m: Require ilp32.
+       * objc.dg/const-cfstring-4.m: Require ilp32.
+       * objc.dg/defs.m: Require ilp32.
+       * obj-c++.dg/template-4.m: Require ilp32.
+       * obj-c++.dg/defs.m: Require ilp32.
+       * obj-c++.dg/const-str-12.m: Require ilp32.
+       * obj-c++.dg/cxx-ivars-3.m: Require ilp32.
+       * obj-c++.dg/const-cfstring-4.mm: Require ilp32.
+       * obj-c++.dg/objc-fast-2.mm: Require ilp32.
+       * obj-c++.dg/layout-1.mm: Require ilp32.
+       * obj-c++.dg/const-str-13.mm: Require ilp32.
+       * obj-c++.dg/try-catch-20.mm: Require ilp32.
+       * obj-c++.dg/bitfield-1.mm: Require ilp32.
+       * obj-c++.dg/objc-fast-3.mm: Require ilp32.
+       * obj-c++.dg/debug-1.mm: Require ilp32.
+       * obj-c++.dg/const-str-9.mm: Require ilp32.
+       * obj-c++.dg/objc-fpret-1.mm: Require ilp32.
+       * obj-c++.dg/method-11.mm: Require ilp32.
+       * obj-c++.dg/objc-gc-4.mm: Require ilp32.
+       * obj-c++.dg/objc-gc-section-1.mm: Require ilp32.
+       * obj-c++.dg/objc-fast-4.mm: Require ilp32.
+       * obj-c++.dg/objc-gc-5.mm: Require ilp32.
+       * obj-c++.dg/const-str-10.mm: Require ilp32.
+       * obj-c++.dg/objc-gc-section-2.mm: Require ilp32.
+       * obj-c++.dg/objc-visibility-hidden-1.mm: Require ilp32.
+       * obj-c++.dg/objc-stret-1.mm: Require ilp32.
+       * obj-c++.dg/defs-warn-1.mm: Require ilp32.
+       * obj-c++.dg/const-str-11.mm: Require ilp32.
+       * obj-c++.dg/bitfield-4.mm: Require ilp32.
+       * obj-c++.dg/sync-objc-exception.mm: Require ilp32.
+       * obj-c++.dg/objc-fast-1.mm: Require ilp32.
+       * g++.apple/block-blocks-test-8.C: Require ilp32.
+       * g++.apple/block-byref-block.C: Require ilp32.
+
+2008-10-07  Stuart Hastings  <stuart at apple.com>
+
+	Radar 6258941
+	* gcc.apple/6258941.c: New.
+
+2008-10-06  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6268817
+	* gcc.apple/block-in-foreach-header.c: Add
+	* g++.apple/block-in-foreach-header.C: Add
+	
+2008-10-03  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6267049
+	* objc.dg/objc2-property-typedefprotocol.m: Add
+
+2008-10-03  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6264448
+	* objc.dg/objc-property-enumtype.m: Add
+	* obj-c++.dg/objc-property-enumtype.mm: Add
+
+2008-10-02  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6230656
+
+	* gcc.apple/block-no-block-def.c: Add
+
+2008-10-02  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6246527
+	* gcc.apple/block-printf-attribute-1.c: Add
+	* gcc.apple/block-sentinel-attribute.c: Add
+	* g++.apple/block-sentinel-attribute.C: Add
+	* g++.apple/block-printf-attribute-1.C: Add
+
+2008-10-02  Stuart Hastings  <stuart at apple.com>
+
+	Radar 5919583
+	* gcc.apple/5919583.c: New.
+
+2008-10-01  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6252174
+	* objc.dg/objc2-sendsuper_msg.m: Add
+
+2008-10-01  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6255671
+	* gcc.apple/block-block-property-2.c: Add
+	* g++.apple/block-block-property-2.C: Add
+
+2008-09-30  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6230297
+	* g++.apple/block-localisglobal.C: New
+	* gcc.apple/block-localisglobal.c: New
+	* gcc.apple/block-complicated-type.c: Modified
+	* gcc.apple/block-explicit-return-type.c: Modified
+	* gcc.apple/block-local-stack.c: Modified
+	* gcc.apple/block-literal.c: Modified
+	* g++.apple/block-continuation.C: Modified
+	* g++.apple/block-explicit-return-type.C: Modified
+	* g++.apple/block-literal.C: Modified
+	* g++.apple/block-local-stack.C: Modified
+	* g++.apple/block-complicated-type.C: Modified
+	* gcc.apple/block-attributes-1.c: Modified
+	* g++.apple/block-attributes-1.C: Modified
+
+
+2008-09-30  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6225809
+	* gcc.apple/block-nested-block-var.c: Add
+	* g++.apple/block-nested-block-var.C: Add
+
+2008-09-30  Stuart Hastings  <stuart at apple.com>
+
+	Radar 5919583
+	Revert 2008-09-26 patch.
+
+2008-09-30  Caroline Tice  <ctice at apple.com>
+
+      Radars 6237086 & 6237616
+      g++.apple/cp-block-byref-2.C:  Make minor fix to testcase.
+
+2008-09-30  Caroline Tice  <ctice at apple.com>
+
+      Radars 6237086 & 6237616
+      gcc.apple/block-byref-2.c:  New testcase.
+      g++.apple/cp-block-byref-2.C:  New testcase
+
+2008-09-29  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6154598
+	* g++.apple/blocks-method-call.C: Add
+
+2008-09-26  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6243400
+	* g++.apple/block-destructors.C: New
+
+2008-09-28  Caroline Tice  <ctice at apple.com>
+
+        Radar 6163705
+        * gcc.apple/block-byref-3.c:  Fix to work properly with -m64.
+
+2008-09-26  Stuart Hastings  <stuart at apple.com>
+
+	Radar 5919583
+	* gcc.apple/5919583.c: New.
+
+2008-09-26  Caroline Tice  <ctice at apple.com>
+
+        Radar 6163705
+	* gcc.apple/block-byref-3.c:  New testcase.
+
+2008-09-25  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6246965
+	* gcc.apple/block-call.c : Added more tests.
+
+2008-09-25  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6244520
+	* gcc.apple/block-nullblockisa.c: Add
+	* gcc.apple/block-blocks-test-8.c: Modified
+	* g++.apple/block-nullblockisa.C: Add
+
+2008-09-25  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6237713
+	* gcc.apple/block-attributes-1.c: New
+	* g++.apple/block-attributes-1.C: New
+
+2008-09-24  Stuart Hastings  <stuart at apple.com>
+
+	Radar 6025404
+	* gcc.apple/6025404.c: New.
+
+2008-09-24  Stuart Hastings  <stuart at apple.com>
+
+	Radar 6119849
+	* gcc.apple/6119849.c: Added return.
+
+2008-09-23  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6196572
+	* gcc.apple/block-call.c: Modified
+
+2008-09-23  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6230701
+	* gcc.apple/block-no-trampoline.c: New
+	* gcc.apple/block-implicit-byref.c: Modified
+	* g++.apple/block-no-trampoline.C: New
+
+2008-09-22  Stuart Hastings  <stuart at apple.com>
+
+	Radar 6185789
+	* g++.apple/6185789.C: New.
+
+2008-09-22  Josh Conner  <jconner at apple.com>
+
+	Radar 6204451
+	* objc.dg/6204451.m: New test.
+
+2008-09-19  Fariborz Jahanian <fjahanian at apple.com>
+
+        Radar 6230800
+	* obj-c++.dg/objc2-none-fragile-ivar-use.mm: Modified
+	* objc.dg/objc2-none-fragile-ivar-use.m: Modified
+
+2008-09-19  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 4900615
+	* objc.dg/encode-ld.m: Add
+
+2008-09-19  Fariborz Jahanian <fjahanian at apple.com>
+
+	Radar 6173152
+	* objc.dg/enhanced-proto-4.m: Modified
+	* objc.dg/newproperty-type-conv-1.m: Modified
+	* objc.dg/property-synthesize-ivar-1.m: Modified
+	* objc.dg/property-synthesize-ivar-9.m: Add
+	* objc.dg/newproperty-syntax-1.m: Modified
+	* objc.dg/newproperty-weak-attribute-3.m: Modified
+	* objc.dg/property-synthesize-ivar-2.m: Modified
+	* objc.dg/property-synthesize-ivar-3.m: Modified
+	* objc.dg/property-synthesize-ivar-4.m: Modified
+	* objc.dg/property-synthesize-ivar-32-5.m: Add
+	* objc.dg/property-synthesize-ivar-5.m: Modified
+	* objc.dg/property-synthesize-ivar-6.m: Add
+	* objc.dg/newproperty-nowarn-compound-exp.m: Modified
+	* objc.dg/newproperty-neg-ivar-check-1.m: Modified
+	* objc.dg/synthesized-unknown-ivar-warn.m: Modified
+	* objc.dg/property-synthesize-ivar-7.m: Modified
+	* obj-c++.dg/newproperty-type-conv-1.mm: Modified
+	* obj-c++.dg/property-synthesize-ivar-5.mm: Add
+	* obj-c++.dg/property-synthesize-ivar-32-5.mm: Add
+	* obj-c++.dg/newproperty-syntax-1.mm: Modified
+	* obj-c++.dg/property-synthesize-ivar-6.mm: Add
+	* obj-c++.dg/property-synthesize-ivar-1.mm: Modified
+	* obj-c++.dg/newproperty-weak-attribute-3.mm: Modified
+	* obj-c++.dg/property-synthesize-ivar-7.mm: Modified
+	* obj-c++.dg/enhanced-proto-4.mm: Modified
+	* obj-c++.dg/newproperty-nowarn-compound-exp.mm: Modified
+	* obj-c++.dg/property-synthesize-ivar-2.mm: Modified
+	* obj-c++.dg/newproperty-neg-ivar-check-1.mm: Modified
+	* obj-c++.dg/property-synthesize-ivar-8.mm: Add
+	* obj-c++.dg/property-synthesize-ivar-3.mm: Modified
+	* obj-c++.dg/property-synthesize-ivar-10.mm: Add
+	* obj-c++.dg/property-synthesize-ivar-9.mm: Add
+	* objc.dg/property-synthesize-ivar-8.m: Add
+	* obj-c++.dg/property-synthesize-ivar-4.mm: Modified
+
+2008-09-19  Stuart Hastings  <stuart at apple.com>
+
+	Radar 6119849
+	* gcc.apple/6119849.c: New.
+
 2008-09-16  Fariborz Jahanian <fjahanian at apple.com>
 
 	Radar 6214617

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/bugs/powerpc/gcc.xfail
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/bugs/powerpc/gcc.xfail?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/bugs/powerpc/gcc.xfail (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/bugs/powerpc/gcc.xfail Mon Nov  3 02:35:57 2008
@@ -12,6 +12,24 @@
 ###------------------------------------------------------------------
 5066141: gcc.dg/pr30643.c scan-assembler-not undefined
 5951276: gcc.target/i386/20020616-1.c execution test
+# temporary failures due to new linker messages
+6312070: gcc.dg/compat/scalar-by-value-1 c_compat_x_tst.o-c_compat_y_tst.o link
+6312070: gcc.dg/compat/scalar-by-value-3 c_compat_x_tst.o-c_compat_y_tst.o link
+6312070: gcc.dg/darwin-ld-1.c (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-float80-timode.c  -O0  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-float80-timode.c  -O1  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-float80-timode.c  -O2  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-float80-timode.c  -O3 -fomit-frame-pointer  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-float80-timode.c  -O3 -g  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-float80-timode.c  -Os  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-float80-timode.c  -fast  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-timode.c  -O0  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-timode.c  -O1  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-timode.c  -O2  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-timode.c  -O3 -fomit-frame-pointer  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-timode.c  -O3 -g  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-timode.c  -Os  (test for excess errors)
+6312070: gcc.dg/torture/fp-int-convert-timode.c  -fast  (test for excess errors)
 #
 # ppc only
 3906375: gcc.dg/debug/debug-1.c -gstabs -fast scan-assembler xyzzy
@@ -27,6 +45,40 @@
 4875164: gcc.dg/vect/section-anchors-vect-69.c (test for excess errors)
 4875164: gcc.dg/vect/section-anchors-vect-69.c scan-tree-dump-times Alignment of access forced using peeling 4
 4875176: gcc.target/powerpc/stabs-attrib-vect-darwin.c scan-assembler .stabs.*vi:\\(0,[0-9]+\\)=@V
+6186620: gcc.dg/builtins-18.c (test for excess errors)
+6186620: gcc.dg/builtins-20.c (test for excess errors)
+6186620: gcc.dg/builtins-55.c (test for excess errors)
+6186620: gcc.dg/darwin-minversion-2.c (test for excess errors)
+6186620: gcc.dg/darwin64-abi.c (test for excess errors)
+6186620: gcc.dg/single-precision-constant.c (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-1.c  -O0  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-1.c  -O1  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-1.c  -O2  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-1.c  -O3 -fomit-frame-pointer  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-1.c  -O3 -g  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-1.c  -Os  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-1.c  -fast  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-2.c  -O0  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-2.c  -O1  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-2.c  -O2  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-2.c  -O3 -fomit-frame-pointer  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-2.c  -O3 -g  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-2.c  -Os  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-2.c  -fast  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-3.c  -O0  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-3.c  -O1  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-3.c  -O2  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-3.c  -O3 -fomit-frame-pointer  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-3.c  -O3 -g  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-3.c  -Os  (test for excess errors)
+6186620: gcc.dg/torture/builtin-convert-3.c  -fast  (test for excess errors)
+6186620: gcc.dg/torture/builtin-power-1.c  -O0  (test for excess errors)
+6186620: gcc.dg/torture/builtin-power-1.c  -O1  (test for excess errors)
+6186620: gcc.dg/torture/builtin-power-1.c  -O2  (test for excess errors)
+6186620: gcc.dg/torture/builtin-power-1.c  -O3 -fomit-frame-pointer  (test for excess errors)
+6186620: gcc.dg/torture/builtin-power-1.c  -O3 -g  (test for excess errors)
+6186620: gcc.dg/torture/builtin-power-1.c  -Os  (test for excess errors)
+6186620: gcc.dg/torture/builtin-power-1.c  -fast  (test for excess errors)
 #
 # x86 only
 4874504: gcc.dg/tree-ssa/gen-vect-11b.c scan-tree-dump-times vectorized 0 loops 1

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/asm-block-66.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/asm-block-66.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/asm-block-66.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/asm-block-66.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,8 @@
+/* APPLE LOCAL file CW asm blocks 6276214 */
+/* { dg-do compile { target i?86*-*-darwin* } } */
+/* { dg-options { -fasm-blocks } } */
+/* Radar 6276214 */
+
+void foo () {
+  asm test esi, 24 ; 11000b
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-5992047.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-5992047.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-5992047.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-5992047.C Mon Nov  3 02:35:57 2008
@@ -1,11 +1,11 @@
-/* APPLE LOCAL file radar 5992047 */
+/* APPLE LOCAL file radar 5992047 - radar 6175959 */
 /* Check that with a previous declaration of _Block_destroy, test case
    compiles with no error or ICE. */
 /* { dg-options "-fblocks" } */
 /* { dg-do compile { target *-*-darwin* } } */
 
 #define Block_destroy(xxx) _Block_destroy((const void *)(xxx))
-void _Block_destroy(const void *aBlock);
+void _Block_destroy(const void *aBlock, int);
 
 typedef struct dispatch_item_s *dispatch_item_t;
 typedef void (^completion_block_t)(void);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assigngcglobal.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-assigngcglobal.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assigngcglobal.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assigngcglobal.C Mon Nov  3 02:35:57 2008
@@ -31,7 +31,7 @@
 
 
 int main(char *argc, char *argv[]) {
-  __byref int i = 0;
+  __block int i = 0;
    // assigning a Block into a global should elicit a global write-barrier under GC
    GlobalVoidVoid = ^ { ++i; };
    return GlobalInt - 1;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assigngcivar.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-assigngcivar.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assigngcivar.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assigngcivar.C Mon Nov  3 02:35:57 2008
@@ -48,7 +48,7 @@
 
 
 int main(char *argc, char *argv[]) {
-  __byref int i = 0;
+  __block int i = 0;
   TestObject *to = [[TestObject alloc] init];
   // assigning a Block into an ivar should elicit a  write-barrier under GC
   to->ivarBlock =  ^ { ++i; };		// fails to gen write-barrier

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assigngcstrongcast.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-assigngcstrongcast.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assigngcstrongcast.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assigngcstrongcast.C Mon Nov  3 02:35:57 2008
@@ -38,7 +38,7 @@
 
 int main(char *argc, char *argv[]) {
    StructWithBlock_t *swbp = (StructWithBlock_t *)malloc(sizeof(StructWithBlock_t*));
-   __byref int i = 10;
+   __block int i = 10;
    // assigning a Block into an struct slot should elicit a write-barrier under GC
    swbp->ivarBlock = ^ { ++i; };
    return GlobalInt - 1;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assignweakgc-1.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-assignweakgc-1.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assignweakgc-1.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assignweakgc-1.C Mon Nov  3 02:35:57 2008
@@ -28,7 +28,7 @@
 
 int main(char *argc, char *argv[]) {
     // an object should not be retained within a stack Block
-  __byref int i = 0;
+  __block int i = 0;
   void (^local)(void);
   Henry = ^ { ++i; return &i; };
   if (GlobalInt == 1) {

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assignweakgc.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-assignweakgc.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assignweakgc.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assignweakgc.C Mon Nov  3 02:35:57 2008
@@ -28,7 +28,7 @@
 
 int main(char *argc, char *argv[]) {
   // an object should not be retained within a stack Block
-  __byref int i = 0;
+  __block int i = 0;
   void (^local)(void);
   Henry = ^ { ++i; };
   if (GlobalInt == 1) {

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assignweakgcivar.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-assignweakgcivar.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assignweakgcivar.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-assignweakgcivar.C Mon Nov  3 02:35:57 2008
@@ -36,7 +36,7 @@
 
 int main(char *argc, char *argv[]) {
   // an object should not be retained within a stack Block
-  __byref int i = 0;
+  __block int i = 0;
   void (^local)(void);
   Foo *foo = [[Foo alloc] init];
   foo->ivar = ^ { ++i; };

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-attributes-1.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-attributes-1.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-attributes-1.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-attributes-1.C Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file radar 6237713 */
+/* APPLE LOCAL file radar 6237713 - modified for radar 6230297 */
 /* Test for using attributes on blocks. */
 /* { dg-options "-mmacosx-version-min=10.5 -fblocks" { target *-*-darwin* } } */
 /* { dg-do compile } */
@@ -11,10 +11,10 @@
 {
        void (^a)(void) __attribute__((noreturn)) = ^ (void) __attribute__((noreturn)) { exit (0); }; // OK;
 
-	^ (int i) __attribute__((noreturn)) { return i; }; /* { dg-warning "function declared \\'noreturn\\' has a \\'return\\' statement" } */
+	int (^b)(int) __attribute__((noreturn)) = ^ (int i) __attribute__((noreturn)) { return i; }; /* { dg-warning "function declared \\'noreturn\\' has a \\'return\\' statement" } */
 							   /* { dg-warning "\\'noreturn\\' function does return" "" { target *-*-* } 14 } */
 
-	^ __attribute__((noreturn)) { return 100; }; /* { dg-warning "function declared \\'noreturn\\' has a \\'return\\' statement" } */
+	int (^c)(void) __attribute__((noreturn)) = ^ __attribute__((noreturn)) { return 100; }; /* { dg-warning "function declared \\'noreturn\\' has a \\'return\\' statement" } */
 						     /* { dg-warning "\\'noreturn\\' function does return" "" { target *-*-* } 17 } */
 
 	a = ^ (void) __attribute__((noreturn)) { exit (0); }; // OK

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-block-property-2.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-block-property-2.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-block-property-2.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-block-property-2.C Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file radar 5831920 */
+/* APPLE LOCAL file radar 5831920 - Modified for radar 6255671 */
 #import <Foundation/Foundation.h>
 /* Test a property with block type. */
 /* { dg-do run } */
@@ -15,8 +15,8 @@
 int (^getIntRetain)(void);
 
 }
- at property int (^getIntCopy)(void);
- at property int (^getIntRetain)(void);
+ at property (assign) int (^getIntCopy)(void);
+ at property (assign) int (^getIntRetain)(void);
 @end
 
 @implementation TestObject
@@ -34,7 +34,7 @@
 
 int main(char *argc, char *argv[]) {
   int count;
-  __byref int val = 0;
+  __block int val = 0;
   TestObject *to = [[TestObject alloc] init];
   to.getIntRetain = ^ { printf("\n Hello(%d)\n", val); return ++val; };
   to.getIntCopy = to.getIntRetain;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-1.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-blocks-test-1.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-1.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-1.C Mon Nov  3 02:35:57 2008
@@ -2,14 +2,14 @@
 /* { dg-options "-fblocks" } */
 /* { dg-do compile } */
 
-__byref  int X; /* { dg-warning "__byref attribute is only allowed on local variables - ignored" } */
+__block  int X; /* { dg-warning "__block attribute is only allowed on local variables - ignored" } */
 
-int foo(__byref int param) { /* { dg-warning "byref attribute can be specified on variables only - ignored" } */
-  __byref int OK = 1;
+int foo(__block int param) { /* { dg-warning "__block attribute can be specified on variables only - ignored" } */
+  __block int OK = 1;
 
-  extern __byref double extern_var;	/* { dg-warning "__byref attribute is only allowed on local variables - ignored" } */
+  extern __block double extern_var;	/* { dg-warning "__block attribute is only allowed on local variables - ignored" } */
   if (X) {
-	static __byref char * pch;	/* { dg-warning "__byref attribute is only allowed on local variables - ignored" } */	
+	static __block char * pch;	/* { dg-warning "__block attribute is only allowed on local variables - ignored" } */	
   }
   return OK - 1;
 }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-2.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-blocks-test-2.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-2.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-2.C Mon Nov  3 02:35:57 2008
@@ -6,8 +6,8 @@
 #include <stdio.h>
 
 int main() {
-   __byref  int X = 1234;
-   __byref  const char * message = "HELLO";
+   __block  int X = 1234;
+   __block  const char * message = "HELLO";
 
    X = X - 1234;
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-3.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-blocks-test-3.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-3.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-3.C Mon Nov  3 02:35:57 2008
@@ -6,8 +6,8 @@
 #include <stdio.h>
 
 int main() {
-   __byref  int X = 1234;
-   __byref  const char * message = "HELLO\n";
+   __block  int X = 1234;
+   __block  const char * message = "HELLO\n";
 
    X = X - 1234;
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-4.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-blocks-test-4.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-4.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-4.C Mon Nov  3 02:35:57 2008
@@ -10,7 +10,7 @@
 };
 
 int main() {
-   __byref  int X = 1234;
+   __block  int X = 1234;
 
    int (^CP)(void) = ^{ X = X+1;  return X; }; 
    CP();

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-5.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-blocks-test-5.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-5.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-5.C Mon Nov  3 02:35:57 2008
@@ -17,8 +17,8 @@
 
 int main() {
   int x = 1;
-  __byref int y = 2;
-  __byref int br_x;
+  __block int y = 2;
+  __block int br_x;
   int y1;
   double res = test(^(int z){ y = x+z; return (double)x; }); 
   printf("result = %f  x = %d y = %d\n", res, x, y);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-6.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-blocks-test-6.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-6.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-6.C Mon Nov  3 02:35:57 2008
@@ -16,8 +16,8 @@
 }
 
 int main() {
-  __byref int x = 1;
-  __byref int y = 2;
+  __block int x = 1;
+  __block int y = 2;
   double res = test(^(int z){ y = x+z; return (double)x; }); 
   printf("result = %f  x = %d y = %d\n", res, x, y);
   if (x != 1 || y != 43)

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-7.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-blocks-test-7.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-7.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-7.C Mon Nov  3 02:35:57 2008
@@ -12,27 +12,27 @@
 int i;
 
 int foo() {
-   __byref  id FFFFFF;
-   __byref  id Q;
+   __block  id FFFFFF;
+   __block  id Q;
    ^{ FFFFFF = 0; }; 
 
    if (i)
    {
-     __byref  id FFFFFF;
-     __byref  id Q;
+     __block  id FFFFFF;
+     __block  id Q;
      ^{ FFFFFF = 0; }; 
    }
 }
 
 int main() {
-   __byref  id X;
-   __byref  id X1;
+   __block  id X;
+   __block  id X1;
    ^{  X = 0; }; 
 
    if (i)
    {
-     __byref  id X;
-     __byref  id X1;
+     __block  id X;
+     __block  id X1;
      ^{ X = 0; }; 
    }
    return 0;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-8.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-blocks-test-8.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-8.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-blocks-test-8.C Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* Test the __byreg runtime features. */
 /* { dg-options "-mmacosx-version-min=10.5 -ObjC++ -framework Foundation" { target i?86-*-darwin*  } } */
 /* { dg-do run { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/Object.h>
 #import <Foundation/Foundation.h>
@@ -48,17 +48,28 @@
     BLOCK_IS_GC =             (1 << 27),
 };
 
+/* APPLE LOCAL begin radar 5847213 - radar 6329245 */
 struct Block_basic {
-    void *isa;
-    int Block_flags;  // int32_t
-    int Block_size; // XXX should be packed into Block_flags
+    void *isa; // initialized to &_NSConcreteStackBlock or &_NSConcreteGlobalBlock
+    int Block_flags;
+    int reserved;
     void (*Block_invoke)(void *);
-    void (*Block_copy)(void *dst, void *src);
-    void (*Block_dispose)(void *);
-    //long params[0];  // generic space for const & byref hidden params, return value, variable on needs of course
+
+    struct Block_descriptor_1 {
+        unsigned long int reserved;     // NULL
+        unsigned long int Block_size;  // sizeof(struct Block_literal_1)
+
+        // optional helper functions
+        void (*Block_copy)(void *dst, void *src);
+        void (*Block_dispose)(void *src);
+    } *descriptor;
+
+    // imported variables
 };
+/* APPLE LOCAL end radar 5847213 - radar 6329245 */
+
 struct Block_byref {
-    //long reserved;
+    void* isa;
     struct Block_byref *forwarding;
     int flags;//refcount;
     int size;
@@ -89,7 +100,7 @@
 }
 
 int main(int argc, char *argv[]) {
-    id __byref dumbo = newDumbObject(); //[DumbObject new];
+    id __block dumbo = newDumbObject(); //[DumbObject new];
     void (^dummy)(void) = ^{ 
         [dumbo self];
     };
@@ -101,8 +112,8 @@
     }
 
     char result[200];
-    printf("calling out to copy support helper at %p\n", aBlock->Block_copy);
-    (*aBlock->Block_copy)(result, aBlock); // do fixup
+    printf("calling out to copy support helper at %p\n", aBlock->descriptor->Block_copy);
+    (*aBlock->descriptor->Block_copy)(result, aBlock); // do fixup
 
     // The copy/destroy helper should have had a callout  to _Block_byref_assign_copy for its byref block
     if (! ByrefAssignCopy) {
@@ -116,7 +127,7 @@
         return 1;
     }
 
-    (*aBlock->Block_dispose)(aBlock);
+    (*aBlock->descriptor->Block_dispose)(aBlock);
 
     return 0;
 }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-byref-attribute.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-byref-attribute.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-byref-attribute.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-byref-attribute.C Mon Nov  3 02:35:57 2008
@@ -1,11 +1,11 @@
 /* APPLE LOCAL file radar 6096219 */
-/* Test that __byref attribute can be used directly. */
+/* Test that __block attribute can be used directly. */
 /* { dg-options "-mmacosx-version-min=10.5 -fblocks" { target *-*-darwin* } } */
 /* { dg-do compile } */
 
 int main()
 {
-        __byref int JJJJ;
+        __block int JJJJ;
 	__attribute__((__blocks__(byref))) int III;
 
 	int (^XXX)(void) = ^{ return III+JJJJ; };

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-byref.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-byref.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-byref.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-byref.C Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* { dg-options "-fblocks" } */
 
 int main() {
-	__byref int x, y;
+	__block int x, y;
 	^{ };
 
 	^{ int r; return x+y+r; }; 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-codegen-1.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-codegen-1.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-codegen-1.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-codegen-1.C Mon Nov  3 02:35:57 2008
@@ -18,8 +18,8 @@
 }
 
 int main() {
-  __byref int x = 1;
-  __byref int y = 2;
+  __block int x = 1;
+  __block int y = 2;
   double res = test(^(int z){ y = x+z; return (double)x; }); 
   printf("result = %f  x = %d y = %d\n", res, x, y);
   if (x != 1 || y != 43)

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-complicated-type.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-complicated-type.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-complicated-type.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-complicated-type.C Mon Nov  3 02:35:57 2008
@@ -15,6 +15,8 @@
 int (^(^block)(double x))(char, short);
 
 void foo() {
-   block = ^(double x){ return ^(char c, short y) { return (int)c + y; };}; /* { dg-error "returning block that lives on the local stack" } */
+   int one = 1;
+   /* APPLE LOCAL radar 6230297 */
+   block = ^(double x){ return ^(char c, short y) { return one + (int)c + y; };}; /* { dg-error "returning block that lives on the local stack" } */
 }
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-continuation.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-continuation.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-continuation.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-continuation.C Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file radar 5732232 - blocks */
+/* APPLE LOCAL file radar 5732232 - radar 6230297 - blocks */
 /* Modified for radar 6169527 */
 /* { dg-do compile } */
 /* { dg-options "-fblocks" } */
@@ -6,12 +6,13 @@
 void takeblock (void (^)());
 
 int main() {
+  int one = 1;
   while (1) {
     takeblock(^{
 	break;		/* { dg-error "break statement not within loop or switch" } */
-	while (1) break;/* ok */
+	while (one) break;/* ok */
 	goto label1;	/* { dg-error "goto not allowed in block literal" } */
-			/* { dg-error "label" "" { target *-*-* } 13 } */
+			/* { dg-error "label" "" { target *-*-* } 14 } */
       });	/* { dg-error "enters" } */
   label1:	/* { dg-error "jump to label" } */
     break; /* OK */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-copy-destroy.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-copy-destroy.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-copy-destroy.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-copy-destroy.C Mon Nov  3 02:35:57 2008
@@ -12,7 +12,7 @@
 @implementation Root
 
 - (void)example {
- __byref int y, x;
+ __block int y, x;
  NSAutoreleasePool *pool = [NSAutoreleasePool new];
  NSAutoreleasePool *relpool = [NSAutoreleasePool new];
  bar(^(int z){ y = x+z;  [pool drain]; if (y) y++; [relpool release]; return y+2.0; }); 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-copyconstructor.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-copyconstructor.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-copyconstructor.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-copyconstructor.C Mon Nov  3 02:35:57 2008
@@ -3,6 +3,7 @@
    support code. */
 /* { dg-do run } */
 /* { dg-options "-mmacosx-version-min=10.6 " { target *-*-darwin* } } */
+/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
 
 #import <Block.h>
 #include <stdio.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-debug-1.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-debug-1.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-debug-1.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-debug-1.C Mon Nov  3 02:35:57 2008
@@ -4,7 +4,8 @@
 
 /* { dg-do compile } */
 /* { dg-options "-g -O0 -fblocks -dA" } */
-/* { dg-final { scan-assembler "invoke_impl.*DW_AT_name" } } */
+/* { dg-final { scan-assembler "__block_descriptor.*DW_AT_name" } } */
+/* { dg-final { scan-assembler "__block_literal_generic.*DW_AT_name" } } */
 
 struct inStruct {
   void (^genericBlockPtr)();

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-debug-2.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-debug-2.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-debug-2.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-debug-2.C Mon Nov  3 02:35:57 2008
@@ -4,7 +4,8 @@
 
 /* { dg-do compile } */
 /* { dg-options "-g -O0 -fblocks -dA" } */
-/* { dg-final { scan-assembler "invoke_impl.*DW_AT_name" } } */
+/* { dg-final { scan-assembler "__block_descriptor.*DW_AT_name" } } */
+/* { dg-final { scan-assembler "__block_literal_generic.*DW_AT_name" } } */
 
 void (^os)();
 

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-destructors.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-destructors.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-destructors.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-destructors.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,74 @@
+/* APPLE LOCAL file radar 6243400 */
+/* { dg-options "-fblocks" } */
+/* { dg-do run } */
+
+#include <stdio.h>
+extern "C" void abort(void);
+int constructors = 0;
+int destructors = 0;
+
+class TestObject
+{
+public:
+	TestObject(const TestObject& inObj);
+	TestObject();
+	~TestObject();
+	
+	TestObject& operator=(const TestObject& inObj);
+
+	int version() const { return _version; }
+private:
+	mutable int _version;
+};
+
+TestObject::TestObject(const TestObject& inObj)
+	
+{
+        ++constructors;
+        _version = inObj._version;
+	printf("%p (%d) -- TestObject(const TestObject&) called\n", this, _version); 
+}
+
+
+TestObject::TestObject()
+{
+        _version = ++constructors;
+	printf("%p (%d) -- TestObject() called\n", this, _version); 
+}
+
+
+TestObject::~TestObject()
+{
+	printf("%p -- ~TestObject() called\n", this);
+        ++destructors;
+}
+
+
+TestObject& TestObject::operator=(const TestObject& inObj)
+{
+	printf("%p -- operator= called\n", this);
+        _version = inObj._version;
+	return *this;
+}
+
+void testRoutine() {
+    TestObject one;
+    
+    void (^b)(void) = ^{ printf("my const copy of one is %d\n", one.version()); };
+}
+    
+    
+
+int main(char *argc, char *argv[]) {
+    testRoutine();
+    if (constructors == 0) {
+        printf("No copy constructors!!!\n");
+        abort();
+    }
+    if (constructors != destructors) {
+        printf("%d constructors but only %d destructors\n", constructors, destructors);
+	abort();
+    }
+    printf("%s:success\n", argv[0]);
+    return 0;
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-dup-invoke_impl.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-dup-invoke_impl.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-dup-invoke_impl.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-dup-invoke_impl.C Mon Nov  3 02:35:57 2008
@@ -23,8 +23,8 @@
 }
 
 int main() {
-  __byref enum numbers x = one;
-  __byref enum numbers y = two;
+  __block enum numbers x = one;
+  __block enum numbers y = two;
 
   myblock CL = ^(enum numbers z)
 		{ y = z; 

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-duplicate-err.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-duplicate-err.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-duplicate-err.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-duplicate-err.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,14 @@
+/* APPLE LOCAL file radar 6310599 */
+/* Check that internal fields do not conflict with user names. */
+/* { dg-options "-fblocks" } */
+/* { dg-do compile } */
+
+int main()
+{
+	__block int flags;
+	__block void *isa;
+	
+	^{ flags=1; isa = (void *)isa; };
+	return 0;
+}
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-enum.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-enum.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-enum.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-enum.C Mon Nov  3 02:35:57 2008
@@ -23,8 +23,8 @@
 }
 
 int main() {
-  __byref enum numbers x = one;
-  __byref enum numbers y = two;
+  __block enum numbers x = one;
+  __block enum numbers y = two;
 
   enum numbers res = test(^(enum numbers z){ y = z; return x; }); 
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-do.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-escape-do.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-do.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-do.C Mon Nov  3 02:35:57 2008
@@ -14,12 +14,12 @@
 
 int main() {
   {
-    __byref int O1;
+    __block int O1;
     int p = 0;
     do {
-      __byref int I1;
+      __block int I1;
       do {
-	__byref int J1;
+	__block int J1;
 	if (p == 2)
 	  break;
       } while ( ++p < 3);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-for.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-escape-for.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-for.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-for.C Mon Nov  3 02:35:57 2008
@@ -12,11 +12,11 @@
 
 int main() {
   {
-    __byref int O1;
+    __block int O1;
     int i;
     for (i = 1; i <= 5; i++)
       {
-	__byref int I1;
+	__block int I1;
       }
     if (count != 5)
       abort();

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-for1.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-escape-for1.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-for1.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-for1.C Mon Nov  3 02:35:57 2008
@@ -15,14 +15,14 @@
 
 int main() {
   {
-    __byref int O1;
+    __block int O1;
     int i;
     int p;
     for (i = 1; i <= 5; i++) {
-      __byref int I1;
+      __block int I1;
       p = 0;
       while (p != 10) {
-	__byref int II1;
+	__block int II1;
 	if (p == 2)
 	  break;
 	++p;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-goto.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-escape-goto.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-goto.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-goto.C Mon Nov  3 02:35:57 2008
@@ -4,13 +4,13 @@
 
 int main(int p) {
   p = -5;
-  __byref int O1;
+  __block int O1;
   int i;
  LOUT: ;
   for (i = 1; i < 100; i++) {
-    __byref int I1;
+    __block int I1;
     while (p < 0) {
-      __byref int II1;	
+      __block int II1;	
       if (p == 100)
 	goto LOUT;
       ++p;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-nested-while.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-escape-nested-while.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-nested-while.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-nested-while.C Mon Nov  3 02:35:57 2008
@@ -16,8 +16,8 @@
 void objc_get_type_qualifiers (int flag, int type) {
   while (flag--)
     while (type++ < 4) {
-      __byref int W1;
-      __byref int W2;
+      __block int W1;
+      __block int W2;
       if (type == 2)
 	break;
     }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-return.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-escape-return.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-return.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-return.C Mon Nov  3 02:35:57 2008
@@ -16,9 +16,9 @@
 
 
 int main1() {
-  __byref  int X = 1234;
+  __block  int X = 1234;
   if (X) {
-    __byref int local_BYREF = 100;
+    __block int local_BYREF = 100;
     X += 100 + local_BYREF;
     return count-2;
   }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-return1.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-escape-return1.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-return1.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-return1.C Mon Nov  3 02:35:57 2008
@@ -17,9 +17,9 @@
 void *_NSConcreteStackBlock;
 
 void FOO(int arg) {
-  __byref int X = 1234;
+  __block int X = 1234;
   if (arg) {
-    __byref int local_BYREF = 100;
+    __block int local_BYREF = 100;
     X += 100 + local_BYREF;
     return;
   }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-switch.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-escape-switch.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-switch.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-switch.C Mon Nov  3 02:35:57 2008
@@ -15,34 +15,34 @@
 }
 
 int foo(int p, int q) {
-  __byref int O1;
+  __block int O1;
   switch (p) {
   case 1:
     {
-      __byref int I1;
+      __block int I1;
       I1 += 1;
       break;
     }
   case 10:
     {
-      __byref int J1;
+      __block int J1;
       break;
     }
   default :
     {
-      __byref int D1;
-      __byref int D2;
+      __block int D1;
+      __block int D2;
       switch (q)
 	{
 	case 11:
 	  {
-	    __byref int  Q1;
+	    __block int  Q1;
 	    break;
 	  }
 	default:
 	  {
-	    __byref int  ID1;
-	    __byref int  ID2;
+	    __block int  ID1;
+	    __block int  ID2;
 	  }
 	};
       break;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-while.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-escape-while.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-while.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-escape-while.C Mon Nov  3 02:35:57 2008
@@ -12,10 +12,10 @@
 
 int main() {
   {
-    __byref int O1;
+    __block int O1;
     int i = 0;
     while (++i != 5) {
-      __byref int I1;
+      __block int I1;
     }
     if (count != 4)
       abort();

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-explicit-return-type.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-explicit-return-type.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-explicit-return-type.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-explicit-return-type.C Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file radar 6185344 */
+/* APPLE LOCAL file radar 6185344 - updated for radar 6230297 */
 /* Test for blocks with explicit return type specified. */
 /* { dg-options "-mmacosx-version-min=10.6 -ObjC++" { target *-*-darwin* } } */
 /* { dg-do compile } */
@@ -75,9 +75,10 @@
 int (^(^block)(double x))(char, short);
 
 void foo() {
-   block = ^(double x){ return ^int(char c, short y) { return c + y; };};  /* { dg-warning "returning block that lives on the local stack" } */
+   int one = 1;
+   block = ^(double x){ return ^int(char c, short y) { return one + c + y; };};  /* { dg-warning "returning block that lives on the local stack" } */
    // or:
-   block = ^(double x){ return ^(char c, short y) { return (int)c + y; };};  /* { dg-warning "returning block that lives on the local stack" } */
+   block = ^(double x){ return ^(char c, short y) { return one + (int)c + y; };};  /* { dg-warning "returning block that lives on the local stack" } */
 }
 
 

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-explicit-this.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-explicit-this.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-explicit-this.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-explicit-this.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,29 @@
+/* APPLE LOCAL file radar 6275956 */
+/* Use of explicit "this" inside a block. */
+/* { dg-options "-mmacosx-version-min=10.5" { target *-*-darwin* } } */
+/* { dg-do run } */
+extern "C" void abort (void);
+
+struct S {
+
+	int ifield;
+
+	int mem ()
+	{
+	    int (^p) (void) = ^ { return this->ifield; }; 
+	    if (p() != ifield)
+	     abort ();
+	    return 0;
+        }
+	S (int val) { ifield = val; }
+
+};
+
+int main()
+{
+	S s(123);
+
+	return s.mem();
+}
+
+	

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-global-byref-2.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-global-byref-2.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-global-byref-2.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-global-byref-2.C Mon Nov  3 02:35:57 2008
@@ -1,5 +1,5 @@
 /* APPLE LOCAL file radar 6014138 */
-/* Test use of __byref on locals which will be used as 'byref' variables in blocks. */
+/* Test use of __block on locals which will be used as 'byref' variables in blocks. */
 /* { dg-do run } */
 /* { dg-options "-mmacosx-version-min=10.5 -fblocks" { target *-*-darwin* } } */
 
@@ -14,9 +14,9 @@
 
 
 int foo() {
-    __byref int local_byref_1 = 10;
-    __byref int local_byref_2 = 10;
-    __byref int local_byref_3 = 10;
+    __block int local_byref_1 = 10;
+    __block int local_byref_2 = 10;
+    __block int local_byref_3 = 10;
 
     CallBlock( ^ { ++local_byref_1; ++local_byref_2; ++local_byref_3; 
 	          CallBlock(^ { ++local_byref_1; ++local_byref_2; ++local_byref_3; }); 

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-in-foreach-header.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-in-foreach-header.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-in-foreach-header.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-in-foreach-header.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,57 @@
+/* APPLE LOCAL file radar 6268817 */
+/* Testing use of block literal expression in ObjC's enumeration foreach-statement loop header. */
+/* { dg-options "-mmacosx-version-min=10.6 -ObjC++ -framework Foundation" { target *-*-darwin* } } */
+/* { dg-do run } */
+
+#import <Foundation/Foundation.h>
+
+ at interface TargetSymbol : NSObject {
+    NSString *      _symbolName;
+}
+ at property (copy) NSString *name;
+ at end
+
+ at implementation TargetSymbol
+ at synthesize name = _symbolName;
+ at end
+
+static void Looper(NSArray *symbols) {
+    // 1. Block literal assigned to a block pointer, which is used in loop: build succeeds
+    NSComparator comparator = ^(id target1, id target2){return [((TargetSymbol *)target1).name compare:((TargetSymbol *)target2).name];};
+    
+    for (id symbol in [symbols sortedArrayUsingComparator:comparator]) {
+        // Do something
+    }
+
+    // 2. Block expression literal used, but still outside loop: build succeeds
+    NSArray *sortedSymbols = [symbols sortedArrayUsingComparator:^(id target1, id target2){return [((TargetSymbol *)target1).name compare:((TargetSymbol *)target2).name];}];
+    
+    for (id symbol in sortedSymbols) {
+        // Do something
+    }
+
+    // 3. Block expression literal used directly in loop: build fails
+    for (id symbol in [symbols sortedArrayUsingComparator:^(id target1, id target2){return [((TargetSymbol *)target1).name compare:((TargetSymbol *)target2).name];}]) {
+        // Do something
+    }
+
+    // 3. Block expression literal used directly in loop: build fails
+    for (id symbol in [symbols sortedArrayUsingComparator:^(id target1, id target2){return [((TargetSymbol *)target1).name compare:((TargetSymbol *)target2).name];}]) {
+        // Do something
+    }
+
+    // 3. Block expression literal used directly in loop: build fails
+    for (id symbol in [symbols sortedArrayUsingComparator:^(id target1, id target2){return [((TargetSymbol *)target1).name compare:((TargetSymbol *)target2).name];}]) {
+        // Do something
+    }
+}
+
+
+int main (int argc, const char * argv[]) {
+    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
+
+    // insert code here...
+    NSLog(@"Hello, World!");
+    [pool drain];
+    return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-in_structors.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-in_structors.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-in_structors.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-in_structors.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,33 @@
+/* APPLE LOCAL file radar 6305545 */
+/* { dg-do run } */
+/* { dg-options "-mmacosx-version-min=10.5" { target *-*-darwin* } } */
+
+extern "C" void abort(void);
+
+static int count  = 100;
+struct CParallelTest
+{
+	CParallelTest (void);
+	~CParallelTest (void) {
+	  void (^p1)() = ^ { count -= 3; };
+	  p1();
+	}
+};
+
+CParallelTest::CParallelTest (void)
+{
+  void (^p1)() = ^ { count = 1; };
+  int (^p2)() = ^ { return ++count; };
+  int (^p3)() = ^ { return ++count; };
+  p1(); p2(); p3();
+}
+
+int main()
+{
+  {
+	CParallelTest t1;
+  }
+  if (count != 0)
+    abort();
+  return 0;
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-literal.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-literal.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-literal.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-literal.C Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file radar 5732232, 6034839 - blocks */
+/* APPLE LOCAL file radar 5732232, 6034839, 6230297 - blocks */
 /* { dg-do compile } */
 /* { dg-options "-fblocks" } */
 
@@ -25,7 +25,7 @@
 
   noop = ^; /* { dg-error "expected" } */
 
-  return ^{printf("\nBlock\n"); };  /* { dg-error "returning block that lives on the local stack" } */
+  return ^{printf("\nBlock\n"); };  
 }
 
 void test2() {
@@ -36,7 +36,8 @@
 }
 
 void (^test3())(void) {
-  return ^{};    /* { dg-error "returning block that lives on the local stack" } */
+  __block int i;
+  return ^{ i = 1; };    /* { dg-error "returning block that lives on the local stack" } */
 }
 
 void test4() {

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-local-stack.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-local-stack.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-local-stack.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-local-stack.C Mon Nov  3 02:35:57 2008
@@ -1,8 +1,9 @@
-/* APPLE LOCAL file radar 5732232 - blocks */
+/* APPLE LOCAL file radar 5732232 - radar 6230297 - blocks */
 /* { dg-do compile } */
 /* { dg-options "-fblocks" } */
 
 void (^test3())(void) {
-  return ^{};   /* { dg-error "returning block that lives on the local stack" } */
+  __block int i;
+  return ^{i = 1; };   /* { dg-error "returning block that lives on the local stack" } */
 }
 

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-localisglobal.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-localisglobal.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-localisglobal.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-localisglobal.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,42 @@
+/* APPLE LOCAL file radar 6230297 */
+/* { dg-options "-mmacosx-version-min=10.6" { target *-*-darwin* } } */
+/* { dg-do run } */
+
+/*
+ *  localisglobal.c
+ *  testObjects
+ *
+ *  Created by Blaine Garst on 9/29/08.
+ *  Copyright 2008 __MyCompanyName__. All rights reserved.
+ *
+ *  works in all configurations
+ *  CONFIG
+ *  rdar://6230297
+ */
+
+#include <stdio.h>
+
+void (^global)(void) = ^{ printf("hello world\n"); };
+
+int aresame(void *first, void *second) {
+    long *f = (long *)first;
+    long *s = (long *)second;
+    return *f == *s;
+}
+int main(int argc, char *argv[]) {
+    int i = 10;
+    void (^local)(void) = ^ { printf("hi %d\n", i); };
+    void (^localisglobal)(void) = ^ { printf("hi\n"); };
+    
+    if (aresame(local, localisglobal)) {
+        printf("local block could be global, but isn't\n");
+        return 1;
+    }
+    if (!aresame(global, localisglobal)) {
+        printf("local block is not global, not stack, what is it??\n");
+        return 1;
+    }
+    printf("%s: success\n", argv[0]);
+    return 0;
+    
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-nested-block-var.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-nested-block-var.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-nested-block-var.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-nested-block-var.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,32 @@
+/* APPLE LOCAL file radar 6225809 - radar 5847213 */
+/* __block var used in a nested block neeb be implicitly declared in
+   each intervening block. */
+/* { dg-options "-mmacosx-version-min=10.6 " { target *-*-darwin* } } */
+/* { dg-do run } */
+
+#include <stdio.h>
+
+static void Block_copy (void (^I)(void))
+{
+	I();
+}
+
+int main(int argc, char *argv[]) {
+    __block int a = 42;
+    int save_a = a; // just to keep the address on the stack.
+
+    void (^b)(void) = ^{
+        Block_copy(^{
+            a = 2;
+        });
+    };
+
+    Block_copy(b);
+
+    if(a == save_a) {
+        printf("**** __block heap storage should have been created at this point\n");
+        return 1;
+    }
+    printf("%s: Success (old %d new %d)\n", argv[0], save_a, a);
+    return 0;
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-nested.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-nested.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-nested.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-nested.C Mon Nov  3 02:35:57 2008
@@ -22,12 +22,12 @@
 }
 
 int main() {
-  __byref enum numbers x = one;
-  __byref enum numbers y = two;
+  __block enum numbers x = one;
+  __block enum numbers y = two;
 
   myblock CL = ^(enum numbers z)
 		{ enum numbers savex = x;
-		  { __byref enum numbers x = savex;
+		  { __block enum numbers x = savex;
 		  y = z;
 		  if (y != three)
 		    exit (6);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper-1.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-noescape-helper-1.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper-1.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper-1.C Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file radar 6083129 byref escapes */
 /* Test for generation of escape _Block_byref_release call when a local
-   __byref variable is copied in. */
+   __block variable is copied in. */
 /* { dg-options "-fblocks" } */
 /* { dg-do run } */
 
@@ -22,7 +22,7 @@
 
 int test() {
   {
-    int __byref i = 10;
+    int __block i = 10;
     void (^dummy)(void) = ^{ printf("i = %d\n", i); };
     junk(dummy);
   }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper-2.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-noescape-helper-2.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper-2.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper-2.C Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file radar 6083129 byref escapes */
 /* Test for generation of escape _Block_byref_release call when a local
-   __byref variable is copied in and block has a return statement. */
+   __block variable is copied in and block has a return statement. */
 /* { dg-options "-fblocks" } */
 /* { dg-do run } */
 
@@ -22,7 +22,7 @@
 
 int test() {
   {
-    int __byref i = 10;
+    int __block i = 10;
     int (^dummy)(void) = ^{ printf("i = %d\n", i); return i; };
     junk(dummy);
   }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper-3.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-noescape-helper-3.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper-3.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper-3.C Mon Nov  3 02:35:57 2008
@@ -1,5 +1,5 @@
 /* APPLE LOCAL file radar 6083129 byref escapes */
-/* Test for generation of escape _Block_byref_release call when a __byref
+/* Test for generation of escape _Block_byref_release call when a __block
    variable inside a block is declared and used. */
 /* { dg-options "-fblocks" } */
 /* { dg-do run } */
@@ -22,7 +22,7 @@
 
 int test() {
   {
-    void (^dummy)(void) = ^{ int __byref i = 10; printf("i = %d\n", i); };
+    void (^dummy)(void) = ^{ int __block i = 10; printf("i = %d\n", i); };
     junk(dummy);
   }
   return count;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-noescape-helper.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-noescape-helper.C Mon Nov  3 02:35:57 2008
@@ -20,7 +20,7 @@
 
 int test() {
   {
-    __byref int i = 10;
+    __block int i = 10;
     void (^dummy)(void) = ^{ ++i; };
     junk(dummy);
   }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-nullblockisa.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-nullblockisa.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-nullblockisa.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-nullblockisa.C Mon Nov  3 02:35:57 2008
@@ -5,13 +5,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-#define HASISA 1
-
 void check(void *ptr) {
     struct inner {
-#if HASISA
         void* isa; // should be zero
-#endif
         long forwarding;
         int flags;
         int size;
@@ -19,20 +15,30 @@
         // long disposehelper not needed
         int i;  //
     };
+/* APPLE LOCAL begin radar 5847213 - radar 6329245 */
     struct block_with_blocki {
-        long isa;
-        int flags;
-        int size;
-        long impl;
-        long copyhelper;
-        long destroyhelper;
-        struct inner *blocki;
+    void *isa; // initialized to &_NSConcreteStackBlock or &_NSConcreteGlobalBlock
+    int Block_flags;
+    int reserved;
+    void (*Block_invoke)(void *);
+
+    struct Block_descriptor_1 {
+        unsigned long int reserved;     // NULL
+        unsigned long int size;  // sizeof(struct Block_literal_1)
+
+        // optional helper functions
+        void (*Block_copy)(void *dst, void *src);
+        void (*Block_dispose)(void *src);
+    } *descriptor;
+    struct inner *blocki;
     } *block = (struct block_with_blocki *)ptr;
+/* APPLE LOCAL end radar 5847213 - radar 6329245 */
+
     // sanity checks
-    if (block->size != sizeof(struct block_with_blocki)) {
+    if (block->descriptor->size != sizeof(struct block_with_blocki)) {
         // layout funny
         printf("layout is funny, struct size is %d vs runtime size %ld\n",
-                    block->size,
+                    (int)block->descriptor->size,
                     sizeof(struct block_with_blocki));
         exit(1);
     }
@@ -41,12 +47,10 @@
             block->blocki->size);
         exit(1);
     }
-#if HASISA
     if (block->blocki->isa != (void*)NULL) {
         printf("not a NULL __block isa\n");
         exit(1);
     }
-#endif
     return;
 }
         

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-objectassign.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-objectassign.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-objectassign.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-objectassign.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,79 @@
+/* APPLE LOCAL file radar 6175959 */
+/* Test for generation of two new APIs; _Block_object_assign and _Block_object_dispose */
+/* { dg-options "-mmacosx-version-min=10.6 -fblocks" { target *-*-darwin* } } */
+/* { dg-do run } */
+
+#include <stdio.h>
+
+#define    BLOCK_HAS_DESCRIPTOR     (1 << 29)
+#define    BLOCK_HAS_COPY_DISPOSE  (1 << 25)
+
+struct Block_descriptor {
+    unsigned long int reserved;
+    unsigned long int size;
+    void (*copy)(void *dst, void *src);
+    void (*dispose)(void *);
+};
+
+struct Block_layout {
+    void *isa;
+    int flags;
+    int reserved;
+    void (*invoke)(void *, ...);
+    struct Block_descriptor *descriptor;
+    // imported variables
+};
+
+int AssignCalled = 0;
+int DisposeCalled = 0;
+
+// local copy instead of libSystem.B.dylib copy
+void _Block_object_assign(void *destAddr, const void *object, const int isWeak) {
+    printf("_Block_object_assign(%p, %p, %d) called\n", destAddr, object, isWeak);
+    AssignCalled = 1;
+}
+
+void _Block_object_dispose(const void *object, const int isWeak) {
+    printf("_Block_object_dispose(%p, %d) called\n", object, isWeak);
+    DisposeCalled = 1;
+}
+
+struct MyStruct {
+    long isa;
+    long field;
+};
+
+typedef struct MyStruct *__attribute__((NSObject)) MyStruct_t;
+
+int main(int argc, char *argv[]) {
+    // create a block
+    struct MyStruct X;
+    MyStruct_t xp = (MyStruct_t)&X;
+    xp->field = 10;
+    void (^myBlock)(void) = ^{ printf("field is %ld\n", xp->field); };
+    // should be a copy helper generated with a calls to above routines
+    // Lets find out!
+    struct Block_layout *bl = (struct Block_layout *)(void *)myBlock;
+    if ((bl->flags & BLOCK_HAS_DESCRIPTOR) != BLOCK_HAS_DESCRIPTOR) {
+        printf("using old runtime layout!\n");
+        return 1;
+    }
+    if ((bl->flags & BLOCK_HAS_COPY_DISPOSE) != BLOCK_HAS_COPY_DISPOSE) {
+        printf("no copy dispose!!!!\n");
+        return 1;
+    }
+    // call helper routines directly.  These will, in turn, we hope, call the stubs above
+    long destBuffer[256];
+    printf("destbuffer is at %p, block at %p\n", destBuffer, (void *)bl);
+    bl->descriptor->copy(destBuffer, bl);
+    bl->descriptor->dispose(bl);
+    if (AssignCalled == 0) {
+        printf("did not call assign helper!\n");
+        return 1;
+    }
+    if (DisposeCalled == 0) {
+        printf("did not call dispose helper\n");
+        return 1;
+    }
+    return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-printf-attribute-1.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-printf-attribute-1.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-printf-attribute-1.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-printf-attribute-1.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,15 @@
+/* APPLE LOCAL file radar 6246527 */
+/* { dg-do compile } */
+/* { dg-options "-Wformat" } */
+
+int main()
+{
+        void (^b) (int arg, const char * format, ...) __attribute__ ((__format__ (__printf__, 1, 3))) =  /* { dg-error "format string argument not a string type" } */
+						^ __attribute__ ((__format__ (__printf__, 1, 3))) (int arg, const char * format, ...) {}; /* { dg-error "format string argument not a string type" } */
+        void (^z) (int arg, const char * format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) = ^ __attribute__ ((__format__ (__printf__, 2, 3))) (int arg, const char * format, ...) {};
+
+	z(1, "%s", 1); /* { dg-warning "format \\'\%s\\' expects type" } */
+	z(1, "%s", "HELLO");
+
+}
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-readweakgc.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-readweakgc.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-readweakgc.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-readweakgc.C Mon Nov  3 02:35:57 2008
@@ -28,7 +28,7 @@
 int main(char *argc, char *argv[]) {
   // an object should not be retained within a stack Block
   void (^local)(void);
-  __byref int i = 10;
+  __block int i = 10;
   Henry = ^ { ++i; };
   local = Henry;
   if (GlobalInt2 == 1) {

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-readweakgcivar.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-readweakgcivar.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-readweakgcivar.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-readweakgcivar.C Mon Nov  3 02:35:57 2008
@@ -33,7 +33,7 @@
 
 int main(char *argc, char *argv[]) {
   // an object should not be retained within a stack Block
-  __byref int i = 0;
+  __block int i = 0;
   void (^local)(void);
   Foo *foo = [[Foo alloc] init];
   foo->ivar = ^ { ++i; };

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-reference-in-method.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-reference-in-method.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-reference-in-method.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-reference-in-method.C Mon Nov  3 02:35:57 2008
@@ -2,6 +2,7 @@
 /* Test use of blocks in member functions. */
 /* { dg-do run } */
 /* { dg-options "-mmacosx-version-min=10.6 " { target *-*-darwin* } } */
+/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
 
 #import <Block.h>
 #include <stdio.h>

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-sentinel-attribute.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-sentinel-attribute.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-sentinel-attribute.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-sentinel-attribute.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,28 @@
+/* APPLE LOCAL file radar 6246527 */
+/* { dg-do compile } */
+/* { dg-options "-Wformat" } */
+#include <stddef.h>
+
+void (^e) (int arg, const char * format, ...) __attribute__ ((__sentinel__ (1,1)));
+void (^e1) (int arg, const char * format, ...) __attribute__ ((__sentinel__ (1,1, 3))); /* { dg-error "wrong number of arguments" "sentinel" } */
+
+int main()
+{
+        void (^b) (int arg, const char * format, ...) __attribute__ ((__sentinel__)) = 
+						^ __attribute__ ((__sentinel__)) (int arg, const char * format, ...) {};
+        void (^z) (int arg, const char * format, ...) __attribute__ ((__sentinel__ (2))) = ^ __attribute__ ((__sentinel__ (2))) (int arg, const char * format, ...) {};
+
+
+        void (^y) (int arg, const char * format, ...) __attribute__ ((__sentinel__ (5))) = ^ __attribute__ ((__sentinel__ (5))) (int arg, const char * format, ...) {};
+
+	b(1, "%s", NULL);	// OK
+	b(1, "%s", 0); /* { dg-warning "missing sentinel in function call" } */                                                         	
+	z(1, "%s",4 ,1,0); /* { dg-warning "missing sentinel in function call" } */
+	z(1, "%s", NULL, 1, 0);	// OK
+
+	y(1, "%s", 1,2,3,4,5,6,7); /* { dg-warning "missing sentinel in function call" } */
+
+	y(1, "%s", NULL,3,4,5,6,7);	// OK
+
+}
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-unused-parameter.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-unused-parameter.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-unused-parameter.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-unused-parameter.C Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 
 int main()
 {
-	__byref int i = 1;
+	__block int i = 1;
 	^ { i = 1; return i; }; 
 	return 0;
 }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-unused-warn.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/block-unused-warn.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-unused-warn.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/block-unused-warn.C Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* { dg-options "-Wall" } */
 
 int main() {
-  __byref int x = 10;
+  __block int x = 10;
   int y = 1;
 
   int (^myBlock)(void) = ^{ return x+y; };

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/blocks-method-call.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/blocks-method-call.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/blocks-method-call.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/blocks-method-call.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,29 @@
+/* APPLE LOCAL file radar 6154598 */
+/* Test that methods may be called from within a block
+   declared inside a member function. */
+/* { dg-options "-mmacosx-version-min=10.5" { target *-*-darwin* } } */
+/* { dg-do run } */
+
+extern "C" void abort(void);
+struct SSSSSS
+{
+  void Index( void ) { if (_version != 2) abort(); }
+  void func(void);
+  int _version;
+  SSSSSS() { _version = 2; }
+};
+
+void SSSSSS::func(void)
+{
+   void (^X)(void) = ^(void) { Index(); };
+   X();
+}
+
+int main()
+{
+	SSSSSS s1;
+	s1.func();
+	return 0;
+}
+
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/blocks-recovercpp.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/blocks-recovercpp.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/blocks-recovercpp.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/blocks-recovercpp.C Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file radar 6214617 */
+/* APPLE LOCAL file radar 6214617 - modified for radar 5847213 */
 /* { dg-options "-mmacosx-version-min=10.5 -ObjC++" { target *-*-darwin* } } */
 /* { dg-do run } */
 
@@ -57,16 +57,24 @@
 }
 
 void hack(void *block) {
+    /* APPLE LOCAL begin radar 6329245 */
     // check flags to see if constructor/destructor is available;
     struct myblock {
         void *isa;
         int flags;
-        int refcount;
-        void *invokeptr;
-        void (*copyhelper)(struct myblock *dst, struct myblock *src);
-        void (*disposehelper)(struct myblock *src);
+	int reserved;
+        void (*Block_invoke)(void *);
+        struct Block_descriptor_1 {
+        unsigned long int reserved;     // NULL
+        unsigned long int Block_size;  // sizeof(struct Block_literal_1)
+
+        // optional helper functions
+        void (*copyhelper)(void *dst, void *src);
+        void (*disposehelper)(void *src);
+        } *descriptor;
         long space[32];
     } myversion, *mbp = (struct myblock *)block;
+    /* APPLE LOCAL end radar 6329245 */
     printf("flags -> %x\n", mbp->flags);
     if (! ((1<<25) & mbp->flags)) {
         printf("no copy/dispose helper functions provided!\n");
@@ -76,16 +84,16 @@
         printf("no marking for ctor/dtors present!\n");
         exit(1);
     }
-    printf("copyhelper -> %p\n", mbp->copyhelper);
+    printf("copyhelper -> %p\n", mbp->descriptor->copyhelper);
     // simulate copy
-    mbp->copyhelper(&myversion, mbp);
+    mbp->descriptor->copyhelper(&myversion, mbp);
     if (constructors != 3) {
         printf("copy helper didn't do the constructor part\n");
         exit(1);
     }
-    printf("disposehelper -> %p\n", mbp->disposehelper);
+    printf("disposehelper -> %p\n", mbp->descriptor->disposehelper);
     // simulate destroy
-    mbp->disposehelper(&myversion);
+    mbp->descriptor->disposehelper(&myversion);
     if (destructors != 1) {
         printf("dispose helper didn't do the dispose\n");
         exit(1);

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/cp-block-byref-2.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/cp-block-byref-2.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/cp-block-byref-2.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/cp-block-byref-2.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,34 @@
+/* APPLE LOCAL file radar 6237086  */
+/* { dg-do compile } */
+/* { dg-options "-g -O0 -dA -mmacosx-version-min=10.6" }*/
+/* { dg-final { scan-assembler "DW_OP_fbreg+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x\[0-9a-f]+\[ \t]+\[#;@]\[ \t]sleb128 -\[0-9]+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x6+\[ \t]+\[#;@]\[ \t]DW_OP_deref+\[ \t\n]+\[ \t]\\.byte+\[ \t]\[0x6;0x23]+\[ \t]+\[#;@]\[ \t]\[DW_OP_deref;DW_OP_plus_uconst]" } } */
+
+#include <stdio.h>
+
+int 
+main ()
+{
+  int val_1, val_2;
+
+  int (^my_block) (int);
+
+  if (1)
+    {
+      __block int use_by_ref = 1;
+      int use_by_value = 0xfefefefe;
+      
+      my_block = ^ (int in_value) {
+	use_by_ref++;
+	printf ("Block function has: %d %d %d.\n", in_value, use_by_value, use_by_ref);
+	return in_value + use_by_ref + use_by_value;
+      };
+      use_by_ref++;
+      val_1 = my_block (10);
+    }
+      
+  val_1 = my_block (20);
+  val_2 = my_block (30);
+  printf ("Got: %d and %d.\n", val_1, val_2);
+  
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/debug-inlined-section.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/debug-inlined-section.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/debug-inlined-section.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/debug-inlined-section.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,53 @@
+/* APPLE LOCAL file, Radar 6275985  */
+/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-options "-O1 -gdwarf-2 -dA" } */
+/* { dg-final { scan-assembler "__debug_inlined" } } */
+/* { dg-final { scan-assembler "\[#;@]+\[ \t]+MIPS linkage name: \"_ZNK1UcvPKcEv\"" } } */
+/* { dg-final { scan-assembler "\[#;@]+\[ \t]+Function name: \"operator const char" } } */
+/* { dg-final { scan-assembler "\[#;@]+\[ \t]+MIPS linkage name: \"operator" } } */
+
+struct S
+{
+  virtual ~S();
+  S (const char *str);
+  S& operator= (const char *str);
+  operator const char *() const;
+  S& operator+= (const char *str);
+};
+inline S operator+ (const char *s1, const S &s2)
+{
+  S x (s1);
+  x += s2;
+  return x;
+}
+struct U
+{
+  U ();
+  U& operator= (const char *);
+  const char *foo() const;
+  operator const char *() const { return foo(); }
+};
+template <class T> struct V
+{
+  T v;
+};
+template <class T> struct W
+{
+  V<T> *w;
+  W() : w (0) {}
+  const T& operator* () const { return w->v; }
+  T& operator* () { return w->v; }
+};
+struct X {
+  X();
+};
+struct Y {
+  Y (const U &u);
+};
+X::X()
+{
+  W<U> a;
+  U b;
+  b = (*a) + "xx";
+  Y c (b);
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/eh1.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/eh1.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/eh1.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/eh1.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,14 @@
+/* APPLE LOCAL file EH __TEXT __gcc_except_tab 5819051 */
+/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-final { scan-assembler "section __TEXT,__gcc_except_tab" } } */
+/* Radar 5819051 */
+
+#include <stdio.h>
+
+void foo() {
+  try {
+    throw 1;
+  } catch (int i) {
+    printf("Hi\n");
+  }
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/kext-weak.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/kext-weak.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/kext-weak.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/kext-weak.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,9 @@
+/* APPLE LOCAL kext weak_import 5935650 */
+/* { dg-do assemble { target i?86*-*-darwin* } } */
+/* { dg-options "-mkernel -dynamic -m64" } */
+
+extern void foo() __attribute__((weak_import));
+void test() {
+  if (foo)
+    foo();
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/lookup-1.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/lookup-1.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/lookup-1.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/lookup-1.C Mon Nov  3 02:35:57 2008
@@ -7,7 +7,7 @@
 void A::foo(const char* basename) {
   class B {
     friend class C;
-    static void WaitForSinks(C:: /* { dg-error "has not been declared" } */
-          D* data);  /* { dg-error "expected" } */
+    static void WaitForSinks(C::	/* { dg-error "has not been declared" } */
+			     D* data);	/* { dg-error "expected" } */
   };
 }

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/prototype.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/prototype.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/prototype.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/prototype.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,55 @@
+/* APPLE LOCAL file warn missing prototype 6261539 */
+/* Radar 6261539 */
+/* { dg-options "-Wmissing-prototypes" } */
+void foo() { }		/* { dg-warning "no previous prototype" } */
+void foo(int i) { }	/* { dg-warning "no previous prototype" } */
+void bar();
+void bar() { }
+void bar1();
+void bar1(int i);
+void bar1(int i) { }
+void bar1(float) { }	/* { dg-warning "no previous prototype" } */
+extern "C" void bar1(char);
+extern "C" void bar1(char) { }	/* { dg-error "previous declaration" } */
+extern "C" void bar1(short);	/* { dg-error "conflicts with" } */
+extern "C" void bar1(short) { }
+extern "C" void bar2(char);
+extern "C" void bar2(char) { }	/* { dg-error "previous declaration" } */
+extern "C" void bar2(short) { }	/* { dg-error "conflicts with" } */
+extern "C" void bar3(char);
+extern "C" void bar3(char) { }	/* { dg-error "previous declaration" } */
+extern "C" void bar3(short) { }	/* { dg-error "conflicts with" } */
+struct beef { };
+void beef() { }		/* { dg-warning "no previous prototype" } */
+void dead();
+namespace {
+  void dead() { }
+}
+void dead4();
+namespace A {
+  void dead4() { }	/* { dg-warning "no previous prototype" } */
+}
+void dead1();
+namespace A {
+  void dead1(int);
+  void dead1() { }	/* { dg-warning "no previous prototype" } */
+}
+void dead2();		/* { dg-error "old declaration" } */
+int dead2() { }		/* { dg-error "new declaration" } */
+struct undef;
+undef meat;		/* { dg-error "incomplete type and cannot be defined" } */
+double meat() { }
+static void local() { }
+int main() { }
+void exit(float);
+void exit(int e) { a: goto a; }	/* { dg-warning "no previous prototype" } */
+void dead3(float);
+int dead3(int);		/* { dg-error "old declaration" } */
+void dead3(int e) { a: goto a; }/* { dg-error "new declaration" } */
+class A {
+  void m();
+};
+void A::m() { }
+namespace {
+  void m() { }
+};

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/template.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/template.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/template.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/template.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,31 @@
+/* APPLE LOCAL file templated static data 6298605 */
+/* Radar 6298605 */
+
+namespace {
+  template<int>
+  struct ElfSizes {
+    static const int sym_size = 5;
+    static const int ehdr_size = 5;
+  };
+
+  template<int>
+  struct SizedElfFileData {
+    SizedElfFileData();
+
+    virtual void ReadSymbols();
+  };
+
+  template<int Size>
+  SizedElfFileData<Size>::SizedElfFileData() {
+    ElfSizes<Size>::ehdr_size;
+  }
+
+  template<int Size>
+  void SizedElfFileData<Size>::ReadSymbols() {
+    ElfSizes<Size>::sym_size;
+  }
+
+  void Open() {
+    SizedElfFileData<32> foo = SizedElfFileData<32>();
+  }
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/warn-ctors.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.apple/warn-ctors.C?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/warn-ctors.C (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.apple/warn-ctors.C Mon Nov  3 02:35:57 2008
@@ -0,0 +1,22 @@
+/* APPLE LOCAL file Wglobal-constructors 6324584 */
+/* { dg-options "-Wglobal-constructors" } */
+/* Radar 6324584 */
+
+volatile int i;
+
+class A {
+public:
+  A() { i = 1; }
+} a;		/* { dg-warning "requires global construction" } */
+
+class B {
+public:
+  ~B() { i = 1; }
+} b;		/* { dg-warning "requires global destruction" } */
+
+void ctor() __attribute__((constructor));
+void ctor() {	/* { dg-warning "requires global construction" } */
+}
+void dtor() __attribute__((destructor));
+void dtor() {	/* { dg-warning "requires global destruction" } */
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/apple-longcall-2.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.dg/apple-longcall-2.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/apple-longcall-2.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/apple-longcall-2.C Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file 4299630 */
 /* { dg-do compile { target powerpc*-*-darwin* } } */
-/* { dg-skip-if "Not valid on 64-bit" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-mlongcall" } */
 /* { dg-final { scan-assembler "\tjmp[ 	]" } } */
 /* Radar 4299630: insure C++ thunks get long jmps.  */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/apple-longcall-3.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.dg/apple-longcall-3.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/apple-longcall-3.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/apple-longcall-3.C Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file 4380289 */
 /* { dg-do compile { target powerpc*-*-darwin* } } */
-/* { dg-skip-if "Not valid on 64-bit" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-mlongcall -mkernel" } */
 /* { dg-final { scan-assembler "\tjmp" } } */
 /* { dg-final { scan-assembler "\tjbsr" } } */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/kext4.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.dg/kext4.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/kext4.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/kext4.C Mon Nov  3 02:35:57 2008
@@ -1,7 +1,7 @@
 /* APPLE LOCAL file KEXT double destructor */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-options "-fapple-kext" } */
-/* { dg-skip-if "Not valid on 64-bit" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* test for use of apple_kext_compatibility on stack */
 struct B1 {
   virtual ~B1();

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/kext7.C
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/g%2B%2B.dg/kext7.C?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/kext7.C (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/g++.dg/kext7.C Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* Radar 3943783  kernel extensions built with gcc-4.0 can't be loaded */
 /* { dg-do compile { target powerpc*-*-darwin* } } */
 /* { dg-options "-S -fapple-kext" } */
-/* { dg-skip-if "Not valid on 64-bit" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 struct Base {
   virtual ~Base();

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4104248.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4104248.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4104248.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4104248.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file 4104248 */
 /* { dg-do compile { target "i?86*-*-darwin*" } } */
-/* { dg-skip-if "" { i?86*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-Os" } */
 register char foo asm("edi");
 char x;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4113078.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4113078.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4113078.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4113078.c Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* Check that stack alignment is correct when callee inlined function uses
    a vector and caller does not.  */
 /* { dg-do compile { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-O2 -msse3 -march=pentium4 -march=prescott" } */
 #include <xmmintrin.h>
 extern void bar(__m128i*);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4115609.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4115609.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4115609.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4115609.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file 4115609 */
 /* { dg-do compile { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-O3 -mdynamic-no-pic -fomit-frame-pointer" } */
 /* { dg-final { scan-assembler-times "movl\t*" 55} } */
 /* { dg-final { scan-assembler-not "sall" } } */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4167459.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4167459.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4167459.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4167459.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL begin radar 4167459 */
 /* { dg-do compile { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-O -march=pentium4" } */
 extern double foo(double);
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4182984.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4182984.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4182984.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4182984.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file 4182984 */
 /* { dg-do run { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-O3" } */
 typedef unsigned int UINT;
 typedef unsigned long UINT32;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4525731-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4525731-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4525731-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4525731-1.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file 4525731 */
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-O3" } */
 
 #include <stdlib.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4525731-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4525731-2.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4525731-2.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4525731-2.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file 4525731 */
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-O3" } */
 
 #include <stdlib.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4603883.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4603883.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4603883.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/4603883.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file radar 4603883 */
 /* { dg-do compile } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 double param[10][10][5000000]; /* { dg-error "size of array 'param' is too large" } */
 void foo ()
 {

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5813921.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5813921.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5813921.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5813921.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,18 @@
+/* APPLE LOCAL file 5813921 */
+/* { dg-do compile { target powerpc-*-* i?86-*-* x86_64-*-* } } */
+/* { dg-options { -Os } } */
+/* { dg-final { scan-assembler "cntlzw" { target powerpc-*-* } } } */
+/* { dg-final { scan-assembler "bsr" { target i?86-*-* x86_64-*-* } } } */
+typedef long unsigned int __darwin_size_t;
+typedef __darwin_size_t size_t;
+typedef enum RoundingMode {
+  kRoundTowardNearestEven = 1,  kRoundTowardZero = 2,  kRoundTowardInf = 4,
+  kRoundTowardMinusInf = 8,
+  kRoundAll = kRoundTowardNearestEven | kRoundTowardZero | kRoundTowardInf
+  | kRoundTowardMinusInf } RoundingMode;
+extern const int roundingModes[4];
+void SetRoundingMode( RoundingMode mode ) {
+  long m = mode;
+  size_t r = (8*sizeof(long)-1) - __builtin_clzl( m );
+  fesetround( roundingModes[ r ] );
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5919583.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5919583.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5919583.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5919583.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,41 @@
+/* APPLE LOCAL file 5919583 */
+/* { dg-do run { target i?86*-*-* } } */
+/* { dg-options { -msse3 } } */
+#include <stdio.h>
+#include <emmintrin.h>
+
+typedef union {
+  char ary[16];
+  __m128i vec;
+} vectype;
+
+vectype ref;
+
+int __attribute__ ((__noinline__)) scare (vectype);
+int __attribute__ ((__noinline__))
+scare (vectype vec)
+{
+  int i;
+  for (i=0; i<16; i++)
+    if (vec.ary[i] != ref.ary[i])
+      return -1;	/* fail */
+  return 0;	/* pass */
+}
+
+int main( void )
+{
+  vectype v;
+
+  ref.vec = (const __m128i) { 0x32100123456789ABULL, 0xFEDCBA987654ULL };
+  v.vec = _mm_srli_si128( (const __m128i) { 0x0123456789ABCDEFULL, 0xFEDCBA9876543210ULL }, 2 );
+  /*
+  {
+    int i;
+    for( i = 0; i < 16; i++ )
+      printf( "%2.2x", ((unsigned char*) &v)[i] );
+  }
+  printf ("scare = %d\n", scare(v));
+  */
+
+  return scare (v);
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6187262.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6187262.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6187262.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6187262.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,14 @@
+/* APPLE LOCAL file 6187262 */
+/* { dg-do compile { target { i?86-*-darwin* x86_64-*-darwin* } } } */
+/* { dg-options { -O1 } } */
+typedef long long __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
+int main()
+{
+  __m64 mm6;
+  int i;
+  for(i=0; i<1e7; ++i)
+    {
+      mm6 = (__m64)(unsigned long long)i;
+      mm6 = __builtin_ia32_pand(mm6, mm6);
+    }
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6222167.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6222167.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6222167.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6222167.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,21 @@
+/* { dg-do compile { target i?86-apple-darwin* x86_64-apple-darwin* } } */
+/* { dg-options "-msse4.1" } */
+/* { dg-final { scan-assembler "pmaxsd" } } */
+/* { dg-final { scan-assembler "pminsd" } } */
+#include <stdio.h>
+#include "smmintrin.h"
+typedef int  int4 __attribute__ ((vector_size(16)));
+
+int main( void )
+{
+  volatile int4  a = (int4) { 0, 1, 2, 3};
+  volatile int4  b = (int4) { 2, 2, 2, 2};
+
+  int4 max = __builtin_ia32_pmaxsd128( a, b );
+  int4 min = __builtin_ia32_pminsd128( a, b );
+
+  printf( "max: { %d, %d %d, %d}\n", ((int*) &max)[0], ((int*) &max)[1], ((int*) &max)[2], ((int*) &max)[3] );
+  printf( "min: { %d, %d %d, %d}\n", ((int*) &min)[0], ((int*) &min)[1], ((int*) &min)[2], ((int*) &min)[3] );
+
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6227434.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6227434.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6227434.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6227434.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,12 @@
+/* APPLE LOCAL file 6227434 */
+/* { dg-do compile { target i?86-apple-darwin* x86_64-apple-darwin* } } */
+/* { dg-options { -mfix-and-continue } } */
+/* { dg-require-effective-target lp64 } */
+/* { scan-assembler-not "_count\[12\]-" } */
+static unsigned count1 = 0;
+extern unsigned count2;
+
+void t(void) {
+  count1 = 1;
+  count2 = 2;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6258941.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6258941.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6258941.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6258941.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,9 @@
+/* APPLE LOCAL file 6258941 */
+/* { dg-do compile { target powerpc*-apple-darwin* } } */
+/* { dg-options { -mtune=G4 } } */
+extern void malloc_printf(const char *format, ...);
+void auto_fatal(const char *format, ...) {
+  static char buffer[512];
+  malloc_printf("%s", buffer);
+  __builtin_trap();
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6286881.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6286881.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6286881.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6286881.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,9 @@
+/* APPLE LOCAL file radar 6286881 */
+/* Check for incorrect expression does not result in compiler looping; instead of diagnostic. */
+/* { dg-do compile } */
+unsigned int
+func_48 (signed char p_49)
+{
+  signed char l_340;
+  func_44 (&((1 ^ 1 == (lshift_u_s (1)) != (l_340 < 1)) & 1L));  /* { dg-error "lvalue required as unary" } */
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6308664.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6308664.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6308664.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6308664.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,11 @@
+/* APPLE LOCAL file 6308664 */
+/* { dg-do compile { target i?86-*-darwin* x86_64-*-darwin* } } */
+/* { dg-options { -m64 } } */
+/* { dg-final { scan-assembler-not "GOTPCREL" } } */
+extern void doit(double x);
+
+void test()
+{
+  doit(16.0);
+  doit(32.0);
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6310728.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6310728.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6310728.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/6310728.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,62 @@
+/* APPLE LOCAL file 6310728 */
+/* { dg-do compile } */
+/* { dg-options { -mfix-and-continue -m64 } } */
+typedef int int32_t;
+typedef int32_t SINT32 ;
+void RowCol8x8( SINT32 *in8x8,    SINT32 *out8x8,    SINT32 acqfact,    SINT32 intraFlag,    float *i2f9808div2,    float *i2f9239div2,    float *i2f7071div2,    char *qAC) {
+  SINT32 k;
+  float tmpout[64];
+  SINT32 *ptrL;
+  float *ptrF;
+  SINT32 tmpL0,tmpL1,tmpL2,tmpL3,tmpL4,tmpL5,tmpL6,tmpL7,tmpL8,tmpL9;
+  float kess7071div2 = 0.3535533905932737;
+  float kess9808div2 = 0.4903926402016152;
+  float kess8315div2 = 0.4157348061512726;
+  float kess5556div2 = 0.2777851165098011;
+  float kess1951div2 = 0.09754516100806417;
+  float kess9239div2 = 0.4619397662556434;
+  float kess3827div2 = 0.1913417161825449;
+  float tmp0,tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7,tmp8,tmp9;
+  for (ptrL=in8x8,ptrF=tmpout,k=0;
+       k<8;
+       k++,ptrF++,ptrL++)  {
+    tmp1 = ptrF[0];
+    tmp2 = ptrF[56];
+    tmp4 = ptrF[48];
+    if (intraFlag && k == 0)   {
+      tmp5 = 0.5 + tmp5*0.125;
+    }
+    tmpL1 = tmp5;
+    tmpL2 = tmp7 - kess7071div2*tmp8;
+    tmp7 = kess9239div2*tmp0;
+    tmpL4 = tmp7 + kess3827div2*tmp1;
+    tmp8 = kess3827div2*tmp0;
+    tmpL7 = tmp8 - kess9239div2*tmp1;
+    tmp5 = kess9808div2*tmp9;
+    tmp5 += kess8315div2*tmp2;
+    tmp5 += kess5556div2*tmp4;
+    tmpL3 = tmp5 + kess1951div2*tmp6;
+    tmp8 += kess8315div2*tmp4;
+    tmpL8 = tmp8 - kess9808div2*tmp6;
+    if (!(intraFlag && k == 0))   {
+      if (!( acqfact <= 7 ))    {
+        ptrL[0] = (SINT32) qAC[(tmpL1)];
+      }
+      else     ptrL[0] = tmpL1;
+    }
+    if (!( acqfact <= 7 ))   {
+      ptrL[16] = (SINT32) qAC[(tmpL4)];
+      ptrL[24] = (SINT32) qAC[(tmpL5)];
+      ptrL[40] = (SINT32) qAC[(tmpL6)];
+      ptrL[48] = (SINT32) qAC[(tmpL7)];
+      ptrL[56] = (SINT32) qAC[(tmpL8)];
+    }
+    else   {
+      ptrL[32] = tmpL2;
+      ptrL[8] = tmpL3;
+      ptrL[16] = tmpL4;
+      ptrL[48] = tmpL7;
+      ptrL[56] = tmpL8;
+    }
+  }
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/align-test-5b.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/align-test-5b.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/align-test-5b.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/align-test-5b.c Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 /* { dg-options "-malign-power -DSIZE=12" } */
 
 /* We have a different test to pick up the warning from 64-bit case.  */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 /*
  * GCC alignment test for command line options for setting alignment modes.

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/align-test-5d.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/align-test-5d.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/align-test-5d.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/align-test-5d.c Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 /* { dg-options "-malign-natural -DSIZE=12" } */
 
 /* This is for Intel only. */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 /*
  * GCC alignment test for command line options for setting alignment modes.

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-13.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-13.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-13.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-13.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 } } */
 /* Radar 4259442 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-17.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-17.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-17.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-17.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 -O2 } } */
 /* Radar  */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-18.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-18.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-18.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-18.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 -O2 } } */
 /* Radar 4248228 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-24.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-24.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-24.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-24.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 } } */
 /* Radar 4300095 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-25.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-25.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-25.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-25.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 } } */
 /* Radar 4309942 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-31.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-31.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-31.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-31.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 -mdynamic-no-pic } } */
 /* Radar 4319881 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-32.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-32.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-32.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-32.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 } } */
 /* Radar 4319887 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-33.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-33.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-33.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-33.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 } } */
 /* Radar 4300193 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-35.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-35.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-35.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-35.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 -mdynamic-no-pic } } */
 /* Radar 4371551 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-36.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-36.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-36.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-36.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 } } */
 /* Radar 4371958 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-41.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-41.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-41.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-41.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 } } */
 /* Radar 4429851 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-45.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-45.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-45.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-45.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 } } */
 /* Radar 4419735 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-50.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-50.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-50.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-50.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 } } */
 /* Radar 4505741 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-54.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-54.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-54.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-54.c Mon Nov  3 02:35:57 2008
@@ -1,5 +1,5 @@
 /* { dg-do compile { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 } } */
 /* { dg-final { scan-assembler "movq -\(16|36\)\\\(%ebp\\\), %mm0" } } */
 /* Radar 4515069 */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-55.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-55.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-55.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-55.c Mon Nov  3 02:35:57 2008
@@ -1,5 +1,5 @@
 /* { dg-do compile { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 -mdynamic-no-pic } } */
 /* { dg-final { scan-assembler "movq _packedw1.*, %mm0" } } */
 /* Radar 4515069 */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-57.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-57.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-57.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-57.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do run { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { i?86*-*-darwin* } { "-m64" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { -fasm-blocks -msse3 } } */
 /* Radar 4682427 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-6.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-6.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-6.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-6.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { "-fasm-blocks" } } */
 /* Radar 4211978 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-7.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-7.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-7.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-block-7.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file CW asm blocks */
 /* { dg-do assemble { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options { "-fasm-blocks" } } */
 /* Radar 4214021 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-test-nofralloc.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-test-nofralloc.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-test-nofralloc.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/asm-test-nofralloc.c Mon Nov  3 02:35:57 2008
@@ -1,7 +1,7 @@
 /* APPLE LOCAL begin radar 4187164 */
 /* { dg-do run { target powerpc*-*-darwin* } } */
 /* This testcase isn't 64-bit safe.  */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-fasm-blocks" } */
 
 #include <stdio.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-5992047.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-5992047.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-5992047.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-5992047.c Mon Nov  3 02:35:57 2008
@@ -1,11 +1,11 @@
-/* APPLE LOCAL file radar 5992047 */
+/* APPLE LOCAL file radar 5992047 - radar 6175959 */
 /* Check that with a previous declaration of _Block_destroy, test case
    compiles with no error or ICE. */
 /* { dg-options "-fblocks" } */
 /* { dg-do compile { target *-*-darwin* } } */
 
 #define Block_destroy(xxx) _Block_destroy((const void *)(xxx))
-void _Block_destroy(const void *aBlock);
+void _Block_destroy(const void *aBlock, int isWeak);
 
 typedef struct dispatch_item_s *dispatch_item_t;
 typedef void (^completion_block_t)(void);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-6116917.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-6116917.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-6116917.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-6116917.c Mon Nov  3 02:35:57 2008
@@ -7,16 +7,25 @@
 #include <assert.h>
 //#include <Block_private.h>
 
+/* APPLE LOCAL begin radar 5847213 - radar 6329245 */
 struct Block_basic {
-    void *isa;
-    int Block_flags;  // int32_t
-    int Block_size; // XXX should be packed into Block_flags
+    void *isa; // initialized to &_NSConcreteStackBlock or &_NSConcreteGlobalBlock
+    int Block_flags;
+    int reserved;
     void (*Block_invoke)(void *);
-    void (*Block_copy)(void *dst, void *src);
-    void (*Block_dispose)(void *);
-    //long params[0];  // generic space for const & byref hidden params, return value, variable on needs of course
-};
 
+    struct Block_descriptor_1 {
+        unsigned long int reserved;     // NULL
+        unsigned long int Block_size;  // sizeof(struct Block_literal_1)
+
+        // optional helper functions
+        void (*Block_copy)(void *dst, void *src);
+        void (*Block_dispose)(void *src);
+    } *descriptor;
+
+    // imported variables
+};
+/* APPLE LOCAL end radar 5847213 - radar 6329245 */
 
 void
 func(void (^b)(void))
@@ -51,6 +60,7 @@
 
 	bb = (void *)stage1;
 
+	/* APPLE LOCAL radar 5847213 - radar 6329245 */
 	bbi_addr = (long)bb->Block_invoke;
 	bb_addr = (long)bb;
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcglobal.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcglobal.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcglobal.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcglobal.c Mon Nov  3 02:35:57 2008
@@ -28,8 +28,8 @@
 
 
 int main(char *argc, char *argv[]) {
-   int i = 0;
+   __block int i = 0;
    // assigning a Block into a global should elicit a global write-barrier under GC
-   GlobalVoidVoid = ^ { | i | ++i; }; /* { dg-warning "has been deprecated in blocks" } */
+   GlobalVoidVoid = ^ {  ++i; }; 
    return GlobalInt - 1;
 }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcivar.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcivar.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcivar.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcivar.c Mon Nov  3 02:35:57 2008
@@ -45,10 +45,10 @@
 
 
 int main(char *argc, char *argv[]) {
-   int i = 0;
+   __block int i = 0;
    TestObject *to = [[TestObject alloc] init];
    // assigning a Block into an ivar should elicit a  write-barrier under GC
-   to->ivarBlock =  ^ { | i | ++i; };		// fails to gen write-barrier  /* { dg-warning "has been deprecated in blocks" } */
+   to->ivarBlock =  ^ { ++i; };		// fails to gen write-barrier  
    //to->x = to;				// gens write-barrier
    return GlobalInt - 1;
 }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcstrongcast.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcstrongcast.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcstrongcast.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assigngcstrongcast.c Mon Nov  3 02:35:57 2008
@@ -35,8 +35,8 @@
 
 int main(char *argc, char *argv[]) {
    StructWithBlock_t *swbp = (StructWithBlock_t *)malloc(sizeof(StructWithBlock_t*));
-   int i = 10;
+   __block   int i = 10;
    // assigning a Block into an struct slot should elicit a write-barrier under GC
-   swbp->ivarBlock = ^ { | i | ++i; }; /* { dg-warning "has been deprecated in blocks" } */
+   swbp->ivarBlock = ^ { ++i; }; 
    return GlobalInt - 1;
 }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgc-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgc-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgc-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgc-1.c Mon Nov  3 02:35:57 2008
@@ -25,9 +25,9 @@
 
 int main(char *argc, char *argv[]) {
     // an object should not be retained within a stack Block
-    int i = 0;
+    __block int i = 0;
     void (^local)(void);
-    Henry = ^ { | i | ++i; return &i; }; /* { dg-warning "has been deprecated in blocks" } */
+    Henry = ^ { ++i; return &i; }; 
     if (GlobalInt == 1) {
         printf("%s: success\n", argv[0]);
         exit(0);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgc.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgc.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgc.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgc.c Mon Nov  3 02:35:57 2008
@@ -25,9 +25,9 @@
 
 int main(char *argc, char *argv[]) {
     // an object should not be retained within a stack Block
-    int i = 0;
+    __block int i = 0;
     void (^local)(void);
-    Henry = ^ { | i | ++i; }; /* { dg-warning "has been deprecated in blocks" } */
+    Henry = ^ { ++i; }; 
     if (GlobalInt == 1) {
         printf("%s: success\n", argv[0]);
         exit(0);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgcivar.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgcivar.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgcivar.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-assignweakgcivar.c Mon Nov  3 02:35:57 2008
@@ -33,10 +33,10 @@
 
 int main(char *argc, char *argv[]) {
     // an object should not be retained within a stack Block
-    int i = 0;
+    __block int i = 0;
     void (^local)(void);
     Foo *foo = [[Foo alloc] init];
-    foo->ivar = ^ { | i | ++i; }; /* { dg-warning "has been deprecated in blocks" } */
+    foo->ivar = ^ { ++i; }; 
     if (GlobalInt == 1) {
         printf("%s: success\n", argv[0]);
         exit(0);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-attributes-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-attributes-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-attributes-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-attributes-1.c Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file radar 6237713 */
+/* APPLE LOCAL file radar 6237713 - modified for radar 6230297 */
 /* Test for using attributes on blocks. */
 /* { dg-options "-mmacosx-version-min=10.5 -fblocks" { target *-*-darwin* } } */
 /* { dg-do compile } */
@@ -11,10 +11,10 @@
 {
        void (^a)(void) __attribute__((noreturn)) = ^ (void) __attribute__((noreturn)) { exit (0); }; // OK;
 
-	^ (int i) __attribute__((noreturn)) { return i; }; /* { dg-warning "function declared \\'noreturn\\' has a \\'return\\' statement" } */
+	int (^b)(int) __attribute__((noreturn)) = ^ (int i) __attribute__((noreturn)) { return i; }; /* { dg-warning "function declared \\'noreturn\\' has a \\'return\\' statement" } */
 							   /* { dg-warning "\\'noreturn\\' function does return" "" { target *-*-* } 14 } */
 
-	^ __attribute__((noreturn)) { return 100; }; /* { dg-warning "function declared \\'noreturn\\' has a \\'return\\' statement" } */
+	int (^c)(void) __attribute__((noreturn)) = ^ __attribute__((noreturn)) { return 100; }; /* { dg-warning "function declared \\'noreturn\\' has a \\'return\\' statement" } */
 						     /* { dg-warning "\\'noreturn\\' function does return" "" { target *-*-* } 17 } */
 
 	a = ^ (void) __attribute__((noreturn)) { exit (0); }; // OK

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-block-property-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-block-property-2.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-block-property-2.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-block-property-2.c Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file radar 5831920 */
+/* APPLE LOCAL file radar 5831920  - modified for radar 6255671 */
 #import <Foundation/Foundation.h>
 /* Test a property with block type. */
 /* { dg-do run } */
@@ -12,8 +12,8 @@
 int (^getIntRetain)(void);
 
 }
- at property int (^getIntCopy)(void);
- at property int (^getIntRetain)(void);
+ at property (assign) int (^getIntCopy)(void);
+ at property (assign) int (^getIntRetain)(void);
 @end
 
 @implementation TestObject
@@ -31,9 +31,9 @@
 
 int main(char *argc, char *argv[]) {
     int count;
-    int val = 0;
+    __block int val = 0;
     TestObject *to = [[TestObject alloc] init];
-    to.getIntRetain = ^ { | val| printf("\n Hello(%d)\n", val); return ++val; }; /* { dg-warning "has been deprecated in blocks" } */
+    to.getIntRetain = ^ { printf("\n Hello(%d)\n", val); return ++val; }; 
     to.getIntCopy = to.getIntRetain;
 
     count = DoBlock (to.getIntCopy);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-1.c Mon Nov  3 02:35:57 2008
@@ -2,14 +2,14 @@
 /* { dg-options "-fblocks" } */
 /* { dg-do compile } */
 
-__byref  int X; /* { dg-warning "__byref attribute is only allowed on local variables - ignored" } */
+__block  int X; /* { dg-warning "__block attribute is only allowed on local variables - ignored" } */
 
-int foo(__byref int param) { /* { dg-warning "byref attribute can be specified on variables only - ignored" } */
-  __byref int OK = 1;
+int foo(__block int param) { /* { dg-warning "__block attribute can be specified on variables only - ignored" } */
+  __block int OK = 1;
 
-  extern __byref double extern_var;	/* { dg-warning "__byref attribute is only allowed on local variables - ignored" } */
+  extern __block double extern_var;	/* { dg-warning "__block attribute is only allowed on local variables - ignored" } */
   if (X) {
-	static __byref char * pch;	/* { dg-warning "__byref attribute is only allowed on local variables - ignored" } */
+	static __block char * pch;	/* { dg-warning "__block attribute is only allowed on local variables - ignored" } */
   }
   return OK - 1;
 }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-2.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-2.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-2.c Mon Nov  3 02:35:57 2008
@@ -6,8 +6,8 @@
 void _Block_byref_release(void*src){}
 
 int main() {
-   __byref  int X = 1234;
-   __byref  const char * message = "HELLO";
+   __block  int X = 1234;
+   __block  const char * message = "HELLO";
 
    X = X - 1234;
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-3.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-3.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-3.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-3.c Mon Nov  3 02:35:57 2008
@@ -6,8 +6,8 @@
 void _Block_byref_release(void*src){}
 
 int main() {
-   __byref  int X = 1234;
-   __byref  const char * message = "HELLO\n";
+   __block  int X = 1234;
+   __block  const char * message = "HELLO\n";
 
    X = X - 1234;
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-4.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-4.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-4.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-4.c Mon Nov  3 02:35:57 2008
@@ -8,9 +8,9 @@
 void _Block_byref_release(void*src){}
 
 int main() {
-   __byref  int X = 1234;
+   __block  int X = 1234;
 
-   int (^CP)(void) = ^{ |X| X = X+1;  return X; }; /* { dg-warning "has been deprecated in blocks" } */
+   int (^CP)(void) = ^{ X = X+1;  return X; }; 
    CP();
    printf ("X = %d\n", X);
    return X - 1235;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-5.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-5.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-5.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-5.c Mon Nov  3 02:35:57 2008
@@ -17,10 +17,10 @@
 
 int main() {
   int x = 1;
-  __byref int y = 2;
-  __byref br_x;
+  __block int y = 2;
+  __block br_x;
   int y1;
-  double res = test(^(int z){|y| y = x+z; return (double)x; }); /* { dg-warning "has been deprecated in blocks" } */
+  double res = test(^(int z){y = x+z; return (double)x; }); 
   printf("result = %f  x = %d y = %d\n", res, x, y);
   if (x != 1 || y != 43)
    exit(1);
@@ -28,7 +28,7 @@
   br_x = x;
   y1 = y;
 
-  res = test(^(int z){|br_x| br_x = br_x+z; return (double)y1; }); /* { dg-warning "has been deprecated in blocks" } */
+  res = test(^(int z){br_x = br_x+z; return (double)y1; }); 
   printf("result = %f  br_x = %d y1 = %d\n", res, br_x, y1);
   if (br_x != 43 || y1 != 43)
     exit(1);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-6.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-6.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-6.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-6.c Mon Nov  3 02:35:57 2008
@@ -16,14 +16,14 @@
 }
 
 int main() {
-  __byref int x = 1;
-  __byref int y = 2;
-  double res = test(^(int z){|y| y = x+z; return (double)x; }); /* { dg-warning "has been deprecated in blocks" } */
+  __block int x = 1;
+  __block int y = 2;
+  double res = test(^(int z){y = x+z; return (double)x; }); 
   printf("result = %f  x = %d y = %d\n", res, x, y);
   if (x != 1 || y != 43)
    exit(1);
 
-  res = test(^(int z){|x| x = x+z; return (double)y; }); /* { dg-warning "has been deprecated in blocks" } */
+  res = test(^(int z){x = x+z; return (double)y; }); 
   printf("result = %f  x = %d y = %d\n", res, x, y);
   if (x != 43 || y != 43)
     exit(1);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-7.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-7.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-7.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-7.c Mon Nov  3 02:35:57 2008
@@ -12,28 +12,28 @@
 int i;
 
 int foo() {
-   __byref  id FFFFFF;
-   __byref  id Q;
-   ^{ |FFFFFF| FFFFFF = 0; }; /* { dg-warning "has been deprecated in blocks" } */
+   __block  id FFFFFF;
+   __block  id Q;
+   ^{ FFFFFF = 0; }; 
 
    if (i)
    {
-     __byref  id FFFFFF;
-     __byref  id Q;
-     ^{ |FFFFFF| FFFFFF = 0; }; /* { dg-warning "has been deprecated in blocks" } */
+     __block  id FFFFFF;
+     __block  id Q;
+     ^{ FFFFFF = 0; }; 
    }
 }
 
 int main() {
-   __byref  id X;
-   __byref  id X1;
-   ^{ |X| X = 0; }; /* { dg-warning "has been deprecated in blocks" } */
+   __block  id X;
+   __block  id X1;
+   ^{ X = 0; }; 
 
    if (i)
    {
-     __byref  id X;
-     __byref  id X1;
-     ^{ |X| X = 0; }; /* { dg-warning "has been deprecated in blocks" } */
+     __block  id X;
+     __block  id X1;
+     ^{ X = 0; }; 
    }
    return 0;
 }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-8.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-8.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-8.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-blocks-test-8.c Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* Test the __byreg runtime features. */
 /* { dg-options "-mmacosx-version-min=10.5 -ObjC -framework Foundation" { target i?86-*-darwin*  } } */
 /* { dg-do run { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #import <Foundation/Foundation.h>
 
@@ -49,15 +49,26 @@
     BLOCK_IS_GC =             (1 << 27),
 };
 
+/* APPLE LOCAL begin radar 5847213 - radar 6329245 */
 struct Block_basic {
-    void *isa;
-    int Block_flags;  // int32_t
-    int Block_size; // XXX should be packed into Block_flags
+    void *isa; // initialized to &_NSConcreteStackBlock or &_NSConcreteGlobalBlock
+    int Block_flags;
+    int reserved;
     void (*Block_invoke)(void *);
-    void (*Block_copy)(void *dst, void *src);
-    void (*Block_dispose)(void *);
-    //long params[0];  // generic space for const & byref hidden params, return value, variable on needs of course
+
+    struct Block_descriptor_1 {
+        unsigned long int reserved;     // NULL
+        unsigned long int Block_size;  // sizeof(struct Block_literal_1)
+
+        // optional helper functions
+        void (*Block_copy)(void *dst, void *src);
+        void (*Block_dispose)(void *src);
+    } *descriptor;
+
+    // imported variables
 };
+/* APPLE LOCAL end radar 5847213 - radar 6329245 */
+
 struct Block_byref {
     void* isa;
     struct Block_byref *forwarding;
@@ -90,8 +101,8 @@
 }
 
 int main(int argc, char *argv[]) {
-    id __byref dumbo = newDumbObject(); //[DumbObject new];
-    void (^dummy)(void) = ^{ | dumbo | /* { dg-warning "has been deprecated in blocks" } */
+    id __block dumbo = newDumbObject(); //[DumbObject new];
+    void (^dummy)(void) = ^{ 
         [dumbo self];
     };
 
@@ -102,8 +113,8 @@
     }
 
     char result[200];
-    printf("calling out to copy support helper at %p\n", aBlock->Block_copy);
-    (*aBlock->Block_copy)(result, aBlock); // do fixup
+    printf("calling out to copy support helper at %p\n", aBlock->descriptor->Block_copy);
+    (*aBlock->descriptor->Block_copy)(result, aBlock); // do fixup
 
     // The copy/destroy helper should have had a callout  to _Block_byref_assign_copy for its byref block
     if (! ByrefAssignCopy) {
@@ -117,7 +128,7 @@
         return 1;
     }
 
-    (*aBlock->Block_dispose)(aBlock);
+    (*aBlock->descriptor->Block_dispose)(aBlock);
 
     return 0;
 }

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-2.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-2.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-2.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,35 @@
+/* APPLE LOCAL file radar 6237616  */
+/* { dg-do compile } */
+/* { dg-options "-g -O3 -dA -mmacosx-version-min=10.6" }*/
+/* { dg-final { scan-assembler "DW_OP_breg\[0-9a-f]+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x0+\[ \t]+\[#;@]\[ \t]sleb128 0+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x6+\[ \t]+\[#;@]\[ \t]DW_OP_deref+\[ \t\n]+\[ \t]\\.byte+\[ \t]\[0x6;0x23]+\[ \t]+\[#;@]\[ \t]\[DW_OP_deref;DW_OP_plus_uconst]"}  }  */
+/* { dg-final { scan-assembler-not "DW_OP_reg\[0-9a-f]+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x6+\[ \t]+\[#;@]\[ \t]DW_OP_deref"}  }  */
+
+#include <stdio.h>
+
+int 
+main ()
+{
+  int val_1, val_2;
+
+  int (^my_block) (int);
+
+  if (1)
+    {
+      __block int use_by_ref = 1;
+      int use_by_value = 0xfefefefe;
+      
+      my_block = ^ (int in_value) {
+	use_by_ref++;
+	printf ("Block function has: %d %d %d.\n", in_value, use_by_value, use_by_ref);
+	return in_value + use_by_ref + use_by_value;
+      };
+      use_by_ref++;
+      val_1 = my_block (10);
+    }
+      
+  val_1 = my_block (20);
+  val_2 = my_block (30);
+  printf ("Got: %d and %d.\n", val_1, val_2);
+  
+  return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-3.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-3.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-3.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-3.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,35 @@
+/* APPLE LOCAL file radar 6237616  */
+/* { dg-do compile } */
+/* { dg-options "-g -O0 -dA -mmacosx-version-min=10.6" }*/
+/* { dg-final { scan-assembler "line 15+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x0+\[ \t]+\[#;@]\[ \t]DW_LNE_set_address+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x\[0-9a-f]+\[ \t]+\[#;@]\[ \t]uleb128 0x\[0-9a-f]+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x2+\[ \t\n]+\[ \t]\[\\.long;\\.quad]+\[ \t]LM\[0-9]+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x\[0-9a-f]+\[ \t]+\[#;@]\[ \t]line 16"} } */
+/* { dg-final { scan-assembler-not "line 15+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x0+\[ \t]+\[#;@]\[ \t]DW_LNE_set_address+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x\[0-9a-f]+\[ \t]+\[#;@]\[ \t]uleb128 0x\[0-9a-f]+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x2+\[ \t\n]+\[ \t]\[\\.long;\\.quad]+\[ \t]LM\[0-9]+\[ \t\n]+\[ \t]\\.byte+\[ \t]0x\[0-9a-f]+\[ \t]+\[#;@]\[ \t]DW_LNS_copy" } } */
+
+#include <stdio.h>
+#line 3
+int 
+main ()
+{
+  int val_1, val_2;
+
+  int (^my_block) (int);
+
+  if (1)
+    {
+      __block int use_by_ref = 1;
+      int use_by_value = 0xfefefefe;
+      
+      my_block = ^ (int in_value) {
+	use_by_ref++;
+	printf ("Block function has: %d %d %d.\n", in_value, use_by_value, use_by_ref);
+	return in_value + use_by_ref + use_by_value;
+      };
+      use_by_ref++;
+      val_1 = my_block (10);
+    }
+      
+  val_1 = my_block (20);
+  val_2 = my_block (30);
+  printf ("Got: %d and %d.\n", val_1, val_2);
+  
+  return 0;
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-attribute.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-attribute.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-attribute.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref-attribute.c Mon Nov  3 02:35:57 2008
@@ -1,11 +1,11 @@
 /* APPLE LOCAL file radar 6096219 */
-/* Test that __byref attribute can be used directly. */
+/* Test that __block attribute can be used directly. */
 /* { dg-options "-mmacosx-version-min=10.5 -fblocks" { target *-*-darwin* } } */
 /* { dg-do compile } */
 
 int main()
 {
-        __byref int JJJJ;
+        __block int JJJJ;
 	__attribute__((__blocks__(byref))) int III;
 
 	int (^XXX)(void) = ^{ return III+JJJJ; };

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-byref.c Mon Nov  3 02:35:57 2008
@@ -4,38 +4,26 @@
 /* { dg-options "-fblocks" } */
 
 int main() {
+	__block int a;
+	__block int b;
 	int x, y;
 	^{ };
-	^{|x|}; /* { dg-warning "has been deprecated in blocks" } */
+	^{}; 
 
-	^{ |x,y| int r; return x+y+r; }; /* { dg-warning "has been deprecated in blocks" } */
-	^{ |x,y|; int r; return x+y+r; }; /* { dg-warning "has been deprecated in blocks" } */
+	^{ int r; return x+y+r; }; 
+	^{ int r; return x+y+r; }; 
 
-	^{ |x,y|; int r; return x+y+r; /* { dg-warning "has been deprecated in blocks" } */
+	^{ int r; return x+y+r; 
            ^{
-	   |x,y|; int r; return x+y; /* { dg-warning "has been deprecated in blocks" } */
+	   int r; return x+y; 
 	    };
          };
 
-	^{ |x,y|; int r; return x+y+r; /* { dg-warning "has been deprecated in blocks" } */
-           ^{
-              { |x,y|; int r; return x+y; }; /* { dg-error "expected expression before" } */
-            };
-         };
+	^{a = 1;}; 
 
-	^ { int r;
-	    |x, y|    /* { dg-error "expected expression before" } */
-	  };
-
-	^{| /* { dg-warning "has been deprecated in blocks" } */
-	   main()|};  /* { dg-error "only a visible variable may be used in a block byref declaration" } */
-
-	/* Assigning to byref variables. */
-	^{|x| x = 1;}; /* { dg-warning "has been deprecated in blocks" } */
-
-	^{ |x,y| /* { dg-warning "has been deprecated in blocks" } */
-	   if (x != y)
-	     x = y = 100;
+	^{ 
+	   if (a != b)
+	     a = b = 100;
 	 };
 
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-codegen-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-codegen-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-codegen-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-codegen-1.c Mon Nov  3 02:35:57 2008
@@ -14,14 +14,14 @@
 }
 
 int main() {
-  int x = 1;
-  int y = 2;
-  double res = test(^(int z){|y| y = x+z; return (double)x; }); /* { dg-warning "has been deprecated in blocks" } */
+  __block int x = 1;
+  __block int y = 2;
+  double res = test(^(int z){y = x+z; return (double)x; }); 
   printf("result = %f  x = %d y = %d\n", res, x, y);
   if (x != 1 || y != 43)
    exit(1);
 
-  res = test(^(int z){|x| x = x+z; return (double)y; }); /* { dg-warning "has been deprecated in blocks" } */
+  res = test(^(int z){x = x+z; return (double)y; }); 
   printf("result = %f  x = %d y = %d\n", res, x, y);
   if (x != 43 || y != 43)
     exit(1);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-complicated-type.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-complicated-type.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-complicated-type.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-complicated-type.c Mon Nov  3 02:35:57 2008
@@ -15,6 +15,8 @@
 int (^(^block)(double x))(char, short);
 
 void foo() {
-   block = ^(double x){ return ^(char c, short y) { return (int)c + y; };}; /* { dg-error "returning block that lives on the local stack" } */
+   int one = 1;
+   /* APPLE LOCAL radar 6230297 */
+   block = ^(double x){ return ^(char c, short y) { return one + (int)c + y; };}; /* { dg-error "returning block that lives on the local stack" } */
 }
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-copy-destroy.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-copy-destroy.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-copy-destroy.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-copy-destroy.c Mon Nov  3 02:35:57 2008
@@ -12,10 +12,11 @@
 @implementation Root
 
 - (void)example {
- int y, x;
+ int x;
+ __block int y;
  NSAutoreleasePool *pool = [NSAutoreleasePool new];
  NSAutoreleasePool *relpool = [NSAutoreleasePool new];
- bar(^(int z){ |y| y = x+z;  [pool drain]; if (y) y++; [relpool release]; return y+2.0; }); /* { dg-warning "has been deprecated in blocks" } */
+ bar(^(int z){ y = x+z;  [pool drain]; if (y) y++; [relpool release]; return y+2.0; }); 
 }
 @end
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-debug-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-debug-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-debug-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-debug-1.c Mon Nov  3 02:35:57 2008
@@ -4,7 +4,8 @@
 
 /* { dg-do compile } */
 /* { dg-options "-g -O0 -fblocks -dA" } */
-/* { dg-final { scan-assembler "invoke_impl.*DW_AT_name" } } */
+/* { dg-final { scan-assembler "__block_descriptor.*DW_AT_name" } } */
+/* { dg-final { scan-assembler "__block_literal_generic.*DW_AT_name" } } */
 
 struct inStruct {
   void (^genericBlockPtr)();

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-debug-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-debug-2.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-debug-2.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-debug-2.c Mon Nov  3 02:35:57 2008
@@ -4,7 +4,8 @@
 
 /* { dg-do compile } */
 /* { dg-options "-g -O0 -fblocks -dA" } */
-/* { dg-final { scan-assembler "invoke_impl.*DW_AT_name" } } */
+/* { dg-final { scan-assembler "__block_descriptor.*DW_AT_name" } } */
+/* { dg-final { scan-assembler "__block_literal_generic.*DW_AT_name" } } */
 
 void (^os)();
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-dup-invoke_impl.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-dup-invoke_impl.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-dup-invoke_impl.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-dup-invoke_impl.c Mon Nov  3 02:35:57 2008
@@ -23,13 +23,13 @@
 }
 
 int main() {
-  enum numbers x = one;
-  enum numbers y = two;
+  __block enum numbers x = one;
+  __block enum numbers y = two;
 
   myblock CL = ^(enum numbers z)
-		{|y| y = z; /* { dg-warning "has been deprecated in blocks" } */
+		{y = z; 
 		 test (
-		 ^ (enum numbers z) { |x| /* { dg-warning "has been deprecated in blocks" } */
+		 ^ (enum numbers z) { 
 		   x = z;
 		   return (enum numbers) four;
 		  }

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-duplicate-err.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-duplicate-err.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-duplicate-err.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-duplicate-err.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,14 @@
+/* APPLE LOCAL file radar 6310599 */
+/* Check that internal fields do not conflict with user names. */
+/* { dg-options "-fblocks" } */
+/* { dg-do compile } */
+
+int main()
+{
+	__block int flags;
+	__block void *isa;
+	
+	^{ flags=1; isa = (void *)isa; };
+	return 0;
+}
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-enum.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-enum.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-enum.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-enum.c Mon Nov  3 02:35:57 2008
@@ -20,15 +20,15 @@
 }
 
 int main() {
-  enum numbers x = one;
-  enum numbers y = two;
+  __block enum numbers x = one;
+  __block enum numbers y = two;
 
-  enum numbers res = test(^(enum numbers z){|y| y = z; return x; }); /* { dg-warning "has been deprecated in blocks" } */
+  enum numbers res = test(^(enum numbers z){y = z; return x; }); 
 
   if (x != one || y != three || res != one)
    exit(1);
 
-  res = test(^(enum numbers z){|x| x = z; return x; }); /* { dg-warning "has been deprecated in blocks" } */
+  res = test(^(enum numbers z){x = z; return x; }); 
   if (x != three || res != three)
     exit(1);
   return 0;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-error-global-byref.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-error-global-byref.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-error-global-byref.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-error-global-byref.c Mon Nov  3 02:35:57 2008
@@ -16,7 +16,7 @@
     static int static_local = 10;
     int local;
     CallBlock( ^ {++glob;  		
-		  CallBlock(^ { |glob, static_local| /* { dg-warning "has been deprecated in blocks" } */
+		  CallBlock(^ { 
 				++glob;
 				stat++;
 			        ++static_local;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-do.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-do.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-do.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-do.c Mon Nov  3 02:35:57 2008
@@ -13,22 +13,20 @@
 }
 
 int main() {
-  __byref int O1;
-  int p = 0;
-  do
-    {
-      __byref int I1;
-      do
-	{
-	  __byref int J1;
-	  if (p == 2)
-	    break;
-	}
-      while ( ++p < 3);
+  {
+    __block int O1;
+    int p = 0;
+    do {
+      __block int I1;
+      do {
+	__block int J1;
+	if (p == 2)
+	  break;
+      } while ( ++p < 3);
       if (p == 4)
 	break;
-    }
-  while (++p != 5);
+    } while (++p != 5);
+  }
 
   return count-7;
 }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-for.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-for.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-for.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-for.c Mon Nov  3 02:35:57 2008
@@ -7,19 +7,19 @@
 
 static int count;
 static void _Block_byref_release(void * arg) {
-	++count;
+  ++count;
 }
 
-int main()
-{
-    __byref int O1;
+int main() {
+  {
+    __block int O1;
     int i;
     for (i = 1; i <= 5; i++)
-    {
-            __byref int I1;
-    }
+      {
+	__block int I1;
+      }
     if (count != 5)
-	abort();
-    return count - 6;
+      abort();
+  }
+  return count - 6;
 }
-

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-for1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-for1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-for1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-for1.c Mon Nov  3 02:35:57 2008
@@ -14,18 +14,20 @@
 }
 
 int main() {
-  __byref int O1;
+ {
+  __block int O1;
   int i;
   int p;
   for (i = 1; i <= 5; i++) {
-    __byref int I1;
+    __block int I1;
     p = 0;
     while (p != 10) {
-      __byref int II1;
+      __block int II1;
       if (p == 2)
 	break;
       ++p;
     }
   }
+ }
   return count-21;
 }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-goto.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-goto.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-goto.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-goto.c Mon Nov  3 02:35:57 2008
@@ -2,25 +2,21 @@
 /* { dg-options "-fblocks" } */
 /* { dg-do compile } */
 
-
-int foo(int p)
-{
-    __byref int O1;
-    int i;
-	      LOUT: ;
-    for (i = 1; i < 100; i++)
-    {
-            __byref int I1;
-            while (p < 0)
-	    {
-	      __byref int II1;	
-	      if (p == 100)
-	        goto LOUT; /* { dg-error "local byref variable II1 is in the scope of this goto" } */
-	      ++p;
-              if (p == 2345)
-	        break;
-	    }
+int main(int p) {
+  p = -5;
+  __block int O1;
+  int i;
+ LOUT: ;
+  for (i = 1; i < 100; i++) {
+    __block int I1;
+    while (p < 0) {
+      __block int II1;	
+      if (p == 100)
+	goto LOUT;
+      ++p;
+      if (p == 2345)
+	break;
     }
-    return 0;
+  }
+  return 0;
 }
-

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-nested-while.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-nested-while.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-nested-while.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-nested-while.c Mon Nov  3 02:35:57 2008
@@ -16,8 +16,8 @@
 void objc_get_type_qualifiers (int flag, int type) {
   while (flag--)
     while (type++ < 4) {
-      __byref int W1;
-      __byref int W2;
+      __block int W1;
+      __block int W2;
       if (type == 2)
 	break;
     }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-return.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-return.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-return.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-return.c Mon Nov  3 02:35:57 2008
@@ -15,12 +15,17 @@
 }
 
 
-int main() {
-  __byref  int X = 1234;
+int main1() {
+  __block  int X = 1234;
   if (X) {
-    __byref int local_BYREF = 100;
+    __block int local_BYREF = 100;
     X += 100 + local_BYREF;
     return count-2;
   }
   return -1;
 }
+
+int main() {
+  main1();
+  return count-2;
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-return1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-return1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-return1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-return1.c Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file radar 6083129 byref escapes */
+/* APPLE LOCAL file radar 6083129 block escapes */
 /* { dg-options "-fblocks" } */
 /* { dg-do run } */
 
@@ -17,13 +17,13 @@
 void *_NSConcreteStackBlock;
 
 void FOO(int arg) {
-  __byref  int X = 1234;
+  __block  int X = 1234;
   if (arg) {
-    __byref int local_BYREF = 100;
+    __block int local_BYREF = 100;
     X += 100 + local_BYREF;
     return;
   }
-  ^{ |X| X++; };	/* { dg-warning "has been deprecated in blocks" } */
+  ^{ X++; };	
   X = 1000;
 }
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-switch.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-switch.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-switch.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-switch.c Mon Nov  3 02:35:57 2008
@@ -15,33 +15,33 @@
 }
 
 int foo(int p, int q) {
-  __byref int O1;
+  __block int O1;
   switch (p) {
   case 1:
     {
-      __byref int I1;
+      __block int I1;
       I1 += 1;
       break;
     }
   case 10:
     {
-      __byref int J1;
+      __block int J1;
       break;
     }
   default :
     {
-      __byref int D1;
-      __byref int D2;
+      __block int D1;
+      __block int D2;
       switch (q) {
       case 11:
 	{
-	  __byref int  Q1;
+	  __block int  Q1;
 	  break;
 	}
       default:
 	{
-	  __byref int  ID1;
-	  __byref int  ID2;
+	  __block int  ID1;
+	  __block int  ID2;
 	}
       };
       break;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-while.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-while.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-while.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-escape-while.c Mon Nov  3 02:35:57 2008
@@ -12,14 +12,16 @@
 
 int main()
 {
-    __byref int O1;
+  {
+    __block int O1;
     int i = 0;
     while (++i != 5)
     {
-            __byref int I1;
+            __block int I1;
     }
     if (count != 4)
 	abort();
+  }
     return count - 5;
 }
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-explicit-return-type.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-explicit-return-type.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-explicit-return-type.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-explicit-return-type.c Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file radar 6185344 */
+/* APPLE LOCAL file radar 6185344 - updated for radar 6230297 */
 /* Test for blocks with explicit return type specified. */
 /* { dg-options "-mmacosx-version-min=10.6 -ObjC" { target *-*-darwin* } } */
 /* { dg-do compile } */
@@ -75,9 +75,10 @@
 int (^(^block)(double x))(char, short);
 
 void foo() {
-   block = ^(double x){ return ^int(char c, short y) { return c + y; };};  /* { dg-warning "returning block that lives on the local stack" } */
+   int one = 1;
+   block = ^(double x){ return ^int(char c, short y) { return one + c + y; };};  /* { dg-warning "returning block that lives on the local stack" } */
    // or:
-   block = ^(double x){ return ^(char c, short y) { return (int)c + y; };};  /* { dg-warning "returning block that lives on the local stack" } */
+   block = ^(double x){ return ^(char c, short y) { return one + (int)c + y; };};  /* { dg-warning "returning block that lives on the local stack" } */
 }
 
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref-1.c Mon Nov  3 02:35:57 2008
@@ -1,5 +1,5 @@
 /* APPLE LOCAL file radar 5803005 */
-/* Test that all global variables referenced in blocks are treated as 'byref' as default. */
+/* Test that all global variables referenced in blocks are treated as 'block' as default. */
 /* { dg-do run } */
 /* { dg-options "-mmacosx-version-min=10.5 -fblocks" { target *-*-darwin* } } */
 
@@ -15,8 +15,8 @@
 
 int foo() {
     static int local = 10;
-    CallBlock( ^ {| local| ++glob; ++stat; ++local; /* { dg-warning "has been deprecated in blocks" } */
-	          CallBlock(^ { |local| ++glob; ++stat; ++local; }); /* { dg-warning "has been deprecated in blocks" } */
+    CallBlock( ^ {++glob; ++stat; ++local; 
+	          CallBlock(^ { ++glob; ++stat; ++local; }); 
 		  ++glob; ++stat; ++local; });
 
     if (glob != 13 || stat != 13 || local != 13)

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref-2.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref-2.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref-2.c Mon Nov  3 02:35:57 2008
@@ -1,5 +1,5 @@
 /* APPLE LOCAL file radar 6014138 */
-/* Test use of __byref on locals which will be used as 'byref' variables in blocks. */
+/* Test use of __block on locals which will be used as 'byref' variables in blocks. */
 /* { dg-do run } */
 /* { dg-options "-mmacosx-version-min=10.5 -fblocks" { target *-*-darwin* } } */
 
@@ -14,9 +14,9 @@
 
 
 int foo() {
-    __byref int local_byref_1 = 10;
-    __byref int local_byref_2 = 10;
-    __byref int local_byref_3 = 10;
+    __block int local_byref_1 = 10;
+    __block int local_byref_2 = 10;
+    __block int local_byref_3 = 10;
 
     CallBlock( ^ { ++local_byref_1; ++local_byref_2; ++local_byref_3; 
 	          CallBlock(^ { ++local_byref_1; ++local_byref_2; ++local_byref_3; }); 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-global-byref.c Mon Nov  3 02:35:57 2008
@@ -15,8 +15,8 @@
 
 int foo() {
     static int local = 10;
-    CallBlock( ^ {| glob, stat, local| ++glob; ++stat; ++local; /* { dg-warning "has been deprecated in blocks" } */
-		  CallBlock(^ { |glob, stat, local| ++glob; ++stat; ++local; }); /* { dg-warning "has been deprecated in blocks" } */
+    CallBlock( ^ {++glob; ++stat; ++local; 
+		  CallBlock(^ { ++glob; ++stat; ++local; }); 
 		  ++glob; ++stat; ++local; });
 
     if (glob != 13 || stat != 13 || local != 13)

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-in-foreach-header.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-in-foreach-header.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-in-foreach-header.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-in-foreach-header.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,57 @@
+/* APPLE LOCAL file radar 6268817 */
+/* Testing use of block literal expression in ObjC's enumeration foreach-statement loop header. */
+/* { dg-options "-mmacosx-version-min=10.6 -ObjC -framework Foundation" { target *-*-darwin* } } */
+/* { dg-do run } */
+
+#import <Foundation/Foundation.h>
+
+ at interface TargetSymbol : NSObject {
+    NSString *      _symbolName;
+}
+ at property (copy) NSString *name;
+ at end
+
+ at implementation TargetSymbol
+ at synthesize name = _symbolName;
+ at end
+
+static void Looper(NSArray *symbols) {
+    // 1. Block literal assigned to a block pointer, which is used in loop: build succeeds
+    NSComparator comparator = ^(id target1, id target2){return [((TargetSymbol *)target1).name compare:((TargetSymbol *)target2).name];};
+    
+    for (id symbol in [symbols sortedArrayUsingComparator:comparator]) {
+        // Do something
+    }
+
+    // 2. Block expression literal used, but still outside loop: build succeeds
+    NSArray *sortedSymbols = [symbols sortedArrayUsingComparator:^(id target1, id target2){return [((TargetSymbol *)target1).name compare:((TargetSymbol *)target2).name];}];
+    
+    for (id symbol in sortedSymbols) {
+        // Do something
+    }
+
+    // 3. Block expression literal used directly in loop: build fails
+    for (id symbol in [symbols sortedArrayUsingComparator:^(id target1, id target2){return [((TargetSymbol *)target1).name compare:((TargetSymbol *)target2).name];}]) {
+        // Do something
+    }
+
+    // 3. Block expression literal used directly in loop: build fails
+    for (id symbol in [symbols sortedArrayUsingComparator:^(id target1, id target2){return [((TargetSymbol *)target1).name compare:((TargetSymbol *)target2).name];}]) {
+        // Do something
+    }
+
+    // 3. Block expression literal used directly in loop: build fails
+    for (id symbol in [symbols sortedArrayUsingComparator:^(id target1, id target2){return [((TargetSymbol *)target1).name compare:((TargetSymbol *)target2).name];}]) {
+        // Do something
+    }
+}
+
+
+int main (int argc, const char * argv[]) {
+    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
+
+    // insert code here...
+    NSLog(@"Hello, World!");
+    [pool drain];
+    return 0;
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-literal.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-literal.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-literal.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-literal.c Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file radar 5732232, 6034839 - blocks */
+/* APPLE LOCAL file radar 5732232, 6034839, 6230297 - blocks */
 /* { dg-do compile } */
 /* { dg-options "-fblocks" } */
 
@@ -27,7 +27,7 @@
 	       /*  { dg-error "blocks require" "" { target *-*-* } 26 } */
     ;  /* { dg-error "argument list is required for block expression literals" } */
 
-  return ^{printf("\nBlock\n"); };  /* { dg-error "returning block that lives on the local stack" } */
+  return ^{printf("\nBlock\n"); };  
 }
 
 void test2() {
@@ -44,7 +44,8 @@
 }
 
 void (^test3())(void) {
-  return ^{};    /* { dg-error "returning block that lives on the local stack" } */
+  /* APPLE LOCAL radar 6230297 */
+  return ^{};    
 }
 
 void test4() {

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-local-stack.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-local-stack.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-local-stack.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-local-stack.c Mon Nov  3 02:35:57 2008
@@ -1,8 +1,9 @@
-/* APPLE LOCAL file radar 5732232 - blocks */
+/* APPLE LOCAL file radar 5732232 - radar 6230297 - blocks */
 /* { dg-do compile } */
 /* { dg-options "-fblocks" } */
 
 void (^test3())(void) {
-  return ^{};   /* { dg-error "returning block that lives on the local stack" } */
+  __block int i;
+  return ^{i = 1; };   /* { dg-error "returning block that lives on the local stack" } */
 }
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-local-static-test.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-local-static-test.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-local-static-test.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-local-static-test.c Mon Nov  3 02:35:57 2008
@@ -2,6 +2,7 @@
 /* local statics need be treated same as file static (byref). */
 /* { dg-options "-mmacosx-version-min=10.6" { target *-*-darwin* } } */
 /* { dg-do run } */
+/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
 
 #include <stdio.h>
 

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-localisglobal.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-localisglobal.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-localisglobal.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-localisglobal.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,42 @@
+/* APPLE LOCAL file radar 6230297 */
+/* { dg-options "-mmacosx-version-min=10.6" { target *-*-darwin* } } */
+/* { dg-do run } */
+
+/*
+ *  localisglobal.c
+ *  testObjects
+ *
+ *  Created by Blaine Garst on 9/29/08.
+ *  Copyright 2008 __MyCompanyName__. All rights reserved.
+ *
+ *  works in all configurations
+ *  CONFIG
+ *  rdar://6230297
+ */
+
+#include <stdio.h>
+
+void (^global)(void) = ^{ printf("hello world\n"); };
+
+int aresame(void *first, void *second) {
+    long *f = (long *)first;
+    long *s = (long *)second;
+    return *f == *s;
+}
+int main(int argc, char *argv[]) {
+    int i = 10;
+    void (^local)(void) = ^ { printf("hi %d\n", i); };
+    void (^localisglobal)(void) = ^ { printf("hi\n"); };
+    
+    if (aresame(local, localisglobal)) {
+        printf("local block could be global, but isn't\n");
+        return 1;
+    }
+    if (!aresame(global, localisglobal)) {
+        printf("local block is not global, not stack, what is it??\n");
+        return 1;
+    }
+    printf("%s: success\n", argv[0]);
+    return 0;
+    
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-nested-block-var.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-nested-block-var.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-nested-block-var.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-nested-block-var.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,32 @@
+/* APPLE LOCAL file radar 6225809 - radar 5847213 */
+/* __block var used in a nested block neeb be implicitly declared in
+   each intervening block. */
+/* { dg-options "-mmacosx-version-min=10.6 " { target *-*-darwin* } } */
+/* { dg-do run } */
+
+#include <stdio.h>
+
+static void Block_copy (void (^I)(void))
+{
+	I();
+}
+
+int main(int argc, char *argv[]) {
+    __block int a = 42;
+    int save_a = a; // just to keep the address on the stack.
+
+    void (^b)(void) = ^{
+        Block_copy(^{
+            a = 2;
+        });
+    };
+
+    Block_copy(b);
+
+    if(a == save_a) {
+        printf("**** __block heap storage should have been created at this point\n");
+        return 1;
+    }
+    printf("%s: Success (old %d new %d)\n", argv[0], save_a, a);
+    return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-no-block-def.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-no-block-def.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-no-block-def.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-no-block-def.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,7 @@
+/* APPLE LOCAL radar 6230656 */
+/* { dg-options "-fno-blocks" } */
+/* { dg-do compile { target *-*-darwin* } } */
+
+#if __block
+#error
+#endif

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-1.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file radar 6083129 byref escapes */
 /* Test for generation of escape _Block_byref_release call when a local
-   __byref variable is copied in. */
+   __block variable is copied in. */
 /* { dg-options "-fblocks" } */
 /* { dg-do run } */
 
@@ -13,7 +13,7 @@
 
 static int count;
 static void _Block_byref_release(void * arg) {
-        ++count;
+  ++count;
 }
 
 void junk(void (^block)(void)) {
@@ -21,16 +21,16 @@
 }
 
 int test() {
-  int __byref i = 10;
-  void (^dummy)(void) = ^{ printf("i = %d\n", i); };
-  junk(dummy);
+  {
+    int __block i = 10;
+    void (^dummy)(void) = ^{ printf("i = %d\n", i); };
+    junk(dummy);
+  }
   return count;
 }
 
-int main()
-{
-	if ( test() != 1)
-	  abort();
-	return 0;
+int main() {
+  if ( test() != 1)
+    abort();
+  return 0;
 }
-

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-2.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-2.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-2.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file radar 6083129 byref escapes */
 /* Test for generation of escape _Block_byref_release call when a local
-   __byref variable is copied in and block has a return statement. */
+   __block variable is copied in and block has a return statement. */
 /* { dg-options "-fblocks" } */
 /* { dg-do run } */
 
@@ -21,9 +21,11 @@
 }
 
 int test() {
-  int __byref i = 10;
+ {
+  int __block i = 10;
   int (^dummy)(void) = ^{ printf("i = %d\n", i); return i; };
   junk(dummy);
+ }
   return count;
 }
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-3.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-3.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-3.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper-3.c Mon Nov  3 02:35:57 2008
@@ -1,5 +1,5 @@
 /* APPLE LOCAL file radar 6083129 byref escapes */
-/* Test for generation of escape _Block_byref_release call when a __byref
+/* Test for generation of escape _Block_byref_release call when a __block
    variable inside a block is declared and used. */
 /* { dg-options "-fblocks" } */
 /* { dg-do run } */
@@ -21,7 +21,7 @@
 }
 
 int test() {
-  void (^dummy)(void) = ^{ int __byref i = 10; printf("i = %d\n", i); };
+  void (^dummy)(void) = ^{ int __block i = 10; printf("i = %d\n", i); };
   junk(dummy);
   return count;
 }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-noescape-helper.c Mon Nov  3 02:35:57 2008
@@ -19,9 +19,11 @@
 }
 
 int test() {
-  int __byref i = 10;
-  void (^dummy)(void) = ^{ | i | ++i; };	/* { dg-warning "has been deprecated in blocks" } */
+  {
+  int __block i = 10;
+  void (^dummy)(void) = ^{ ++i; };	
   junk(dummy);
+  }
   return count;
 }
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-nullblockisa.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-nullblockisa.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-nullblockisa.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-nullblockisa.c Mon Nov  3 02:35:57 2008
@@ -5,13 +5,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-#define HASISA 1
-
 void check(void *ptr) {
     struct inner {
-#if HASISA
         void* isa; // should be zero
-#endif
         long forwarding;
         int flags;
         int size;
@@ -19,20 +15,29 @@
         // long disposehelper not needed
         int i;  //
     };
+/* APPLE LOCAL begin radar 5847213 - radar 6329245 */
     struct block_with_blocki {
-        long isa;
-        int flags;
-        int size;
-        long impl;
-        long copyhelper;
-        long destroyhelper;
-        struct inner *blocki;
+    void *isa; // initialized to &_NSConcreteStackBlock or &_NSConcreteGlobalBlock
+    int Block_flags;
+    int reserved;
+    void *FuncPtr;
+    struct Block_descriptor_1 {
+        unsigned long int reserved;     // NULL
+        unsigned long int size;  // sizeof(struct Block_literal_1)
+
+        // optional helper functions
+        void (*Block_copy)(void *dst, void *src);
+        void (*Block_dispose)(void *src);
+    } *descriptor;
+    struct inner *blocki;
     } *block = (struct block_with_blocki *)ptr;
+/* APPLE LOCAL end radar 5847213 - radar 6329245 */
+
     // sanity checks
-    if (block->size != sizeof(struct block_with_blocki)) {
+    if (block->descriptor->size != sizeof(struct block_with_blocki)) {
         // layout funny
         printf("layout is funny, struct size is %d vs runtime size %ld\n",
-                    block->size,
+                    (int)block->descriptor->size,
                     sizeof(struct block_with_blocki));
         exit(1);
     }
@@ -41,12 +46,10 @@
             block->blocki->size);
         exit(1);
     }
-#if HASISA
     if (block->blocki->isa != (void*)NULL) {
         printf("not a NULL __block isa\n");
         exit(1);
     }
-#endif
     return;
 }
         

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-objectassign.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-objectassign.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-objectassign.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-objectassign.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,79 @@
+/* APPLE LOCAL file radar 6175959 */
+/* Test for generation of two new APIs; _Block_object_assign and _Block_object_dispose */
+/* { dg-options "-mmacosx-version-min=10.6 -fblocks" { target *-*-darwin* } } */
+/* { dg-do run } */
+
+#include <stdio.h>
+
+#define    BLOCK_HAS_DESCRIPTOR     (1 << 29)
+#define    BLOCK_HAS_COPY_DISPOSE  (1 << 25)
+
+struct Block_descriptor {
+    unsigned long int reserved;
+    unsigned long int size;
+    void (*copy)(void *dst, void *src);
+    void (*dispose)(void *);
+};
+
+struct Block_layout {
+    void *isa;
+    int flags;
+    int reserved;
+    void (*invoke)(void *, ...);
+    struct Block_descriptor *descriptor;
+    // imported variables
+};
+
+int AssignCalled = 0;
+int DisposeCalled = 0;
+
+// local copy instead of libSystem.B.dylib copy
+void _Block_object_assign(void *destAddr, const void *object, const int isWeak) {
+    printf("_Block_object_assign(%p, %p, %d) called\n", destAddr, object, isWeak);
+    AssignCalled = 1;
+}
+
+void _Block_object_dispose(const void *object, const int isWeak) {
+    printf("_Block_object_dispose(%p, %d) called\n", object, isWeak);
+    DisposeCalled = 1;
+}
+
+struct MyStruct {
+    long isa;
+    long field;
+};
+
+typedef struct MyStruct *__attribute__((NSObject)) MyStruct_t;
+
+int main(int argc, char *argv[]) {
+    // create a block
+    struct MyStruct X;
+    MyStruct_t xp = (MyStruct_t)&X;
+    xp->field = 10;
+    void (^myBlock)(void) = ^{ printf("field is %ld\n", xp->field); };
+    // should be a copy helper generated with a calls to above routines
+    // Lets find out!
+    struct Block_layout *bl = (struct Block_layout *)(void *)myBlock;
+    if ((bl->flags & BLOCK_HAS_DESCRIPTOR) != BLOCK_HAS_DESCRIPTOR) {
+        printf("using old runtime layout!\n");
+        return 1;
+    }
+    if ((bl->flags & BLOCK_HAS_COPY_DISPOSE) != BLOCK_HAS_COPY_DISPOSE) {
+        printf("no copy dispose!!!!\n");
+        return 1;
+    }
+    // call helper routines directly.  These will, in turn, we hope, call the stubs above
+    long destBuffer[256];
+    printf("destbuffer is at %p, block at %p\n", destBuffer, (void *)bl);
+    bl->descriptor->copy(destBuffer, bl);
+    bl->descriptor->dispose(bl);
+    if (AssignCalled == 0) {
+        printf("did not call assign helper!\n");
+        return 1;
+    }
+    if (DisposeCalled == 0) {
+        printf("did not call dispose helper\n");
+        return 1;
+    }
+    return 0;
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-printf-attribute-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-printf-attribute-1.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-printf-attribute-1.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-printf-attribute-1.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,15 @@
+/* APPLE LOCAL file radar 6246527 */
+/* { dg-do compile } */
+/* { dg-options "-Wformat" } */
+
+int main()
+{
+        void (^b) (int arg, const char * format, ...) __attribute__ ((__format__ (__printf__, 1, 3))) =  /* { dg-error "format string argument not a string type" } */
+						^ __attribute__ ((__format__ (__printf__, 1, 3))) (int arg, const char * format, ...) {}; /* { dg-error "format string argument not a string type" } */
+        void (^z) (int arg, const char * format, ...) __attribute__ ((__format__ (__printf__, 2, 3))) = ^ __attribute__ ((__format__ (__printf__, 2, 3))) (int arg, const char * format, ...) {};
+
+	z(1, "%s", 1); /* { dg-warning "format \\'\%s\\' expects type \\'char \\*\\'\, but argument 3 has type \\'int\\'" } */
+	z(1, "%s", "HELLO");
+
+}
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-readweakgc.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-readweakgc.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-readweakgc.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-readweakgc.c Mon Nov  3 02:35:57 2008
@@ -25,8 +25,8 @@
 int main(char *argc, char *argv[]) {
     // an object should not be retained within a stack Block
     void (^local)(void);
-    int i = 10;
-    Henry = ^ { | i | ++i; }; /* { dg-warning "has been deprecated in blocks" } */
+    __block int i = 10;
+    Henry = ^ { ++i; }; 
     local = Henry;
     if (GlobalInt2 == 1) {
         printf("%s: success\n", argv[0]);

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-readweakgcivar.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-readweakgcivar.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-readweakgcivar.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-readweakgcivar.c Mon Nov  3 02:35:57 2008
@@ -30,10 +30,10 @@
 
 int main(char *argc, char *argv[]) {
     // an object should not be retained within a stack Block
-    int i = 0;
+    __block int i = 0;
     void (^local)(void);
     Foo *foo = [[Foo alloc] init];
-    foo->ivar = ^ { | i | ++i; }; /* { dg-warning "has been deprecated in blocks" } */
+    foo->ivar = ^ { ++i; }; 
     local = foo->ivar;
     if (GlobalInt2 == 1) {
         printf("%s: success\n", argv[0]);

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-sentinel-attribute.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-sentinel-attribute.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-sentinel-attribute.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-sentinel-attribute.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,28 @@
+/* APPLE LOCAL file radar 6246527 */
+/* { dg-do compile } */
+/* { dg-options "-Wformat" } */
+#include <stddef.h>
+
+void (^e) (int arg, const char * format, ...) __attribute__ ((__sentinel__ (1,1)));
+void (^e1) (int arg, const char * format, ...) __attribute__ ((__sentinel__ (1,1, 3))); /* { dg-error "wrong number of arguments" "sentinel" } */
+
+int main()
+{
+        void (^b) (int arg, const char * format, ...) __attribute__ ((__sentinel__)) = 
+						^ __attribute__ ((__sentinel__)) (int arg, const char * format, ...) {};
+        void (^z) (int arg, const char * format, ...) __attribute__ ((__sentinel__ (2))) = ^ __attribute__ ((__sentinel__ (2))) (int arg, const char * format, ...) {};
+
+
+        void (^y) (int arg, const char * format, ...) __attribute__ ((__sentinel__ (5))) = ^ __attribute__ ((__sentinel__ (5))) (int arg, const char * format, ...) {};
+
+	b(1, "%s", NULL);	// OK
+	b(1, "%s", 0); /* { dg-warning "missing sentinel in function call" } */                                                         	
+	z(1, "%s",4 ,1,0); /* { dg-warning "missing sentinel in function call" } */
+	z(1, "%s", NULL, 1, 0);	// OK
+
+	y(1, "%s", 1,2,3,4,5,6,7); /* { dg-warning "missing sentinel in function call" } */
+
+	y(1, "%s", NULL,3,4,5,6,7);	// OK
+
+}
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-unused-parameter.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-unused-parameter.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-unused-parameter.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-unused-parameter.c Mon Nov  3 02:35:57 2008
@@ -5,8 +5,8 @@
 
 int main()
 {
-	int i = 1;
-	^ { |i| i = 1; return i; }; /* { dg-warning "has been deprecated in blocks" } */
+	__block int i = 1;
+	^ { i = 1; return i; }; 
 	return 0;
 }
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-unused-warn.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-unused-warn.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-unused-warn.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/block-unused-warn.c Mon Nov  3 02:35:57 2008
@@ -5,10 +5,10 @@
 
 int main()
 {
-int x = 10;
+__block int x = 10;
 int y = 1;
 
-int (^myBlock)(void) = ^{ |x| return x+y; }; /* { dg-warning "has been deprecated in blocks" } */
+int (^myBlock)(void) = ^{ return x+y; }; 
 
 myBlock();
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/const-cfstring-3.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/const-cfstring-3.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/const-cfstring-3.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/const-cfstring-3.c Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* Developed by Ziemowit Laski <zlaski at apple.com>.  */
 
 /* { dg-do compile { target *-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-fconstant-cfstrings" } */
 
 typedef const struct __CFString *CFStringRef;

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/debug-inlined-section.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/debug-inlined-section.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/debug-inlined-section.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/debug-inlined-section.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,35 @@
+/* APPLE LOCAL file, Radar 6275985  */
+/* { dg-do compile { target *-*-darwin* } } */
+/* { dg-options "-g -dA -save-temps -mmacosx-version-min=10.6" } */
+/* { dg-final { scan-assembler "__debug_inlined" } } */
+/* { dg-final { scan-assembler "\[#;@]\[ \t]+MIPS linkage name: \"getData\"" } } */
+/* { dg-final { scan-assembler "\[#;@]\[ \t]+Function name: \"getData\"" } } */
+/* { dg-final { scan-assembler "\[#;@]\[ \t]+MIPS linkage name: \"get_length\"" } } */
+/* { dg-final { scan-assembler "\[#;@]\[ \t]+Function name: \"get_length\"" } } */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+struct mystruct {
+  int data;
+};
+
+int globl;
+
+static __inline__ __attribute__((always_inline)) getData (struct mystruct *a) {
+  return a->data * globl;
+}
+
+#include "debug-inlined-section.h"
+
+
+main (int argc, char **argv)
+{
+  struct mystruct c;
+  c.data = argc;
+  globl = c.data;
+//  globl = getData (&c);
+  int b = get_length (&c);
+  printf ("%d\n", b);
+  return (c.data);
+}

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/debug-inlined-section.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/debug-inlined-section.h?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/debug-inlined-section.h (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/debug-inlined-section.h Mon Nov  3 02:35:57 2008
@@ -0,0 +1,15 @@
+/* APPLE LOCAL file, Radar 6275985  */
+
+extern int globl;
+
+static __inline__ __attribute__((always_inline)) get_length (struct mystruct *d) {
+  if (globl && malloc (globl))
+   {
+     return getData (d) + globl;
+   }
+  else
+   return getData (d) * globl;
+}
+
+extern int globl;
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-cpu-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-cpu-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-cpu-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-cpu-1.c Mon Nov  3 02:35:57 2008
@@ -1,7 +1,7 @@
 /* Test default cpu type */
 /* { dg-do compile { target powerpc*-*-darwin* } } */
 /* This test doesn't make sense on 64-bit */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-mmacosx-version-min=10.5" } */
 int main()
 {

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-cpu-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-cpu-2.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-cpu-2.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-cpu-2.c Mon Nov  3 02:35:57 2008
@@ -1,7 +1,7 @@
 /* Test default cpu type */
 /* { dg-do compile { target powerpc*-*-darwin* } } */
 /* This test doesn't make sense on 64-bit darwin.  */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-mmacosx-version-min=10.4" } */
 int main()
 {

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-x86_32-sse3.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-x86_32-sse3.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-x86_32-sse3.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/default-x86_32-sse3.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file 4515157 */
 /* { dg-do compile { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } } */
+/* { dg-require-effective-target ilp32 } */
 /* Ensure that 32-bit x86 does not imply -msse3 on Darwin/x86.  */
 #ifdef __SSE3__
 #error "SSE3 should be disabled by default for x86 -m32"

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/dynamic-no-pic-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/dynamic-no-pic-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/dynamic-no-pic-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/dynamic-no-pic-1.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file Radar 4010664 */
 /* { dg-do compile { target i?86*-*-darwin* } } */
-/* { dg-skip-if "" { i?86*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-mdynamic-no-pic -march=pentium4" } */
 /* { dg-final { scan-assembler-not "86.get_pc_thunk" } } */
 #define TEST_STRING "test string %d"

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-att-stub-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-att-stub-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-att-stub-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-att-stub-1.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file Radar 4164563 */
 /* { dg-do compile { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* APPLE LOCAL axe stubs 5571540 */
 /* { dg-options "-matt-stubs -mmacosx-version-min=10.4" } */
 /* { dg-final { scan-assembler "hlt" } } */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-bitmask1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-bitmask1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-bitmask1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-bitmask1.c Mon Nov  3 02:35:57 2008
@@ -1,7 +1,8 @@
 /* APPLE LOCAL file radar 4645709 */
 /* { dg-do compile { target "i?86-*-*" } } */
 /* { dg-options "-O2" } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
+/* LLVM LOCAL */
 /* { dg-final { scan-assembler "and.*(0xffffff00|4294967040)" } } */
 unsigned char lut[256];
 /* LLVM LOCAL make these global */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-deep-branch-predict-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-deep-branch-predict-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-deep-branch-predict-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-deep-branch-predict-1.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file Radar 4010498 et. al. */
 /* { dg-do compile { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-march=pentium4 -fPIC" } */
 /* { dg-final { scan-assembler "86.get_pc_thunk" } } */
 #define TEST_STRING "test string %d"

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-regparmandstackparm-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-regparmandstackparm-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-regparmandstackparm-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-regparmandstackparm-1.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file 420513 */
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-O2" } */
 
 /* Look for both entry points to the regparmandstackparm function.  */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-ssetype-6.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-ssetype-6.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-ssetype-6.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-ssetype-6.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file 4099020 */
 /* { dg-do compile { target i?86-*-* } } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-O2 -msse2 -march=pentium4" } */
 /* { dg-final { scan-assembler-times "movq\[^\\n\]*" 3} } */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-unaligned-movaps.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-unaligned-movaps.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-unaligned-movaps.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/i386-unaligned-movaps.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL begin radar 4614623 */
 /* { dg-do run { target i?86-*-* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-O -mmmx -fomit-frame-pointer -march=pentium-m" } */
 #include <signal.h>
 extern void abort (void);

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/longcall-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/longcall-2.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/longcall-2.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/longcall-2.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,27 @@
+/* Verify that switch tables aren't fundamentally broken with
+   -mlongcall.  */
+/* { dg-options "-mlongcall" } */
+/* { dg-do run } */
+
+int val = 3;
+
+int main (void)
+{
+  switch (val)
+    {
+      case 0:
+	return 1;
+      case 1:
+	return 2;
+      case 2:
+	return 4;
+      case 3:
+	return 0;
+      case 4:
+	return 8;
+      case 5:
+	return 16;
+    }
+  return 32;
+}
+ 

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/no-nested-deprecated-warn.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/no-nested-deprecated-warn.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/no-nested-deprecated-warn.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/no-nested-deprecated-warn.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,19 @@
+/* APPLE LOCAL file radar 4746503 */
+/* Don't issue 'deprecated' warning in a function which itself is deprecated. */
+
+extern void foo() __attribute__((deprecated));
+extern void bar() __attribute__((deprecated));
+
+void foo() {}
+
+void bar() {
+    foo();  
+}
+
+
+void gorf() {
+    foo();	/* { dg-warning "\\'foo\\' is deprecated" } */
+    bar();	/* { dg-warning "\\'bar\\' is deprecated" } */
+}
+
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/opt-size-2.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/opt-size-2.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/opt-size-2.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/opt-size-2.c Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL file 4231773 */
 /* { dg-do compile { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-Oz -static" } */
 /* { dg-final { scan-assembler "\tincl?\[ 	\]*_?global_x" } } */
 

Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/r6292557.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/r6292557.c?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/r6292557.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/r6292557.c Mon Nov  3 02:35:57 2008
@@ -0,0 +1,73 @@
+/* APPLE LOCAL begin radar 6292557  (copied from gcc.dg/i386-lshiftrt-1.c) */
+/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-g -O2 -msse" } */
+/* { dg-final { scan-assembler "__debug_inlined" } } */
+
+typedef double __v2df __attribute__ ((__vector_size__ (16)));
+typedef long long __v2di __attribute__ ((__vector_size__ (16)));
+typedef int __v4si __attribute__ ((__vector_size__ (16)));
+typedef short __v8hi __attribute__ ((__vector_size__ (16)));
+typedef char __v16qi __attribute__ ((__vector_size__ (16)));
+
+typedef __v2di __m128i;
+typedef __v2df __m128d;
+
+static inline __m128i __attribute__((__always_inline__, __nodebug__))
+_mm_packus_epi16 (__m128i __A, __m128i __B)
+{
+  return (__m128i)__builtin_ia32_packuswb128 ((__v8hi)__A, (__v8hi)__B);
+}
+
+
+static inline __m128i __attribute__((__always_inline__, __nodebug__))
+_mm_load_si128 (__m128i const *__P)
+{
+  return *__P;
+}
+
+static inline __m128i __attribute__((__always_inline__, __nodebug__))
+_mm_or_si128 (__m128i __A, __m128i __B)
+{
+  return (__m128i)__builtin_ia32_por128 ((__v2di)__A, (__v2di)__B);
+}
+static inline __m128i __attribute__((__always_inline__, __nodebug__))
+_mm_add_epi16 (__m128i __A, __m128i __B)
+{
+  return (__m128i)__builtin_ia32_paddw128 ((__v8hi)__A, (__v8hi)__B);
+}
+static inline int __attribute__((__always_inline__, __nodebug__))
+_mm_cvtsi128_si32 (__m128i __A)
+{
+  return __builtin_ia32_vec_ext_v4si ((__v4si)__A, 0);
+}
+void FUNC( unsigned char const* pixPtr)
+{
+
+ __m128i vu16YPredictionHi, vu16YPredictionLo;
+
+  __m128i vu16YPrediction3;
+  __m128i vtemp0, vtemp1, vtemp2, vtemp3;
+
+  vtemp2 = ((__m128i)__builtin_ia32_pslldqi128 (vu16YPrediction3, (4) * 8));
+  vtemp2 = ((__m128i)__builtin_ia32_psrldqi128 (vtemp2, (8) * 8));
+  vtemp3 = ((__m128i)__builtin_ia32_psrldqi128 (vu16YPrediction3, (6) * 8));
+  vtemp3 = ((__m128i)__builtin_ia32_pslldqi128 (vtemp3, (8) * 8));
+
+  vu16YPredictionLo = _mm_or_si128(vtemp2, vtemp3);
+
+ __m128i vs16YResidualHi, vs16YResidualLo, vs16YResultHi, vs16YResultLo;
+ __m128i vu8YResult;
+ unsigned int itemp0, itemp1, itemp2, itemp3;
+ vs16YResultHi = _mm_add_epi16(vu16YPredictionHi, vs16YResidualHi);
+ vs16YResultLo = _mm_add_epi16(vu16YPredictionLo, vs16YResidualLo);
+ vu8YResult = _mm_packus_epi16(vs16YResultHi, vs16YResultLo);
+ itemp0 = _mm_cvtsi128_si32(vu8YResult);
+ vu8YResult = ((__m128i)__builtin_ia32_psrldqi128 (vu8YResult, (4) * 8));
+ itemp1 = _mm_cvtsi128_si32(vu8YResult);
+ vu8YResult = ((__m128i)__builtin_ia32_psrldqi128 (vu8YResult, (4) * 8));
+ itemp2 = _mm_cvtsi128_si32(vu8YResult);
+ vu8YResult = ((__m128i)__builtin_ia32_psrldqi128 (vu8YResult, (4) * 8));
+ itemp3 = _mm_cvtsi128_si32(vu8YResult);
+  *(unsigned int*)pixPtr = itemp0;
+}
+/* APPLE LOCAL end radar 4266982 */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/cpp/_Pragma3.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/cpp/_Pragma3.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/cpp/_Pragma3.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.dg/cpp/_Pragma3.c Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* { dg-do preprocess } */
 
 /* Pragma buffers have a NULL "inc" member, which we would dereference
-   when getting a file's date and time.  
+   when getting a file's date and time.
 
    Based on PR 7526.  14 Aug 2002.  */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/4891561.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/4891561.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/4891561.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/4891561.c Mon Nov  3 02:35:57 2008
@@ -1,7 +1,7 @@
 /* APPLE LOCAL file radar 4891561 */
 /* { dg-do compile { target i?86-*-darwin* } } */
 /* { dg-options "-O1 -std=gnu99 -fno-inline -fschedule-insns -mtune=pentium-m" } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 static inline unsigned char ceq (unsigned char a, unsigned char b)
 {

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/reload-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/reload-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/reload-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/reload-1.c Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* { dg-options "-O3 -msse2 -fdump-rtl-csa" } */
 /* LLVM LOCAL fdump not supported */
 /* { dg-require-fdump "" } */
-/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-final { scan-rtl-dump "deleted 5 dead insns" "csa" } }*/
 #include <emmintrin.h>
 typedef __SIZE_TYPE__ size_t;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/stack-prot-kernel.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/stack-prot-kernel.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/stack-prot-kernel.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/i386/stack-prot-kernel.c Mon Nov  3 02:35:57 2008
@@ -1,5 +1,6 @@
 /* { dg-do compile { target lp64 } } */
-/* { dg-skip-if "darwin x86_64 is pic" { *-*-darwin* } { "-m64" } { "" } } */
+/* APPLE LOCAL 64 bit default */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-O2 -fstack-protector-all -mcmodel=kernel" } */
 
 void test1 (int x)

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/powerpc/darwin-bool-1.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/powerpc/darwin-bool-1.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/powerpc/darwin-bool-1.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/powerpc/darwin-bool-1.c Mon Nov  3 02:35:57 2008
@@ -1,7 +1,8 @@
 /* Check that sizeof(bool) is 4 if we don't use special options. */
 /* Matt Austern  <austern at apple.com> */
 /* { dg-do run { target powerpc*-*-darwin* } } */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* APPLE LOCAL 64 bit default */
+/* { dg-require-effective-target ilp32 } */
 
 int dummy1[sizeof(_Bool) - 3];
 int dummy2[5 - sizeof(_Bool)];

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/test_struct_returning.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/test_struct_returning.c?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/test_struct_returning.c (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.target/x86_64/abi/test_struct_returning.c Mon Nov  3 02:35:57 2008
@@ -233,7 +233,7 @@
   D(600)
   /* LLVM LOCAL */
   D(601) D(602)
- if (num_failed)
+  if (num_failed)
     abort ();
 
   return 0;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/bitfield-1.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/bitfield-1.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/bitfield-1.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/bitfield-1.mm Mon Nov  3 02:35:57 2008
@@ -8,7 +8,7 @@
 /* { dg-options "-Wpadded -Wabi" } */
 /* { dg-do run } */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* APPLE LOCAL ARM objc2 */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/bitfield-4.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/bitfield-4.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/bitfield-4.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/bitfield-4.mm Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 /* { dg-options "-lobjc -Wpadded" } */
 /* { dg-do run } */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */ 
+/* { dg-require-effective-target ilp32 } */
 /* APPLE LOCAL ARM objc2 */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 

Added: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/cond-expr-warn.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/cond-expr-warn.mm?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/cond-expr-warn.mm (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/cond-expr-warn.mm Mon Nov  3 02:35:57 2008
@@ -0,0 +1,10 @@
+/* APPLE LOCAL file radar 6231433 */
+/* { dg-do compile } */
+
+ at interface NSKey @end
+ at interface UpdatesList @end
+
+void foo (int i, NSKey *NSKeyValueCoding_NullValue, UpdatesList *nukedUpdatesList)
+{
+  i ? NSKeyValueCoding_NullValue : nukedUpdatesList; /* { dg-warning "conditional expression" } */
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-cfstring-4.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/const-cfstring-4.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-cfstring-4.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-cfstring-4.mm Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 
 /* { dg-options "-fconstant-cfstrings" } */
 /* { dg-do compile { target *-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 typedef const struct __CFString * CFStringRef;
 CFStringRef appKey = (CFStringRef) @"com.apple.soundpref";

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-10.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/const-str-10.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-10.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-10.mm Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 
 /* { dg-options "-fnext-runtime -fno-constant-cfstrings" } */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/Object.h>
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-11.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/const-str-11.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-11.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-11.mm Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 
 /* { dg-options "-fnext-runtime -fno-constant-cfstrings -fconstant-string-class=XStr" } */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/Object.h>
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-12.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/const-str-12.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-12.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-12.mm Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 
 /* { dg-options "-fno-constant-cfstrings -fconstant-string-class=Foo" } */
 /* { dg-do compile { target *-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/Object.h>
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-13.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/const-str-13.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-13.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-13.mm Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 /* { dg-options "-fno-constant-cfstrings -fwritable-strings -fconstant-string-class=Foo -mmacosx-version-min=10.4" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-options "-fno-constant-cfstrings -fwritable-strings -fconstant-string-class=Foo" { target arm*-*-darwin* } } */
 /* { dg-do run { target *-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/Object.h>
 #include <stdlib.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-9.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/const-str-9.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-9.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/const-str-9.mm Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 /* { dg-options "-fnext-runtime -fno-constant-cfstrings" } */
 /* APPLE LOCAL ARM radar 5804096 */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/Object.h>
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/cxx-ivars-3.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 // APPLE LOCAL radar 4842158
 // { dg-options "-fnext-runtime -mmacosx-version-min=10.3" }
 /* APPLE LOCAL radar 4280641 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/objc-runtime.h>
 #include <stdlib.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/debug-1.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/debug-1.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/debug-1.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/debug-1.mm Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* Tesst debug info for virtual base class.  */
 /* { dg-do compile }  */
 /* { dg-options "-gstabs+ -gfull" } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* LLVM LOCAL llvm doesn't currently support stabs. */
 /* { dg-require-stabs "" } */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/defs-warn-1.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/defs-warn-1.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/defs-warn-1.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/defs-warn-1.mm Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* { dg-options "-lobjc -Wobjc2" } */
 /* { dg-do run } */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* APPLE LOCAL ARM objc2 */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/defs.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/defs.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/defs.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/defs.mm Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* { dg-options "-lobjc" } */
 /* { dg-do run } */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* APPLE LOCAL ARM objc2 */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/layout-1.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/layout-1.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/layout-1.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/layout-1.mm Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* { dg-do compile } */
 /* { dg-options "-Wpadded -Wpacked -Wabi" } */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 /* APPLE LOCAL radar 4894756 */
 #include "../objc/execute/Object2.h"

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/method-11.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/method-11.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/method-11.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/method-11.mm Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* { dg-options "-fnext-runtime" } */
 /* { dg-do compile } */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* APPLE LOCAL ARM objc2 */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 

Added: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/method-type-attribute.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/method-type-attribute.mm?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/method-type-attribute.mm (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/method-type-attribute.mm Mon Nov  3 02:35:57 2008
@@ -0,0 +1,12 @@
+/* APPLE LOCAL file radar 6261630 */
+/* Test use of trailing attribute in a method return type. */
+/* { dg-options "-fobjc-gc" } */
+/* { dg-do compile { target *-*-darwin* } } */
+
+ at interface INTF
+- (const char * __attribute__((objc_gc(strong))))encoding;
+- (id  __strong)encoding1;
+- (const char * __weak)encoding2;
+- (const char ** __strong)encoding3;
+ at end
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-1.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-fast-1.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-1.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-1.mm Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* Developed by Ziemowit Laski  <zlaski at apple.com>  */
 /* { dg-do compile { target powerpc*-*-darwin* } } */
 /* { dg-options "-fnext-runtime -fobjc-gc -fobjc-direct-dispatch -Wassign-intercept" } */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target objc_gc } */
 
 #include <objc/Object.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-2.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-fast-2.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-2.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-2.mm Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* Developed by Ziemowit Laski  <zlaski at apple.com>  */
 /* { dg-do compile { target powerpc*-*-darwin* } } */
 /* { dg-options "-fnext-runtime -fobjc-gc -fobjc-direct-dispatch -Wno-assign-intercept -O2" } */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target objc_gc } */
 
 #include <objc/Object.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-3.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-fast-3.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-3.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-3.mm Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* Developed by Ziemowit Laski  <zlaski at apple.com>  */
 /* { dg-do compile { target powerpc*-*-darwin* } } */
 /* { dg-options "-fnext-runtime -fobjc-gc -fobjc-direct-dispatch -Wno-assign-intercept -O2" } */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target objc_gc } */
 
 #include <objc/Object.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-4.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-fast-4.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-4.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fast-4.mm Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
    with -O0, so the sibcall case cannot occur.  */
 /* { dg-do compile { target powerpc*-*-darwin* } } */
 /* { dg-options "-O0 -fobjc-direct-dispatch" } */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/Object.h>
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fpret-1.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-fpret-1.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fpret-1.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-fpret-1.mm Mon Nov  3 02:35:57 2008
@@ -1,6 +1,7 @@
 /* APPLE LOCAL begin radar 4280641 */
 /* { dg-do compile { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } { "" } } */
+/* APPLE LOCAL 64  bit default */
+/* { dg-require-effective-target ilp32 } */
 #include <objc/Object.h>
 
 @interface Example : Object

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-1.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-gc-1.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-1.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-1.mm Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* A compile-only test for insertion of write barriers. */
 /* Developed by Ziemowit Laski  <zlaski at apple.com>  */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-options "-fnext-runtime -fobjc-gc -Wassign-intercept" } */
+/* { dg-options "-fnext-runtime -fobjc-gc -Wno-non-lvalue-assign -Wassign-intercept" } */
 /* { dg-require-effective-target objc_gc } */
 
 #ifndef __OBJC_GC__

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-2.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-gc-2.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-2.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-2.mm Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* A compile-only test for insertion of write barriers. */
 /* Developed by Ziemowit Laski  <zlaski at apple.com>  */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-options "-fnext-runtime -fobjc-gc -Wassign-intercept" } */
+/* { dg-options "-fnext-runtime -fobjc-gc -Wno-non-lvalue-assign -Wassign-intercept" } */
 /* { dg-require-effective-target objc_gc } */
 
 #include <objc/objc.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-4.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-gc-4.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-4.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-4.mm Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 /* { dg-do run { target powerpc*-*-darwin* } } */
 /* { dg-options "-fnext-runtime -fobjc-gc -mmacosx-version-min=10.3" } */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target objc_gc } */
 
 #include <objc/objc.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-8.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-gc-8.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-8.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-8.mm Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* Do _not_ generate write barriers for global function pointers,
    even ones returning 'id'.  */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-options "-fnext-runtime -fobjc-gc -Wassign-intercept" } */
+/* { dg-options "-fnext-runtime -fobjc-gc -Wno-non-lvalue-assign -Wassign-intercept" } */
 /* { dg-require-effective-target objc_gc } */
 
 /* APPLE LOCAL radar 4894756 */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-section-1.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-gc-section-1.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-section-1.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-section-1.mm Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
    with flag of 0 */
 
 /* { dg-do compile } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 
 @interface INTF

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-section-2.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-gc-section-2.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-section-2.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-section-2.mm Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* Check that -fobjc-gc-only option produces a 110 flag in objc section. */
 /* { dg-options "-fobjc-gc-only" } */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target objc_gc } */
 
 @interface INTF

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-weak-1.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-gc-weak-1.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-weak-1.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-gc-weak-1.mm Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* A run-time test for insertion of write barriers for __weak objects. */
 
 /* { dg-do run { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-options "-fnext-runtime -fobjc-gc" } */
+/* { dg-options "-fnext-runtime -fobjc-gc -Wno-non-lvalue-assign" } */
 /* { dg-require-effective-target objc_gc } */
 
 #include <objc/objc.h>

Added: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-property-enumtype.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-property-enumtype.mm?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-property-enumtype.mm (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-property-enumtype.mm Mon Nov  3 02:35:57 2008
@@ -0,0 +1,62 @@
+/* APPLE LOCAL file radar 6264448 */
+/* Test that property of enum types don't cause error
+   when setter call is generated. */
+/* { dg-do run { target *-*-darwin* } } */ 
+/* { dg-options "-framework Foundation -Werror" } */
+
+#import <Foundation/Foundation.h>
+
+enum TimeType {
+    TimeTypeZero = 0,
+    TimeTypeOne = 1,
+    TimeTypeTwo = 2
+};
+
+typedef enum TimeType TimeType;
+ 
+
+ at interface A : NSObject { 
+    TimeType tt; 
+}
+
+ at property (nonatomic) TimeType tt;
+
+ at end
+
+ at interface B : NSObject { 
+    TimeType tt; 
+}
+
+ at property (nonatomic) TimeType tt;
+
+ at end
+
+ at implementation A
+
+ at synthesize tt;
+
+ at end
+
+ at implementation B
+
+ at synthesize tt;
+
+ at end
+
+int main (int argc, const char * argv[]) {
+    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
+    
+    A* a = [[A alloc] init];
+    B* b = [[B alloc] init];
+    
+    a.tt = TimeTypeOne;
+    // failure here:
+    b.tt = a.tt;
+    
+    b.tt = [a tt];
+    
+    [b setTt: [a tt]];
+
+    [pool drain];
+    return 0;
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-stret-1.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-stret-1.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-stret-1.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-stret-1.mm Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
    that is memory bound, we still generate objc_msgSend_stret for all platforms. */
 /* { dg-do compile { target *-*-darwin* } } */
 /* APPLE LOCAL radar 4492976 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 @interface Joiner {
 }

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-visibility-hidden-1.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc-visibility-hidden-1.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-visibility-hidden-1.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc-visibility-hidden-1.mm Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* Test for visibility 'hidden' flag inserted in 32bit objc class's meta-data. */
 /* { dg-options "-mmacosx-version-min=10.5" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-do compile { target *-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 
 __attribute__((visibility("hidden"))) 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-1.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc2-protocol-1.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-1.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-1.mm Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file 4695109 */
+/* APPLE LOCAL file 4695109 - modified for radar 6255913 */
 /* Protocol meta-data for protocol used in @protocol expression must be generated. */
 /* { dg-options "-mmacosx-version-min=10.5 -fobjc-abi-version=2" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-do compile { target *-*-darwin* } } */
@@ -15,6 +15,6 @@
 	return (long) @protocol(Proto1);
 }
 /* LLVM LOCAL begin accept llvm syntax */
-/* { dg-final { scan-assembler "L_.*OBJC_PROTOCOL_\\\$_Proto1:" } } */
+/* { dg-final { scan-assembler "l_.*OBJC_PROTOCOL_\\\$_Proto1:" } } */
 /* { dg-final { scan-assembler-not ".*_OBJC_PROTOCOL_\\\$_Proto2" } } */
-/* LLVM LOCAL end */
\ No newline at end of file
+/* LLVM LOCAL end */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-2.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc2-protocol-2.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-2.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-2.mm Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file 4695109 */
+/* APPLE LOCAL file 4695109 - modified for radar 6255913 */
 /* Check for generation of protocol meta-data */
 /* { dg-options "-mmacosx-version-min=10.5 -fobjc-abi-version=2" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-do compile { target *-*-darwin* } } */
@@ -12,6 +12,6 @@
 @interface Super <Proto1, Proto2> { id isa; } @end
 @implementation Super @end
 /* LLVM LOCAL begin llvm syntax */
-/* { dg-final { scan-assembler "L_.*OBJC_PROTOCOL_\\\$_Proto1:" } } */
-/* { dg-final { scan-assembler "L_.*OBJC_PROTOCOL_\\\$_Proto2:" } } */
+/* { dg-final { scan-assembler "l_.*OBJC_PROTOCOL_\\\$_Proto1:" } } */
+/* { dg-final { scan-assembler "l_.*OBJC_PROTOCOL_\\\$_Proto2:" } } */
 /* LLVM LOCAL end */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-4.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc2-protocol-4.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-4.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-4.mm Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file 5465109 */
+/* APPLE LOCAL file 5465109 - modified for radar 6255913 */
 /*
 The following test program should emit metadata for _OBJC_PROTOCOL_$_Proto2 and _OBJC_PROTOCOL_$__Proto1. 
  This root emits both protocols and puts them both in __protocol_list.
@@ -21,6 +21,6 @@
 	return (long)@protocol(Proto2);
 }
 /* LLVM LOCAL begin llvm syntax */
-/* { dg-final { scan-assembler "L_.*OBJC_PROTOCOL_\\\$_Proto1:" } } */
-/* { dg-final { scan-assembler "L_.*OBJC_PROTOCOL_\\\$_Proto2:" } } */
+/* { dg-final { scan-assembler "l_.*OBJC_PROTOCOL_\\\$_Proto1:" } } */
+/* { dg-final { scan-assembler "l_.*OBJC_PROTOCOL_\\\$_Proto2:" } } */
 /* LLVM LOCAL end */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-5.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc2-protocol-5.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-5.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-5.mm Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file 4695109 */
+/* APPLE LOCAL file 4695109 - modified for radar 6255913 */
 /* { dg-options "-mmacosx-version-min=10.5 -fobjc-abi-version=2" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-do compile { target *-*-darwin* } } */
 
@@ -14,4 +14,4 @@
 	return (long) @protocol(Proto1);
 }
 /* LLVM LOCAL llvm syntax */
-/* { dg-final { scan-assembler "L_.*OBJC_PROTOCOL_\\\$_Proto1:" } } */
+/* { dg-final { scan-assembler "l_.*OBJC_PROTOCOL_\\\$_Proto1:" } } */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-9.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc2-protocol-9.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-9.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-9.mm Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file 4695109 */
+/* APPLE LOCAL file 4695109 - modified for radar 6255913 */
 /* Cechk that both protocols metadata generated for them. */
 /* { dg-options "-mmacosx-version-min=10.5 -fobjc-abi-version=2" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-do compile { target *-*-darwin* } } */
@@ -19,6 +19,6 @@
 @implementation Foo (Category)
 @end
 /* LLVM LOCAL begin accept llvm syntax */
-/* { dg-final { scan-assembler "L_.*OBJC_PROTOCOL_\\\$_Proto1:" } } */
-/* { dg-final { scan-assembler "L_.*OBJC_PROTOCOL_\\\$_Proto2:" } } */
+/* { dg-final { scan-assembler "l_.*OBJC_PROTOCOL_\\\$_Proto1:" } } */
+/* { dg-final { scan-assembler "l_.*OBJC_PROTOCOL_\\\$_Proto2:" } } */
 /* LLVM LOCAL end */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/property-missing-comma.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/property-missing-comma.mm?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/property-missing-comma.mm (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/property-missing-comma.mm Mon Nov  3 02:35:57 2008
@@ -0,0 +1,16 @@
+/* APPLE LOCAL file radar 6302949 */
+/* { dg-options "-mmacosx-version-min=10.5" { target *-*-darwin* } } */
+/* { dg-do compile } */
+
+ at interface BadPropClass // : NSObject
+{
+ int _awesome;
+}
+
+ at property (readonly) int hello;
+ at property (nonatomic readonly, getter=isAwesome) int _awesome;  /* { dg-warning " property attributes must be separated by a comma" } */
+ at property (nonatomic, readonly, getter=isAwesome) int _anew;
+ at property (nonatomic, readonly, getter=isAwesome) int _anew1;
+
+ at end
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/property-neg-3.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/property-neg-3.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/property-neg-3.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/property-neg-3.mm Mon Nov  3 02:35:57 2008
@@ -1,8 +1,6 @@
 /* APPLE LOCAL file radar 4436866 */
 /* Check for proper declaration of @property. */
-/* APPLE LOCAL radar 4899595 */
-/* { dg-options "-fno-objc-new-property -mmacosx-version-min=10.5" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-options "-fno-objc-new-property" { target arm*-*-darwin* } } */
+/* { dg-options "-mmacosx-version-min=10.5" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-do compile { target *-*-darwin* } } */
 
 @interface Bar

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/sync-objc-exception.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/sync-objc-exception.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/sync-objc-exception.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/sync-objc-exception.mm Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-options "-fobjc-exceptions -Os -Wextra -Werror" } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
  
 struct MyPoint { int x; };
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/syntax-error-7.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/syntax-error-7.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/syntax-error-7.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/syntax-error-7.mm Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL begin radar 4290840 */
+/* APPLE LOCAL file radar 4290840 - Modified for radar 6271728 */
 /* { dg-do compile } */
 
 @interface Foo
@@ -8,7 +8,7 @@
 @implementation Foo
 -(void)
 -(void) someMethod /* { dg-error "expected before .-." } */
+		   /* { dg-error "expected" "" { target *-*-* } 10 } */ 
 {
 }
 @end
-/* APPLE LOCAL end radar 4290840 */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/syntax-error-9.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/syntax-error-9.mm?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/syntax-error-9.mm (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/syntax-error-9.mm Mon Nov  3 02:35:57 2008
@@ -0,0 +1,9 @@
+/* APPLE LOCAL file radar 6271728 */
+/* Check for error reporting of bad method definition. */
+ at interface MyClass 
+ at end
+
+
+ at implementation MyClass
+- (void) ni
+ at end	/* { dg-error "expected `\{' before \\'end\\'" } */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/template-4.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/template-4.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/template-4.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/template-4.mm Mon Nov  3 02:35:57 2008
@@ -6,7 +6,7 @@
 /* APPLE LOCAL Radar 5706927 */
 /* { dg-do run { target powerpc*-*-darwin* } } */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 /* APPLE LOCAL radar 4894756 */
 #include "../objc/execute/Object2.h"

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/try-catch-20.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/try-catch-20.mm?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/try-catch-20.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/try-catch-20.mm Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
    all uncaught exceptions.  */
 
 /* { dg-options "-fobjc-exceptions" } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-do run } */
 
 extern "C" void abort (void);

Added: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/6255801.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/6255801.m?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/6255801.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/6255801.m Mon Nov  3 02:35:57 2008
@@ -0,0 +1,6 @@
+/* APPLE LOCAL file 6255801 */
+/* { dg-do compile { target *-*-darwin* } } */
+ at interface Foo @end
+ at implementation Foo @end
+/* Any alignment above ".align 3" (=64-bit) is too much.  */
+/* { dg-final { scan-assembler-not "\.align\[\t \]+\[4-9\]" } } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/6311054.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/6311054.m?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/6311054.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/6311054.m Mon Nov  3 02:35:57 2008
@@ -0,0 +1,16 @@
+/* APPLE LOCAL file 6311054 */
+/* { dg-do compile } */
+/* { dg-options { -fPIC -quiet -mfix-and-continue -m64 -mmacosx-version-min=10.5 } } */
+typedef unsigned char uint8_t;
+typedef unsigned int uint32_t;
+static const uint8_t kObfuscationKey[] = {
+  0x7d, 0x89, 0x52, 0x23, 0xd2, 0xbc, 0xdd, 0xea, 0xa3, 0xb9, 0x1f };
+void obfuscate( void *buffer, uint32_t bufferLength ) {
+  uint8_t *pBuf = (uint8_t *) buffer;
+  const uint8_t *pKey = kObfuscationKey, *eKey = pKey + sizeof( kObfuscationKey );
+  while ( bufferLength-- )  {
+    *pBuf = *pBuf ^ *pKey;
+    ++pKey;
+    if ( pKey == eKey )    pKey = kObfuscationKey;
+  }
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/bitfield-3.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/bitfield-3.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/bitfield-3.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/bitfield-3.m Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* { dg-options "-lobjc -Wpadded" } */
 /* { dg-do run } */
 /* APPLE LOCAL begin objc2 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 /* APPLE LOCAL end objc2 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/bitfield-5.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/bitfield-5.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/bitfield-5.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/bitfield-5.m Mon Nov  3 02:35:57 2008
@@ -7,7 +7,7 @@
 /* { dg-options "-Wpadded" } */
 /* { dg-do run } */
 /* APPLE LOCAL begin objc2 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 /* APPLE LOCAL end objc2 */
 

Added: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/cond-expr-warn.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/cond-expr-warn.m?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/cond-expr-warn.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/cond-expr-warn.m Mon Nov  3 02:35:57 2008
@@ -0,0 +1,10 @@
+/* APPLE LOCAL file radar 6231433 */
+/* { dg-do compile } */
+
+ at interface NSKey @end
+ at interface UpdatesList @end
+
+void foo (int i, NSKey *NSKeyValueCoding_NullValue, UpdatesList *nukedUpdatesList)
+{
+  i ? NSKeyValueCoding_NullValue : nukedUpdatesList; /* { dg-warning "conditional expression" } */
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-cfstring-4.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-cfstring-4.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-cfstring-4.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-cfstring-4.m Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 
 /* { dg-options "-fconstant-cfstrings" } */
 /* { dg-do compile { target *-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 typedef const struct __CFString * CFStringRef;
 static CFStringRef appKey = (CFStringRef) @"com.apple.soundpref";

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-10.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-10.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-10.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-10.m Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 /* APPLE LOCAL file 4149909 */
 /* { dg-options "-fnext-runtime -fno-constant-cfstrings" } */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/Object.h>
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-11.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-11.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-11.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-11.m Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 /* APPLE LOCAL file 4149909 */
 /* { dg-options "-fnext-runtime -fno-constant-cfstrings -fconstant-string-class=XStr" } */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/Object.h>
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-12.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-12.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-12.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-12.m Mon Nov  3 02:35:57 2008
@@ -1,7 +1,7 @@
 /* { dg-options "-Wall -funit-at-a-time -fgnu-runtime" } */
 /* { dg-do compile }  */
 /* APPLE LOCAL objc2 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* PR objc/27438, make sure that the decl produced by the front-end
    does not cause a warning to be produced. */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-13.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-13.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-13.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-13.m Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 /* { dg-options "-fno-constant-cfstrings -fwritable-strings -fconstant-string-class=Foo -mmacosx-version-min=10.4" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-options "-fno-constant-cfstrings -fwritable-strings -fconstant-string-class=Foo" { target arm*-*-darwin* } } */
 /* { dg-do run { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/Object.h>
 #include <stdlib.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-6.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-6.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-6.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/const-str-6.m Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* { dg-options "-fno-constant-cfstrings -fconstant-string-class=MyConstantString" } */
 /* { dg-do compile } */
 /* APPLE LOCAL objc2 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 @interface MyBase {
   char p;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/defs-warn-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/defs-warn-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/defs-warn-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/defs-warn-1.m Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* Issue warning wherevr @defs is used. */
 /* { dg-options "-lobjc -Wobjc2" } */
 /* { dg-do run { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/objc.h>
 #include <objc/Object.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/defs.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/defs.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/defs.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/defs.m Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* { dg-options "-lobjc" } */
 /* { dg-do run } */
 /* APPLE LOCAL begin objc2 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 /* APPLE LOCAL end objc2 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/encode-7a.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/encode-7a.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/encode-7a.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/encode-7a.m Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 
 /* { dg-do run { target *-*-darwin* } } */
 /* { dg-options "-fnext-runtime" } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 /* APPLE LOCAL radar 4894756 */
 #include "../objc/execute/Object2.h"

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/image-info.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/image-info.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/image-info.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/image-info.m Mon Nov  3 02:35:57 2008
@@ -6,7 +6,7 @@
 /* APPLE LOCAL ARM objc2 */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #ifndef __NEXT_RUNTIME__
 #error Feature not currently supported by the GNU runtime

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/layout-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/layout-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/layout-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/layout-1.m Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* { dg-do compile } */
 /* { dg-options "-Wpadded -Wpacked" } */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 /* APPLE LOCAL radar 4894756 */
 #include "../objc/execute/Object2.h"

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/method-4.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/method-4.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/method-4.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/method-4.m Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* { dg-options "-fnext-runtime" } */
 /* { dg-do compile } */
 /* APPLE LOCAL begin objc2 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 /* APPLE LOCAL end objc2 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/next-runtime-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/next-runtime-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/next-runtime-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/next-runtime-1.m Mon Nov  3 02:35:57 2008
@@ -7,7 +7,7 @@
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-options "-fnext-runtime" } */
 /* APPLE LOCAL 64-bit 4492976 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 /* APPLE LOCAL radar 4894756 */
 #include "../objc/execute/Object2.h"

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-dir-dispatch.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-dir-dispatch.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-dir-dispatch.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-dir-dispatch.m Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
    -mmacosx-version-min=10.4. */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-options "-mmacosx-version-min=10.4" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 /* APPLE LOCAL radar 4894756 */
 #include "../objc/execute/Object2.h"

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-1.m Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* Developed by Ziemowit Laski  <zlaski at apple.com>  */
 /* { dg-do compile { target powerpc*-*-darwin* } } */
 /* { dg-options "-fnext-runtime -fobjc-gc -fobjc-direct-dispatch -Wassign-intercept" } */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target objc_gc } */
 
 #include <objc/Object.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-2.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-2.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-2.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-2.m Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* Developed by Ziemowit Laski  <zlaski at apple.com>  */
 /* { dg-do compile { target powerpc*-*-darwin* } } */
 /* { dg-options "-fnext-runtime -fobjc-gc -fobjc-direct-dispatch -Wno-assign-intercept -O2" } */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target objc_gc } */
 
 #include <objc/Object.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-3.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-3.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-3.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-3.m Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* Developed by Ziemowit Laski  <zlaski at apple.com>  */
 /* { dg-do compile { target powerpc*-*-darwin* } } */
 /* { dg-options "-fnext-runtime -fobjc-gc -fobjc-direct-dispatch -Wno-assign-intercept -O2" } */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target objc_gc } */
 
 #include <objc/Object.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-4.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-4.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-4.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fast-4.m Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* { dg-do compile { target powerpc*-*-darwin* } } */
 /* APPLE LOCAL ObjC direct dispatch */
 /* { dg-options "-O0 -fobjc-direct-dispatch -fnext-runtime" } */
-/* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* Radar 4015820 */
 
 /* { dg-skip-if "" { powerpc*-*-darwin* } { "-m64" } { "" } } */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fpret-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fpret-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fpret-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fpret-1.m Mon Nov  3 02:35:57 2008
@@ -1,6 +1,6 @@
 /* APPLE LOCAL begin radar 4280641 */
 /* { dg-do compile { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 #include <objc/Object.h>
 
 @interface Example : Object

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fpret-2.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fpret-2.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fpret-2.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-fpret-2.m Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 */
 /* { dg-options "-mmacosx-version-min=10.5 -fobjc-abi-version=2" } */
 /* { dg-do compile { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 @interface Test @end
 @implementation Test

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-1.m Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* A compile-only test for insertion of write barriers. */
 /* Developed by Ziemowit Laski  <zlaski at apple.com>  */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-options "-fnext-runtime -fobjc-gc -Wassign-intercept" } */
+/* { dg-options "-fnext-runtime -fobjc-gc -Wno-non-lvalue-assign -Wassign-intercept" } */
 /* { dg-require-effective-target objc_gc } */
 
 #ifndef __OBJC_GC__

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-2.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-2.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-2.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-2.m Mon Nov  3 02:35:57 2008
@@ -2,9 +2,9 @@
 /* A run-time test for insertion of write barriers. */
 
 /* { dg-do run { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-options "-fnext-runtime -fobjc-gc" } */
-/* { dg-options "-fnext-runtime -fobjc-gc -mmacosx-version-min=10.3" { target powerpc*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-options "-fnext-runtime -fobjc-gc -Wno-non-lvalue-assign" } */
+/* { dg-options "-fnext-runtime -fobjc-gc -Wno-non-lvalue-assign -mmacosx-version-min=10.3" { target powerpc*-*-darwin* } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target objc_gc } */
 
 #include <objc/objc.h>

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-7.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-7.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-7.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-7.m Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* Do _not_ generate write barriers for global function pointers,
    even ones returning 'id'.  */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-options "-fnext-runtime -fobjc-gc -Wassign-intercept" } */
+/* { dg-options "-fnext-runtime -fobjc-gc -Wno-non-lvalue-assign -Wassign-intercept" } */
 /* { dg-require-effective-target objc_gc } */
 
 /* APPLE LOCAL radar 4894756 */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-lvalue-cast-warn.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-lvalue-cast-warn.m?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-lvalue-cast-warn.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-lvalue-cast-warn.m Mon Nov  3 02:35:57 2008
@@ -0,0 +1,11 @@
+/* APPLE LOCAL file radar 6269491 */
+/* Test that lvalue cast with -fobjc-gc also results in a warning. */
+/* { dg-options "-fobjc-gc" } */
+
+ at interface I @end
+
+void foo(I* pI)
+{
+  (id) pI = 0;  /* { dg-warning "target of assignment not really an lvalue" } */
+}	
+	

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-section-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-section-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-section-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-section-1.m Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
    with flag of 0 */
 
 /* { dg-do compile } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 
 @interface INTF

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-section-2.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-section-2.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-section-2.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-section-2.m Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* Check that -fobjc-gc-only option produces a 110 flag in objc section. */
 /* { dg-options "-fobjc-gc-only" } */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-require-effective-target objc_gc } */
 
 @interface INTF

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-weak-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-weak-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-weak-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-gc-weak-1.m Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* A run-time test for insertion of write barriers for __weak objects. */
 
 /* { dg-do run { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-options "-fnext-runtime -fobjc-gc" } */
+/* { dg-options "-fnext-runtime -fobjc-gc -Wno-non-lvalue-assign" } */
 /* { dg-require-effective-target objc_gc } */
 
 #include <objc/objc.h>

Added: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-property-enumtype.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-property-enumtype.m?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-property-enumtype.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-property-enumtype.m Mon Nov  3 02:35:57 2008
@@ -0,0 +1,62 @@
+/* APPLE LOCAL file radar 6264448 */
+/* Test that property of enum types don't cause error
+   when setter call is generated. */
+/* { dg-do run { target *-*-darwin* } } */ 
+/* { dg-options "-framework Foundation -Werror" } */
+
+#import <Foundation/Foundation.h>
+
+enum TimeType {
+    TimeTypeZero = 0,
+    TimeTypeOne = 1,
+    TimeTypeTwo = 2
+};
+
+typedef enum TimeType TimeType;
+ 
+
+ at interface A : NSObject { 
+    TimeType tt; 
+}
+
+ at property (nonatomic) TimeType tt;
+
+ at end
+
+ at interface B : NSObject { 
+    TimeType tt; 
+}
+
+ at property (nonatomic) TimeType tt;
+
+ at end
+
+ at implementation A
+
+ at synthesize tt;
+
+ at end
+
+ at implementation B
+
+ at synthesize tt;
+
+ at end
+
+int main (int argc, const char * argv[]) {
+    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
+    
+    A* a = [[A alloc] init];
+    B* b = [[B alloc] init];
+    
+    a.tt = TimeTypeOne;
+    // failure here:
+    b.tt = a.tt;
+    
+    b.tt = [a tt];
+    
+    [b setTt: [a tt]];
+
+    [pool drain];
+    return 0;
+}

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-visibility-hidden-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-visibility-hidden-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-visibility-hidden-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc-visibility-hidden-1.m Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* Test for visibility 'hidden' flag inserted in 32bit objc class's meta-data. */
 /* { dg-options "-mmacosx-version-min=10.5" } */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 __attribute__((visibility("hidden"))) 
 @interface Foo {

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-alignment-test-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-alignment-test-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-alignment-test-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-alignment-test-1.m Mon Nov  3 02:35:57 2008
@@ -2,7 +2,7 @@
 /* Test that alignment of __class_list sections, among others, are at their 'natural'
    alignment on x86. */
 /* { dg-do compile { target i?86-*-darwin* } } */
-/* { dg-skip-if "" { i?86-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-options "-mmacosx-version-min=10.5 -fobjc-abi-version=2" } */
 
 @interface c1 @end
@@ -39,4 +39,4 @@
 /* LLVM LOCAL begin accept llvm syntax */
 /* { dg-final { scan-assembler "\t.align( |\t)2\nL_OBJC_LABEL_CLASS_\\\$:" } } */
 /* { dg-final { scan-assembler "\t.align( |\t)2\nL_OBJC_LABEL_NONLAZY_CLASS_\\\$:" } } */
-/* LLVM LOCAL end */
\ No newline at end of file
+/* LLVM LOCAL end */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-newmetadata-sections.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-newmetadata-sections.m?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-newmetadata-sections.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-newmetadata-sections.m Mon Nov  3 02:35:57 2008
@@ -0,0 +1,12 @@
+/* APPLE LOCAL file radar 6255595 */
+/* Check for generation of new sections for objc2 meta-data. */
+/* { dg-options "-fobjc-abi-version=2 -mmacosx-version-min=10.6" } */
+/* { dg-do compile */
+ at protocol PROTO
+ at end
+
+ at interface INTF <PROTO> @end
+
+ at implementation INTF @end
+/* { dg-final { scan-assembler ".section __DATA, __objc_const" } } */
+/* { dg-final { scan-assembler ".section __DATA, __objc_data" } } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-property-typedefprotocol.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-property-typedefprotocol.m?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-property-typedefprotocol.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-property-typedefprotocol.m Mon Nov  3 02:35:57 2008
@@ -0,0 +1,10 @@
+/* APPLE LOCAL file radar 6267049 */
+typedef int MyTypedef;
+
+ at interface MyClass
+
+ at property MyTypedef <Gobbledygook> myProperty; /* { dg-error "qualified type is not a valid object" } */
+	/* { dg-error "cannot find protocol declaration for \\'Gobbledygook\\'" "" { target *-*-* } 6 } */
+
+ at end
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-1.m Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file 4695109 */
+/* APPLE LOCAL file 4695109 - modified for radar 6255913 */
 /* Protocol meta-data for protocol used in @protocol expression must be generated. */
 /* { dg-options "-mmacosx-version-min=10.5 -fobjc-abi-version=2" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-do compile { target *-*-darwin* } } */
@@ -14,5 +14,5 @@
 int main() {
 	return (long) @protocol(Proto1);
 }
-/* { dg-final { scan-assembler "L_OBJC_PROTOCOL_\\\$_Proto1:" } } */
+/* { dg-final { scan-assembler "l_OBJC_PROTOCOL_\\\$_Proto1:" } } */
 /* { dg-final { scan-assembler-not "_OBJC_PROTOCOL_\\\$_Proto2" } } */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-2.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-2.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-2.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-2.m Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file 4695109 */
+/* APPLE LOCAL file 4695109 - modified for radar 6255913 */
 /* Check for generation of protocol meta-data */
 /* { dg-options "-mmacosx-version-min=10.5 -fobjc-abi-version=2" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-do compile { target *-*-darwin* } } */
@@ -11,5 +11,5 @@
 
 @interface Super <Proto1, Proto2> { id isa; } @end
 @implementation Super @end
-/* { dg-final { scan-assembler "L_OBJC_PROTOCOL_\\\$_Proto1:" } } */
-/* { dg-final { scan-assembler "L_OBJC_PROTOCOL_\\\$_Proto2:" } } */
+/* { dg-final { scan-assembler "l_OBJC_PROTOCOL_\\\$_Proto1:" } } */
+/* { dg-final { scan-assembler "l_OBJC_PROTOCOL_\\\$_Proto2:" } } */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-4.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-4.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-4.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-4.m Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file 5465109 */
+/* APPLE LOCAL file 5465109 - modified for radar 6255913 */
 /*
 The following test program should emit metadata for _OBJC_PROTOCOL_$_Proto2 and _OBJC_PROTOCOL_$__Proto1. 
  This root emits both protocols and puts them both in __protocol_list.
@@ -20,5 +20,5 @@
 {
 	return (long)@protocol(Proto2);
 }
-/* { dg-final { scan-assembler "L_OBJC_PROTOCOL_\\\$_Proto1:" } } */
-/* { dg-final { scan-assembler "L_OBJC_PROTOCOL_\\\$_Proto2:" } } */
+/* { dg-final { scan-assembler "l_OBJC_PROTOCOL_\\\$_Proto1:" } } */
+/* { dg-final { scan-assembler "l_OBJC_PROTOCOL_\\\$_Proto2:" } } */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-5.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-5.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-5.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-5.m Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file 4695109 */
+/* APPLE LOCAL file 4695109 - modified for radar 6255913 */
 /* { dg-options "-mmacosx-version-min=10.5 -fobjc-abi-version=2" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-do compile { target *-*-darwin* } } */
 
@@ -13,4 +13,4 @@
 int main() {
 	return (long) @protocol(Proto1);
 }
-/* { dg-final { scan-assembler "L_OBJC_PROTOCOL_\\\$_Proto1:" } } */
+/* { dg-final { scan-assembler "l_OBJC_PROTOCOL_\\\$_Proto1:" } } */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-9.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-9.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-9.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-protocol-9.m Mon Nov  3 02:35:57 2008
@@ -1,4 +1,4 @@
-/* APPLE LOCAL file 4695109 */
+/* APPLE LOCAL file 4695109 - modified for radar 6255913 */
 /* Cechk that both protocols metadata generated for them. */
 /* { dg-options "-mmacosx-version-min=10.5 -fobjc-abi-version=2" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-do compile { target *-*-darwin* } } */
@@ -18,5 +18,5 @@
 
 @implementation Foo (Category)
 @end
-/* { dg-final { scan-assembler "L_OBJC_PROTOCOL_\\\$_Proto1:" } } */
-/* { dg-final { scan-assembler "L_OBJC_PROTOCOL_\\\$_Proto2:" } } */
+/* { dg-final { scan-assembler "l_OBJC_PROTOCOL_\\\$_Proto1:" } } */
+/* { dg-final { scan-assembler "l_OBJC_PROTOCOL_\\\$_Proto2:" } } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-sendsuper_msg.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-sendsuper_msg.m?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-sendsuper_msg.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/objc2-sendsuper_msg.m Mon Nov  3 02:35:57 2008
@@ -0,0 +1,14 @@
+/* APPLE LOCAL file radar 6252174 */
+/* { dg-options "-m64 -mmacosx-version-min=10.6" } */
+/* { dg-do compile { target *-*-darwin* } } */
+
+ at interface NSObject
+-method;
+ at end
+
+ at interface Sub : NSObject @end
+
+ at implementation Sub
+-method { [super method]; }
+ at end
+/* { dg-final { scan-assembler-not ".section __DATA, __objc_msgrefs, coalesced\n\t.align 4\n\tl_objc_msgSendSuper2_fixup_method" } } */

Added: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/property-missing-comma.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/property-missing-comma.m?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/property-missing-comma.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/property-missing-comma.m Mon Nov  3 02:35:57 2008
@@ -0,0 +1,19 @@
+/* APPLE LOCAL file radar 6302949 */
+/* { dg-options "-mmacosx-version-min=10.5" { target *-*-darwin* } } */
+/* { dg-do compile } */
+
+ at interface BadPropClass // : NSObject
+{
+ int _awesome;
+}
+
+ at property (readonly) int hello;
+ at property (nonatomic readonly  /* { dg-warning " property attributes must be separated by a comma" } */
+	   getter=isAwesome) int _awesome; /* { dg-warning " property attributes must be separated by a comma" } */
+ at property (nonatomic, readonly, 
+	   getter=isAwesome) int _anew;
+ at property (nonatomic, readonly, 
+	getter=isAwesome) int _anew1;
+
+ at end
+

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/selector-3.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/selector-3.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/selector-3.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/selector-3.m Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* { dg-options "-Wselector -fgnu-runtime" } */
 /* { dg-do compile } */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 typedef struct objc_object { struct objc_class *class_pointer; } *id;
 typedef const struct objc_selector    *SEL;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/special/unclaimed-category-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/special/unclaimed-category-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/special/unclaimed-category-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/special/unclaimed-category-1.m Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 #include <objc/objc-api.h>
 #include <objc/Object.h>
 /* APPLE LOCAL radar file 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 extern void abort (void);
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/stret-2.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/stret-2.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/stret-2.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/stret-2.m Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* Contributed by Ziemowit Laski <zlaski at apple.com>.  */
 /* { dg-do compile { target *-*-darwin* } } */
 /* APPLE LOCAL radar 4492976 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 /* APPLE LOCAL radar 4894756 */
 #include "../objc/execute/Object2.h"

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/symtab-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/symtab-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/symtab-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/symtab-1.m Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* { dg-options "-fnext-runtime" } */
 /* { dg-do compile { target *-*-darwin* } } */
 /* APPLE LOCAL radar 4492976 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* APPLE LOCAL ARM not available on arm-darwin targets */
 /* { dg-skip-if "" { arm*-*-darwin* } { "*" } { "" } } */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/sync-objc-exception.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/sync-objc-exception.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/sync-objc-exception.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/sync-objc-exception.m Mon Nov  3 02:35:57 2008
@@ -5,7 +5,7 @@
 */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* { dg-options "-fobjc-exceptions -Os -Wextra -Werror" } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
  
 struct MyPoint { int x; };
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/try-catch-15.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/try-catch-15.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/try-catch-15.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/try-catch-15.m Mon Nov  3 02:35:57 2008
@@ -6,7 +6,7 @@
 /* { dg-do compile { target powerpc*-*-darwin* } } */
 
 /* APPLE LOCAL begin radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 #include "../objc/execute/Object2.h"
 /* APPLE LOCAL end radar 4894756 */
 

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/try-catch-17.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/try-catch-17.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/try-catch-17.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/try-catch-17.m Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
    all uncaught exceptions.  */
 
 /* { dg-options "-fobjc-exceptions" } */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 /* { dg-do run } */
 
 #include "../objc/execute/Object2.h"

Added: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/unimplemented-anon-category.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/unimplemented-anon-category.m?rev=58601&view=auto

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/unimplemented-anon-category.m (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/unimplemented-anon-category.m Mon Nov  3 02:35:57 2008
@@ -0,0 +1,18 @@
+/* APPLE LOCAL file radar 6017984 */
+/* Warn if @implementation does not implement methods declared
+   in anonymous category's protocol list. */
+/* { dg-do compile { target *-*-darwin* } } */
+
+ at protocol Bar
+- (void) baz;
+ at end
+
+ at interface Foo 
+ at end
+
+ at interface Foo () <Bar>
+ at end
+
+ at implementation Foo
+ at end /* { dg-warning "incomplete implementation of class 'Foo'" } */
+     /* { dg-warning "method definition for '-baz' not found" "" { target *-*-* } 17 } */

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/volatile-1.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/volatile-1.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/volatile-1.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/volatile-1.m Mon Nov  3 02:35:57 2008
@@ -3,7 +3,7 @@
 /* { dg-options "-O2" } */
 /* Contributed by Ziemowit Laski  <zlaski at apple.com>  */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 @interface Test
 -(void) test2: (volatile int) a;

Modified: llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/zero-link-2.m
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/zero-link-2.m?rev=58601&r1=58600&r2=58601&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/zero-link-2.m (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/objc.dg/zero-link-2.m Mon Nov  3 02:35:57 2008
@@ -4,7 +4,7 @@
 /* APPLE LOCAL ARM objc2 */
 /* { dg-do compile { target powerpc*-*-darwin* i?86*-*-darwin* } } */
 /* APPLE LOCAL radar 4894756 */
-/* { dg-skip-if "" { *-*-darwin* } { "-m64" } { "" } } */
+/* { dg-require-effective-target ilp32 } */
 
 #include <objc/objc.h>
 #include <objc/Object.h>





More information about the llvm-commits mailing list