This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/36555] New: #pragma omp sections reduction-clause causes internal error


Following test cases cases internal error -- dependent on having reduction
clause (other clauses -- private, firstprivate, etc... seem OK).

(140) gcc-4.3.1 -c -fopenmp -v D2.i
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../configure --program-suffix=-4.3.1
Thread model: posix
gcc version 4.3.1 (GCC)
COLLECT_GCC_OPTIONS='-c' '-fopenmp' '-v' '-mtune=generic' '-pthread'
 /usr/local/libexec/gcc/i686-pc-linux-gnu/4.3.1/cc1 -fpreprocessed D2.i -quiet
-
dumpbase D2.i -mtune=generic -auxbase D2 -version -fopenmp -o /tmp/ccznaeOg.s
GNU C (GCC) version 4.3.1 (i686-pc-linux-gnu)
        compiled by GNU C version 4.3.1, GMP version 4.2, MPFR version 2.3.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 48b3416203e404802ac950ddf1fef393
a219.c: In function âmainâ:
a219.c:38: internal compiler error: in expand_omp_sections, at omp-low.c:3431
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


Test case follows:


# 1 "a219.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "a219.c"
# 13 "a219.c"
# 1 "/usr/local/lib/gcc/i686-pc-linux-gnu/4.3.1/include/omp.h" 1 3 4
# 37 "/usr/local/lib/gcc/i686-pc-linux-gnu/4.3.1/include/omp.h" 3 4
typedef struct
{
  unsigned char _x[4]
    __attribute__((__aligned__(4)));
} omp_lock_t;

typedef struct
{
  unsigned char _x[8]
    __attribute__((__aligned__(4)));
} omp_nest_lock_t;
# 57 "/usr/local/lib/gcc/i686-pc-linux-gnu/4.3.1/include/omp.h" 3 4
extern int omp_get_thread_num (void) __attribute__((__nothrow__));


# 14 "a219.c" 2

int shrd;
int prvt, fprvt, lprvt, rdct;
main ()
{
  fprvt = -1;
  rdct = 0;
#pragma omp parallel
  {
    int id = omp_get_thread_num ();
#pragma omp sections reduction(+:rdct)
    {
#pragma omp section
      {
        prvt = id;
        rdct += 1;
        lprvt = id;
      }
#pragma omp section
      {
        prvt = id;
        rdct += 1;
        lprvt = id;
        shrd = id;
      }
    }
  }
}


-- 
           Summary: #pragma omp sections reduction-clause causes internal
                    error
           Product: gcc
           Version: 4.3.1
            Status: UNCONFIRMED
          Severity: major
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: david dot mcnamara at crescentbaysoftware dot com
 GCC build triplet: ../configure --program-suffix=-4.3.1
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36555


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]