• Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category Packages → Packages: Build-list
  • Assigned To No-one
  • Operating System
  • Severity Low
  • Priority Medium
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Archlinux32
Opened by Andreas Baumann - 16.11.2017
Last edited by Andreas Baumann - 05.01.2018

FS#13 - [fox-devel] fails on 32-bit Intel

It’s the development version of the FOX toolkit.

Breaks in some int/FXival/void * abstractions:

FXWSQueue.cpp: In member function 'FX::FXbool FX::FXWSQueue::pop(void*&)':
FXWSQueue.cpp:113:35: error: no matching function for call to 'atomicBoolCas(volatile FXival*, FX::FXival&, long int)'
       if(!atomicBoolCas(&top,t,t+1)){
                                   ^
In file included from FXWSQueue.cpp:27:0:
../include/FXAtomic.h:63:21: note: candidate: FX::FXbool FX::atomicBoolCas(volatile FXint*, FX::FXint, FX::FXint) 
 extern FXAPI FXbool atomicBoolCas(volatile FXint* ptr,FXint expect,FXint v);
                     ^~~~~~~~~~~~~
../include/FXAtomic.h:63:21: note:   conversion of argument 1 would be ill-formed:
FXWSQueue.cpp:113:25: error: invalid conversion from 'volatile FXival* {aka volatile long int*}' to 'volatile FXint* {aka volatile int*}' [-fpermissive]
       if(!atomicBoolCas(&top,t,t+1)){
                         ^~~~
In file included from FXWSQueue.cpp:27:0:
../include/FXAtomic.h:84:21: note: candidate: FX::FXbool FX::atomicBoolCas(volatile FXuint*, FX::FXuint, FX::FXuint) 
 extern FXAPI FXbool atomicBoolCas(volatile FXuint* ptr,FXuint expect,FXuint v);
                     ^~~~~~~~~~~~~
../include/FXAtomic.h:84:21: note:   conversion of argument 1 would be ill-formed:
FXWSQueue.cpp:113:25: error: invalid conversion from 'volatile FXival* {aka volatile long int*}' to 'volatile FXuint* {aka volatile unsigned int*}' [-fpermissive]
       if(!atomicBoolCas(&top,t,t+1)){
                         ^~~~
In file included from FXWSQueue.cpp:27:0:
../include/FXAtomic.h:99:21: note: candidate: FX::FXbool FX::atomicBoolCas(volatile FXlong*, FX::FXlong, FX::FXlong)
 extern FXAPI FXbool atomicBoolCas(volatile FXlong* ptr,FXlong expect,FXlong v);
                     ^~~~~~~~~~~~~
../include/FXAtomic.h:99:21: note:   no known conversion for argument 1 from 'volatile FXival* {aka volatile long int*}' to 'volatile FXlong* {aka volatile long long int*}'
../include/FXAtomic.h:114:21: note: candidate: FX::FXbool FX::atomicBoolCas(volatile FXulong*, FX::FXulong, FX::FXulong)
 extern FXAPI FXbool atomicBoolCas(volatile FXulong* ptr,FXulong expect,FXulong v);
                     ^~~~~~~~~~~~~
../include/FXAtomic.h:114:21: note:   no known conversion for argument 1 from 'volatile FXival* {aka volatile long int*}' to 'volatile FXulong* {aka volatile long long unsigned int*}'
../include/FXAtomic.h:135:21: note: candidate: FX::FXbool FX::atomicBoolCas(void* volatile*, FX::FXptr, FX::FXptr)
 extern FXAPI FXbool atomicBoolCas(volatile FXptr* ptr,FXptr expect,FXptr v);
                     ^~~~~~~~~~~~~
../include/FXAtomic.h:135:21: note:   no known conversion for argument 1 from 'volatile FXival* {aka volatile long int*}' to 'void* volatile*'
In file included from FXWSQueue.cpp:27:0:
../include/FXAtomic.h:166:15: note: candidate: template FX::FXbool FX::atomicBoolCas(EType* volatile*, EType*, EType*)
 inline FXbool atomicBoolCas(EType *volatile *ptr,EType* expect,EType* v){
               ^~~~~~~~~~~~~
../include/FXAtomic.h:166:15: note:   template argument deduction/substitution failed:
FXWSQueue.cpp:113:35: note:   mismatched types 'EType* volatile' and 'volatile FXival {aka volatile long int}'
       if(!atomicBoolCas(&top,t,t+1)){
                                   ^
FXWSQueue.cpp: In member function 'FX::FXbool FX::FXWSQueue::take(void*&)':
FXWSQueue.cpp:139:32: error: no matching function for call to 'atomicBoolCas(volatile FXival*, FX::FXival&, long int)'
     if(atomicBoolCas(&top,t,t+1)){
                                ^
In file included from FXWSQueue.cpp:27:0:
../include/FXAtomic.h:63:21: note: candidate: FX::FXbool FX::atomicBoolCas(volatile FXint*, FX::FXint, FX::FXint) 
 extern FXAPI FXbool atomicBoolCas(volatile FXint* ptr,FXint expect,FXint v);
                     ^~~~~~~~~~~~~
../include/FXAtomic.h:63:21: note:   conversion of argument 1 would be ill-formed:
FXWSQueue.cpp:139:22: error: invalid conversion from 'volatile FXival* {aka volatile long int*}' to 'volatile FXint* {aka volatile int*}' [-fpermissive]
     if(atomicBoolCas(&top,t,t+1)){
                      ^~~~
In file included from FXWSQueue.cpp:27:0:
../include/FXAtomic.h:84:21: note: candidate: FX::FXbool FX::atomicBoolCas(volatile FXuint*, FX::FXuint, FX::FXuint) 
 extern FXAPI FXbool atomicBoolCas(volatile FXuint* ptr,FXuint expect,FXuint v);
                     ^~~~~~~~~~~~~
../include/FXAtomic.h:84:21: note:   conversion of argument 1 would be ill-formed:
FXWSQueue.cpp:139:22: error: invalid conversion from 'volatile FXival* {aka volatile long int*}' to 'volatile FXuint* {aka volatile unsigned int*}' [-fpermissive]
     if(atomicBoolCas(&top,t,t+1)){
                      ^~~~
In file included from FXWSQueue.cpp:27:0:
../include/FXAtomic.h:99:21: note: candidate: FX::FXbool FX::atomicBoolCas(volatile FXlong*, FX::FXlong, FX::FXlong)
 extern FXAPI FXbool atomicBoolCas(volatile FXlong* ptr,FXlong expect,FXlong v);
                     ^~~~~~~~~~~~~
../include/FXAtomic.h:99:21: note:   no known conversion for argument 1 from 'volatile FXival* {aka volatile long int*}' to 'volatile FXlong* {aka volatile long long int*}'
../include/FXAtomic.h:114:21: note: candidate: FX::FXbool FX::atomicBoolCas(volatile FXulong*, FX::FXulong, FX::FXulong)
 extern FXAPI FXbool atomicBoolCas(volatile FXulong* ptr,FXulong expect,FXulong v);
                     ^~~~~~~~~~~~~
../include/FXAtomic.h:114:21: note:   no known conversion for argument 1 from 'volatile FXival* {aka volatile long int*}' to 'volatile FXulong* {aka volatile long long unsigned int*}'
../include/FXAtomic.h:135:21: note: candidate: FX::FXbool FX::atomicBoolCas(void* volatile*, FX::FXptr, FX::FXptr)
 extern FXAPI FXbool atomicBoolCas(volatile FXptr* ptr,FXptr expect,FXptr v);
                     ^~~~~~~~~~~~~
../include/FXAtomic.h:135:21: note:   no known conversion for argument 1 from 'volatile FXival* {aka volatile long int*}' to 'void* volatile*'
In file included from FXWSQueue.cpp:27:0:
../include/FXAtomic.h:166:15: note: candidate: template FX::FXbool FX::atomicBoolCas(EType* volatile*, EType*, EType*)
 inline FXbool atomicBoolCas(EType *volatile *ptr,EType* expect,EType* v){
               ^~~~~~~~~~~~~
../include/FXAtomic.h:166:15: note:   template argument deduction/substitution failed:
FXWSQueue.cpp:139:32: note:   mismatched types 'EType* volatile' and 'volatile FXival {aka volatile long int}'
     if(atomicBoolCas(&top,t,t+1)){
                                ^
make[2]: *** [Makefile:1339: FXWSQueue.lo] Error 1
make[2]: Leaving directory '/build/fox-devel/src/fox-1.7.61/lib'

I don’t see a bug reporting system or a source code repository upstream, just a blog.

I think, best is to wait.

Closed by  Andreas Baumann
05.01.2018 09:04
Reason for closing:  Won't fix
Additional comments about closing:  

on the blacklist

Admin
Andreas Baumann commented on 30.12.2017 10:32

blacklisted

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing