Skip to content

Conversation

@mouse07410
Copy link
Owner

Fix compilation of C2X ASN.1 file with parametrized objects

Copilot AI and others added 2 commits September 22, 2025 14:38
- Fixed IOC code generation for anonymous SEQUENCE OF/SET OF types
- Added proper type name resolution for element types in IOC context
- Added forward declarations for anonymous type descriptors
- Anonymous SEQUENCE OF types now generate proper asn_DEF_X_Y_Z references
- Resolves compilation errors when using SEQUENCE OF in Information Object Classes

Co-authored-by: mouse07410 <5923577+mouse07410@users.noreply.github.com>
@mouse07410
Copy link
Owner Author

@copilot Fix these problems and update PR:

$ cat tests/tests-asn1c-compiler/test-suite.log
=============================================================
   asn1c 0.9.29: tests/tests-asn1c-compiler/test-suite.log
=============================================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

System information (uname -a): Darwin 24.6.0 Darwin Kernel Version 24.6.0: Mon Aug 11 21:16:34 PDT 2025; root:xnu-11417.140.69.701.11~1/RELEASE_ARM64_T6020

.. contents:: :depth: 2

FAIL: check-parsing.sh
======================

Checking ../../tests/tests-asn1c-compiler/03-enum-OK.asn1 against ../../tests/tests-asn1c-compiler/03-enum-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/03-enum-OK.asn1 against ../../tests/tests-asn1c-compiler/03-enum-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/04-enum-SE.asn1 against ../../tests/tests-asn1c-compiler/04-enum-SE.asn1.+-E
Checking ../../tests/tests-asn1c-compiler/07-int-OK.asn1 against ../../tests/tests-asn1c-compiler/07-int-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/100-class-ref-OK.asn1 against ../../tests/tests-asn1c-compiler/100-class-ref-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/102-class-ref-SE.asn1 against ../../tests/tests-asn1c-compiler/102-class-ref-SE.asn1.+-E_-F
FATAL: Unknown type "REF-ID2" referenced by "REF-ID" at line 15 in ../../tests/tests-asn1c-compiler/102-class-ref-SE.asn1
FATAL: Unknown type "REF-ID" referenced by "REF-ID2" at line 17 in ../../tests/tests-asn1c-compiler/102-class-ref-SE.asn1
FATAL: Class field REF-ID.&id lookup at line 18 in something that is not a class: REF-ID2 at line 17 in ../../tests/tests-asn1c-compiler/102-class-ref-SE.asn1
FATAL: Unknown type "REF-ID.&id" referenced by "field" at line 18 in ../../tests/tests-asn1c-compiler/102-class-ref-SE.asn1
FATAL: Unknown type "REF-ID.&Type" referenced by "params" at line 20 in ../../tests/tests-asn1c-compiler/102-class-ref-SE.asn1
Checking ../../tests/tests-asn1c-compiler/104-param-1-OK.asn1 against ../../tests/tests-asn1c-compiler/104-param-1-OK.asn1.+-E_-F_-print-class-matrix
Checking ../../tests/tests-asn1c-compiler/104-param-1-OK.asn1 against ../../tests/tests-asn1c-compiler/104-param-1-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/105-param-2-OK.asn1 against ../../tests/tests-asn1c-compiler/105-param-2-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/106-param-constr-OK.asn1 against ../../tests/tests-asn1c-compiler/106-param-constr-OK.asn1.+-P
Checking ../../tests/tests-asn1c-compiler/108-param-constr-3-OK.asn1 against ../../tests/tests-asn1c-compiler/108-param-constr-3-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/110-param-3-OK.asn1 against ../../tests/tests-asn1c-compiler/110-param-3-OK.asn1.+-P_-fcompound-names
Checking ../../tests/tests-asn1c-compiler/112-param-class-OK.asn1 against ../../tests/tests-asn1c-compiler/112-param-class-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/117-real-constraint-OK.asn1 against ../../tests/tests-asn1c-compiler/117-real-constraint-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/118-per-constraint-OK.asn1 against ../../tests/tests-asn1c-compiler/118-per-constraint-OK.asn1.+-E_-Fprint-constraints
Checking ../../tests/tests-asn1c-compiler/119-per-strings-OK.asn1 against ../../tests/tests-asn1c-compiler/119-per-strings-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/119-per-strings-OK.asn1 against ../../tests/tests-asn1c-compiler/119-per-strings-OK.asn1.+-P_-gen-UPER_-gen-APER
Checking ../../tests/tests-asn1c-compiler/121-empty-imports-OK.asn1 against ../../tests/tests-asn1c-compiler/121-empty-imports-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/123-valueassignment-OK.asn1 against ../../tests/tests-asn1c-compiler/123-valueassignment-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/124-multiconstraint-OK.asn1 against ../../tests/tests-asn1c-compiler/124-multiconstraint-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1 against ../../tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1 against ../../tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.+-P
Checking ../../tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1 against ../../tests/tests-asn1c-compiler/125-bitstring-constraint-OK.asn1.+-X
Checking ../../tests/tests-asn1c-compiler/126-per-extensions-OK.asn1 against ../../tests/tests-asn1c-compiler/126-per-extensions-OK.asn1.+-P_-gen-UPER_-gen-APER
Checking ../../tests/tests-asn1c-compiler/127-per-long-OK.asn1 against ../../tests/tests-asn1c-compiler/127-per-long-OK.asn1.+-P_-gen-UPER_-gen-APER
Checking ../../tests/tests-asn1c-compiler/129-enum-OK.asn1 against ../../tests/tests-asn1c-compiler/129-enum-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/130-enum-OK.asn1 against ../../tests/tests-asn1c-compiler/130-enum-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/131-per-empty-OK.asn1 against ../../tests/tests-asn1c-compiler/131-per-empty-OK.asn1.+-P_-gen-UPER_-gen-APER
Checking ../../tests/tests-asn1c-compiler/134-per-long-OK.asn1 against ../../tests/tests-asn1c-compiler/134-per-long-OK.asn1.+-P_-gen-UPER_-gen-APER
Checking ../../tests/tests-asn1c-compiler/136-oer-long-OK.asn1 against ../../tests/tests-asn1c-compiler/136-oer-long-OK.asn1.+-P_-gen-OER
Checking ../../tests/tests-asn1c-compiler/137-oer-string-OK.asn1 against ../../tests/tests-asn1c-compiler/137-oer-string-OK.asn1.+-P_-gen-OER
Checking ../../tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1 against ../../tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.+-P_-gen-OER
Generated asn_constant.h
Checking ../../tests/tests-asn1c-compiler/139-component-relation-OK.asn1 against ../../tests/tests-asn1c-compiler/139-component-relation-OK.asn1.+-E_-F_-print-class-matrix
Checking ../../tests/tests-asn1c-compiler/139-component-relation-OK.asn1 against ../../tests/tests-asn1c-compiler/139-component-relation-OK.asn1.+-P
Generated asn_constant.h
Checking ../../tests/tests-asn1c-compiler/14-resolver-OK.asn1 against ../../tests/tests-asn1c-compiler/14-resolver-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/140-component-relation-OK.asn1 against ../../tests/tests-asn1c-compiler/140-component-relation-OK.asn1.+-E_-F_-print-class-matrix
Checking ../../tests/tests-asn1c-compiler/140-component-relation-OK.asn1 against ../../tests/tests-asn1c-compiler/140-component-relation-OK.asn1.+-P
Generated asn_constant.h
Checking ../../tests/tests-asn1c-compiler/141-component-relation-OK.asn1 against ../../tests/tests-asn1c-compiler/141-component-relation-OK.asn1.+-E_-F_-print-class-matrix
Checking ../../tests/tests-asn1c-compiler/141-component-relation-OK.asn1 against ../../tests/tests-asn1c-compiler/141-component-relation-OK.asn1.+-P
Generated asn_constant.h
Checking ../../tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1 against ../../tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1.+-P_-fcompound-names
Checking ../../tests/tests-asn1c-compiler/143-inner-parameterization-OK.asn1 against ../../tests/tests-asn1c-compiler/143-inner-parameterization-OK.asn1.+-P
Checking ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1 against ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1.+-P
WARNING: Parameterized type MYID expected for MYID at line 30 in ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 31 in ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 30 in ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 31 in ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 30 in ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 31 in ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 30 in ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 30 in ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 30 in ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 31 in ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 31 in ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 31 in ../../tests/tests-asn1c-compiler/144-ios-parameterization-OK.asn1
--- .tmp.check-parsing.98325.old	2025-09-24 16:55:32
+++ .tmp.check-parsing.98325.new	2025-09-24 16:55:32
@@ -134,7 +134,7 @@
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_1_1 },
 	{ "&Type", aioc__type, &asn_DEF_NativeInteger },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_2_2 },
