[Bug testsuite/43512] [4.5 regression] Many objc test failures
--- Comment #8 from developer at sandoe-acoustics dot co dot uk 2010-03-26 07:47 --- (In reply to comment #7) Why --- Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/Object1-implementation.h ('svn:executable' added) Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/Object1.h ('svn:executable' added) Hmm. I think that, despite the fact that I stripped the apple-double (resource fork) from the files, tar must still believe there's an empty fork present which would cause them to be 'executable'. I'm sure the attribute can be removed. Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/Protocol1.h ('svn:executable' added) Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/next-abi.h ('svn:executable' added) Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/next-mapping.h ('svn:executable' added) --- Do they have to be executable? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512
[Bug testsuite/43512] [4.5 regression] Many objc test failures
--- Comment #9 from developer at sandoe-acoustics dot co dot uk 2010-03-26 08:09 --- (In reply to comment #8) (In reply to comment #7) Why my first reply was rubbish (should have coffee before email). This is clearly an error on my part - in fact, looking at my trail here, they picked up the exec. attribute when copied via a FAT-32 partition during testing between darwin/linux. Do they have to be executable? No. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512
[Bug testsuite/43512] [4.5 regression] Many objc test failures
--- Comment #10 from hjl dot tools at gmail dot com 2010-03-26 13:08 --- (In reply to comment #9) Do they have to be executable? No. Fixed. -- hjl dot tools at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512
[Bug testsuite/43512] [4.5 regression] Many objc test failures
--- Comment #1 from developer at sandoe-acoustics dot co dot uk 2010-03-25 09:04 --- (In reply to comment #0) On Linux/ia32, revision 157716 gave: Revision 157712 is OK. Those checkins: http://gcc.gnu.org/ml/gcc-cvs/2010-03/msg00552.html http://gcc.gnu.org/ml/gcc-cvs/2010-03/msg00553.html may be the causes. Yes, indeed, this check-in is the cause. The tests explicitly name -fnext-runtime which should cause the NeXT headers to be used - which are not present on a stock linux system. This was being silently ignored prior to the patch. The patches above are Part 1 of 2 - and these fails are corrected by Part 2 (which, hopefully, will be applied in the next day or so). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512
[Bug testsuite/43512] [4.5 regression] Many objc test failures
--- Comment #2 from janis at gcc dot gnu dot org 2010-03-25 18:07 --- Iain, these tests pass if the tests are run after make install because then the objc header files are found in the install tree. I tested your patch but installed first, that's why I didn't see the failures. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512
[Bug testsuite/43512] [4.5 regression] Many objc test failures
--- Comment #3 from developer at sandoe-acoustics dot co dot uk 2010-03-25 20:03 --- (In reply to comment #2) Iain, these tests pass if the tests are run after make install because then the objc header files are found in the install tree. I tested your patch but installed first, that's why I didn't see the failures. I believe that this is one of those nasty side effects of installed/uninstalled testing.. there are two sets of headers with the same names on a Darwin system - one in the gcc installation tree - one in /usr/include/objc. The tests *should* fail on Linux in an ideal world (when -fnext-runtime is given) - because they are supposed to be finding the NeXT headers at /usr/include/objc. This is a compiler-provided path. Of course, once installed the compiler's own headers are found because it searches through all the various options.. since the header names are the same .. the fail does not occur. It's a source of potentially very subtle problems... (at least, that is my understanding of the situation). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512
[Bug testsuite/43512] [4.5 regression] Many objc test failures
--- Comment #4 from developer at sandoe-acoustics dot co dot uk 2010-03-25 21:40 --- (In reply to comment #3) (In reply to comment #2) It's a source of potentially very subtle problems... (at least, that is my understanding of the situation). I should add that, at one stage, the headers were the same but this is now not the case (and, in fact the NeXT ones are syntactically dependent on improvements made to the apple-local version of gcc that means they generate errors with FSF gcc). I'd imagine it's unlikely that the two sets will re-converge. We might be wise to make things more explicit in FSF ObjC and the testsuite - i.e. make sure that the compiler can't fall-back to a set of headers that gives an unexpected result. Part 2 of the patch which clears this PR (if accepted) has been posted. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512
[Bug testsuite/43512] [4.5 regression] Many objc test failures
--- Comment #5 from pinskia at gcc dot gnu dot org 2010-03-25 21:42 --- The headers were never the same. In fact the runtimes are implemented slightly different with respect of how messages are done. So they can never converge. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512
[Bug testsuite/43512] [4.5 regression] Many objc test failures
--- Comment #6 from janis at gcc dot gnu dot org 2010-03-25 22:25 --- Subject: Bug 43512 Author: janis Date: Thu Mar 25 22:25:05 2010 New Revision: 157731 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=157731 Log: 2010-03-25 Iain Sandoe iain.san...@sandoe-acoustics.co.uk PR objc/35165 PR testsuite/43512 * objc-obj-c++-shared: New directory. * objc-obj-c++-shared/Object1-implementation.h: New file. * objc-obj-c++-shared/Object1.h: New file. * objc-obj-c++-shared/Protocol1.h: New file. * objc-obj-c++-shared/next-abi.h: New file. * objc-obj-c++-shared/next-mapping.h: New file. * objc/execute/next_mapping.h: Delete. * objc.dg/special/special.exp: For all targets run the tests with -fgnu-runtime, for darwin targets also run the tests with -fnext-runtime. * objc.dg/dg.exp: Ditto. * obj-c++.dg/dg.exp: Ditto. * objc/execute/forward-1.m: Use shared wrapper headers (Object1.h, Protocol1.h) and next-mapping.h as required. Amend testcase to include use of updated NeXT interface. * objc/execute/formal_protocol-5.m: Ditto. * objc/execute/protocol-isEqual-2.m: Ditto. * objc/execute/protocol-isEqual-4.m: Ditto. * objc/execute/class-11.m: Use shared wrapper headers (Object1.h, Protocol1.h) and next-mapping.h as required. * objc/execute/object_is_class.m: Ditto. * objc/execute/enumeration-1.m: Ditto. * objc/execute/class-13.m: Ditto. * objc/execute/formal_protocol-2.m: Ditto. * objc/execute/formal_protocol-4.m: Ditto. * objc/execute/class-1.m: Ditto. * objc/execute/bycopy-1.m: Ditto. * objc/execute/formal_protocol-6.m: Ditto. * objc/execute/bycopy-3.m: Ditto. * objc/execute/class-3.m: Ditto. * objc/execute/bf-11.m: Ditto. * objc/execute/class-5.m: Ditto. * objc/execute/bf-13.m: Ditto. * objc/execute/class-7.m: Ditto. * objc/execute/bf-15.m: Ditto. * objc/execute/class-9.m: Ditto. * objc/execute/bf-17.m: Ditto. * objc/execute/bf-19.m: Ditto. * objc/execute/IMP.m: Ditto. * objc/execute/exceptions/catchall-1.m: Ditto. * objc/execute/exceptions/trivial.m: Ditto. * objc/execute/exceptions/finally-1.m: Ditto. * objc/execute/exceptions/local-variables-1.m: Ditto. * objc/execute/exceptions/foward-1.m: Ditto. * objc/execute/bf-2.m: Ditto. * objc/execute/string1.m: Ditto. * objc/execute/bf-4.m: Ditto. * objc/execute/informal_protocol.m: Ditto. * objc/execute/string3.m: Ditto. * objc/execute/bf-6.m: Ditto. * objc/execute/bf-8.m: Ditto. * objc/execute/class-tests-1.h: Ditto. * objc/execute/protocol-isEqual-1.m: Ditto. * objc/execute/protocol-isEqual-3.m: Ditto. * objc/execute/_cmd.m: Ditto. * objc/execute/function-message-1.m: Ditto. * objc/execute/bf-20.m: Ditto. * objc/execute/bf-common.h: Ditto. * objc/execute/np-2.m: Ditto. * objc/execute/class-10.m: Ditto. * objc/execute/class-12.m: Ditto. * objc/execute/enumeration-2.m: Ditto. * objc/execute/class-14.m: Ditto. * objc/execute/encode-1.m: Ditto. * objc/execute/formal_protocol-1.m: Ditto. * objc/execute/formal_protocol-3.m: Ditto. * objc/execute/accessing_ivars.m: Ditto. * objc/execute/bycopy-2.m: Ditto. * objc/execute/class-2.m: Ditto. * objc/execute/bf-10.m: Ditto. * objc/execute/formal_protocol-7.m: Ditto. * objc/execute/root_methods.m: Ditto. * objc/execute/class-4.m: Ditto. * objc/execute/bf-12.m: Ditto. * objc/execute/class-6.m: Ditto. * objc/execute/bf-14.m: Ditto. * objc/execute/nested-func-1.m: Ditto. * objc/execute/class-8.m: Ditto. * objc/execute/private.m: Ditto. * objc/execute/bf-16.m: Ditto. * objc/execute/bf-18.m: Ditto. * objc/execute/load-3.m: Ditto. * objc/execute/compatibility_alias.m: Ditto. * objc/execute/bf-1.m: Ditto. * objc/execute/no_clash.m: Ditto. * objc/execute/bf-3.m: Ditto. * objc/execute/string2.m: Ditto. * objc/execute/bf-5.m: Ditto. * objc/execute/string4.m: Ditto. * objc/execute/bf-7.m: Ditto. * objc/execute/object_is_meta_class.m: Ditto. * objc/execute/bf-9.m: Ditto. * objc/execute/bf-21.m: Ditto. * objc/execute/cascading-1.m: Ditto. * objc/execute/trivial.m: Ditto. * objc/execute/np-1.m: Ditto. * objc/compile/trivial.m: Ditto. * objc/execute/class_self-2.m: Include stdlib.h. * objc/execute/forward-1.x: Do not XFAIL for 32bit powerpc-darwin. * objc.dg/desig-init-1.m: Use shared wrapper headers (Object1.h,
[Bug testsuite/43512] [4.5 regression] Many objc test failures
--- Comment #7 from hjl dot tools at gmail dot com 2010-03-26 00:30 --- Why --- Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/Object1-implementation.h ('svn:executable' added) Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/Object1.h ('svn:executable' added) Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/Protocol1.h ('svn:executable' added) Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/next-abi.h ('svn:executable' added) Propchange: trunk/gcc/testsuite/objc-obj-c++-shared/next-mapping.h ('svn:executable' added) --- Do they have to be executable? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512
[Bug testsuite/43512] [4.5 regression] Many objc test failures
-- hjl dot tools at gmail dot com changed: What|Removed |Added Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43512