constness fixes, round-trip and fuzz-testing for CHOICE
diff --git a/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.-Pgen-PER
index b553308..e17e676 100644
--- a/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.-Pgen-PER
+++ b/tests/tests-asn1c-compiler/146-ios-parameterization-per-OK.asn1.-Pgen-PER
@@ -26,7 +26,7 @@
 		.type = &asn_DEF_SpecializedContent_30P0,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "content"
 		},
 };
@@ -122,7 +122,7 @@
 /*** <<< CODE [SpecializedContent] >>> ***/
 
 static int
-memb_id_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+memb_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -164,7 +164,7 @@
 }
 
 static int
-memb_value_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
+memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -205,7 +205,7 @@
 		.type = &asn_DEF_NativeInteger,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "INTEGER"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct value, choice.BOOLEAN),
@@ -214,11 +214,12 @@
 		.type = &asn_DEF_BOOLEAN,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "BOOLEAN"
 		},
 };
-static const unsigned asn_MAP_value_cmap_3[] = { 1, 0 };
+static const unsigned asn_MAP_value_to_canonical_3[] = { 1, 0 };
+static const unsigned asn_MAP_value_from_canonical_3[] = { 1, 0 };
 static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_3[] = {
     { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 1, 0, 0 }, /* BOOLEAN */
     { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* INTEGER */
@@ -230,7 +231,8 @@
 	sizeof(((struct value *)0)->present),
 	.tag2el = asn_MAP_value_tag2el_3,
 	.tag2el_count = 2,	/* Count of tags in the map */
-	.canonical_order = asn_MAP_value_cmap_3,	/* Canonically sorted */
+	.to_canonical_order = asn_MAP_value_to_canonical_3,
+	.from_canonical_order = asn_MAP_value_from_canonical_3,
 	.ext_start = -1	/* Extensions start */
 };
 static /* Use -fall-defs-global to expose */
@@ -255,7 +257,7 @@
 		.type = &asn_DEF_NativeInteger,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = &asn_PER_memb_id_constr_2, .general_constraints =  memb_id_constraint_1 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "id"
 		},
 	{ ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SpecializedContent_30P0, value),
@@ -264,7 +266,7 @@
 		.type = &asn_DEF_value_3,
 		.type_selector = select_value_type,
 		{ .oer_constraints = 0, .per_constraints = &asn_PER_memb_value_constr_3, .general_constraints =  memb_value_constraint_1 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "value"
 		},
 };