-	{ "&Type", aioc__type, &asn_DEF_BOOLEAN }
+	{ "&Type", aioc__type, &asn_DEF_<BOOLEAN.h> }
 };
 static const asn_ioc_set_t asn_IOS_RegionalExtension_1[] = {
 	{ 2, 2, asn_IOS_RegionalExtension_1_rows }
Checking ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1 against ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.+-P_-gen-UPER_-gen-APER
WARNING: Parameterized type MYID expected for MYID at line 30 in ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 31 in ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 30 in ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 31 in ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 30 in ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 31 in ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 30 in ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 30 in ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 30 in ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 31 in ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 31 in ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 31 in ../../tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1
--- .tmp.check-parsing.98325.old	2025-09-24 16:55:32
+++ .tmp.check-parsing.98325.new	2025-09-24 16:55:32
@@ -134,7 +134,7 @@
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_1_1 },
 	{ "&Type", aioc__type, &asn_DEF_NativeInteger },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_2_2 },
-	{ "&Type", aioc__type, &asn_DEF_BOOLEAN }
+	{ "&Type", aioc__type, &asn_DEF_<BOOLEAN.h> }
 };
 static const asn_ioc_set_t asn_IOS_RegionalExtension_1[] = {
 	{ 2, 2, asn_IOS_RegionalExtension_1_rows }
Checking ../../tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1 against ../../tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.+-P_-gen-OER
Generated asn_constant.h
Checking ../../tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1 against ../../tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.+-P_-gen-UPER_-gen-APER
Generated asn_constant.h
Checking ../../tests/tests-asn1c-compiler/149-with-components-SE.asn1 against ../../tests/tests-asn1c-compiler/149-with-components-SE.asn1.+-E
Checking ../../tests/tests-asn1c-compiler/150-with-components-OK.asn1 against ../../tests/tests-asn1c-compiler/150-with-components-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/151-per-b2110-OK.asn1 against ../../tests/tests-asn1c-compiler/151-per-b2110-OK.asn1.+-E_-F_-print-constraints
Checking ../../tests/tests-asn1c-compiler/152-value-and-type-references-OK.asn1 against ../../tests/tests-asn1c-compiler/152-value-and-type-references-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/153-single-value-constraint-OK.asn1 against ../../tests/tests-asn1c-compiler/153-single-value-constraint-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1 against ../../tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1 against ../../tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.+-P_-gen-OER
Checking ../../tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1 against ../../tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.+-P_-gen-UPER_-gen-APER
Checking ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1 against ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1.+-P_-gen-UPER_-gen-APER
WARNING: Parameterized type max-items expected for max-items at line 41 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 51 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 52 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 53 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 51 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 52 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 53 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 51 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 52 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 53 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 51 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 51 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 51 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 52 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 52 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 52 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 53 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 53 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
WARNING: Parameterized type PACKET expected for PACKET at line 53 in ../../tests/tests-asn1c-compiler/155-parameterization-more-than-two-level-OK.asn1
Generated asn_constant.h
--- .tmp.check-parsing.98325.old	2025-09-24 16:55:33
+++ .tmp.check-parsing.98325.new	2025-09-24 16:55:33
@@ -710,7 +710,7 @@
 static const asn_ioc_cell_t asn_IOS_ClassItem_1_rows[] = {
 	{ "&id", aioc__value, &asn_DEF_PacketId, &asn_VAL_1_id_TYPE1 },
 	{ "&color", aioc__value, &asn_DEF_Color, &asn_VAL_1_blue },
-	{ "&Value", aioc__type, &asn_DEF_OCTET_STRING },
+	{ "&Value", aioc__type, &asn_DEF_<OCTET_STRING.h> },
 	{ "&valid", aioc__value, &asn_DEF_Valid, &asn_VAL_1_crc_ok }
 };
 static const asn_ioc_set_t asn_IOS_ClassItem_1[] = {
Checking ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1 against ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1.+-P_-gen-UPER_-gen-APER
WARNING: Parameterized type MYID expected for MYID at line 42 in ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 43 in ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 42 in ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 43 in ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 42 in ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 43 in ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 42 in ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 42 in ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 42 in ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 43 in ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 43 in ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 43 in ../../tests/tests-asn1c-compiler/156-union-ios-OK.asn1
--- .tmp.check-parsing.98325.old	2025-09-24 16:55:33
+++ .tmp.check-parsing.98325.new	2025-09-24 16:55:33
@@ -147,15 +147,15 @@
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_1_1 },
 	{ "&Type", aioc__type, &asn_DEF_NativeInteger },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_2_2 },
