Hi all!

I've had some spare time lately and I spent some of it trying to compile 
Etoile. I compiled everything from trunk starting with LLVM and clang to 
GNUstep. This is the errors I get while compiling Etoile:

Build Project: EtoileFoundation

Making all for framework EtoileFoundation...
 Creating obj/EtoileFoundation.obj/Source/...
 Compiling file Source/ETCArray.c ...
 Compiling file Source/NSFileManager+TempFile.m ...
 Compiling file Source/NSFileHandle+Socket.m ...
 Compiling file Source/ETByteSizeFormatter.m ...
 Compiling file Source/ETClassMirror.m ...
 Compiling file Source/ETCollection.m ...
Source/ETCollection.m:224:1: error: category is implementing a method which 
will also be implemented
      by its primary class [-Werror,-Wobjc-protocol-method-implementation]
- (NSString *) description
^
/Local/Library/Headers/Foundation/NSArray.h:109:1: note: method declared here   
                    
- (NSString*) description;
^
Source/ETCollection.m:277:1: error: category is implementing a method which 
will also be implemented
      by its primary class [-Werror,-Wobjc-protocol-method-implementation]
- (NSString *) description
^
/Local/Library/Headers/Foundation/NSDictionary.h:56:1: note: method declared 
here                   
- (NSString*) description;
^
2 errors generated.                                                             
                    
make[4]: *** [obj/EtoileFoundation.obj/Source/ETCollection.m.o] Error 1
make[3]: *** [internal-framework-run-compile-submake] Error 2
make[2]: *** [EtoileFoundation.all.framework.variables] Error 2
make[1]: *** [internal-all] Error 2
make: *** [internal-all] Error 2

I really wanted to compile Etoile so I thought to add:

#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"

every time I got the error. That seemed to work but I don't actually know if 
it's correct. So let me know.

After that I got other errors while compiling LanguageKitCodeGen:

Build Project: LanguageKitCodeGen

Making all for framework LanguageKitCodeGen...
 Compiling file CGObjCGNU.cpp ...
In file included from CGObjCGNU.cpp:23:
/home/niels/Documents/Projects/DE/Etoile/Languages/LanguageKit/CodeGen/LLVMCompat.h:21:12:
 error: 
      no matching function for call to 'Create'
    return llvm::PHINode::Create(Ty, NumReservedValues, NameStr, InsertBefore);
           ^~~~~~~~~~~~~~~~~~~~~
