[Bug objc/45763] New: incorrect @encode(BOOL *)

2010-09-23 Thread nicola at gcc dot gnu dot org
This was reported to me by David Chisnall via email - he mentioned -

@encode(BOOL*) - it should return ^c or ^C (depending on whether BOOL is
defined as signed or unsigned), but instead it returns *.  This is inconsistent
with clang and with Apple GCC.

I also noticed that we already have a testcase (objc.dg/encode-1.m) but it is
only compiled with the NeXT runtime.  We should fix it and enable the test on
the GNU runtime as well. ;-)

Thanks


-- 
   Summary: incorrect @encode(BOOL *)
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: objc
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: nicola at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45763



[Bug objc/25965] [4.3/4.4/4.5/4.6 Regression] Allows duplicate member names in objc subclasses

2010-09-21 Thread nicola at gcc dot gnu dot org


--- Comment #10 from nicola at gcc dot gnu dot org  2010-09-21 18:51 ---
Subject: Bug 25965

Author: nicola
Date: Tue Sep 21 18:51:34 2010
New Revision: 164491

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164491
Log:
PR objc/25965
In gcc/objc/:
   * objc-act.c (objc_get_interface_ivars): New function.
   (objc_collecting_ivars): New variable.
   (continue_class): Set and reset objc_collecting_ivars for context.
In gcc/:
   * c-decl.c (detect_field_duplicates): If compiling Objective-C,
   call objc_get_interface_ivars ().
   * c-family/c-common.h (objc_get_interface_ivars): New declaration.
   * c-family/stub-objc.c (objc_get_interface_ivars): New stub.
In gcc/objcp/:
   * objcp-decl.c (objcp_finish_struct): Call
   objc_get_interface_ivars() and check for duplicate ivars.

In gcc/testsuite/:
   Merge from 'apple/trunk' branch on FSF servers.

   2005-10-11  Fariborz Jahanian fjahan...@apple.com

   Radar 4291785

   objc.dg/naming-4.m: New
   objc.dg/naming-5.m: New
   obj-c++.dg/naming-1.mm: New
   obj-c++.dg/naming-2.mm: New

Added:
trunk/gcc/testsuite/obj-c++.dg/naming-1.mm
trunk/gcc/testsuite/obj-c++.dg/naming-2.mm
trunk/gcc/testsuite/objc.dg/naming-4.m
trunk/gcc/testsuite/objc.dg/naming-5.m
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-decl.c
trunk/gcc/c-family/c-common.h
trunk/gcc/c-family/stub-objc.c
trunk/gcc/objc/ChangeLog
trunk/gcc/objc/objc-act.c
trunk/gcc/objcp/ChangeLog
trunk/gcc/objcp/objcp-decl.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25965



[Bug objc/25965] [4.3/4.4/4.5/4.6 Regression] Allows duplicate member names in objc subclasses

2010-09-21 Thread nicola at gcc dot gnu dot org


--- Comment #11 from nicola at gcc dot gnu dot org  2010-09-21 18:52 ---
Patch applied to trunk.

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25965



[Bug objc/23710] objc front-end should not abort after erroring out about method definition not in class context

2010-09-21 Thread nicola at gcc dot gnu dot org


--- Comment #3 from nicola at gcc dot gnu dot org  2010-09-21 20:47 ---
Subject: Bug 23710

Author: nicola
Date: Tue Sep 21 20:47:04 2010
New Revision: 164497

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=164497
Log:
PR objc/23710
In gcc/:
* c-family/c-common.h (objc_start_method_definition): Return bool
instead of void.
* c-family/stub-objc.c (objc_start_method_definition): Return bool
instead of void.
* c-parser.c (c_parser_objc_method_definition): Check the return
value of objc_start_method_definition and if false is returned,
parse the method definition but emit no code.
In gcc/objc/:
* objc-act.c (objc_start_method_definition): Do not abort upon a
'method definition not in @implementation context' error.  Return
'false' instead.
In gcc/testsuite/:
   * objc.dg/invalid-method-1.m: New.

Added:
trunk/gcc/testsuite/objc.dg/invalid-method-1.m
Modified:
trunk/gcc/ChangeLog
trunk/gcc/c-family/c-common.h
trunk/gcc/c-family/stub-objc.c
trunk/gcc/c-parser.c
trunk/gcc/objc/ChangeLog
trunk/gcc/objc/objc-act.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23710