-	{ "&Type", aioc__type, &asn_DEF_BOOLEAN },
+	{ "&Type", aioc__type, &asn_DEF_<BOOLEAN.h> },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_3_3 },
-	{ "&Type", aioc__type, &asn_DEF_OCTET_STRING },
+	{ "&Type", aioc__type, &asn_DEF_<OCTET_STRING.h> },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_4_1 },
 	{ "&Type", aioc__type, &asn_DEF_NativeInteger },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_5_2 },
-	{ "&Type", aioc__type, &asn_DEF_BOOLEAN },
+	{ "&Type", aioc__type, &asn_DEF_<BOOLEAN.h> },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_6_3 },
-	{ "&Type", aioc__type, &asn_DEF_OCTET_STRING }
+	{ "&Type", aioc__type, &asn_DEF_<OCTET_STRING.h> }
 };
 static const asn_ioc_set_t asn_IOS_TotalRegionExtension_1[] = {
 	{ 6, 2, asn_IOS_TotalRegionExtension_1_rows }
Checking ../../tests/tests-asn1c-compiler/157-per-canonical-order-OK.asn1 against ../../tests/tests-asn1c-compiler/157-per-canonical-order-OK.asn1.+-P_-gen-UPER_-gen-APER
Checking ../../tests/tests-asn1c-compiler/158-sequence-of-sequence-nested-OK.asn1 against ../../tests/tests-asn1c-compiler/158-sequence-of-sequence-nested-OK.asn1.+-P_-fcompound-names
Checking ../../tests/tests-asn1c-compiler/16-constraint-OK.asn1 against ../../tests/tests-asn1c-compiler/16-constraint-OK.asn1.+-E_-F
FATAL: EXPORTS section of module ModuleTestConstraint2 in ../../tests/tests-asn1c-compiler/16-constraint-OK.asn1 does not mention ten at line 29 in ../../tests/tests-asn1c-compiler/16-constraint-OK.asn1
Checking ../../tests/tests-asn1c-compiler/16-constraint-OK.asn1 against ../../tests/tests-asn1c-compiler/16-constraint-OK.asn1.+-E_-F_-print-constraints
FATAL: EXPORTS section of module ModuleTestConstraint2 in ../../tests/tests-asn1c-compiler/16-constraint-OK.asn1 does not mention ten at line 29 in ../../tests/tests-asn1c-compiler/16-constraint-OK.asn1
Checking ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1 against ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1.+-P_-gen-UPER_-gen-APER_-fcompound-names
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 62 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
WARNING: Parameterized type MYID expected for MYID at line 63 in ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1
--- .tmp.check-parsing.98325.old	2025-09-24 16:55:34
+++ .tmp.check-parsing.98325.new	2025-09-24 16:55:34
@@ -363,15 +363,15 @@
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_1_1 },
 	{ "&Type", aioc__type, &asn_DEF_NativeInteger },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_2_2 },
