Commit Graph

4 Commits

Author SHA1 Message Date
Oliver Smith 48c038d399 asn1: fix visibility warnings from generated code
Fix warnings from generated asn1 code in order to build osmo-iuh with
werror in a future patch:

../../include/osmocom/hnbap/HNBAP_CriticalityDiagnostics-IE-List.h:29:23: error: ‘struct HNBAP_CriticalityDiagnostics_IE_List__Member’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]

These visibility warnings come from "SEQUENCE … OF SEQUENCE" definitions
in the asn1 source files, as described in detail here:
https://github.com/vlm/asn1c/issues/430

It is not possible to tell gcc to just ignore these warnings since they
don't have their own type (unlike e.g. -Wuninitialized). Also it seems
like a huge effort to patch this in asn1c.

So work around the problem the same way the author of the issue worked
around it by rewriting the lines to "SEQUENCE … OF …-Value" and adding
a "…-Value ::= SEQUENCE" line below. Add a script in
asn1/utils/asn1_restructure_sequence_of_sequence.py for the
transformation and apply it.

Related: OS#4462
Change-Id: If84445ed2e0df604b581684dcf83f8520b7da84c
2022-11-14 09:52:14 +01:00
Pau Espin 41fefdb12d hnbap: Use asn1c flag -fcompound-names to avoid name collisions with other libs
Change-Id: I1bcbe047d233684647d6ffe9febb14a12c579696
2021-10-27 16:51:18 +02:00
Pau Espin 02de780ceb hnbap: Drop no longer existing asn1c param -fnative-types
This is an option enabled by default and not existent as cmdline param
since asn1c 0.9.26.

For some reason, when dropping it, asn1c generates different description
comment section on related files. In any case, this makes hnbap look
like other libraries which already got this param removed and hence also
generateds code looks the same.

Change-Id: Iccf81539a5045416185e619d24c3d542204437e6
2021-10-27 16:32:58 +02:00
Pau Espin bc7c69d170 hnbap: Use specific prefix for HNBAP generated code
Other libraries already use ASN1C_PREFIX except the HNBAP one. Let's use
it here to avoid collisions.

All new include/osmocom/hnbap/HNBAP_*.h and src/hnbap/HNBAP_*.c are
generated using the updated src/hnbap/Makefile.am.
Files such as src/*.c, test/* and include/osmocom/hnbap/hnbap_common.h
are modified manually to update structs/enums to new prefix.

Related: SYS#5516
Change-Id: I6c062f631527ae42811bfec134933671c05ecba6
2021-10-26 16:42:07 +02:00