[Bug objc/23710] objc front-end should not abort after erroring out about method definition not in class context

2010-09-21 Thread nicola at gcc dot gnu dot org


--- Comment #4 from nicola at gcc dot gnu dot org  2010-09-21 20:48 ---
Fix committed to trunk.

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23710



[Bug objc/23710] objc front-end should not abort after erroring out about method definition not in class context

2010-09-18 Thread nicola at gcc dot gnu dot org


--- Comment #2 from nicola at gcc dot gnu dot org  2010-09-18 23:52 ---
I submitted a patch to fix this.

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |nicola at gcc dot gnu dot
   |dot org |org
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-03-05 03:54:26 |2010-09-18 23:52:59
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23710



[Bug objc/25965] [4.3/4.4/4.5/4.6 Regression] Allows duplicate member names in objc subclasses

2010-09-18 Thread nicola at gcc dot gnu dot org


--- Comment #9 from nicola at gcc dot gnu dot org  2010-09-19 02:04 ---
I submitted a patch that fixes this.

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|ayers at gcc dot gnu dot org|nicola at gcc dot gnu dot
   ||org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25965



[Bug libobjc/23680] @synchronized support is not in GNU runtime

2010-09-17 Thread nicola at gcc dot gnu dot org


--- Comment #3 from nicola at gcc dot gnu dot org  2010-09-17 09:00 ---
@synchronized support is now available in the GNU runtime. :-)

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23680



[Bug objc/16398] Dynamic Inheritance in Objective-C

2010-09-17 Thread nicola at gcc dot gnu dot org


--- Comment #4 from nicola at gcc dot gnu dot org  2010-09-17 09:28 ---
This proposed enhancement seems to be a major change to the language! :-)

It basically would mean that every object has a customized class hierarchy.

So, when a message is sent to the object, the object's custom class hierarchy
would need to be traversed - instead of the standard one.  (that would indeed
complicate messaging quite a lot)

When an instance variable of the object is accessed, again the object's custom
ivar list would need to be examined to determine the offset of that specific
ivar ... instead of using a standard ivar/offset information for all objects. 
(again this would indeed complicate instance variables quite a lot).

I suppose my point is that this object-dependent class hierarchy is not just an
enhancement - it is so radical that it would basically transform Objective-C
into another language (it's a nice idea though!). ;-)

The simpler version of all of this is to be able to replace a class with
another one.  So, you'd replace 'myRootObject' with 'myDebuggingRootObject' and
that would happen everywhere in your application for all the objects.  This is
called 'poseAs:'.  It is clearly much easier to implement than custom
replacement of classes for a single object, but it is still quite hard.  So
hard tha Apple removed it from their runtime and deprecated it.  It's no longer
available there and probably will be removed from the GNU runtime too.  Anyway,
if you're interested in this dynamic modifications of class hierarchies, you
may want to look into up (and maybe open up a new issue on that).

I'd like to close this issue just because the enhancement proposed is too
radical. ;-)

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
   Priority|P2  |P4
 Resolution||WONTFIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16398



[Bug testsuite/45692] FAIL: objc/execute/exceptions/throw-nil.m execution on darwin with -m32

2010-09-17 Thread nicola at gcc dot gnu dot org


--- Comment #2 from nicola at gcc dot gnu dot org  2010-09-17 10:14 ---
Ok ... I fixed the testcase in trunk.  Please can you let me know if it works
fine now (I don't have a darwin machine to test). :-)

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45692




[Bug testsuite/45692] FAIL: objc/execute/exceptions/throw-nil.m execution on darwin with -m32

2010-09-17 Thread nicola at gcc dot gnu dot org


--- Comment #4 from nicola at gcc dot gnu dot org  2010-09-17 16:40 ---

 Ok ... I fixed the testcase in trunk.  

 Is there not a simpler way to fix the test with dejagnu directives?

Probably. :-)

The fix in trunk does work and is consistent with other files in the same
directory.  But feel free to suggest a better way, and send a patch.  We could
maybe tidy up all the files in that directory ;-)

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45692



[Bug libobjc/38881] Two problem in objc-list.h in list_remove_elem

2010-09-17 Thread nicola at gcc dot gnu dot org


--- Comment #1 from nicola at gcc dot gnu dot org  2010-09-17 16:53 ---
Thanks

well spotted :-)

Unfortunately, the list_remove_elem() function is obsolete (never used inside
the runtime itself, and deprecated for usage outside of it as of 4.6.0) so
there is not much point in working on it any more. ;-)

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WONTFIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38881