-	{ "&Type", aioc__type, &asn_DEF_BOOLEAN },
+	{ "&Type", aioc__type, &asn_DEF_<BOOLEAN.h> },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_3_3 },
-	{ "&Type", aioc__type, &asn_DEF_OCTET_STRING },
+	{ "&Type", aioc__type, &asn_DEF_<OCTET_STRING.h> },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_4_1 },
 	{ "&Type", aioc__type, &asn_DEF_NativeInteger },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_5_2 },
-	{ "&Type", aioc__type, &asn_DEF_BOOLEAN },
+	{ "&Type", aioc__type, &asn_DEF_<BOOLEAN.h> },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_6_3 },
-	{ "&Type", aioc__type, &asn_DEF_OCTET_STRING }
+	{ "&Type", aioc__type, &asn_DEF_<OCTET_STRING.h> }
 };
 static const asn_ioc_set_t asn_IOS_TotalRegionExtension_1[] = {
 	{ 6, 2, asn_IOS_TotalRegionExtension_1_rows }
@@ -380,9 +380,9 @@
 static const long asn_VAL_8_4 = 4;
 static const asn_ioc_cell_t asn_IOS_RegionalExtension3_1_rows[] = {
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_7_1 },
-	{ "&Type", aioc__type, &asn_DEF_OCTET_STRING },
+	{ "&Type", aioc__type, &asn_DEF_<OCTET_STRING.h> },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_8_4 },
-	{ "&Type", aioc__type, &asn_DEF_OCTET_STRING }
+	{ "&Type", aioc__type, &asn_DEF_<OCTET_STRING.h> }
 };
 static const asn_ioc_set_t asn_IOS_RegionalExtension3_1[] = {
 	{ 2, 2, asn_IOS_RegionalExtension3_1_rows }
@@ -393,7 +393,7 @@
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_9_5 },
 	{ "&Type", aioc__type, &asn_DEF_NativeInteger },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_10_6 },
