标签: llvm-gcc

在Mac OS X Lion上缺少llvm-gcc:无法安装mysql-python

我最近从10.6升级到Mac OS X 10.7.

我决定使用Python 2.7.

但是当我尝试安装MySQLdb模块来运行Django时,它失败了:

$ sudo pip install MySQL-python
Downloading/unpacking MySQL-python
  […]
  Running setup.py install for MySQL-python
    building '_mysql' extension
    llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -pipe -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/local/mysql/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _mysql.c -o build/temp.macosx-10.7-intel-2.7/_mysql.o -Os -g -fno-common -fno-strict-aliasing -arch x86_64
    unable to execute llvm-gcc-4.2: No such file or directory
    error: command 'llvm-gcc-4.2' failed with exit status 1
    Complete …
Run Code Online (Sandbox Code Playgroud)

xcode mysql-python llvm-gcc osx-lion

4
推荐指数
1
解决办法
6450
查看次数

将参数或变量指定为__attribute __((unused))是否允许编译器执行任何其他优化?

我对LLVM 4.1特别好奇,但也会对其他编译器的行为感兴趣.

根据GCC文档(LLVM至少部分支持),该unused属性具有以下行为:

This attribute, attached to a variable, means that the variable is meant to be possibly unused. GCC will not produce a warning for this variable. 
Run Code Online (Sandbox Code Playgroud)

但是,如果编译器能够警告您未使用的参数和变量,那么可能它已经知道哪些参数和变量未被使用而无需告诉它(特别是因为该unused属性仅指示该变量可能未被使用).因此,该unused属性是否允许编译器执行任何其他优化,或者其目的只是为了允许更可读的代码?此外,如果该unused属性确实允许编译器执行其他优化,那么如果您实际上最终使用指定为的参数或变量会发生什么unused?LLVM(在XCode中)似乎没有抱怨这种情况,尽管我可能没有在正确的优化级别编译或启用了正确的警告.

gcc llvm llvm-gcc llvm-clang

4
推荐指数
1
解决办法
1706
查看次数

LLVM - 如何将AST转换为IR

我知道AST解析器生成的一个用于在前端生成IR.

我想知道如何解析AST然后转换为IR(prob assembly或bitcode),

AST是一棵树,从AST到IR的转换涉及哪些步骤.

llvm llvm-gcc llvm-clang llvm-ir

4
推荐指数
1
解决办法
2129
查看次数

GCC是否被LLVM取代?

我想知道LLVM凭借其较新的设计是否会在开源世界取代GCC?

LLVM应该具有多种检查代码的技术,因此IDE更容易编程等.但是,GCC在性能方面仍然应该是好的.

gcc llvm llvm-gcc

4
推荐指数
1
解决办法
1642
查看次数

如何在狮子座上安装Cython

我正试图在狮子座上安装cython,但这就是我得到的:

$ export CC=gcc-4.2
$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
$ python setup.py install 
error: command 'gcc-4.2' failed with exit status 255
Run Code Online (Sandbox Code Playgroud)

我不确定llvm-gcc是对的,我安装了Xcode4.1但是它仍然没有用.

谁知道如何解决这个问题?

python gcc cython llvm-gcc

3
推荐指数
1
解决办法
3307
查看次数

C - 使用-Wall编译不会警告未初始化的变量

我有一个示例有缺陷的程序,应该给出一个关于未初始化变量的警告,但是当我编译它时,gcc不会给我任何警告.

这是代码:

#include <stdio.h>

int main()
{
    int foo;

    printf("I am a number: %d \n", foo);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我运行的: cc -Wall testcase.c -o testcase

我得不到反馈.据我所知,这应该产生:

testcase.c: In function 'main': 
testcase.c:7: warning: 'foo' is used uninitialized in this function
Run Code Online (Sandbox Code Playgroud)

它似乎在他的C教程中以类似的例子正确警告Zed Shaw .这是我第一次尝试的例子,并注意到它没有按预期工作.

有任何想法吗?

编辑:

gcc的版本:

i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
Run Code Online (Sandbox Code Playgroud)

c llvm-gcc

3
推荐指数
1
解决办法
1927
查看次数

属性声明的__block属性

我必须修复一些现有的代码,用LLVM(在iOS上)构建得很好,这样它也可以用llvm-gcc-4.2构建.我已经完成了所有的事情,除了在几个地方找到的这种模式:

@property (nonatomic, retain) __block id myProperty;
Run Code Online (Sandbox Code Playgroud)

我怀疑这里的意图是允许从块内部访问属性而不保留self.如何删除__blockgcc在这里不支持的属性,但仍能达到同样的效果?

gcc objective-c llvm llvm-gcc ios

3
推荐指数
2
解决办法
3077
查看次数

gcc和llvm linux关闭函数来自c代码

Linux x86-64与gcc编译和静态链接我有:

#include <sys/reboot.h>

if (str[0] == 'r')
  reboot(0x1234567);
Run Code Online (Sandbox Code Playgroud)

但我似乎无法找到等效函数调用shutdown.如果不同,我也想知道llvm函数.

c linux gcc system-calls llvm-gcc

3
推荐指数
1
解决办法
430
查看次数

llvm - 检查函数 A 是否正在调用函数 B 的最快方法

我需要检查我的文件中的函数 A 是否正在调用函数 B。我当前的方法是遍历函数 A 中的所有指令,看看是否有任何调用/调用指令正在调用 B。有人能建议更好的方法吗?

llvm llvm-gcc llvm-clang llvm-ir llvm-c++-api

3
推荐指数
1
解决办法
1456
查看次数

在OSX上,为什么/ usr/bin/cpp不支持宏参数的字符串化,而gcc -E和clang -E呢?

如果我在foo.c中有以下代码

#define P(x) printf("%s\n", #x)

void main() {
  P(3 == 4);
}
Run Code Online (Sandbox Code Playgroud)

调用gcc -E foo.c将输出:

int main() {
  printf("%s\n", "3 == 4");
}
Run Code Online (Sandbox Code Playgroud)

请注意,#运算符已经为宏参数x字符串化了字符串.但是,当我调用/ usr/bin/cpp时,我得到以下内容......但未正确扩展.

int main() {
  printf("%s\n", #3 == 4);
}
Run Code Online (Sandbox Code Playgroud)

c llvm llvm-gcc

2
推荐指数
2
解决办法
891
查看次数