Data.table: solaris install error with 1.13.0

Created on 24 Jul 2020  Â·  8Comments  Â·  Source: Rdatatable/data.table

Displayed by CRAN checks today for Solaris
https://www.r-project.org/nosvn/R.check/r-patched-solaris-x86/data.table-00check.html

* installing to library ‘/home/ripley/R/Lib32’
* installing *source* package ‘data.table’ ...
** package ‘data.table’ successfully unpacked and MD5 sums checked
** using staged installation
zlib 1.2.8 is available ok
OpenMP supported
** libs
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c assign.c -o assign.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c between.c -o between.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c bmerge.c -o bmerge.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c chmatch.c -o chmatch.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c cj.c -o cj.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c coalesce.c -o coalesce.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c dogroups.c -o dogroups.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c fastmean.c -o fastmean.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c fcast.c -o fcast.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c fifelse.c -o fifelse.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c fmelt.c -o fmelt.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c forder.c -o forder.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c frank.c -o frank.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c fread.c -o fread.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c freadR.c -o freadR.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c froll.c -o froll.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c frollR.c -o frollR.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c frolladaptive.c -o frolladaptive.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c fsort.c -o fsort.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c fwrite.c -o fwrite.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c fwriteR.c -o fwriteR.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c gsumm.c -o gsumm.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c ijoin.c -o ijoin.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c init.c -o init.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c inrange.c -o inrange.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c nafill.c -o nafill.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c nqrecreateindices.c -o nqrecreateindices.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c openmp-utils.c -o openmp-utils.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c quickselect.c -o quickselect.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c rbindlist.c -o rbindlist.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c reorder.c -o reorder.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c shift.c -o shift.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c snprintf.c -o snprintf.o
/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG   -I/usr/local/include -xopenmp -KPIC  -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore  -c subset.c -o subset.o
"subset.c", line 54: left operand must be modifiable lvalue: op "="
"subset.c", line 54: left operand must be modifiable lvalue: op "="
"subset.c", line 60: left operand must be modifiable lvalue: op "="
"subset.c", line 60: left operand must be modifiable lvalue: op "="
"subset.c", line 64: left operand must be modifiable lvalue: op "="
"subset.c", line 64: left operand must be modifiable lvalue: op "="
"subset.c", line 93: left operand must be modifiable lvalue: op "="
"subset.c", line 93: left operand must be modifiable lvalue: op "="
"subset.c", line 98: left operand must be modifiable lvalue: op "="
"subset.c", line 98: left operand must be modifiable lvalue: op "="
cc: acomp failed for subset.c
*** Error code 2
make: Fatal error: Command failed for target `subset.o'
Current working directory /tmp/Rtmp6saqS3/R.INSTALL6f62e776617/data.table/src
ERROR: compilation failed for package ‘data.table’
* removing ‘/home/ripley/R/Lib32/data.table’

real       50.1
user       50.2
sys         5.3

Most helpful comment

Discussion in https://github.com/Rdatatable/data.table/issues/3285#issuecomment-455695938 seems to suggest that _Pragma doesn't like the argument to threads() be declared as const.

All 8 comments

It's coming from PARLOOP... maybe related to the use of _Pragma? I see this
Q&A about portability of that:

https://stackoverflow.com/questions/4782049/pragma-preprocessor-operator-in-visual-c

On Sat, Jul 25, 2020 at 3:42 AM Matt Dowle notifications@github.com wrote:

Displayed by CRAN checks today for Solaris

https://www.r-project.org/nosvn/R.check/r-patched-solaris-x86/data.table-00check.html

  • installing to library ‘/home/ripley/R/Lib32’

  • installing source package ‘data.table’ ...

** package ‘data.table’ successfully unpacked and MD5 sums checked

** using staged installation

zlib 1.2.8 is available ok

OpenMP supported

** libs

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c assign.c -o assign.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c between.c -o between.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c bmerge.c -o bmerge.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c chmatch.c -o chmatch.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c cj.c -o cj.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c coalesce.c -o coalesce.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c dogroups.c -o dogroups.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c fastmean.c -o fastmean.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c fcast.c -o fcast.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c fifelse.c -o fifelse.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c fmelt.c -o fmelt.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c forder.c -o forder.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c frank.c -o frank.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c fread.c -o fread.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c freadR.c -o freadR.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c froll.c -o froll.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c frollR.c -o frollR.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c frolladaptive.c -o frolladaptive.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c fsort.c -o fsort.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c fwrite.c -o fwrite.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c fwriteR.c -o fwriteR.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c gsumm.c -o gsumm.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c ijoin.c -o ijoin.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c init.c -o init.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c inrange.c -o inrange.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c nafill.c -o nafill.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c nqrecreateindices.c -o nqrecreateindices.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c openmp-utils.c -o openmp-utils.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c quickselect.c -o quickselect.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c rbindlist.c -o rbindlist.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c reorder.c -o reorder.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c shift.c -o shift.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c snprintf.c -o snprintf.o

/home/ripley/developerstudio12.6/bin/cc -xc99 -I"/home/ripley/R/cc/include" -DNDEBUG -I/usr/local/include -xopenmp -KPIC -O -xlibmieee -xlibmil -xtarget=native -xcache=generic -nofstore -c subset.c -o subset.o

"subset.c", line 54: left operand must be modifiable lvalue: op "="

"subset.c", line 54: left operand must be modifiable lvalue: op "="

"subset.c", line 60: left operand must be modifiable lvalue: op "="

"subset.c", line 60: left operand must be modifiable lvalue: op "="

"subset.c", line 64: left operand must be modifiable lvalue: op "="

"subset.c", line 64: left operand must be modifiable lvalue: op "="

"subset.c", line 93: left operand must be modifiable lvalue: op "="

"subset.c", line 93: left operand must be modifiable lvalue: op "="

"subset.c", line 98: left operand must be modifiable lvalue: op "="

"subset.c", line 98: left operand must be modifiable lvalue: op "="

cc: acomp failed for subset.c

* Error code 2

make: Fatal error: Command failed for target `subset.o'

