Switch default to LLVM/Clang 3.4

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Mon Jun 23 12:42:10 UTC 2014


Hi,

On 23.06.2014 01:18, Sylvestre Ledru wrote:
> On 22/06/2014 13:58, Andreas Cadhalpun wrote:
>> So thanks for this heads up, which made me double-check.
>> It would have been just so much nicer, if the version scheme wouldn't
>> suddenly change after more than 10 years (and 5 days after I wrote
>> clamav's configure check)!
> Yeh, we (the LLVM community) decided that it is time to have minor
> releases. As a packager, you can imagine that I am happy about it !

Agreed, it's good to have bugfix releases. It was just unexpected.

> However, yeh, that needs various adjustments...

Comparing with the changes between 3.3 and 3.4 this is really minor.

I've build-tested the other packages as well and haskell-llvm-base, 
lightspark and llvm-py have problems unrelated to the new version 
scheme, while ldc and vim-youcompleteme work fine and gambas3 just needs 
a configure update for the new version scheme.

  * haskell-llvm-base: needs configure update, but still fails
cbits/extra.cpp:626:36:
      error: 'createBlockPlacementPass' was not declared in this scope
          pmp->add( create ## P ## Pass ());                   \
                                         ^

include/passes-inl.h:12:1:
      note: in expansion of macro 'declare_or_define_pass'
      declare_or_define_pass( BlockPlacement )
      ^
include/passes-inl.h: In function 'void 
LLVMAddEdgeProfilerPass(LLVMPassManagerRef)':

cbits/extra.cpp:626:36:
      error: 'createEdgeProfilerPass' was not declared in this scope
          pmp->add( create ## P ## Pass ());                   \
                                         ^

include/passes-inl.h:25:1:
      note: in expansion of macro 'declare_or_define_pass'
      declare_or_define_pass( EdgeProfiler )
      ^
include/passes-inl.h: In function 'void 
LLVMAddNoProfileInfoPass(LLVMPassManagerRef)':

cbits/extra.cpp:626:36:
      error: 'createNoProfileInfoPass' was not declared in this scope
          pmp->add( create ## P ## Pass ());                   \
                                         ^

include/passes-inl.h:41:1:
      note: in expansion of macro 'declare_or_define_pass'
      declare_or_define_pass( NoProfileInfo )
      ^
include/passes-inl.h: In function 'void 
LLVMAddOptimalEdgeProfilerPass(LLVMPassManagerRef)':

cbits/extra.cpp:626:36:
      error: 'createOptimalEdgeProfilerPass' was not declared in this scope
          pmp->add( create ## P ## Pass ());                   \
                                         ^

include/passes-inl.h:42:1:
      note: in expansion of macro 'declare_or_define_pass'
      declare_or_define_pass( OptimalEdgeProfiler )
      ^
include/passes-inl.h: In function 'void 
LLVMAddProfileEstimatorPass(LLVMPassManagerRef)':

cbits/extra.cpp:626:36:
      error: 'createProfileEstimatorPass' was not declared in this scope
          pmp->add( create ## P ## Pass ());                   \
                                         ^

include/passes-inl.h:48:1:
      note: in expansion of macro 'declare_or_define_pass'
      declare_or_define_pass( ProfileEstimator )
      ^
include/passes-inl.h: In function 'void 
LLVMAddProfileLoaderPass(LLVMPassManagerRef)':

cbits/extra.cpp:626:36:
      error: 'createProfileLoaderPass' was not declared in this scope
          pmp->add( create ## P ## Pass ());                   \
                                         ^

include/passes-inl.h:49:1:
      note: in expansion of macro 'declare_or_define_pass'
      declare_or_define_pass( ProfileLoader )
      ^
include/passes-inl.h: In function 'void 
LLVMAddProfileVerifierPass(LLVMPassManagerRef)':

cbits/extra.cpp:626:36:
      error: 'createProfileVerifierPass' was not declared in this scope
          pmp->add( create ## P ## Pass ());                   \
                                         ^


  * lightspark: (I disabled this in clamav, when building with 3.4.)
/tmp/buildd/lightspark-0.7.2/src/scripting/abc.cpp:1465:8: error: 'class 
llvm::TargetOptions' has no member named 'JITExceptionHandling'
    Opts.JITExceptionHandling = true;
         ^



  * llvm-py:
llvmpy/api.cpp: In function 'PyObject* 
llvm_GlobalValue__LinkageTypes__LinkOnceODRAutoHideLinkage(PyObject*, 
PyObject*)':
llvmpy/api.cpp:13975:46: error: 'LinkOnceODRAutoHideLinkage' is not a 
member of 'llvm::GlobalValue'
      PyObject* var_PyObject4 = 
PyInt_FromLong(llvm::GlobalValue::LinkOnceODRAutoHideLinkage);
                                               ^
llvmpy/api.cpp: In function 'PyObject* 
llvm_Target__hasMCCodeEmitter(PyObject*, PyObject*)':
llvmpy/api.cpp:20373:38: error: 'class llvm::Target' has no member named 
'hasMCCodeEmitter'
      bool var_bool = var_llvm_Target->hasMCCodeEmitter();
                                       ^
llvmpy/api.cpp: In function 'PyObject* 
llvm_Target__hasMCObjectStreamer(PyObject*, PyObject*)':
llvmpy/api.cpp:20450:38: error: 'class llvm::Target' has no member named 
'hasMCObjectStreamer'
      bool var_bool = var_llvm_Target->hasMCObjectStreamer();
                                       ^
llvmpy/api.cpp: In function 'PyObject* 
llvm_Target__hasAsmPrinter(PyObject*, PyObject*)':
llvmpy/api.cpp:20916:38: error: 'class llvm::Target' has no member named 
'hasAsmPrinter'
      bool var_bool = var_llvm_Target->hasAsmPrinter();
                                       ^
llvmpy/api.cpp: In function 'PyObject* 
llvm_Target__hasMCDisassembler(PyObject*, PyObject*)':
llvmpy/api.cpp:20980:38: error: 'class llvm::Target' has no member named 
'hasMCDisassembler'
      bool var_bool = var_llvm_Target->hasMCDisassembler();
                                       ^
llvmpy/api.cpp: In function 'PyObject* 
llvm_Target__hasAsmStreamer(PyObject*, PyObject*)':
llvmpy/api.cpp:21010:38: error: 'class llvm::Target' has no member named 
'hasAsmStreamer'
      bool var_bool = var_llvm_Target->hasAsmStreamer();
                                       ^
llvmpy/api.cpp: In function 'PyObject* 
llvm_Target__hasMCInstPrinter(PyObject*, PyObject*)':
llvmpy/api.cpp:21244:38: error: 'class llvm::Target' has no member named 
'hasMCInstPrinter'
      bool var_bool = var_llvm_Target->hasMCInstPrinter();
                                       ^
llvmpy/api.cpp: In function 'PyObject* 
llvm_Target__hasMCAsmParser(PyObject*, PyObject*)':
llvmpy/api.cpp:21274:38: error: 'class llvm::Target' has no member named 
'hasMCAsmParser'
      bool var_bool = var_llvm_Target->hasMCAsmParser();
                                       ^
llvmpy/api.cpp: In function 'PyObject* 
llvm_DIBuilder__createClassType(PyObject*, PyObject*)':
llvmpy/api.cpp:39757:285: error: no matching function for call to 
'llvm::DIBuilder::createClassType(llvm::DIDescriptor&, llvm::StringRef&, 
llvm::DIFile&, unsigned int&, uint64_t&, uint64_t&, uint64_t&, unsigned 
int&, llvm::DIType&, llvm::DIArray&, llvm::MDNode*&, llvm::MDNode*&)'
          llvm::DIType var_llvm_DIType2 = 
var_llvm_DIBuilder->createClassType(var_llvm_DIDescriptor1, 
var_llvm_StringRef, var_llvm_DIFile1, var_unsigned, var_uint64__t, 
var_uint64__t1, var_uint64__t2, var_unsigned1, var_llvm_DIType1, 
var_llvm_DIArray1, var_llvm_MDNode, var_llvm_MDNode2);
 
 
 
                                                                         ^
llvmpy/api.cpp:39757:285: note: candidate is:
In file included from llvmpy/api.cpp:46:0:
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:287:21: note: 
llvm::DICompositeType 
llvm::DIBuilder::createClassType(llvm::DIDescriptor, llvm::StringRef, 
llvm::DIFile, unsigned int, uint64_t, uint64_t, uint64_t, unsigned int, 
llvm::DIType, llvm::DIArray, llvm::DIType, llvm::MDNode*, llvm::StringRef)
      DICompositeType createClassType(DIDescriptor Scope, StringRef Name,
                      ^
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:287:21: note:   no known 
conversion for argument 11 from 'llvm::MDNode*' to 'llvm::DIType'
llvmpy/api.cpp:40024:272: error: no matching function for call to 
'llvm::DIBuilder::createClassType(llvm::DIDescriptor&, llvm::StringRef&, 
llvm::DIFile&, unsigned int&, uint64_t&, uint64_t&, uint64_t&, unsigned 
int&, llvm::DIType&, llvm::DIArray&, llvm::MDNode*&)'
          llvm::DIType var_llvm_DIType8 = 
var_llvm_DIBuilder4->createClassType(var_llvm_DIDescriptor5, 
var_llvm_StringRef2, var_llvm_DIFile5, var_unsigned4, var_uint64__t6, 
var_uint64__t7, var_uint64__t8, var_unsigned5, var_llvm_DIType7, 
var_llvm_DIArray5, var_llvm_MDNode4);
 
 
 
                                                            ^
llvmpy/api.cpp:40024:272: note: candidate is:
In file included from llvmpy/api.cpp:46:0:
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:287:21: note: 
llvm::DICompositeType 
llvm::DIBuilder::createClassType(llvm::DIDescriptor, llvm::StringRef, 
llvm::DIFile, unsigned int, uint64_t, uint64_t, uint64_t, unsigned int, 
llvm::DIType, llvm::DIArray, llvm::DIType, llvm::MDNode*, llvm::StringRef)
      DICompositeType createClassType(DIDescriptor Scope, StringRef Name,
                      ^
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:287:21: note:   no known 
conversion for argument 11 from 'llvm::MDNode*' to 'llvm::DIType'
llvmpy/api.cpp: In function 'PyObject* 
llvm_DIBuilder__createMethod(PyObject*, PyObject*)':
llvmpy/api.cpp:42441:338: error: no matching function for call to 
'llvm::DIBuilder::createMethod(llvm::DIDescriptor&, llvm::StringRef&, 
llvm::StringRef&, llvm::DIFile&, unsigned int&, llvm::DICompositeType&, 
bool&, bool&, unsigned int&, unsigned int&, llvm::MDNode*&, unsigned 
int&, bool&, llvm::Function*&, llvm::MDNode*&)'
          llvm::DISubprogram var_llvm_DISubprogram = 
var_llvm_DIBuilder->createMethod(var_llvm_DIDescriptor1, 
var_llvm_StringRef, var_llvm_StringRef1, var_llvm_DIFile1, var_unsigned, 
var_llvm_DICompositeType1, var_bool, var_bool1, var_unsigned1, 
var_unsigned2, var_llvm_MDNode, var_unsigned3, var_bool2, 
var_llvm_Function, var_llvm_MDNode2);
 
 
 
 
                                                       ^
llvmpy/api.cpp:42441:338: note: candidate is:
In file included from llvmpy/api.cpp:46:0:
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:598:18: note: 
llvm::DISubprogram llvm::DIBuilder::createMethod(llvm::DIDescriptor, 
llvm::StringRef, llvm::StringRef, llvm::DIFile, unsigned int, 
llvm::DICompositeType, bool, bool, unsigned int, unsigned int, 
llvm::DIType, unsigned int, bool, llvm::Function*, llvm::MDNode*)
      DISubprogram createMethod(DIDescriptor Scope, StringRef Name,
                   ^
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:598:18: note:   no known 
conversion for argument 11 from 'llvm::MDNode*' to 'llvm::DIType'
llvmpy/api.cpp:42913:285: error: no matching function for call to 
'llvm::DIBuilder::createMethod(llvm::DIDescriptor&, llvm::StringRef&, 
llvm::StringRef&, llvm::DIFile&, unsigned int&, llvm::DICompositeType&, 
bool&, bool&, unsigned int&, unsigned int&, llvm::MDNode*&)'
          llvm::DISubprogram var_llvm_DISubprogram4 = 
var_llvm_DIBuilder8->createMethod(var_llvm_DIDescriptor9, 
var_llvm_StringRef8, var_llvm_StringRef9, var_llvm_DIFile9, 
var_unsigned10, var_llvm_DICompositeType9, var_bool9, var_bool10, 
var_unsigned11, var_unsigned12, var_llvm_MDNode4);
 
 
 
                                                                         ^
llvmpy/api.cpp:42913:285: note: candidate is:
In file included from llvmpy/api.cpp:46:0:
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:598:18: note: 
llvm::DISubprogram llvm::DIBuilder::createMethod(llvm::DIDescriptor, 
llvm::StringRef, llvm::StringRef, llvm::DIFile, unsigned int, 
llvm::DICompositeType, bool, bool, unsigned int, unsigned int, 
llvm::DIType, unsigned int, bool, llvm::Function*, llvm::MDNode*)
      DISubprogram createMethod(DIDescriptor Scope, StringRef Name,
                   ^
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:598:18: note:   no known 
conversion for argument 11 from 'llvm::MDNode*' to 'llvm::DIType'
llvmpy/api.cpp:43056:308: error: no matching function for call to 
'llvm::DIBuilder::createMethod(llvm::DIDescriptor&, llvm::StringRef&, 
llvm::StringRef&, llvm::DIFile&, unsigned int&, llvm::DICompositeType&, 
bool&, bool&, unsigned int&, unsigned int&, llvm::MDNode*&, unsigned int&)'
          llvm::DISubprogram var_llvm_DISubprogram5 = 
var_llvm_DIBuilder10->createMethod(var_llvm_DIDescriptor11, 
var_llvm_StringRef10, var_llvm_StringRef11, var_llvm_DIFile11, 
var_unsigned13, var_llvm_DICompositeType11, var_bool11, var_bool12, 
var_unsigned14, var_unsigned15, var_llvm_MDNode6, var_unsigned16);
 
 
 
 
                         ^
llvmpy/api.cpp:43056:308: note: candidate is:
In file included from llvmpy/api.cpp:46:0:
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:598:18: note: 
llvm::DISubprogram llvm::DIBuilder::createMethod(llvm::DIDescriptor, 
llvm::StringRef, llvm::StringRef, llvm::DIFile, unsigned int, 
llvm::DICompositeType, bool, bool, unsigned int, unsigned int, 
llvm::DIType, unsigned int, bool, llvm::Function*, llvm::MDNode*)
      DISubprogram createMethod(DIDescriptor Scope, StringRef Name,
                   ^
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:598:18: note:   no known 
conversion for argument 11 from 'llvm::MDNode*' to 'llvm::DIType'
llvmpy/api.cpp:43206:320: error: no matching function for call to 
'llvm::DIBuilder::createMethod(llvm::DIDescriptor&, llvm::StringRef&, 
llvm::StringRef&, llvm::DIFile&, unsigned int&, llvm::DICompositeType&, 
bool&, bool&, unsigned int&, unsigned int&, llvm::MDNode*&, unsigned 
int&, bool&)'
          llvm::DISubprogram var_llvm_DISubprogram6 = 
var_llvm_DIBuilder12->createMethod(var_llvm_DIDescriptor13, 
var_llvm_StringRef12, var_llvm_StringRef13, var_llvm_DIFile13, 
var_unsigned17, var_llvm_DICompositeType13, var_bool13, var_bool14, 
var_unsigned18, var_unsigned19, var_llvm_MDNode8, var_unsigned20, 
var_bool15);
 
 
 
 
                                     ^
llvmpy/api.cpp:43206:320: note: candidate is:
In file included from llvmpy/api.cpp:46:0:
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:598:18: note: 
llvm::DISubprogram llvm::DIBuilder::createMethod(llvm::DIDescriptor, 
llvm::StringRef, llvm::StringRef, llvm::DIFile, unsigned int, 
llvm::DICompositeType, bool, bool, unsigned int, unsigned int, 
llvm::DIType, unsigned int, bool, llvm::Function*, llvm::MDNode*)
      DISubprogram createMethod(DIDescriptor Scope, StringRef Name,
                   ^
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:598:18: note:   no known 
conversion for argument 11 from 'llvm::MDNode*' to 'llvm::DIType'
llvmpy/api.cpp:43373:341: error: no matching function for call to 
'llvm::DIBuilder::createMethod(llvm::DIDescriptor&, llvm::StringRef&, 
llvm::StringRef&, llvm::DIFile&, unsigned int&, llvm::DICompositeType&, 
bool&, bool&, unsigned int&, unsigned int&, llvm::MDNode*&, unsigned 
int&, bool&, llvm::Function*&)'
          llvm::DISubprogram var_llvm_DISubprogram7 = 
var_llvm_DIBuilder14->createMethod(var_llvm_DIDescriptor15, 
var_llvm_StringRef14, var_llvm_StringRef15, var_llvm_DIFile15, 
var_unsigned21, var_llvm_DICompositeType15, var_bool16, var_bool17, 
var_unsigned22, var_unsigned23, var_llvm_MDNode10, var_unsigned24, 
var_bool18, var_llvm_Function2);
 
 
 
 
                                                          ^
llvmpy/api.cpp:43373:341: note: candidate is:
In file included from llvmpy/api.cpp:46:0:
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:598:18: note: 
llvm::DISubprogram llvm::DIBuilder::createMethod(llvm::DIDescriptor, 
llvm::StringRef, llvm::StringRef, llvm::DIFile, unsigned int, 
llvm::DICompositeType, bool, bool, unsigned int, unsigned int, 
llvm::DIType, unsigned int, bool, llvm::Function*, llvm::MDNode*)
      DISubprogram createMethod(DIDescriptor Scope, StringRef Name,
                   ^
/usr/lib/llvm-3.4/include/llvm/DIBuilder.h:598:18: note:   no known 
conversion for argument 11 from 'llvm::MDNode*' to 'llvm::DIType'
llvmpy/api.cpp: In function 'PyObject* 
llvm_ExecutionEngine__RegisterTable(PyObject*, PyObject*)':
llvmpy/api.cpp:45058:31: error: 'class llvm::ExecutionEngine' has no 
member named 'RegisterTable'
      var_llvm_ExecutionEngine->RegisterTable(var_llvm_Function, var_void2);
                                ^
llvmpy/api.cpp: In function 'PyObject* 
llvm_ExecutionEngine__DeregisterTable(PyObject*, PyObject*)':
llvmpy/api.cpp:46322:31: error: 'class llvm::ExecutionEngine' has no 
member named 'DeregisterTable'
      var_llvm_ExecutionEngine->DeregisterTable(var_llvm_Function);
                                ^
llvmpy/api.cpp: In function 'PyObject* 
llvm_ExecutionEngine__DeregisterAllTables(PyObject*, PyObject*)':
llvmpy/api.cpp:46766:31: error: 'class llvm::ExecutionEngine' has no 
member named 'DeregisterAllTables'
      var_llvm_ExecutionEngine->DeregisterAllTables();
                                ^
[...]

Best regards,
Andreas



More information about the pkg-flash-devel mailing list