[Bug testsuite/43512] [4.5 regression] Many objc test failures

2010-03-26 Thread developer at sandoe-acoustics dot co dot uk


--- 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

2010-03-26 Thread developer at sandoe-acoustics dot co dot uk


--- 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

2010-03-26 Thread hjl dot tools at gmail dot com


--- 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

2010-03-25 Thread developer at sandoe-acoustics dot co dot uk


--- 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

2010-03-25 Thread janis at gcc dot gnu dot org


--- 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

2010-03-25 Thread developer at sandoe-acoustics dot co dot uk


--- 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

2010-03-25 Thread developer at sandoe-acoustics dot co dot uk


--- 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

2010-03-25 Thread pinskia at gcc dot gnu dot org


--- 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

2010-03-25 Thread janis at gcc dot gnu dot org


--- 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

2010-03-25 Thread hjl dot tools at gmail dot com


--- 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

2010-03-24 Thread hjl dot tools at gmail dot com


-- 

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