This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/TMDSEVM6678:C/C++编译器与OpenMP崩溃

Guru**** 2042910 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/664981/compiler-tmdsevm6678-c-c-compiler-crash-with-openmp

部件号:TMDSEVM6678

工具/软件:TI C/C++编译器

尊敬的各位:

我创建了一个支持OpenMP的默认RTSC项目。 我能够使“omp parallel”和“omp parallel for”构造正常工作并获得预期的输出。  

但是,当我尝试使用“omp parallel sections”构造时,编译器崩溃。 代码:

#include <omp.h>
#include <stdio.h>

void ompTask()(空ompTask())

  int tid = omp_Get_thread_num();
  printf ("Task-%d",tid);
}

int main (int argc,char *argv[])

opm_set_num_threads(4);
#pragma omp parallel
#pragma omp节

  #pragma omp部分
  ompTask();
  #pragma omp部分
  ompTask();
  #pragma omp部分
  ompTask();  
  #pragma omp部分
  ompTask();
}
返回0;

}

错误对话框消息:“TMS320C6x C/C++ Parser v 8.2 Tm2已停止工作

我已经尝试过了  

a.删除第一个"#pragma omp部分"

b.将“#pragma omp parallel”和 “#pragma omp sections”替换为 “#pragma omp parallel sections”,后者会给出“错误#1510:OpenMP pragma中的语法错误”  

c. 完全删除“#pragma omp parallel”。

 

请给出建议

此致

哈拉什

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很遗憾,我无法再现此问题。  请按照编译器看到的内容准确显示生成选项。

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的乔治先生:

      Code Composer Studio执行的编译器命令(如其控制台窗口所示)如下所示

    "C:/ti-CGT-C6000_packages/ti/run/cpp 8.2 openmp"-mv6600 -O2 --include_path="C:/ti/openmp_dsp_c667x_2_06_02_01/packages/ti/runrun/cpp openmp"--include_path="projects/gtg/gt/gt/include_mp_形式8.2 的编译器-openmp_openmp_re_prox_prox_config_config_--形式-pref="-pref="-pref="-pref="-preflect_ps-pref="-pref="-pref="-pref="-">-">----proble_park_park_park_park_park_park_park_park_">---------------------------

    错误显示的图像  

    此致

    哈拉什

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您提供更多详细信息。  我可以重现该问题。  主要的线索是这一个...

    Harash Sharma 说:
    "./hello.pcp"

    C6000编译器OpenMP解决方案不支持C++。  必须将所有OpenMP代码放在文件扩展名为“.c”而不是“.cpp”的C文件中。   

    即使如此,编译器也不应如此失败。  所以我在 SDOWP系统中提交了CodeGen-4471以进行调查。  欢迎您使用我签名中下面的SDOWP链接进行关注。

    谢谢,此致,

    -George