Re: objc/objc++: switch all testcases to Modern Objective-C runtime API
I checked on i686-darwin9 with both m32 and m32/abi=1 the only difference I see is the XPASSes for m64 torture/forward-1.m for gnu runtime. That is very comforting; I have committed the (revised) patch. Thanks a lot for your help testing and reviewing. :-) I will try to test on darwin8 during the week - but time v. limited. I expect there will be a few issues with darwin8; it's all supposed to work there, but software never works until you test it, and I haven't tested it. ;-) If you try, please send me the logs of the failures and I'll fix them. Thanks
Re: objc/objc++: switch all testcases to Modern Objective-C runtime API
On 6 Jun 2011, at 18:21, Nicola Pero wrote: This patch switches all the testcases in the ObjC/ObjC++ testsuite to use the Modern Objective-C runtime API when executing with the GNU runtime. This will allow me to complete removing the Traditional Objective-C runtime API from libobjc. :-) ... I tested this on GNU/Linux i686, and on Apple 10.6.7 64-bit. That tests both the GNU runtime and a recent NeXT runtime. I'd like to test with an older NeXT runtime, but I don't have any access to an Apple machine with Mac OS X 10.5. testing at m32 should exercise all the post 10.4 stuff - and would be a good indicator of any major hassles. I'll try and do a 10.4 test during the week ... (assuming trunk still bootstrap on it). Iain
Re: objc/objc++: switch all testcases to Modern Objective-C runtime API
On Jun 6, 2011, at 10:21 AM, Nicola Pero wrote: This patch switches all the testcases in the ObjC/ObjC++ testsuite to use the Modern Objective-C runtime API when executing with the GNU runtime. OK to commit ? Ok, from me with one possible exception, I'd like Iain or Jack to weigh in on wether it should go in before they have a chance to test it on pre 10.6 systems. I'm fine with it going in before or after, as we're in stage 1 and I think there is plenty of time to address any pre 10.6 fallout. If it goes in sooner, we'll get 10.5 coverage with Geoff's tester.
Re: objc/objc++: switch all testcases to Modern Objective-C runtime API
Nicola, On x86_64-apple-darwin10 I have the following failures with -m32 FAIL: obj-c++.dg/threedotthree-abi-1.mm -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-10.mm -O0 -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-10.mm -O1 -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-10.mm -O2 -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-10.mm -O3 -fomit-frame-pointer -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-10.mm -O3 -g -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-10.mm -Os -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-10.mm -O2 -flto -flto-partition=none -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-10.mm -O2 -flto -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-11.mm -O0 -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-11.mm -O1 -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-11.mm -O2 -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-11.mm -O3 -fomit-frame-pointer -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-11.mm -O3 -g -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-11.mm -Os -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-11.mm -O2 -flto -flto-partition=none -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-11.mm -O2 -flto -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-9.mm -O0 -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-9.mm -O1 -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-9.mm -O2 -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-9.mm -O3 -fomit-frame-pointer -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-9.mm -O3 -g -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-9.mm -Os -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-9.mm -O2 -flto -flto-partition=none -fnext-runtime (test for excess errors) FAIL: obj-c++.dg/torture/strings/const-str-9.mm -O2 -flto -fnext-runtime (test for excess errors) The failures are FAIL: obj-c++.dg/threedotthree-abi-1.mm -fnext-runtime (test for excess errors) Excess errors: /opt/gcc/work/gcc/testsuite/obj-c++.dg/threedotthree-abi-1.mm:51:78: warning: 'descriptionForInstanceMethod:' is deprecated (declared at /usr/include/objc/Protocol.h:54) [-Wdeprecated-declarations] /opt/gcc/work/gcc/testsuite/obj-c++.dg/threedotthree-abi-1.mm:54:78: warning: 'descriptionForInstanceMethod:' is deprecated (declared at /usr/include/objc/Protocol.h:54) [-Wdeprecated-declarations] /opt/gcc/work/gcc/testsuite/obj-c++.dg/threedotthree-abi-1.mm:57:78: warning: 'descriptionForInstanceMethod:' is deprecated (declared at /usr/include/objc/Protocol.h:54) [-Wdeprecated-declarations] /opt/gcc/work/gcc/testsuite/obj-c++.dg/threedotthree-abi-1.mm:60:78: warning: 'descriptionForInstanceMethod:' is deprecated (declared at /usr/include/objc/Protocol.h:54) [-Wdeprecated-declarations] /opt/gcc/work/gcc/testsuite/obj-c++.dg/threedotthree-abi-1.mm:63:78: warning: 'descriptionForInstanceMethod:' is deprecated (declared at /usr/include/objc/Protocol.h:54) [-Wdeprecated-declarations] /opt/gcc/work/gcc/testsuite/obj-c++.dg/threedotthree-abi-1.mm:66:79: warning: 'descriptionForInstanceMethod:' is deprecated (declared at /usr/include/objc/Protocol.h:54) [-Wdeprecated-declarations] FAIL: obj-c++.dg/torture/strings/const-str-10.mm -O0 -fnext-runtime (test for excess errors) Excess errors: /opt/gcc/work/gcc/testsuite/obj-c++.dg/torture/strings/const-str-10.mm:27:26: warning: 'objc_class' is deprecated (declared at /usr/include/objc/runtime.h:46) [-Wdeprecated-declarations] FAIL: obj-c++.dg/torture/strings/const-str-11.mm -O0 -fnext-runtime (test for excess errors) Excess errors: /opt/gcc/work/gcc/testsuite/obj-c++.dg/torture/strings/const-str-11.mm:27:26: warning: 'objc_class' is deprecated (declared at /usr/include/objc/runtime.h:46) [-Wdeprecated-declarations] FAIL: obj-c++.dg/torture/strings/const-str-9.mm -O0 -fnext-runtime (test for excess errors) Excess errors: /opt/gcc/work/gcc/testsuite/obj-c++.dg/torture/strings/const-str-9.mm:19:26: warning: 'objc_class' is deprecated (declared at /usr/include/objc/runtime.h:46) [-Wdeprecated-declarations] FAIL: objc.dg/stret-2.m scan-assembler-not objc_msgSend[^_S] FAIL: objc.dg/threedotthree-abi-1.m -fnext-runtime (test for excess errors) FAIL:
Re: objc/objc++: switch all testcases to Modern Objective-C runtime API
On 6 Jun 2011, at 21:07, Nicola Pero wrote: On x86_64-apple-darwin10 I have the following failures with -m32 darwin10 is Mac OS X 10.6, right ? I have access to that. So, how do you test with -m32 ? I thought the testsuite would do that (test both with -m32 and -m64 if they are available) automatically, but clearly it doesn't, because I never saw these failures ;-) It doesn't... .. if you want to be pedantic the following should cover all bases on a given platform 10.4: make -k check-objc check-obj-c++ RUNTESTFLAGS=--target_board=unix\{- m32,-m32/-fabi-version=1,-m64\} I am doing this on i686-darwin9 at the moment with your original path - will re-try your re-posted patch. As a far as my opinion, if it passes OK @m32 on darwin9 (10.5.x) - I'm with Mike that we have time to sort out any problems on darwin8 (10.4.x). cheers Iain
Re: objc/objc++: switch all testcases to Modern Objective-C runtime API
On 6 Jun 2011, at 21:23, IainS wrote: It doesn't... .. if you want to be pedantic the following should cover all bases on a given platform 10.4: make -k check-objc check-obj-c++ RUNTESTFLAGS=--target_board=unix\{- m32,-m32/-fabi-version=1,-m64\} duh.. I should check my typing before hitting send.. .. make that -fobjc-abi-version=1. Iain
Re: objc/objc++: switch all testcases to Modern Objective-C runtime API
... So, how do you test with -m32 ? ... make -k check-obj-c++ RUNTESTFLAGS=--target_board=unix'{-m32,-m64}' On x86_64-apple-darwin10 (Mac OS X 10.6) -m64 is the default and could be omitted after the comma, but the above works also on ppc for which the default is -m32. The revamped patch in attach should fix them. :-) It does, thanks, Dominique
Re: objc/objc++: switch all testcases to Modern Objective-C runtime API
On Jun 6, 2011, at 1:32 PM, Dominique Dhumieres wrote: The revamped patch in attach should fix them. :-) It does, thanks, Ok, Iain chimed in that he's ok with it going in sooner, and since -m32 now works, I think this work can go in now, thanks. Thanks for the testing help Dominique!
Re: objc/objc++: switch all testcases to Modern Objective-C runtime API
On 6 Jun 2011, at 22:37, Mike Stump wrote: On Jun 6, 2011, at 1:32 PM, Dominique Dhumieres wrote: The revamped patch in attach should fix them. :-) It does, thanks, Ok, Iain chimed in that he's ok with it going in sooner, and since - m32 now works, I think this work can go in now, thanks. Thanks for the testing help Dominique! I checked on i686-darwin9 with both m32 and m32/abi=1 the only difference I see is the XPASSes for m64 torture/forward-1.m for gnu runtime. I will try to test on darwin8 during the week - but time v. limited. cheers Iain