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

📄 sharing-1.c

📁 用于进行gcc测试
💻 C
字号:
/* { dg-do compile } *//* { dg-require-effective-target tls_native } */#include <stdlib.h>int thrglobalvar;#pragma omp threadprivate (thrglobalvar)int globalvar;const int constvar = 8;intfoo (int x){  return x;}intbar (int *x){  return *x;}intmain (void){  static int thrlocvar;#pragma omp threadprivate (thrlocvar)  static int locvar;  static int *p;  int i, j, s, l;  p = malloc (sizeof (int));  if (p == NULL)    return 0;  *p = 7;  s = 6;  l = 0;#pragma omp parallel for /* { dg-error "enclosing parallel" } */ \  default (none) private (p) shared (s)   for (i = 0; i < 64; i++)    {      int k = foo (0);	/* Predetermined - private (automatic var declared */      k++;		/* in scope of construct).  */      thrglobalvar++;	/* Predetermined - threadprivate.  */      thrlocvar++;	/* Predetermined - threadprivate.  */      foo (i);		/* Predetermined - private (omp for loop variable).  */      foo (constvar);	/* Predetermined - shared (const qualified type).  */      foo (*p);		/* *p predetermined - shared (heap allocated */      (*p)++;		/* storage).  */      bar (p);		/* Explicitly determined - private.  */      foo (s);		/* Explicitly determined - shared.  */      globalvar++;	/* { dg-error "not specified in" } */      locvar++;		/* { dg-error "not specified in" } */      l++;		/* { dg-error "not specified in" } */      for (j = 0; j < 2; j++); /* { dg-error "not specified in" } */    }  return 0;}

⌨️ 快捷键说明

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