[RTEMS Project] #4706: Installed header break C++
RTEMS trac
trac at rtems.org
Fri Aug 19 06:31:52 UTC 2022
#4706: Installed header break C++
-------------------------+--------------------------
Reporter: Chris Johns | Owner: Chris Johns
Type: defect | Status: assigned
Priority: normal | Milestone: 6.1
Component: rtems | Version: 6
Severity: normal | Resolution:
Keywords: | Blocked By:
Blocking: |
-------------------------+--------------------------
Comment (by Chris Johns):
Adding `RTEMS_SMP` generates the following:
{{{
In file included from ../cxx-headers.cc:28:
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/bsp
/irq-generic.h: In function 'void
bsp_interrupt_entry_store_release(rtems_interrupt_entry**,
rtems_interrupt_entry*)':
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/bsp
/irq-generic.h:405:71: error: invalid conversion from
'rtems_interrupt_entry*' to 'std::atomic<long unsigned
int>::__integral_type' {aka 'long unsigned int'} [-fpermissive]
405 | _Atomic_Store_uintptr(
|
^
|
|
|
rtems_interrupt_entry*
In file included from
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/score/cpustdatomic.h:63,
from
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/score/cpuatomic.h:40,
from
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/score/atomic.h:40,
from
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/score/smplockticket.h:44,
from
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/score/smplock.h:67,
from
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/score/isrlock.h:41,
from
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems/rtems/intr.h:70,
from
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/rtems.h:69,
from
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/bsp
/default-initial-extension.h:40,
from
/opt/work/rtems/6-bsps/aarch64-rtems6/xilinx_versal_lp64_vck190/lib/include/bsp.h:49,
from ../cxx-headers.cc:12:
/opt/work/rtems/6/lib/gcc/aarch64-rtems6/12.1.1/include/c++/atomic:904:40:
note: initializing argument 1 of 'constexpr std::atomic<long unsigned
int>::atomic(__integral_type)'
904 | constexpr atomic(__integral_type __i) noexcept :
__base_type(__i) { }
| ~~~~~~~~~~~~~~~~^~~
}}}
It looks like the `<Atomic_Uintptr*>` cast is not working.
I will ignore SMP builds but I think this should be **fixed** for RTEMS 6.
--
Ticket URL: <http://devel.rtems.org/ticket/4706#comment:2>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list