问题标签 [llvm-3.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
255 浏览

llvm - 链接 LLVM 时出错

每当我使用 LLVM 3.0 创建两个单独的库并将它们链接在一起时。我总是在退出时得到以下堆栈跟踪。

我正在从核心组件和目标组件创建一个共享库。

我试过打电话:

关于如何进行的任何想法?

0 投票
2 回答
3400 浏览

dwarf - DW_AT_location的用途和意义

我想知道使用属性 DW_AT_location 进行调试。它是 dwarf 为调试指定的属性之一,但无法真正理解它究竟代表什么。以及当我们编译代码时应该何时发出这个属性。

0 投票
1 回答
15222 浏览

xcode - 尝试构建 XCode 项目以进行发布时出现 Typedef 重新定义错误

我可以在 Xcode(4.2) 中构建我的项目以进行毫无问题的调试,但是当我想构建它以进行发布(构建用于归档)时,我收到错误:“Typedef 重新定义不同类型(无符号 int 与无符号长)”。

有问题的代码是:

您可以在以下位置查看整个文件: http ://read.pudn.com/downloads166/sourcecode/zip/758136/C/Types.h__.htm

先前的定义位于 CoreServices 框架的 MacTypes.h 中。

我对调试和发布有相同的预处理器宏,并且我使用的是 Apple 的 LLVM 编译器 3.0。当我尝试构建项目进行分析时,也会发生同样的错误。

知道为什么会这样吗?

0 投票
5 回答
13183 浏览

c++ - xcode - “尝试使用已删除的功能” - 这是什么意思?

我正在 Xcode 4.2 中编写一个 C++ 库

我的一个类无法编译并出现此错误:“尝试使用已删除的函数”。

没有具体说明它在谈论什么功能。我不想在这里发布课程代码,但是有人知道这个错误是什么意思吗?在 Google 上找不到它... :(

谢谢一堆

罗伊

0 投票
5 回答
3309 浏览

ios - 在 C 中默认初始化的原始类型是什么?

我刚刚让 Apple 的 C/C++ 编译器将浮点数初始化为非零值(大约“-0.1”)。

这是一个很大的惊喜 - 只是偶尔发生(但 100% 可重复,如果您事先运行相同的函数调用/参数)。追踪(使用断言)花了很长时间。

我认为浮点数是零初始化的。谷歌搜索表明我在考虑 C++ (当然,这对这些东西更精确 - cf SO: What is primitive types default-initialized to in C++?)。

但也许 Apple 的借口是他们的编译器在 C 模式下运行……那么:C 呢?应该发生什么,以及(更重要的是)什么是典型的?

(当然,我应该手动初始化它——我通常会这样做——但在这种情况下我失败了。不过我没想到它会爆炸!)

(事实证明,谷歌在讨论这个问题时比没用更糟糕——他们当前的搜索拒绝在没有“C++”的情况下显示“C”。一直认为我太愚蠢了,甚至在高级模式下运行时也忽略了我的输入)


这是它发生的实际源示例。起初我认为 MAX 和 ABS 的定义可能存在问题(也许 MAX(ABS,ABS) 并不总是像你期望的那样?)......但是用断言和调试器挖掘,我最终发现它是缺失的初始化 - 浮点数偶尔会被初始化为非零值):

0 投票
0 回答
957 浏览

cmake - Windows 上 CMake 的基于 LLVM 的项目库依赖项

之前已经在这里问过这个问题,但我找不到适合我的解决方案。 LLVM 项目的示例 CMakeLists.txt 文件- 这是最初的问题。

但是,在使用 LLVM 制作项目时,我遇到了几个问题。

平台:Windows 7 编译器:MingW

1)首先,我使用的是 llvm 的 svn 版本,目前是 3.1。目前,llvm 3.0 也不存在 MingW 的二进制文件,所以我决定使用最新的本身并使用 mingw 构建它。因此,尽管构建工作正常,但我似乎无法在 bin 文件夹中找到 llvm-config perl 脚本。我尝试搜索整个目录,但我只能找到一个 llvm-config 文件夹和一个依赖文件。

2) 我尝试为 Visual Studio 2010 构建 llvm,但它不适用于 cmake,所以我不得不使用 MingW。

3)现在,这是我将库添加到 CMake 的顺序 - LLVMXCoreInfo

LLVMMipsAsmPrinter LLVMMipsCodeGen LLVMMipsInfo LLVMMBlazeAsmPrinter LLVMMBlazeCodeGen LLVMMBlazeInfo LLVMLinker LLVMipo LLVMInterpreter LLVMInstrumentation LLVMJIT LLVMExecutionEngine

LLVMMC LLVMBitWriter LLVMX86Disassembler LLVMX86AsmParser LLVMX86AsmPrinter LLVMX86CodeGen LLVMX86Info LLVMAsmParser LLVMARMAsmParser LLVMMCParser LLVMARMAsmPrinter LLVMARMCodeGen LLVMARMInfo LLVMArchive LLVMBitReader

LLVMSelectionDAG

