[RTEMS Project] #2771: Empty C++ file does not compile with HEAD.
RTEMS trac
trac at rtems.org
Thu Aug 4 00:22:19 UTC 2016
#2771: Empty C++ file does not compile with HEAD.
---------------------+-------------------
Reporter: chrisj | Owner:
Type: defect | Status: new
Priority: highest | Milestone: 4.12
Component: cpukit | Version: 4.12
Severity: blocker | Resolution:
Keywords: |
---------------------+-------------------
Description changed by chrisj:
Old description:
> I have an application that does not build.
>
> The following C++ file:
>
> {{{
> $ cat t1.cpp
> #include <rtems.h>
> }}}
>
> does not compile with git head 5fe6d07ad5690e3d9c6445ca3a465a700a5a5015
> on Zynq ARM. Build with:
>
> {{{
> $ /opt/work/rtems/4.12/bin/arm-rtems4.12-g++ \
> -B/opt/work/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib \
> -B/opt/work/bsps/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib \
> -specs bsp_specs -qrtems \
> -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 \
> -g -O2 -DNDEBUG -std=c++11 \
> -Werror -Wall -Wextra \
> -o t1.o \
> -c t1.cpp
> }}}
>
> Some (too much to post) of the output is:
>
> {{{
> In file included from /opt/work/bsps/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/thread.h:36:0,
> from /opt/work/bsps/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/heap.h:22,
> from /opt/work/bsps/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/types.h:26,
> from /opt/work/bsps/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems.h:31,
> from t1.cpp:1:
> /opt/work/bsps/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/timestamp.h: In
> function 'void _Timestamp_Set(Timestamp_Control*, time_t, long int)':
> /opt/work/bsps/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/timestamp.h:78:33:
> error: 'timespec2bintime' was not declared in this scope
> timespec2bintime( &_ts, _time );
> ^
> /opt/work/si/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/timestamp.h: In
> function 'void _Timestamp_Set_to_zero(Timestamp_Control*)':
> /opt/work/si/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/timestamp.h:94:8:
> error: invalid use of incomplete type 'Timestamp_Control {aka struct
> bintime}'
> _time->sec = 0;
> ^~
> In file included from /opt/work/rtems/4.12/arm-
> rtems4.12/include/sys/time.h:299:0,
> from /opt/work/si/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/timestamp.h:43,
> from /opt/work/si/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/thread.h:36,
> from /opt/work/si/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/heap.h:22,
> from /opt/work/si/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/types.h:26,
> from /opt/work/bsps/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/include/rtems.h:31,
> from t1.cpp:1:
> /opt/work/rtems/4.12/arm-rtems4.12/include/machine/_time.h:40:15: note:
> forward declaration of 'Timestamp_Control {aka struct bintime}'
> extern struct bintime _Timecounter_Boottimebin;
> ^~~~~~~
> }}}
>
> If '-std=c++11' is removed or replaced with '-std=gnu++11' the error
> becomes:
>
> {{{
> arm-rtems4.12-g++: fatal error: /opt/work/bsps/rtems/4.12/arm-
> rtems4.12/xilinx_zynq_zc706/lib/bsp_specs: attempt to rename spec
> 'endfile' to already defined spec 'old_endfile'
> }}}
New description:
I have an application that does not build.
The following C++ file:
{{{
$ cat t1.cpp
#include <rtems.h>
}}}
does not compile with git head 5fe6d07ad5690e3d9c6445ca3a465a700a5a5015 on
Zynq ARM. Build with:
{{{
$ /opt/work/rtems/4.12/bin/arm-rtems4.12-g++ \
-B/opt/work/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib \
-B/opt/work/bsps/rtems/4.12/arm-rtems4.12/xilinx_zynq_zc706/lib \
-specs bsp_specs -qrtems \
-march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9 \
-g -O2 -DNDEBUG -std=c++11 \
-Werror -Wall -Wextra \
-o t1.o \
-c t1.cpp
}}}
Some (too much to post) of the output is:
{{{
In file included from /opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/thread.h:36:0,
from /opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/heap.h:22,
from /opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/types.h:26,
from /opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems.h:31,
from t1.cpp:1:
/opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/timestamp.h: In
function 'void _Timestamp_Set(Timestamp_Control*, time_t, long int)':
/opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/timestamp.h:78:33:
error: 'timespec2bintime' was not declared in this scope
timespec2bintime( &_ts, _time );
^
/opt/work/si/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/timestamp.h: In
function 'void _Timestamp_Set_to_zero(Timestamp_Control*)':
/opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/timestamp.h:94:8:
error: invalid use of incomplete type 'Timestamp_Control {aka struct
bintime}'
_time->sec = 0;
^~
In file included from /opt/work/rtems/4.12/arm-
rtems4.12/include/sys/time.h:299:0,
from /opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/timestamp.h:43,
from /opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/thread.h:36,
from /opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems/score/heap.h:22,
from /opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems/rtems/types.h:26,
from /opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/include/rtems.h:31,
from t1.cpp:1:
/opt/work/rtems/4.12/arm-rtems4.12/include/machine/_time.h:40:15: note:
forward declaration of 'Timestamp_Control {aka struct bintime}'
extern struct bintime _Timecounter_Boottimebin;
^~~~~~~
}}}
If '-std=c++11' is removed or replaced with '-std=gnu++11' the error
becomes:
{{{
arm-rtems4.12-g++: fatal error: /opt/work/bsps/rtems/4.12/arm-
rtems4.12/xilinx_zynq_zc706/lib/bsp_specs: attempt to rename spec
'endfile' to already defined spec 'old_endfile'
}}}
--
--
Ticket URL: <http://devel.rtems.org/ticket/2771#comment:1>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list