问题标签 [rose-compiler-framework]
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.
compilation - 使用 Rose 编译器的 Cuda Source to Source 翻译
我想知道玫瑰编译器对 cuda 的支持程度。我正在尝试为 cuda 构建源到源翻译器。是否可以使用 Rose 编译器?我应该使用哪个版本的 Rose 编译器?
我知道这已经在前面讨论过(玫瑰编译器中对 cuda 的支持),但我不明白是否有 cuda 支持。Rose用户手册也没有太多信息。
boost - 配置:错误:无法链接到
我正在尝试安装 Rose 编译器,但出现配置错误,我已经删除了大部分不必要的配置细节并保留了重要的细节。Rose 编译器需要提升才能安装。
分发:Backtrack 5(Ubuntu 10.04)有没有其他人得到这种类型的错误。请帮忙谢谢...
c++ - Accessing Arrays in Rose Compiler
I'm new to stackoverflow, and new to using the rose compiler. I'm trying to get the total number of arrays accessed in a function (not for every array access, but for individual arrays). Here's what I have so far:
This seems to work for some examples, but for others it doesn't detect any arrays.. It seems the way I'm querying for array is not correct? Does anyone know about this?
compiler-errors - 使用 ROSE 编译器框架的 g++ 编译器错误
我成功编译了 Rose Compiler 框架。
但是,由于 g++ 内部头文件问题,我很难将 Rose 编译器用于 C++ 代码。我尝试在没有运气的情况下使用谷歌搜索解决方案。
我有一个非常简单的 C++ 文件foo.cc
:
当我运行玫瑰编译器工具时:
我得到的错误是:
知道为什么我会遇到这个问题吗?是否有#define
我必须设置或其他什么?
我对像 <\stdio.h> 这样的 C 头文件没有问题
c++ - 使用自定义编译器构建 boost 以支持玫瑰编译器基础架构
我正在尝试在 Centos 7 机器上安装玫瑰编译器基础设施。通常我会在玫瑰编译器邮件列表上纠缠人们,但我相信问题出在 boost 库上。
首先,rose 有一些严格的构建要求
- gcc,版本 4.0 到 4.4.x(包括)
- gfortran,版本 4.2.x 到 4.4.x(含)
- boost,版本 1.36.0 到 1.45.0(含)
问题在于,Centos 7 附带的 gcc 的普通版本是 4.8.2 版,而 boost 库的普通版是 1.53 .... 所以它对我来说是重新编译地狱:)。
所以,我下载了 gcc-4.4.7 的源代码并编译了 /opt/gcc447。我确实运行了测试套件并获得了预期的通过次数和失败次数,因此我确信编译器工具链正在工作。
我还下载了 boost-1.45 的源代码,构建并安装到 /opt/boost-1.45 中。
现在,运行玫瑰的配置脚本我得到这个错误:
进行正常检查时,我确保 libboost_data_time.so.1.45.0 存在(确实存在),它是正确的文件类型,并且权限不可靠。查看 config.log,我发现:
因此,我复制了失败的程序(将其命名为 toupper_test.cpp)并尝试先使用默认编译器进行编译:
并且测试程序编译成功,但是尝试使用 4.4.7 版本的 gcc 进行编译会产生:
并且编译失败。
所以,当我意识到我用默认编译器编译了 boost 之后,我并没有太惊讶,但我似乎无法用 4.4 版本的编译器编译 boost。我尝试了很多东西;
- 在用户配置文件中设置 gcc 的版本
- 在项目配置文件中设置gcc的版本
- 试图在命令行上设置环境变量 CC 和 CXX(好吧..我在这里变得绝望)
- 制作从 /opt/gcc447/bin/gcc47 到 /opt/gcc47/bin/gcc 的符号链接(以及其他程序)并确保 /opt/gcc447/bin/ 位于路径中
迄今为止没有任何工作。
我没有想法在这里尝试...有人有建议或提示吗?
谢谢!
c - AssignOp 后在 ROSE 编译器中插入赋值
最近我一直在使用 ROSE 编译器,并且能够将一些代码插入应用到 C 源代码中并获得成功的输出。但是,我在访问 SgAssignOps 时无法插入赋值语句。这是我的代码的简化版本,用于显示问题:
一个简单的输入代码:
代码编译。然而..
当应用于输入代码时,我得到一个分段错误,没有错误消息。
如果我删除赋值语句插入,则 pragma 插入有效。
如果我删除对 runAllTests() 的调用,我会在解析时收到以下错误消息:
注意我在这个例子和输入代码中使用了“a”,所以变量已经被声明了。
进行这样的分配插入的正确方法是什么?
本教程中提供的示例使用主函数体上的范围并将其插入到最后,我需要它在另一个分配之后发生。我需要将节点上的 Scope 推送到 ScopeStack 吗?如果是这样,那将如何表达?我对 push 和 pop 范围堆栈方法不是很熟悉。
rose-compiler-framework - EDG 二进制压缩包不可用
安装 ROSE 编译器版本 0.9.10.54 时出现 EDG tarball 下载错误
错误是 -
下载 EDG 二进制压缩包:roseBinaryEDG-4-9-x86_64-pc-linux-gnu-gnu-4.8-4.82daf656b47602afa41dc38d5a30fa107fbc1e7b.tar.gz 错误:EDG 二进制压缩包不可用(或网站无法访问)。请联系 rose-public@nersc.gov 解决此错误。make[4]: *** [EDG.tar.gz] 错误 1
我机器中的 gcc 版本是 4.8.5。由于 ROSE 不再支持 GCC 4.8,谁能告诉我哪个版本的 GCC,EDG 压缩包现在正在分发?另外,ROSE 0.9.10.54 版是否支持这个 EDG 压缩包?如果没有,请指导我有关最新 ROSE 编译器的下载步骤。
谢谢,
瑜伽田