LLVMAsmPrinter LLVMCodeGen LLVMScalarOpts LLVMInstCombine LLVMTransformUtils LLVMipa LLVMAnalysis LLVMTarget LLVMMC LLVMCore

LLVM 支持

imagehlp psapi m

4)但是,添加 InitializeNativeTarget(),开始给我链接错误,我认为这是因为依赖关系不正确。

5)我想使用 llvm_map_components_to_libraries(REQ_LLVM_LIBRARIES jit native),因此我将它添加到我的 CMakeLists.txt INCLUDE(cmake/LLVM-Config.cmake)

但是,这不起作用。cmake/LLVM-Config.cmake:141 处的 CMake 错误(消息):在 llvm 库列表中找不到库“jit”。

现在,这个问题真的太长了,但我基本上想问在 CMake 中最好的方法是什么。有人可以发布整个事情(对于Windows)。另外,有没有办法为 VS 2010 构建它。我尝试了 CLang 网站上的说明,但这些说明在 CMake 中给了我这个错误。

“字符串子命令 REGEX,模式 MATCH 至少需要 5 个参数来命令。”

我真的需要一些帮助来弄清楚如何让依赖项在 llvm 中工作并使用 VS 构建它。我真的很感激一些帮助。

0 投票
1 回答
1181 浏览

llvm - LLVM 3.0 中是否有结构类型同构检查?

在 LLVM-3.0 中,命名结构始终是唯一的,并且与其他结构相同的结构的指针相等不起作用。从他们关于 LLVM-3.0 types 的博客条目中,亮点是我的:

已识别的结构就是我们所说的那种:它们可以有一个名称,并且可以在创建类型之后指定它们的主体。识别的结构与其他结构类型不唯一,这就是为什么它们是用 StructType::create(...) 生成的。因为标识的类型可能是递归的,所以 asmprinter 总是按它们的名称打印它们(如果标识的结构没有名称,则打印类似 %42 的数字)。

这通过类型指针检查打破了类型相等检查。例如,haskell 包llvm依赖于 llvm 类型指针相等,用于编译时类型检查和类型转换。

有什么方法可以检查两个结构是否同构(相同的结构)?最好在 llvm-c api 中?

0 投票
6 回答
10726 浏览

iphone - Apple LLVM 编译器 3.1 错误 - iOS 5;Xcode 4.3

我已经收到这个错误很长时间了,我不知道该怎么办。

为了使问题简短,我已将错误写入 .rtf 文件并将其放入 CloudApp。这是链接:http ://cl.ly/0T3n1Q123u352T372t0m

我认为这与“CLAPIDeserializer.m”有关。

我将不胜感激。谢谢你。

错误:

CompileC /Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug-iphoneos/Test.build/Objects-normal/armv7/CLAPIDeserializer.o "Cloud/API Parsing/CLAPIDeserializer .m" 正常 armv7 目标-c com.apple.compilers.llvm.clang.1_0.compiler cd "/Users/juniorpond/Documents/Dropbox/Triple J Studios/Applications/Applications/CloudSend/Test/Test" setenv LANG en_US。 US-ASCII setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/ bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault。xctoolchain/usr/bin/clang -x objective-c -arch armv7 -fmessage-length=0 -std=gnu99 -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes - Wreturn-type -Wno-implicit-atomic-properties -Wformat -Wno-missing-braces -W括号 -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value - Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector - Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -DDEBUG=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1。 sdk -Wprotocol -Wdeprecated-declarations -g -Wno-conversion -Wno-sign-conversion -mthumb "-DIBOutlet=-DIBOutlet=-DIBOutlet=-DIBOutlet=-DIBOutlet=-DIBOutlet=-DIBOutlet=app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -Wprotocol -Wdeprecated-declarations -g -Wno-conversion -Wno-sign-conversion -mthumb "-DIBOutlet=app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk -Wprotocol -Wdeprecated-declarations -g -Wno-conversion -Wno-sign-conversion -mthumb "-DIBOutlet=属性((iboutlet))" "-DIBOutletCollection(ClassName)=属性((iboutletcollection(ClassName)))" "-DIBAction=void)属性((ibaction)" -miphoneos-version-min=5.1 -iquote /Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug-iphoneos/Test.build/Test-生成文件.hmap -I/Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug-iphoneos/Test.build/Test-own-target-headers.hmap - I/Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug-iphoneos/Test.build/Test-all-target-headers.hmap -iquote /Users/juniorpond/库/开发人员/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug-iphoneos/Test.build/Test-project-headers。hmap -I/Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Products/Debug-iphoneos/include -I/Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/中间体/Test.build/Debug-iphoneos/Test.build/DerivedSources/armv7 -I/Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug-iphoneos/Test。 build/DerivedSources -F/Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Products/Debug-iphoneos -include /Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/中间体/PrecompiledHeaders/Test-Prefix-clsydhfesjzmtrbgszvgmeofhzfq/Test-Prefix。pch -MMD -MT 依赖项-MF /Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug-iphoneos/Test.build/Objects-normal/armv7/CLAPIDeserializer.d --serialize-diagnostics /Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug-iphoneos/Test.build/Objects-normal/armv7/CLAPIDeserializer.dia -c " /Users/juniorpond/Documents/Dropbox/Triple J Studios/Applications/Applications/CloudSend/Test/Test/Cloud/API Parsing/CLAPIDeserializer.m" -o /Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde /Build/Intermediates/Test.build/Debug-iphoneos/Test.build/Objects-normal/armv7/CLAPIDeserializer.obuild/Debug-iphoneos/Test.build/Objects-normal/armv7/CLAPIDeserializer.d --serialize-diagnostics /Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug -iphoneos/Test.build/Objects-normal/armv7/CLAPIDeserializer.dia -c "/Users/juniorpond/Documents/Dropbox/Triple J Studios/Applications/Applications/CloudSend/Test/Test/Cloud/API Parsing/CLAPIDeserializer.m " -o /Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug-iphoneos/Test.build/Objects-normal/armv7/CLAPIDeserializer.obuild/Debug-iphoneos/Test.build/Objects-normal/armv7/CLAPIDeserializer.d --serialize-diagnostics /Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug -iphoneos/Test.build/Objects-normal/armv7/CLAPIDeserializer.dia -c "/Users/juniorpond/Documents/Dropbox/Triple J Studios/Applications/Applications/CloudSend/Test/Test/Cloud/API Parsing/CLAPIDeserializer.m " -o /Users/juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug-iphoneos/Test.build/Objects-normal/armv7/CLAPIDeserializer.obuild/Objects-normal/armv7/CLAPIDeserializer.dia -c "/Users/juniorpond/Documents/Dropbox/Triple J Studios/Applications/Applications/CloudSend/Test/Test/Cloud/API Parsing/CLAPIDeserializer.m" -o /Users /juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug-iphoneos/Test.build/Objects-normal/armv7/CLAPIDeserializer.obuild/Objects-normal/armv7/CLAPIDeserializer.dia -c "/Users/juniorpond/Documents/Dropbox/Triple J Studios/Applications/Applications/CloudSend/Test/Test/Cloud/API Parsing/CLAPIDeserializer.m" -o /Users /juniorpond/Library/Developer/Xcode/DerivedData/Test-fqacaiejputxwicubwhguzleizde/Build/Intermediates/Test.build/Debug-iphoneos/Test.build/Objects-normal/armv7/CLAPIDeserializer.o

