diff --git a/tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1.-Pfcompound-names b/tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1.-Pfcompound-names
index 5425357..30be937 100644
--- a/tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1.-Pfcompound-names
+++ b/tests/tests-asn1c-compiler/142-anonymous-types-deco-OK.asn1.-Pfcompound-names
@@ -39,7 +39,7 @@
 		.type = &asn_DEF_Type1,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "t1"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct CommonType, choice.t2),
@@ -48,7 +48,7 @@
 		.type = &asn_DEF_Type2,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "t2"
 		},
 };
@@ -63,7 +63,7 @@
 	sizeof(((struct CommonType *)0)->present),
 	.tag2el = asn_MAP_CommonType_tag2el_1,
 	.tag2el_count = 2,	/* Count of tags in the map */
-	.canonical_order = 0,
+	0, 0,
 	.ext_start = -1	/* Extensions start */
 };
 asn_TYPE_descriptor_t asn_DEF_CommonType = {
@@ -121,7 +121,7 @@
 /*** <<< CODE [Type1] >>> ***/
 
 static int
-memb_x_constraint_2(asn_TYPE_descriptor_t *td, const void *sptr,
+memb_x_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
 	size_t size;
@@ -147,7 +147,7 @@
 }
 
 static int
-memb_y_constraint_2(asn_TYPE_descriptor_t *td, const void *sptr,
+memb_y_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
 	size_t size;
@@ -182,7 +182,7 @@
 		.type = &asn_DEF_OCTET_STRING,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints =  memb_x_constraint_2 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "x"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Type1__anonType, y),
@@ -191,7 +191,7 @@
 		.type = &asn_DEF_OCTET_STRING,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints =  memb_y_constraint_2 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "y"
 		},
 };
@@ -236,7 +236,7 @@
 		.type = &asn_DEF_anonType_2,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "anonType"
 		},
 };
@@ -250,7 +250,7 @@
 	sizeof(((struct Type1 *)0)->present),
 	.tag2el = asn_MAP_Type1_tag2el_1,
 	.tag2el_count = 1,	/* Count of tags in the map */
-	.canonical_order = 0,
+	0, 0,
 	.ext_start = -1	/* Extensions start */
 };
 asn_TYPE_descriptor_t asn_DEF_Type1 = {
@@ -308,7 +308,7 @@
 /*** <<< CODE [Type2] >>> ***/
 
 static int
-memb_x_constraint_2(asn_TYPE_descriptor_t *td, const void *sptr,
+memb_x_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
 	size_t size;
@@ -334,7 +334,7 @@
 }
 
 static int
-memb_y_constraint_2(asn_TYPE_descriptor_t *td, const void *sptr,
+memb_y_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
 	size_t size;
@@ -369,7 +369,7 @@
 		.type = &asn_DEF_OCTET_STRING,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints =  memb_x_constraint_2 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "x"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Type2__anonType, y),
@@ -378,7 +378,7 @@
 		.type = &asn_DEF_OCTET_STRING,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints =  memb_y_constraint_2 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "y"
 		},
 };
@@ -423,7 +423,7 @@
 		.type = &asn_DEF_anonType_2,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "anonType"
 		},
 };
@@ -437,7 +437,7 @@
 	sizeof(((struct Type2 *)0)->present),
 	.tag2el = asn_MAP_Type2_tag2el_1,
 	.tag2el_count = 1,	/* Count of tags in the map */
-	.canonical_order = 0,
+	0, 0,
 	.ext_start = -1	/* Extensions start */
 };
 asn_TYPE_descriptor_t asn_DEF_Type2 = {
