OpenMP的#pragma指令将在Clang和Open64中扩展到什么?

OpenMP的#pragma指令将在Clang和Open64中扩展到什么?,clang,openmp,directive,pragma,Clang,Openmp,Directive,Pragma,我只是在玩Clang和Open64并使用了OpenMP库。不知怎么的,我对这三个人都不熟悉! 我想知道是否有人能帮我找到#pragma指令的扩展方向。我所知道的是,C文件中的#pragma指令将被扩展为一些代码行。我希望有人能告诉我在哪里可以找到它。我确信Clang和Open64编译器有汇编输出和它们不同的中间表示。但由于这没有用,我想知道遇到指令时展开的确切代码 让我重新表述我的问题 我知道OpenMP#pragma指令被扩展成了一些代码行(也许我错了)。我希望有人能告诉我,我应该在编译器源代

我只是在玩ClangOpen64并使用了OpenMP库。不知怎么的,我对这三个人都不熟悉! 我想知道是否有人能帮我找到#pragma指令的扩展方向。我所知道的是,C文件中的#pragma指令将被扩展为一些代码行。我希望有人能告诉我在哪里可以找到它。我确信Clang和Open64编译器有汇编输出和它们不同的中间表示。但由于这没有用,我想知道遇到指令时展开的确切代码

让我重新表述我的问题

我知道OpenMP#pragma指令被扩展成了一些代码行(也许我错了)。我希望有人能告诉我,我应该在编译器源代码还是OpenMP源代码中查找它

让我给你举个例子。 考虑这段代码:

#pragma omp parallel
{
    printf("Hello world! %d", omp_get_thread_num());
}
据我所知,它将被转换成这样的东西(或更复杂的东西):

我想知道什么是f1()和f2()方法

如果我错了,告诉我。如果你知道我应该在代码中查找什么,请告诉我


谢谢。

您已经在LLVM openmp dev邮件列表中询问过这一问题,很多人已经回答了(包括我)。你在期待一个不同的答案吗?不,吉姆。谢谢事实上,我在不同的地方要求获得更多关于这个问题的知识,并了解更多关于解决这个问题的方法。但是,现在,我很好,我得到了我的答案。
f1();
{
    printf("Hello world! %d", omp_get_thread_num());
}
f2();