Current working directory /tmp/Rtmp6saqS3/R.INSTALL6f62e776617/data.table/src

ERROR: compilation failed for package ‘data.table’

  • removing ‘/home/ripley/R/Lib32/data.table’

real 50.1

user 50.2

sys 5.3

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Rdatatable/data.table/issues/4638, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB2BA5K24IC6DPSUIFZLPATR5HP2JANCNFSM4PHAL5HA
.

Discussion in https://github.com/Rdatatable/data.table/issues/3285#issuecomment-455695938 seems to suggest that _Pragma doesn't like the argument to threads() be declared as const.

Awesome @tlapak, that looks good to me, do you want to file a PR?

Is there any compile flag we could set to get this to trigger in our tests?

@MichaelChirico I'm sure your intention was making sure we don't duplicate effort and two people do the PR at the same time, or step on @tlapak's toes in case they wanted to make the PR. I've just an eye that we want people to feel comfortable in making suggestions without fearing they might then be volunteered to make the PR too, which is the other way your comment might come across. Tricky.

Is there any compile flag we could set to get this to trigger in our tests?

I'm not aware of one. It may be something rchk could detect but that's way beyond me. Something more for CRAN_Release greps, or better, your QC linter PR which we could accelerate. The linter is R level currently and not C level yet?

@mattdowle don't worry, I took @MichaelChirico's comment as a friendly invitation. I'll say if I don't have the time. That said, I'm happy to do it though it'll probably be a few days.

Best as I can tell this is just the Oracle compiler being too uptight with its type checks while not emitting a helpful error message. So I don't see a way to get other compilers to do the same. It's already in the release greps for the #Pragma form. So adding this and forgoing the use of a variable seems to be the way for now.

In this case, I know Vaclav has filed some high-quality PRs in the past, so I felt more comfortable treading less lightly.

for the linter, C level is a lot tougher, unless you're aware of an AST builder for C that we could leverage. barring that it's tough to improve on regex

Tried looking up the Oracle docs here. Not an expert, but I'm more sold that nth shouldn't be const because the value dynamically adjusts based on what's available (?); not sure if that behavior is Solaris-specific.

I do see this variable SUNW_MP_WARN mentioned but it seems Solaris-specific, i.e., it won't do anything in our CI builds (?).

Unfortunately all the examples of num_threads in their documentation use a literal value (not a variable) so it's hard to tell what's the expected behavior.

Was this page helpful?
0 / 5 - 0 ratings