/usr/local/include/llvm/Instructions.h:1877:19: note: candidate function not 
viable: 1st argument   
      ('const llvm::Type *') would lose const qualifier
  static PHINode *Create(Type *Ty, unsigned NumReservedValues,
                  ^
/usr/local/include/llvm/Instructions.h:1882:19: note: candidate function not 
viable: 1st argument   
      ('const llvm::Type *') would lose const qualifier
  static PHINode *Create(Type *Ty, unsigned NumReservedValues, 
                  ^
In file included from CGObjCGNU.cpp:23:                                         
                    
/home/niels/Documents/Projects/DE/Etoile/Languages/LanguageKit/CodeGen/LLVMCompat.h:36:28:
 error: 
      cannot initialize a parameter of type 'llvm::Type *' with an lvalue of 
type
      'const llvm::Type *'
        return Builder->CreatePHI(Ty, NumReservedValues, NameStr);
                                  ^~
/usr/local/include/llvm/Support/IRBuilder.h:1114:28: note: passing argument to 
parameter 'Ty' here  
  PHINode *CreatePHI(Type *Ty, unsigned NumReservedValues,
                           ^
CGObjCGNU.cpp:247:16: error: no matching function for call to 'get'             
                    
        SelStructTy = GetStructType(
                      ^~~~~~~~~~~~~~
/home/niels/Documents/Projects/DE/Etoile/Languages/LanguageKit/CodeGen/LLVMCompat.h:55:37:
 note: expanded from:
#define GetStructType(context, ...) StructType::get(__VA_ARGS__)
                                    ^~~~~~~~~~~~~~~
/usr/local/include/llvm/DerivedTypes.h:211:22: note: candidate function not 
viable: no known        
      conversion from 'const llvm::Type *' to 'llvm::LLVMContext &' for 1st 
argument;
  static StructType *get(LLVMContext &Context, ArrayRef<Type*> Elements,
                     ^
/usr/local/include/llvm/DerivedTypes.h:222:22: note: candidate function not 
viable: 1st argument    
      ('const llvm::Type *') would lose const qualifier
  static StructType *get(Type *elt1, ...) END_WITH_NULL;
                     ^
/usr/local/include/llvm/DerivedTypes.h:216:22: note: candidate function not 
viable: requires at most
      2 arguments, but 3 were provided
  static StructType *get(LLVMContext &Context, bool isPacked = false);
                     ^
CGObjCGNU.cpp:252:44: error: cannot initialize a parameter of type 'llvm::Type 
*' with an lvalue of 
      type 'const llvm::StructType *'
        SelectorTy = llvm::PointerType::getUnqual(SelStructTy);
                                                  ^~~~~~~~~~~
/usr/local/include/llvm/DerivedTypes.h:418:39: note: passing argument to 
parameter 'ElementType'    
      here
  static PointerType *getUnqual(Type *ElementType) {
                                      ^
CGObjCGNU.cpp:253:44: error: cannot initialize a parameter of type 'llvm::Type 
*' with an lvalue of 
      type 'const llvm::Type *'
        PtrToIntTy = llvm::PointerType::getUnqual(IntTy);
                                                  ^~~~~
/usr/local/include/llvm/DerivedTypes.h:418:39: note: passing argument to 
parameter 'ElementType'    
      here
  static PointerType *getUnqual(Type *ElementType) {
                                      ^
CGObjCGNU.cpp:262:10: error: no matching function for call to 'get'             
                    
        IMPTy = llvm::FunctionType::get(IdTy, IMPArgs, true);
                ^~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/llvm/DerivedTypes.h:105:24: note: candidate function not 
viable: 1st argument    
      ('const llvm::Type *') would lose const qualifier
  static FunctionType *get(Type *Result,
                       ^
/usr/local/include/llvm/DerivedTypes.h:110:24: note: candidate function not 
viable: requires 2      
      arguments, but 3 were provided
  static FunctionType *get(Type *Result, bool isVarArg);
                       ^
CGObjCGNU.cpp:272:13: error: no matching member function for call to 
'getOrInsertFunction'          
                TheModule.getOrInsertFunction("objc_lookup_class", IdTy, 
PtrToInt8Ty,
                ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/local/include/llvm/Module.h:292:13: note: candidate function not viable: 
2nd argument          
      ('const llvm::Type *') would lose const qualifier
  Constant *getOrInsertFunction(StringRef Name, Type *RetTy, ...)
            ^
/usr/local/include/llvm/Module.h:287:13: note: candidate function not viable: 
no known conversion   
      from 'const llvm::Type *' to 'llvm::AttrListPtr' for 2nd argument;
  Constant *getOrInsertFunction(StringRef Name,
            ^
/usr/local/include/llvm/Module.h:275:13: note: candidate function not viable: 
requires 3 arguments, 
      but 4 were provided
  Constant *getOrInsertFunction(StringRef Name, FunctionType *T,
            ^
/usr/local/include/llvm/Module.h:278:13: note: candidate function not viable: 
requires 2 arguments, 
      but 4 were provided
  Constant *getOrInsertFunction(StringRef Name, FunctionType *T);
            ^
CGObjCGNU.cpp:295:34: error: cannot initialize a parameter of type 'llvm::Type 
*' with an lvalue of 
      type 'const llvm::Type *'
                                llvm::PointerType::getUnqual(SelectorTy),
                                                             ^~~~~~~~~~
/usr/local/include/llvm/DerivedTypes.h:418:39: note: passing argument to 
parameter 'ElementType'    
      here
  static PointerType *getUnqual(Type *ElementType) {
                                      ^
CGObjCGNU.cpp:315:33: error: cannot initialize a parameter of type 'llvm::Type 
*' with an lvalue of 
      type 'const llvm::Type *'
                        llvm::PointerType::getUnqual(SelectorTy),
                                                     ^~~~~~~~~~
/usr/local/include/llvm/DerivedTypes.h:418:39: note: passing argument to 
parameter 'ElementType'    
      here
  static PointerType *getUnqual(Type *ElementType) {
                                      ^
CGObjCGNU.cpp:332:14: error: no matching member function for call to 
'getOrInsertFunction'          
                        TheModule.getOrInsertFunction("sel_register_name", 
                        ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/local/include/llvm/Module.h:292:13: note: candidate function not viable: 
2nd argument          
      ('const llvm::Type *') would lose const qualifier
  Constant *getOrInsertFunction(StringRef Name, Type *RetTy, ...)
            ^
/usr/local/include/llvm/Module.h:287:13: note: candidate function not viable: 
no known conversion   
      from 'const llvm::Type *' to 'llvm::AttrListPtr' for 2nd argument;
  Constant *getOrInsertFunction(StringRef Name,
            ^
/usr/local/include/llvm/Module.h:275:13: note: candidate function not viable: 
requires 3 arguments, 
      but 4 were provided
  Constant *getOrInsertFunction(StringRef Name, FunctionType *T,
            ^
/usr/local/include/llvm/Module.h:278:13: note: candidate function not viable: 
requires 2 arguments, 
      but 4 were provided
  Constant *getOrInsertFunction(StringRef Name, FunctionType *T);
            ^
CGObjCGNU.cpp:341:14: error: no matching member function for call to 
'getOrInsertFunction'          
                        TheModule.getOrInsertFunction("sel_register_typed_name",
                        ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/local/include/llvm/Module.h:292:13: note: candidate function not viable: 
2nd argument          
      ('const llvm::Type *') would lose const qualifier
  Constant *getOrInsertFunction(StringRef Name, Type *RetTy, ...)
            ^
/usr/local/include/llvm/Module.h:287:13: note: candidate function not viable: 
no known conversion   
      from 'const llvm::Type *' to 'llvm::AttrListPtr' for 2nd argument;
  Constant *getOrInsertFunction(StringRef Name,
            ^
/usr/local/include/llvm/Module.h:275:13: note: candidate function not viable: 
requires 3 arguments, 
      but 5 were provided
  Constant *getOrInsertFunction(StringRef Name, FunctionType *T,
            ^
/usr/local/include/llvm/Module.h:278:13: note: candidate function not viable: 
requires 2 arguments, 
      but 5 were provided
  Constant *getOrInsertFunction(StringRef Name, FunctionType *T);
            ^
CGObjCGNU.cpp:365:22: error: no matching function for call to 'get'             
                    
        llvm::Constant *C = llvm::ConstantStruct::get(Ty, V);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/llvm/Constants.h:406:20: note: candidate function not 
viable: 1st argument       
      ('const llvm::StructType *') would lose const qualifier
  static Constant *get(StructType *T, ArrayRef<Constant*> V);
                   ^
/usr/local/include/llvm/Constants.h:407:20: note: candidate function not 
viable: 1st argument       
      ('const llvm::StructType *') would lose const qualifier
  static Constant *get(StructType *T, ...) END_WITH_NULL;
                   ^
CGObjCGNU.cpp:366:13: error: no matching constructor for initialization of 
'llvm::GlobalVariable'   
        return new llvm::GlobalVariable(TheModule, Ty, false,
                   ^                    ~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/llvm/GlobalVariable.h:58:3: note: candidate constructor not 
viable: no known     
      conversion from 'const llvm::StructType *' to 'llvm::Type *' for 2nd 
argument;
  GlobalVariable(Module &M, Type *Ty, bool isConstant,
  ^
/usr/local/include/llvm/GlobalVariable.h:53:3: note: candidate constructor not 
viable: no known     
      conversion from 'llvm::Module' to 'llvm::Type *' for 1st argument;
  GlobalVariable(Type *Ty, bool isConstant, LinkageTypes Linkage,
  ^
/usr/local/include/llvm/GlobalVariable.h:39:3: note: candidate constructor not 
viable: requires 1   
      argument, but 6 were provided
  GlobalVariable(const GlobalVariable &);     // Do not implement
  ^
CGObjCGNU.cpp:375:22: error: no matching function for call to 'get'             
                    
        llvm::Constant *C = llvm::ConstantArray::get(Ty, V);
                            ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/llvm/Constants.h:335:20: note: candidate function not 
viable: 1st argument       
      ('const llvm::ArrayType *') would lose const qualifier
  static Constant *get(ArrayType *T, ArrayRef<Constant*> V);
                   ^
/usr/local/include/llvm/Constants.h:343:20: note: candidate function not 
viable: no known conversion
      from 'const llvm::ArrayType *' to 'llvm::LLVMContext &' for 1st argument;
  static Constant *get(LLVMContext &Context, StringRef Initializer,
                   ^
CGObjCGNU.cpp:376:13: error: no matching constructor for initialization of 
'llvm::GlobalVariable'   
        return new llvm::GlobalVariable(TheModule, Ty, false,
                   ^                    ~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/llvm/GlobalVariable.h:58:3: note: candidate constructor not 
viable: no known     
      conversion from 'const llvm::ArrayType *' to 'llvm::Type *' for 2nd 
argument;
  GlobalVariable(Module &M, Type *Ty, bool isConstant,
  ^
/usr/local/include/llvm/GlobalVariable.h:53:3: note: candidate constructor not 
viable: no known     
      conversion from 'llvm::Module' to 'llvm::Type *' for 1st argument;
  GlobalVariable(Type *Ty, bool isConstant, LinkageTypes Linkage,
  ^
/usr/local/include/llvm/GlobalVariable.h:39:3: note: candidate constructor not 
viable: requires 1   
      argument, but 6 were provided
  GlobalVariable(const GlobalVariable &);     // Do not implement
  ^
CGObjCGNU.cpp:403:18: error: no matching function for call to 'get'             
                    
        Ivars.push_back(ConstantInt::get(IntTy, length));
                        ^~~~~~~~~~~~~~~~
/usr/local/include/llvm/Constants.h:65:20: note: candidate function not viable: 
1st argument        
      ('const llvm::Type *') would lose const qualifier
  static Constant *get(Type *Ty, uint64_t V, bool isSigned = false);
                   ^
/usr/local/include/llvm/Constants.h:73:23: note: candidate function not viable: 
no known conversion 
      from 'const llvm::Type *' to 'llvm::IntegerType *' for 1st argument;
  static ConstantInt *get(IntegerType *Ty, uint64_t V,
                      ^
/usr/local/include/llvm/Constants.h:86:23: note: candidate function not viable: 
no known conversion 
      from 'const llvm::Type *' to 'llvm::LLVMContext &' for 1st argument;
  static ConstantInt *get(LLVMContext &Context, const APInt &V);
                      ^
/usr/local/include/llvm/Constants.h:95:20: note: candidate function not viable: 
1st argument        
      ('const llvm::Type *') would lose const qualifier
  static Constant *get(Type* Ty, const APInt& V);
                   ^
/usr/local/include/llvm/Constants.h:90:23: note: candidate function not viable: 
requires 3          
      arguments, but 2 were provided
  static ConstantInt *get(IntegerType *Ty, StringRef Str,
                      ^
CGObjCGNU.cpp:405:3: error: no matching function for call to 'get'              
                    
                GetStructType(Context, PtrToInt8Ty, PtrToInt8Ty, IntTy,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/niels/Documents/Projects/DE/Etoile/Languages/LanguageKit/CodeGen/LLVMCompat.h:55:37:
 note: expanded from:
#define GetStructType(context, ...) StructType::get(__VA_ARGS__)
                                    ^~~~~~~~~~~~~~~
/usr/local/include/llvm/DerivedTypes.h:222:22: note: candidate function not 
viable: 1st argument    
      ('const llvm::Type *') would lose const qualifier
  static StructType *get(Type *elt1, ...) END_WITH_NULL;
                     ^
/usr/local/include/llvm/DerivedTypes.h:211:22: note: candidate function not 
viable: requires at most
      3 arguments, but 4 were provided
  static StructType *get(LLVMContext &Context, ArrayRef<Type*> Elements,
                     ^
/usr/local/include/llvm/DerivedTypes.h:216:22: note: candidate function not 
viable: requires at most
      2 arguments, but 4 were provided
  static StructType *get(LLVMContext &Context, bool isPacked = false);
                     ^
CGObjCGNU.cpp:408:43: error: cannot initialize a parameter of type 'llvm::Type 
*' with an lvalue of 
      type 'const llvm::Type *'
                llvm::ConstantExpr::getBitCast(ObjCStr, PtrToInt8Ty));
                                                        ^~~~~~~~~~~
/usr/local/include/llvm/Constants.h:662:51: note: passing argument to parameter 
'Ty' here           
  static Constant *getBitCast (Constant *C, Type *Ty);
                                                  ^
CGObjCGNU.cpp:427:31: error: cannot initialize a parameter of type 'llvm::Type 
*' with an lvalue of 
      type 'const llvm::Type *'
                sret = Builder.CreateAlloca(ReturnTy);
                                            ^~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]             
                    
20 errors generated.
make[5]: *** [obj/LanguageKitCodeGen.obj/CGObjCGNU.cpp.o] Error 1
make[4]: *** [internal-framework-run-compile-submake] Error 2
make[3]: *** [LanguageKitCodeGen.all.framework.variables] Error 2
make[2]: *** [internal-all] Error 2
make[1]: *** [internal-all] Error 2
make: *** [internal-all] Error 2

But I don't know how to fix them.

That's it !

Hope to hear from you soon guys :)

Gianluca Audone
_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss

Répondre à