clang:错误:无法执行命令:posix_spawn failed:资源暂时不可用 clang:错误:clang 前端命令由于信号 1 失败(使用 -v 查看调用) clang:注意:诊断消息:请向 http:提交错误报告: //developer.apple.com/bugreporter/并包含命令行参数和所有诊断信息。clang:错误:无法执行命令:posix_spawn 失败:资源暂时不可用 clang:注意:诊断消息:生成预处理源时出错。命令 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang 失败,退出代码为 255

0 投票
0 回答
561 浏览

ios - 如何使用 Apple LLVM Compiler 3.0 收集物理 iPhone 上的代码覆盖率?

最新的 XCode 的 Apple LLVM 编译器 3.0 是否支持从物理 iPhone 机器收集代码覆盖率数据?如果是,如何设置?

下面给出了 gcc 编译器的解决方案。但我想知道这对于 LLVM 编译器 3.0 是否可行。因为对于我们的项目,当从llvm编译器切换到LLVM gcc时,我们遇到了一些编译错误,所以我们想坚持使用苹果的llvm编译器。

https://stackoverflow.com/questions/5101014/code-coverage-not-showing-results-using-xcode-gcov/5140459#5140459

我找到了解决方案。 http://www.gerardcondon.com/blog/2012/02/21/code-coverage-updates-for-xcode-4-dot-3/

我现在可以从设备获取覆盖数据。但是在解析 gcdata 时遇到了另一个问题。采集到的gcdata标记为4.2版本,而Apple Compiler 3.0生成的gcno文件为4.4。当使用调用 gcov(默认为 4.2.1)的 lcov 生成 cov 信息文件时,它无法解析 gcdata。我尝试安装新版本的 gcov(gcc4.4.7),但仍然失败。我仍在对此进行一些调查。希望我不需要编写自己的lcov。:-)

谢谢。

0 投票
1 回答
3685 浏览

objective-c - 为什么需要 -ObjC 链接器标志来链接静态库中的类别?(LLVM)

关于 Apple 的技术问答:http: //developer.apple.com/library/mac/#qa/qa1490/_index.html

我认为编译器可以在编译时标记对类别中定义的方法的调用(它知道它们是在类别中定义的,而不是在主类中,因为原型在一个@interface Class (Category)部分中) - 所以它可以在目标文件中构建一个表“外部类别方法”。然后,链接器在进行正常链接之后,应该能够连接/合并和处理来自所有对象的“外部类别方法”表,并在所有链接的框架/库/对象的匹配类类别中查找匹配符号,然后它可以拉入尚未“进入”目标的那些。

一定有什么我错过了,但它是什么?为什么这是不可能的?