-	{ "&Type", aioc__type, &asn_DEF_OCTET_STRING }
+	{ "&Type", aioc__type, &asn_DEF_<OCTET_STRING.h> }
 };
 static const asn_ioc_set_t asn_IOS_RegionalExtension4_1[] = {
 	{ 2, 2, asn_IOS_RegionalExtension4_1_rows }
Checking ../../tests/tests-asn1c-compiler/165-choice-extended-group-OK.asn1 against ../../tests/tests-asn1c-compiler/165-choice-extended-group-OK.asn1.+-P
Checking ../../tests/tests-asn1c-compiler/18-class-OK.asn1 against ../../tests/tests-asn1c-compiler/18-class-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/19-param-OK.asn1 against ../../tests/tests-asn1c-compiler/19-param-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/19-param-OK.asn1 against ../../tests/tests-asn1c-compiler/19-param-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/20-constr-OK.asn1 against ../../tests/tests-asn1c-compiler/20-constr-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/21-tags-OK.asn1 against ../../tests/tests-asn1c-compiler/21-tags-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/22-tags-OK.asn1 against ../../tests/tests-asn1c-compiler/22-tags-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/22-tags-OK.asn1 against ../../tests/tests-asn1c-compiler/22-tags-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/23-bits-OK.asn1 against ../../tests/tests-asn1c-compiler/23-bits-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/24-sequence-OK.asn1 against ../../tests/tests-asn1c-compiler/24-sequence-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/30-set-OK.asn1 against ../../tests/tests-asn1c-compiler/30-set-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/31-set-of-OK.asn1 against ../../tests/tests-asn1c-compiler/31-set-of-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/31-set-of-OK.asn1 against ../../tests/tests-asn1c-compiler/31-set-of-OK.asn1.+-P_-fcompound-names
Checking ../../tests/tests-asn1c-compiler/31-set-of-OK.asn1 against ../../tests/tests-asn1c-compiler/31-set-of-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/32-sequence-of-OK.asn1 against ../../tests/tests-asn1c-compiler/32-sequence-of-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/32-sequence-of-OK.asn1 against ../../tests/tests-asn1c-compiler/32-sequence-of-OK.asn1.+-P
Generated asn_constant.h
Checking ../../tests/tests-asn1c-compiler/34-class-OK.asn1 against ../../tests/tests-asn1c-compiler/34-class-OK.asn1.+-E_-F_-print-class-matrix
Checking ../../tests/tests-asn1c-compiler/34-class-OK.asn1 against ../../tests/tests-asn1c-compiler/34-class-OK.asn1.+-EF
Checking ../../tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1 against ../../tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1 against ../../tests/tests-asn1c-compiler/37-indirect-choice-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/39-sequence-of-OK.asn1 against ../../tests/tests-asn1c-compiler/39-sequence-of-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/42-real-life-OK.asn1 against ../../tests/tests-asn1c-compiler/42-real-life-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/42-real-life-OK.asn1 against ../../tests/tests-asn1c-compiler/42-real-life-OK.asn1.+-P_-R
Checking ../../tests/tests-asn1c-compiler/43-recursion-OK.asn1 against ../../tests/tests-asn1c-compiler/43-recursion-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/44-choice-in-sequence-OK.asn1 against ../../tests/tests-asn1c-compiler/44-choice-in-sequence-OK.asn1.+-P
Checking ../../tests/tests-asn1c-compiler/45-undefined-type-SE.asn1 against ../../tests/tests-asn1c-compiler/45-undefined-type-SE.asn1.+-E_-F_-fknown-extern-type=KnownExt
Checking ../../tests/tests-asn1c-compiler/46-redefine-OK.asn1 against ../../tests/tests-asn1c-compiler/46-redefine-OK.asn1.+-P_-R
Checking ../../tests/tests-asn1c-compiler/47-set-ext-OK.asn1 against ../../tests/tests-asn1c-compiler/47-set-ext-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/49-real-life-OK.asn1 against ../../tests/tests-asn1c-compiler/49-real-life-OK.asn1.+-E
Checking ../../tests/tests-asn1c-compiler/50-constraint-OK.asn1 against ../../tests/tests-asn1c-compiler/50-constraint-OK.asn1.+-E_-F_-print-constraints
Checking ../../tests/tests-asn1c-compiler/50-constraint-OK.asn1 against ../../tests/tests-asn1c-compiler/50-constraint-OK.asn1.+-P_-fwide-types
Generated asn_constant.h
Checking ../../tests/tests-asn1c-compiler/50-constraint-OK.asn1 against ../../tests/tests-asn1c-compiler/50-constraint-OK.asn1.+-P_-gen-UPER_-gen-APER
Generated asn_constant.h
Checking ../../tests/tests-asn1c-compiler/55-components-of-OK.asn1 against ../../tests/tests-asn1c-compiler/55-components-of-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/58-param-OK.asn1 against ../../tests/tests-asn1c-compiler/58-param-OK.asn1.+-E_-F
WARNING: Parameterized type ub-name expected for ub-name at line 19 in ../../tests/tests-asn1c-compiler/58-param-OK.asn1
WARNING: Parameterized type ub-name expected for ub-name at line 19 in ../../tests/tests-asn1c-compiler/58-param-OK.asn1
Checking ../../tests/tests-asn1c-compiler/59-choice-extended-OK.asn1 against ../../tests/tests-asn1c-compiler/59-choice-extended-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/60-any-OK.asn1 against ../../tests/tests-asn1c-compiler/60-any-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/60-any-OK.asn1 against ../../tests/tests-asn1c-compiler/60-any-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/62-any-OK.asn1 against ../../tests/tests-asn1c-compiler/62-any-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/65-multi-tag-OK.asn1 against ../../tests/tests-asn1c-compiler/65-multi-tag-OK.asn1.+-P_-fnative-types
-fnative-types: Deprecated option
Checking ../../tests/tests-asn1c-compiler/65-multi-tag-OK.asn1 against ../../tests/tests-asn1c-compiler/65-multi-tag-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/66-ref-simple-OK.asn1 against ../../tests/tests-asn1c-compiler/66-ref-simple-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/69-reserved-words-OK.asn1 against ../../tests/tests-asn1c-compiler/69-reserved-words-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/70-xer-test-OK.asn1 against ../../tests/tests-asn1c-compiler/70-xer-test-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/70-xer-test-OK.asn1 against ../../tests/tests-asn1c-compiler/70-xer-test-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1 against ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1.+-P_-fwide-types
FATAL: Name "e_a" is generated by ModuleTestSameNames.a at line ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1:34 and ModuleTestSameNames.a at line ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1:40
FATAL: Name "enum a" is generated by ModuleTestSameNames.a at line ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1:34 and ModuleTestSameNames.a at line ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1:40
FATAL: Name "a_PR" is generated by ModuleTestSameNames.a at line ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1:34 and ModuleTestSameNames.a at line ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1:40
FATAL: Name "enum a_PR" is generated by ModuleTestSameNames.a at line ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1:34 and ModuleTestSameNames.a at line ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1:40
FATAL: Name "struct a" is generated by ModuleTestSameNames.a at line ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1:34 and ModuleTestSameNames.a at line ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1:40
FATAL: Name "a" is generated by ModuleTestSameNames.a at line ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1:34 and ModuleTestSameNames.a at line ../../tests/tests-asn1c-compiler/72-same-names-OK.asn1:40
FATAL: ... 13 more name clashes not shown
FATAL: Use "-fcompound-names" flag to asn1c to resolve name clashes
Checking ../../tests/tests-asn1c-compiler/73-circular-OK.asn1 against ../../tests/tests-asn1c-compiler/73-circular-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/74-int-enum-constraints-OK.asn1 against ../../tests/tests-asn1c-compiler/74-int-enum-constraints-OK.asn1.+-E_-F_-print-constraints
Checking ../../tests/tests-asn1c-compiler/79-constrained-by-OK.asn1 against ../../tests/tests-asn1c-compiler/79-constrained-by-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/82-with-comps-OK.asn1 against ../../tests/tests-asn1c-compiler/82-with-comps-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/84-param-tags-OK.asn1 against ../../tests/tests-asn1c-compiler/84-param-tags-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/84-param-tags-OK.asn1 against ../../tests/tests-asn1c-compiler/84-param-tags-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/86-atags-OK.asn1 against ../../tests/tests-asn1c-compiler/86-atags-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/88-integer-enum-OK.asn1 against ../../tests/tests-asn1c-compiler/88-integer-enum-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1 against ../../tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1.+-P_-fcompound-names
Checking ../../tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1 against ../../tests/tests-asn1c-compiler/89-bit-string-enum-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1 against ../../tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.+-E_-F_-print-constraints
Checking ../../tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1 against ../../tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.+-P
Generated asn_constant.h
Checking ../../tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1 against ../../tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.+-P_-fwide-types
Generated asn_constant.h
Checking ../../tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1 against ../../tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.+-P_-gen-UPER_-gen-APER
Generated asn_constant.h
Checking ../../tests/tests-asn1c-compiler/91-cond-int-blessSize-OK.asn1 against ../../tests/tests-asn1c-compiler/91-cond-int-blessSize-OK.asn1.+-P_-fbless-SIZE
Checking ../../tests/tests-asn1c-compiler/92-circular-loops-OK.asn1 against ../../tests/tests-asn1c-compiler/92-circular-loops-OK.asn1.+-P_-findirect-choice
Checking ../../tests/tests-asn1c-compiler/92-circular-loops-OK.asn1 against ../../tests/tests-asn1c-compiler/92-circular-loops-OK.asn1.+-P_-fwide-types
Checking ../../tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1 against ../../tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1.+-E_-F
INFO: Directive <ASN1C:RepresentAsPointer> applied to INTEGER at ../../tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1:18
INFO: Directive <ASN1C:RepresentAsPointer> applied to member at ../../tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1:24
INFO: Directive <ASN1C:RepresentAsPointer> applied to SET OF at ../../tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1:28
INFO: Directive <ASN1C:RepresentAsPointer> applied to member at ../../tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1:30
Checking ../../tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1 against ../../tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1.+-P_-fwide-types
INFO: Directive <ASN1C:RepresentAsPointer> applied to INTEGER at ../../tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1:18
INFO: Directive <ASN1C:RepresentAsPointer> applied to member at ../../tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1:24
INFO: Directive <ASN1C:RepresentAsPointer> applied to SET OF at ../../tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1:28
INFO: Directive <ASN1C:RepresentAsPointer> applied to member at ../../tests/tests-asn1c-compiler/93-asn1c-controls-OK.asn1:30
Checking ../../tests/tests-asn1c-compiler/94-set-optionals-OK.asn1 against ../../tests/tests-asn1c-compiler/94-set-optionals-OK.asn1.+-P
Checking ../../tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1 against ../../tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.+-P_-gen-UPER_-gen-APER
Checking ../../tests/tests-asn1c-compiler/97-type-identifier-SW.asn1 against ../../tests/tests-asn1c-compiler/97-type-identifier-SW.asn1.+-E_-F
WARNING: ASN.1 expression "TYPE-IDENTIFIER" at line 17 of module ASN1C-UsefulInformationObjectClasses
clashes with expression "TYPE-IDENTIFIER" at line 23 of module ModuleTypeIdentifier1 (../../tests/tests-asn1c-compiler/97-type-identifier-SW.asn1).
Rename or remove either instance to resolve the conflict in ../../skeletons/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1
Checking ../../tests/tests-asn1c-compiler/98-attribute-class-OK.asn1 against ../../tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.+-E_-F
Checking ../../tests/tests-asn1c-compiler/98-attribute-class-OK.asn1 against ../../tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.+-E_-F_-print-class-matrix
Checking ../../tests/tests-asn1c-compiler/98-attribute-class-OK.asn1 against ../../tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.+-P
FATAL: Inappropriate value {3 2 1} for type raf
FATAL: Inappropriate value {3 2 2} for type rcf
Checking ../../tests/tests-asn1c-compiler/99-class-sample-OK.asn1 against ../../tests/tests-asn1c-compiler/99-class-sample-OK.asn1.+-E_-F_-print-class-matrix
Error while processing ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1.+-P_-gen-UPER_-gen-APER_-fcompound-names (from ../../tests/tests-asn1c-compiler/160-multiple-parameterized-instance-OK.asn1)
FAIL check-parsing.sh (exit status: 1)

$ 

@mouse07410
Copy link
Owner Author

@copilot requested correction to prevent confusion between type names and include file names has not been applied. Apply it and update this PR

@mouse07410
Copy link
Owner Author

@copilot remedy this problem is parametrized type code generation:

--- .tmp.check-parsing.17403.old	2025-09-24 19:55:32
+++ .tmp.check-parsing.17403.new	2025-09-24 19:55:32
@@ -363,15 +363,15 @@
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_1_1 },
 	{ "&Type", aioc__type, &asn_DEF_NativeInteger },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_2_2 },
-	{ "&Type", aioc__type, &asn_DEF_BOOLEAN },
+	{ "&Type", aioc__type, &asn_DEF_<BOOLEAN.h> },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_3_3 },
-	{ "&Type", aioc__type, &asn_DEF_OCTET_STRING },
+	{ "&Type", aioc__type, &asn_DEF_<OCTET_STRING.h> },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_4_1 },
 	{ "&Type", aioc__type, &asn_DEF_NativeInteger },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_5_2 },
-	{ "&Type", aioc__type, &asn_DEF_BOOLEAN },
+	{ "&Type", aioc__type, &asn_DEF_<BOOLEAN.h> },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_6_3 },
-	{ "&Type", aioc__type, &asn_DEF_OCTET_STRING }
+	{ "&Type", aioc__type, &asn_DEF_<OCTET_STRING.h> }
 };
 static const asn_ioc_set_t asn_IOS_TotalRegionExtension_1[] = {
 	{ 6, 2, asn_IOS_TotalRegionExtension_1_rows }
@@ -380,9 +380,9 @@
 static const long asn_VAL_8_4 = 4;
 static const asn_ioc_cell_t asn_IOS_RegionalExtension3_1_rows[] = {
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_7_1 },
-	{ "&Type", aioc__type, &asn_DEF_OCTET_STRING },
+	{ "&Type", aioc__type, &asn_DEF_<OCTET_STRING.h> },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_8_4 },
-	{ "&Type", aioc__type, &asn_DEF_OCTET_STRING }
+	{ "&Type", aioc__type, &asn_DEF_<OCTET_STRING.h> }
 };
 static const asn_ioc_set_t asn_IOS_RegionalExtension3_1[] = {
 	{ 2, 2, asn_IOS_RegionalExtension3_1_rows }
@@ -393,7 +393,7 @@
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_9_5 },
 	{ "&Type", aioc__type, &asn_DEF_NativeInteger },
 	{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_10_6 },