[Bug objc/32530] @try/@throw/@catch/@finally usage without -fexeceptions compiles without warning/error

2010-09-14 Thread nicola at gcc dot gnu dot org


--- Comment #1 from nicola at gcc dot gnu dot org  2010-09-14 22:47 ---
GCC from trunk (will become 4.6.0) refuses to compile
@try/@catch/@throw/@synchronized expressions if -fobjc-exceptions is not used.

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32530



[Bug objc/32995] False warning when implementing an instance method called `dealloc'

2010-09-14 Thread nicola at gcc dot gnu dot org


--- Comment #3 from nicola at gcc dot gnu dot org  2010-09-14 22:52 ---
If you want to use dealloc for compatibility with Apple Cocoa / GNUstep Base,
then you also want the warnings that dealloc needs to include a call to [super
dealloc], so I wouldn't change the compiler ;-)

You could change your code though - if you're triyng to be compatible with
Cocoa / GNUstep, then you may as well define an NSObject root class and have a
dealloc method in it ;-)

If you still want to use Object, you can add a -dealloc method to Object by
using a category:

@interface Object (dealloc)
- (void) dealloc;
@end

(the add the implementation).  Then you can have the missing [super dealloc] in
your subclass, and the compiler won't generate any warnings.

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WONTFIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32995



[Bug libobjc/23214] libobjc doesn't initialize protocols in some cases

2010-09-08 Thread nicola at gcc dot gnu dot org


--- Comment #7 from nicola at gcc dot gnu dot org  2010-09-08 17:48 ---
Confirmed.

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-09-08 17:48:14
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23214



[Bug libobjc/23215] libobjc doesn't work on windows.

2010-09-08 Thread nicola at gcc dot gnu dot org


--- Comment #6 from nicola at gcc dot gnu dot org  2010-09-08 17:49 ---
Created an attachment (id=21742)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21742action=view)
A tidied up testcase ready for the GCC testsuite


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23215



[Bug libobjc/23215] libobjc doesn't work on windows.

2010-09-08 Thread nicola at gcc dot gnu dot org


--- Comment #7 from nicola at gcc dot gnu dot org  2010-09-08 17:50 ---
Apologies, bugzilla confused me by jumping to the next bug and I attached a
testcase to the wrong bug! ;-)

Thanks


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23215



[Bug libobjc/23214] libobjc doesn't initialize protocols in some cases

2010-09-08 Thread nicola at gcc dot gnu dot org


--- Comment #8 from nicola at gcc dot gnu dot org  2010-09-08 17:52 ---
Created an attachment (id=21743)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21743action=view)
A tidied up testcase ready for the GCC testsuite


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

Attachment #9420 is|0   |1
   obsolete||
Attachment #9421 is|0   |1
   obsolete||
Attachment #9422 is|0   |1
   obsolete||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23214



[Bug libobjc/28433] objc_write_type fails for floats and doubles

2010-09-08 Thread nicola at gcc dot gnu dot org


--- Comment #2 from nicola at gcc dot gnu dot org  2010-09-08 18:16 ---
objc/typedstream.h has been deprecated in 4.6.0 and will be removed in the next
GCC release.  There is no point in trying to fix a bug in it.

Please use gnustep-base or some other Foundation-type library if you need
serialization/deserialization of objects!  gnustep-base has wonderful support
for that, in many different shapes and forms! :-)

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28433



[Bug libobjc/19850] libobjc leaks threads on posix

2010-09-06 Thread nicola at gcc dot gnu dot org


--- Comment #3 from nicola at gcc dot gnu dot org  2010-09-06 15:57 ---
Subject: Bug 19850

Author: nicola
Date: Mon Sep  6 15:57:44 2010
New Revision: 163923

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163923
Log:
   PR libobjc/19850
   * gthr-posix.h (__gthread_objc_thread_detach): Use
   _objc_thread_attribs when detaching a thread.
   * gthr-posix95.h (__gthread_objc_thread_detach): Same change.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/gthr-posix.h
trunk/gcc/gthr-posix95.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19850



[Bug libobjc/19850] libobjc leaks threads on posix

2010-09-06 Thread nicola at gcc dot gnu dot org


--- Comment #5 from nicola at gcc dot gnu dot org  2010-09-06 18:30 ---
Fixed in trunk.

Thanks


-- 

nicola at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19850