constness fixes, round-trip and fuzz-testing for CHOICE
diff --git a/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pfwide-types b/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pfwide-types
index 529f5c8..6b10989 100644
--- a/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pfwide-types
+++ b/tests/tests-asn1c-compiler/154-with-REAL-components-OK.asn1.-Pfwide-types
@@ -68,7 +68,7 @@
 /*** <<< CODE [WeirdlyConstrainedREAL] >>> ***/
 
 int
-WeirdlyConstrainedREAL_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+WeirdlyConstrainedREAL_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	const REAL_t *st = (const REAL_t *)sptr;
 	double value;
@@ -147,7 +147,7 @@
 /*** <<< CODE [Indirect-IEEE-binary32] >>> ***/
 
 int
-Indirect_IEEE_binary32_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+Indirect_IEEE_binary32_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -217,7 +217,7 @@
 /*** <<< CODE [IEEE-binary32-w] >>> ***/
 
 int
-IEEE_binary32_w_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+IEEE_binary32_w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -287,7 +287,7 @@
 /*** <<< CODE [IEEE-binary32-0w] >>> ***/
 
 int
-IEEE_binary32_0w_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+IEEE_binary32_0w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -357,7 +357,7 @@
 /*** <<< CODE [IEEE-binary32-w0] >>> ***/
 
 int
-IEEE_binary32_w0_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+IEEE_binary32_w0_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -426,7 +426,7 @@
 /*** <<< CODE [IEEE-binary64-w] >>> ***/
 
 int
-IEEE_binary64_w_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+IEEE_binary64_w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -492,7 +492,7 @@
 /*** <<< CODE [IEEE-binary64-0w] >>> ***/
 
 int
-IEEE_binary64_0w_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+IEEE_binary64_0w_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -558,7 +558,7 @@
 /*** <<< CODE [IEEE-binary64-w0] >>> ***/
 
 int
-IEEE_binary64_w0_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+IEEE_binary64_w0_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -639,7 +639,7 @@
 /*** <<< CODE [Test] >>> ***/
 
 static int
-indirect_ieee_binary32_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+indirect_ieee_binary32_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -662,7 +662,7 @@
  * so here we adjust the DEF accordingly.
  */
 static int
-ieee_binary32_w_3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ieee_binary32_w_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -685,7 +685,7 @@
  * so here we adjust the DEF accordingly.
  */
 static int
-ieee_binary32_0w_4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ieee_binary32_0w_4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -708,7 +708,7 @@
  * so here we adjust the DEF accordingly.
  */
 static int
-ieee_binary32_w0_5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
+ieee_binary32_w0_5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
 			asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 	
 	if(!sptr) {
@@ -828,7 +828,7 @@
 		.type = &asn_DEF_Indirect_IEEE_binary32,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "indirect-ieee-binary32"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_w),
@@ -837,7 +837,7 @@
 		.type = &asn_DEF_IEEE_binary32_w,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "ieee-binary32-w"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_0w),
@@ -846,7 +846,7 @@
 		.type = &asn_DEF_IEEE_binary32_0w,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "ieee-binary32-0w"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary32_w0),
@@ -855,7 +855,7 @@
 		.type = &asn_DEF_IEEE_binary32_w0,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "ieee-binary32-w0"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_w),
@@ -864,7 +864,7 @@
 		.type = &asn_DEF_IEEE_binary64_w,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "ieee-binary64-w"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_0w),
@@ -873,7 +873,7 @@
 		.type = &asn_DEF_IEEE_binary64_0w,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "ieee-binary64-0w"
 		},
 	{ ATF_NOFLAGS, 0, offsetof(struct Test, ieee_binary64_w0),
@@ -882,7 +882,7 @@
 		.type = &asn_DEF_IEEE_binary64_w0,
 		.type_selector = 0,
 		{ .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
-		.default_value = 0,
+		0, 0, /* No default value */
 		.name = "ieee-binary64-w0"
 		},
 };