Hi list,
today I fixed a header file in libosmocore:
https://gerrit.osmocom.org/c/libosmocore/+/26044
TL;DR, using OSMO_IS_{LITTLE,BIG}_ENDIAN macros without including the
<osmocom/core/endian.h> header leads to empty struct definitions, and
thus weird compiler warnings like 'struct `foo` has no member `bar`'.
We may want to catch missing #include of the <endian.h> automatically,
so I wrote a simple script to check whether it is absent:
https://gerrit.osmocom.org/c/osmo-ci/+/26045
Below is an example of using it:
$ cd libosmocore/
$ verify_endian_header.sh $(find . -name "*.[hc]")
File './include/osmocom/gsm/protocol/gsm_44_004.h'
does not #include <osmocom/core/endian.h>
What's still missing is the actual integration into the build
verification process. I guess there is currently no easy way other than
calling this script from 'contrib/jenkins.sh' of each project?
P.S. I found out that we also have 'scripts/verify_log_statements.py' in
osmo-ci.git, but we don't seem to call it anywhere?
Best regards,
Vadim.
--
- Vadim Yanitskiy <vyanitskiy at sysmocom.de>
http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Alt-Moabit 93
* 10559 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Director: Harald Welte