patchGNUstep - Patches: patch #7822, [GNUstep Make] Bad code generator...

Group
 
 

You are not allowed to post comments on this tracker with your current authentication level.

patch #7822: [GNUstep Make] Bad code generator in Makefiles/Instance/framework.make, causes compiler errors

Submitter:  Stanislav Yaglo <stam>
Submitted:  Thu 26 Jul 2012 08:17:55 PM UTC
   
 
Category:  None Priority:  5 - Normal
Status:  Ready For Test Privacy:  Public
Assigned to:  thebeing Open/Closed:  Closed

Thu 16 Aug 2012 08:01:07 PM UTC, comment #3: 

Hi Stanislav,

Thanks alot for the pointer! I've updated gnustep-base to use the attribute for its root classes (when compiling with clang, that is).

Cheers,

Niels

Niels Grewe <thebeing>
Group Member
Wed 15 Aug 2012 06:52:01 PM UTC, comment #2: 

It seems that the new clang considers definition of a new root class an advanced feature by default, since base classes now should have _attribute_((objc_root_class)) before @interface.

See: https://github.com/chapuni/clang/commit/b2f6820773aabff3c5c9e0dbb1cbbbda0d80c41f (http://llvm.org/viewvc/llvm-project?view=rev&revision=154187)

And somehow the objc-root-class warning option gets turned on.

Stanislav Yaglo <stam>
Wed 15 Aug 2012 02:46:47 PM UTC, comment #1: 

Please note that clang doesn't strictly emit an error here, but a warning which is then escalated using -Werror, so gnustep-make is not generating invalid code here (there are perfectly sensible reasons for implementing root classes, after all). But there seems to be no valid reason why the framework dummy-classes should be root-classes, so I went ahead applied your patch.

Niels Grewe <thebeing>
Group Member
Thu 26 Jul 2012 08:17:55 PM UTC, original submission:  

Hi, when building an Etoile framework I stumbled upon a compiler error with the new clang (version 3.2 (trunk 160797)). It doesn't like @interface without a base class.

The patch fixes the issue.

Errors look like this:

derived_src/NSFramework_LanguageKit.m:2:12: error: class 'NSFramework_LanguageKit' defined without specifying a base class
      [-Werror,-Wobjc-root-class]
@interface NSFramework_LanguageKit
           ^
derived_src/NSFramework_LanguageKit.m:2:35: note: add a super class to fix this problem
@interface NSFramework_LanguageKit
                                  ^
                                   : NSObject
1 error generated.

Stanislav Yaglo <stam>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #26266:  framework.make.patch added by stam (569B - application/octet-stream - Patch for framework.make)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by FredKiefer (Updated the item)
  • -email is unavailable- added by thebeing (Posted a comment)
  • -email is unavailable- added by stam (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-12-20 FredKiefer Assigned toNone thebeing
        Open/ClosedOpen Closed
    2012-08-15 thebeing StatusNone Ready For Test
    2012-07-26 stam Attached File- Added framework.make.patch, #26266

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code