⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pr32468-1.c

📁 用于进行gcc测试
💻 C
字号:
/* PR libgomp/32468 *//* { dg-do compile } *//* { dg-options "-O2 -fopenmp -fdump-tree-ompexp" } */extern int printf (const char *, ...);extern int omp_get_thread_num (void), omp_get_num_threads (void);extern int bar (void);extern int baz (const char *, ...);voidf1 (void){#pragma omp parallel  {    baz ("%d/%d\n", omp_get_thread_num (), omp_get_num_threads ());    #pragma omp sections      {	#pragma omp section	printf ("section1 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ());	#pragma omp section	printf ("section2 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ());      }  }}voidf2 (void){#pragma omp parallel  {    #pragma omp sections      {	#pragma omp section	printf ("section1 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ());	#pragma omp section	printf ("section2 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ());      }    baz ("%d/%d\n", omp_get_thread_num (), omp_get_num_threads ());  }}voidf3 (void){#pragma omp parallel  {    int bb = bar ();    #pragma omp sections      {	#pragma omp section	printf ("section1 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ());	#pragma omp section	printf ("section2 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ());      }  }}voidf4 (void){  int i;#pragma omp parallel  {    baz ("%d/%d\n", omp_get_thread_num (), omp_get_num_threads ());    #pragma omp for schedule (dynamic, 15)    for (i = 0; i < 10000; i++)      printf ("section1 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ());  }}voidf5 (void){  int i;#pragma omp parallel  {    #pragma omp for schedule (dynamic, 15)    for (i = 0; i < 10000; i++)      printf ("section1 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ());    baz ("%d/%d\n", omp_get_thread_num (), omp_get_num_threads ());  }}voidf6 (void){  int i;#pragma omp parallel  {    int bb = bar ();    #pragma omp for schedule (runtime)    for (i = 0; i < 10000; i++)      printf ("section1 %d/%d\n", omp_get_thread_num (), omp_get_num_threads ());  }}/* There should not be a GOMP_parallel_{loop,sections}* call.  *//* { dg-final { scan-tree-dump-times "GOMP_parallel_loop" 0 "ompexp"} } *//* { dg-final { scan-tree-dump-times "GOMP_parallel_sections" 0 "ompexp"} } *//* { dg-final { cleanup-tree-dump "ompexp" } } */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -