regenerated with new ioc code
diff --git a/tests/tests-asn1c-compiler/126-per-extensions-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/126-per-extensions-OK.asn1.-Pgen-PER
index d503369..28401b6 100644
--- a/tests/tests-asn1c-compiler/126-per-extensions-OK.asn1.-Pgen-PER
+++ b/tests/tests-asn1c-compiler/126-per-extensions-OK.asn1.-Pgen-PER
@@ -323,7 +323,7 @@
.name = "ext0"
},
};
-static const int asn_MAP_PDU_2_cmap_1[] = { 0, 2, 1 };
+static const unsigned asn_MAP_PDU_2_cmap_1[] = { 0, 2, 1 };
static const asn_TYPE_tag2member_t asn_MAP_PDU_2_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 2, 0, 0 }, /* ext0 */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ext1 */
diff --git a/tests/tests-asn1c-compiler/139-component-relation-OK.asn1.-P b/tests/tests-asn1c-compiler/139-component-relation-OK.asn1.-P
index 164eb5f..3c03e65 100644
--- a/tests/tests-asn1c-compiler/139-component-relation-OK.asn1.-P
+++ b/tests/tests-asn1c-compiler/139-component-relation-OK.asn1.-P
@@ -6,13 +6,32 @@
#include <asn_ioc.h>
#include "PrimitiveMessage.h"
#include "ComplexMessage.h"
+#include <OPEN_TYPE.h>
+#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
+/*** <<< DEPS [Frame] >>> ***/
+
+typedef enum value_PR {
+ value_PR_NOTHING, /* No components present */
+ value_PR_PrimitiveMessage,
+ value_PR_ComplexMessage
+} value_PR;
+
/*** <<< TYPE-DECLS [Frame] >>> ***/
typedef struct Frame {
long ident;
- ANY_t value;
+ struct value {
+ value_PR present;
+ union value_u {
+ PrimitiveMessage_t PrimitiveMessage;
+ ComplexMessage_t ComplexMessage;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
/*
* This type is extensible,
* possible extensions are below.
@@ -36,7 +55,7 @@
{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_2_2 },
{ "&Type", aioc__type, &asn_DEF_ComplexMessage }
};
-static asn_ioc_set_t asn_IOS_FrameTypes_1[] = {
+static const asn_ioc_set_t asn_IOS_FrameTypes_1[] = {
2, 2, asn_IOS_FrameTypes_1_rows
};
@@ -61,23 +80,27 @@
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
-static asn_TYPE_descriptor_t *
+static asn_type_selector_result_t
select_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
- asn_ioc_set_t *itable = asn_IOS_FrameTypes_1;
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_FrameTypes_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &Type */
size_t row;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Frame, ident));
for(row=0; row < itable->rows_count; row++) {
- asn_ioc_cell_s *constraining_cell = itable->rows[row * itable->columns_count + constraining_column];
- asn_ioc_cell_s *type_cell = itable->rows[row * itable->columns_count + for_column];
- if(constraining_cell->type_descriptor->struct_compare(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
- return type_cell->type_descriptor;
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(constraining_cell->type_descriptor->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = row + 1;
+ break;
}
}
- return NULL;
+ return result;
}
static int
@@ -102,6 +125,70 @@
/*** <<< STAT-DEFS [Frame] >>> ***/
+static asn_TYPE_member_t asn_MBR_value_3[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct value, choice.PrimitiveMessage),
+ .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ .tag_mode = 0,
+ .type = &asn_DEF_PrimitiveMessage,
+ .type_selector = 0,
+ .memb_constraints = 0, /* Defer constraints checking to the member type */
+ .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
+ .per_constraints = 0, /* PER is not compiled, use -gen-PER */
+ .default_value = 0,
+ .name = "PrimitiveMessage"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct value, choice.ComplexMessage),
+ .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ .tag_mode = 0,
+ .type = &asn_DEF_ComplexMessage,
+ .type_selector = 0,
+ .memb_constraints = 0, /* Defer constraints checking to the member type */
+ .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
+ .per_constraints = 0, /* PER is not compiled, use -gen-PER */
+ .default_value = 0,
+ .name = "ComplexMessage"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_3[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* PrimitiveMessage */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* ComplexMessage */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_3 = {
+ sizeof(struct value),
+ offsetof(struct value, _asn_ctx),
+ offsetof(struct value, present),
+ sizeof(((struct value *)0)->present),
+ asn_MAP_value_tag2el_3,
+ 2, /* Count of tags in the map */
+ .canonical_order = 0,
+ .ext_start = -1 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_3 = {
+ "value",
+ "value",
+ OPEN_TYPE_free,
+ OPEN_TYPE_print,
+ OPEN_TYPE_compare,
+ OPEN_TYPE_constraint,
+ OPEN_TYPE_decode_ber,
+ OPEN_TYPE_encode_der,
+ OPEN_TYPE_decode_xer,
+ OPEN_TYPE_encode_xer,
+ 0, 0, /* No OER support, use "-gen-OER" to enable */
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ 0, /* No OER visible constraints */
+ 0, /* No PER visible constraints */
+ asn_MBR_value_3,
+ 2, /* Elements count */
+ &asn_SPC_value_specs_3 /* Additional specs */
+};
+
static asn_TYPE_member_t asn_MBR_Frame_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Frame, ident),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
@@ -117,7 +204,7 @@
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Frame, value),
.tag = -1 /* Ambiguous tag (ANY?) */,
.tag_mode = 0,
- .type = &asn_DEF_ANY,
+ .type = &asn_DEF_value_3,
.type_selector = select_value_type,
.memb_constraints = memb_value_constraint_1,
.oer_constraints = 0, /* OER is not compiled, use -gen-OER */
diff --git a/tests/tests-asn1c-compiler/140-component-relation-OK.asn1.-P b/tests/tests-asn1c-compiler/140-component-relation-OK.asn1.-P
index 164eb5f..3c03e65 100644
--- a/tests/tests-asn1c-compiler/140-component-relation-OK.asn1.-P
+++ b/tests/tests-asn1c-compiler/140-component-relation-OK.asn1.-P
@@ -6,13 +6,32 @@
#include <asn_ioc.h>
#include "PrimitiveMessage.h"
#include "ComplexMessage.h"
+#include <OPEN_TYPE.h>
+#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
+/*** <<< DEPS [Frame] >>> ***/
+
+typedef enum value_PR {
+ value_PR_NOTHING, /* No components present */
+ value_PR_PrimitiveMessage,
+ value_PR_ComplexMessage
+} value_PR;
+
/*** <<< TYPE-DECLS [Frame] >>> ***/
typedef struct Frame {
long ident;
- ANY_t value;
+ struct value {
+ value_PR present;
+ union value_u {
+ PrimitiveMessage_t PrimitiveMessage;
+ ComplexMessage_t ComplexMessage;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
/*
* This type is extensible,
* possible extensions are below.
@@ -36,7 +55,7 @@
{ "&id", aioc__value, &asn_DEF_NativeInteger, &asn_VAL_2_2 },
{ "&Type", aioc__type, &asn_DEF_ComplexMessage }
};
-static asn_ioc_set_t asn_IOS_FrameTypes_1[] = {
+static const asn_ioc_set_t asn_IOS_FrameTypes_1[] = {
2, 2, asn_IOS_FrameTypes_1_rows
};
@@ -61,23 +80,27 @@
return td->check_constraints(td, sptr, ctfailcb, app_key);
}
-static asn_TYPE_descriptor_t *
+static asn_type_selector_result_t
select_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
- asn_ioc_set_t *itable = asn_IOS_FrameTypes_1;
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_FrameTypes_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &Type */
size_t row;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Frame, ident));
for(row=0; row < itable->rows_count; row++) {
- asn_ioc_cell_s *constraining_cell = itable->rows[row * itable->columns_count + constraining_column];
- asn_ioc_cell_s *type_cell = itable->rows[row * itable->columns_count + for_column];
- if(constraining_cell->type_descriptor->struct_compare(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
- return type_cell->type_descriptor;
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(constraining_cell->type_descriptor->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = row + 1;
+ break;
}
}
- return NULL;
+ return result;
}
static int
@@ -102,6 +125,70 @@
/*** <<< STAT-DEFS [Frame] >>> ***/
+static asn_TYPE_member_t asn_MBR_value_3[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct value, choice.PrimitiveMessage),
+ .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ .tag_mode = 0,
+ .type = &asn_DEF_PrimitiveMessage,
+ .type_selector = 0,
+ .memb_constraints = 0, /* Defer constraints checking to the member type */
+ .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
+ .per_constraints = 0, /* PER is not compiled, use -gen-PER */
+ .default_value = 0,
+ .name = "PrimitiveMessage"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct value, choice.ComplexMessage),
+ .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ .tag_mode = 0,
+ .type = &asn_DEF_ComplexMessage,
+ .type_selector = 0,
+ .memb_constraints = 0, /* Defer constraints checking to the member type */
+ .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
+ .per_constraints = 0, /* PER is not compiled, use -gen-PER */
+ .default_value = 0,
+ .name = "ComplexMessage"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_3[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* PrimitiveMessage */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* ComplexMessage */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_3 = {
+ sizeof(struct value),
+ offsetof(struct value, _asn_ctx),
+ offsetof(struct value, present),
+ sizeof(((struct value *)0)->present),
+ asn_MAP_value_tag2el_3,
+ 2, /* Count of tags in the map */
+ .canonical_order = 0,
+ .ext_start = -1 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_3 = {
+ "value",
+ "value",
+ OPEN_TYPE_free,
+ OPEN_TYPE_print,
+ OPEN_TYPE_compare,
+ OPEN_TYPE_constraint,
+ OPEN_TYPE_decode_ber,
+ OPEN_TYPE_encode_der,
+ OPEN_TYPE_decode_xer,
+ OPEN_TYPE_encode_xer,
+ 0, 0, /* No OER support, use "-gen-OER" to enable */
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ 0, /* No OER visible constraints */
+ 0, /* No PER visible constraints */
+ asn_MBR_value_3,
+ 2, /* Elements count */
+ &asn_SPC_value_specs_3 /* Additional specs */
+};
+
static asn_TYPE_member_t asn_MBR_Frame_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Frame, ident),
.tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
@@ -117,7 +204,7 @@
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Frame, value),
.tag = -1 /* Ambiguous tag (ANY?) */,
.tag_mode = 0,
- .type = &asn_DEF_ANY,
+ .type = &asn_DEF_value_3,
.type_selector = select_value_type,
.memb_constraints = memb_value_constraint_1,
.oer_constraints = 0, /* OER is not compiled, use -gen-OER */
diff --git a/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-EFprint-class-matrix b/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-EFprint-class-matrix
index 097ec4c..9fbe655 100644
--- a/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-EFprint-class-matrix
+++ b/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-EFprint-class-matrix
@@ -1,11 +1,11 @@
ModuleComponentRelationConstraint { iso org(3) dod(6) internet(1) private(4)
enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 141 }
-DEFINITIONS ::=
+DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
Frame ::= SEQUENCE {
- ident FRAME-STRUCTURE.&id ({FrameTypes}),
- value FRAME-STRUCTURE.&Type ({FrameTypes}{@.ident}),
+ ident [0] IMPLICIT FRAME-STRUCTURE.&id ({FrameTypes}),
+ value [1] EXPLICIT FRAME-STRUCTURE.&Type ({FrameTypes}{@.ident}),
...
}
diff --git a/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-P b/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-P
index ccdb49b..9043f22 100644
--- a/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-P
+++ b/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-P
@@ -6,13 +6,32 @@
#include <asn_ioc.h>
#include "PrimitiveMessage.h"
#include "ComplexMessage.h"
+#include <OPEN_TYPE.h>
+#include <constr_CHOICE.h>
#include <constr_SEQUENCE.h>
+/*** <<< DEPS [Frame] >>> ***/
+
+typedef enum value_PR {
+ value_PR_NOTHING, /* No components present */
+ value_PR_PrimitiveMessage,
+ value_PR_ComplexMessage
+} value_PR;
+
/*** <<< TYPE-DECLS [Frame] >>> ***/
typedef struct Frame {
ConstrainedInteger_t ident;
- ANY_t value;
+ struct value {
+ value_PR present;
+ union value_u {
+ PrimitiveMessage_t PrimitiveMessage;
+ ComplexMessage_t ComplexMessage;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } value;
/*
* This type is extensible,
* possible extensions are below.
@@ -36,7 +55,7 @@
{ "&id", aioc__value, &asn_DEF_ConstrainedInteger, &asn_VAL_2_cplxMessage },
{ "&Type", aioc__type, &asn_DEF_ComplexMessage }
};
-static asn_ioc_set_t asn_IOS_FrameTypes_1[] = {
+static const asn_ioc_set_t asn_IOS_FrameTypes_1[] = {
2, 2, asn_IOS_FrameTypes_1_rows
};
@@ -67,23 +86,27 @@
}
}
-static asn_TYPE_descriptor_t *
+static asn_type_selector_result_t
select_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
- asn_ioc_set_t *itable = asn_IOS_FrameTypes_1;
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_FrameTypes_1;
size_t constraining_column = 0; /* &id */
size_t for_column = 1; /* &Type */
size_t row;
const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Frame, ident));
for(row=0; row < itable->rows_count; row++) {
- asn_ioc_cell_s *constraining_cell = itable->rows[row * itable->columns_count + constraining_column];
- asn_ioc_cell_s *type_cell = itable->rows[row * itable->columns_count + for_column];
- if(constraining_cell->type_descriptor->struct_compare(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
- return type_cell->type_descriptor;
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(constraining_cell->type_descriptor->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = row + 1;
+ break;
}
}
- return NULL;
+ return result;
}
static int
@@ -108,10 +131,74 @@
/*** <<< STAT-DEFS [Frame] >>> ***/
+static asn_TYPE_member_t asn_MBR_value_3[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct value, choice.PrimitiveMessage),
+ .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ .tag_mode = 0,
+ .type = &asn_DEF_PrimitiveMessage,
+ .type_selector = 0,
+ .memb_constraints = 0, /* Defer constraints checking to the member type */
+ .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
+ .per_constraints = 0, /* PER is not compiled, use -gen-PER */
+ .default_value = 0,
+ .name = "PrimitiveMessage"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct value, choice.ComplexMessage),
+ .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ .tag_mode = 0,
+ .type = &asn_DEF_ComplexMessage,
+ .type_selector = 0,
+ .memb_constraints = 0, /* Defer constraints checking to the member type */
+ .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
+ .per_constraints = 0, /* PER is not compiled, use -gen-PER */
+ .default_value = 0,
+ .name = "ComplexMessage"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_3[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* PrimitiveMessage */
+ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* ComplexMessage */
+};
+static asn_CHOICE_specifics_t asn_SPC_value_specs_3 = {
+ sizeof(struct value),
+ offsetof(struct value, _asn_ctx),
+ offsetof(struct value, present),
+ sizeof(((struct value *)0)->present),
+ asn_MAP_value_tag2el_3,
+ 2, /* Count of tags in the map */
+ .canonical_order = 0,
+ .ext_start = -1 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_value_3 = {
+ "value",
+ "value",
+ OPEN_TYPE_free,
+ OPEN_TYPE_print,
+ OPEN_TYPE_compare,
+ OPEN_TYPE_constraint,
+ OPEN_TYPE_decode_ber,
+ OPEN_TYPE_encode_der,
+ OPEN_TYPE_decode_xer,
+ OPEN_TYPE_encode_xer,
+ 0, 0, /* No OER support, use "-gen-OER" to enable */
+ 0, 0, /* No PER support, use "-gen-PER" to enable */
+ 0, /* Use generic outmost tag fetcher */
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ 0, /* No OER visible constraints */
+ 0, /* No PER visible constraints */
+ asn_MBR_value_3,
+ 2, /* Elements count */
+ &asn_SPC_value_specs_3 /* Additional specs */
+};
+
static asn_TYPE_member_t asn_MBR_Frame_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct Frame, ident),
- .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
- .tag_mode = 0,
+ .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ .tag_mode = -1, /* IMPLICIT tag at current level */
.type = &asn_DEF_ConstrainedInteger,
.type_selector = 0,
.memb_constraints = memb_ident_constraint_1,
@@ -121,9 +208,9 @@
.name = "ident"
},
{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Frame, value),
- .tag = -1 /* Ambiguous tag (ANY?) */,
- .tag_mode = 0,
- .type = &asn_DEF_ANY,
+ .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ .tag_mode = +1, /* EXPLICIT tag at current level */
+ .type = &asn_DEF_value_3,
.type_selector = select_value_type,
.memb_constraints = memb_value_constraint_1,
.oer_constraints = 0, /* OER is not compiled, use -gen-OER */
@@ -136,13 +223,14 @@
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
static const asn_TYPE_tag2member_t asn_MAP_Frame_tag2el_1[] = {
- { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* ident */
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ident */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* value */
};
static asn_SEQUENCE_specifics_t asn_SPC_Frame_specs_1 = {
sizeof(struct Frame),
offsetof(struct Frame, _asn_ctx),
asn_MAP_Frame_tag2el_1,
- 1, /* Count of tags in the map */
+ 2, /* Count of tags in the map */
0, 0, 0, /* Optional elements (not needed) */
1, /* Start extensions */
3 /* Stop extensions */
diff --git a/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.-Pgen-PER
index 366b1c8..cd43d47 100644
--- a/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.-Pgen-PER
+++ b/tests/tests-asn1c-compiler/95-choice-per-order-OK.asn1.-Pgen-PER
@@ -95,7 +95,7 @@
.name = "int"
},
};
-static const int asn_MAP_ch_cmap_4[] = { 1, 0 };
+static const unsigned asn_MAP_ch_cmap_4[] = { 1, 0 };
static const asn_TYPE_tag2member_t asn_MAP_ch_tag2el_4[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* int */
{ (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 0, 0, 0 } /* null */
@@ -183,7 +183,7 @@
.name = "bool"
},
};
-static const int asn_MAP_Choice_cmap_1[] = { 2, 1, 0, 3 };
+static const unsigned asn_MAP_Choice_cmap_1[] = { 2, 1, 0, 3 };
static const asn_TYPE_tag2member_t asn_MAP_Choice_tag2el_1[] = {
{ (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 3, 0, 0 }, /* bool */
{ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, 0, 0 }, /* int */
diff --git a/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-P b/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-P
index 176e42e..9723e33 100644
--- a/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-P
+++ b/tests/tests-asn1c-compiler/98-attribute-class-OK.asn1.-P
@@ -28,7 +28,7 @@
{ "&id", aioc__value, &asn_DEF_RELATIVE_OID, &asn_VAL_1_raf },
{ "&id", aioc__value, &asn_DEF_RELATIVE_OID, &asn_VAL_2_rcf }
};
-static asn_ioc_set_t asn_IOS_Attributes_1[] = {
+static const asn_ioc_set_t asn_IOS_Attributes_1[] = {
2, 1, asn_IOS_Attributes_1_rows
};