0

我正在尝试使用Alchemy编译ICU v4.8.1 ,但遇到了 LLVM 问题:

Assertion failed: (LHSCst != RHSCst && "Compares not folded above?"), function visitAnd, file /Volumes/data/dev/FlaCC/llvm-2.1/lib/Transforms/Scalar/InstructionCombining.cpp, line 3465.
0   llvm-ld                             0x00264aee _ZNSt8_Rb_treeIN4llvm3sys4PathES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE13insert_uniqueERKS2_ + 6078
1   llvm-ld                             0x00265092 _ZNSt8_Rb_treeIN4llvm3sys4PathES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE13insert_uniqueERKS2_ + 7522
2   libSystem.B.dylib                   0x970a805b _sigtramp + 43
3   ???                                 0xffffffff 0x0 + 4294967295
4   libSystem.B.dylib                   0x971355a5 raise + 26
5   libSystem.B.dylib                   0x9714b6e4 abort + 93
6   libSystem.B.dylib                   0x9713820f __assert_rtn + 252
7   llvm-ld                             0x000a0816 _ZN4llvm15callDefaultCtorIN91_GLOBAL__N__Volumes_data_dev_FlaCC_llvm_2.1_lib_Transforms_Scalar_GVN.cpp_00000000_4964B02A3GVNEEEPNS_4PassEv + 252214
8   llvm-ld                             0x000cf25e _ZN4llvm11InstVisitorIN108_GLOBAL__N__Volumes_data_dev_FlaCC_llvm_2.1_lib_Transforms_Scalar_InstructionCombining.cpp_00000000_6BB61AFF12InstCombinerEPNS_11InstructionEE5visitERS3_ + 766
9   llvm-ld                             0x000c5895 _ZN4llvm15callDefaultCtorIN91_GLOBAL__N__Volumes_data_dev_FlaCC_llvm_2.1_lib_Transforms_Scalar_GVN.cpp_00000000_4964B02A3GVNEEEPNS_4PassEv + 403893
10  llvm-ld                             0x000c631c _ZN4llvm15callDefaultCtorIN91_GLOBAL__N__Volumes_data_dev_FlaCC_llvm_2.1_lib_Transforms_Scalar_GVN.cpp_00000000_4964B02A3GVNEEEPNS_4PassEv + 406588
11  llvm-ld                             0x002004a6 _ZN4llvm12FunctionPassD1Ev + 20998
12  llvm-ld                             0x002008fa _ZN4llvm12FunctionPassD1Ev + 22106
13  llvm-ld                             0x00200e51 _ZN4llvm12FunctionPassD1Ev + 23473
14  llvm-ld                             0x0020125a _ZN4llvm12FunctionPassD1Ev + 24506
15  llvm-ld                             0x002012da _ZN4llvm12FunctionPassD1Ev + 24634
16  llvm-ld                             0x00002f10 0x0 + 12048
17  llvm-ld                             0x000091e2 _ZN4llvm2cl3optINS_12PluginLoaderELb0ENS0_6parserISsEEE16handleOccurrenceEjPKcRKSs + 11986
18  llvm-ld                             0x00002706 0x0 + 9990
make[2]: *** [../../bin/genrb] Error 6
make[1]: *** [all-recursive] Error 2
make: *** [all-recursive] Error 2

什么样的代码会导致链接器出现这个问题?它似乎与铸造有关(“left-hand-side-cast != right-hand-side-cast”)。我不会修改 ICU 代码以使其编译,但我不确定要修改什么。

4

1 回答 1

0

可以是任意数量的东西。可能的原因是错误的 llvm IR 被送入链接器。最好的办法是与 Alchemy 人员交谈,看看他们在做什么,然后让他们进行调试。

于 2011-08-26T22:51:25.373 回答