-	{ "&Type", aioc__type, &asn_DEF_OCTET_STRING }
+	{ "&Type", aioc__type, &asn_DEF_<OCTET_STRING.h> }
 };
 static const asn_ioc_set_t asn_IOS_RegionalExtension4_1[] = {
 	{ 2, 2, asn_IOS_RegionalExtension4_1_rows }

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR fixes compilation issues when handling C2X ASN.1 files containing parametrized objects, specifically addressing problems with anonymous SEQUENCE OF and SET OF types in Information Object Class (IOC) contexts.

  • Adds special handling for anonymous SEQUENCE OF and SET OF types within IOC cells
  • Generates proper type descriptor names for anonymous collection types using element type and unique index
  • Introduces forward declarations for anonymous types to prevent compilation errors

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines +305 to +308
const char *type_name = asn1c_type_name(arg, cell->value, TNF_SAFE);
if(strcmp(type_name, "SEQUENCE_OF") == 0 || strcmp(type_name, "SET_OF") == 0) {
const char *constructor = (cell->value->expr_type == ASN_CONSTR_SEQUENCE_OF)
? "SEQUENCE_OF" : "SET_OF";
Copy link

Copilot AI Sep 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This code block duplicates the logic from lines 240-247. Consider extracting this into a helper function to avoid code duplication and improve maintainability.

Copilot uses AI. Check for mistakes.
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot do the refactoring

@mouse07410
Copy link
Owner Author

@copilot fix the CI errors and update this PR

@mouse07410 mouse07410 self-assigned this Oct 6, 2025
Copy link
Owner Author

@mouse07410 mouse07410 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot apply requested changes to this PR

The logic for determining constructor type is duplicated. The constructor determination should rely on the same condition used in line 241, or use cell->value->expr_type consistently throughout instead of string comparison.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants