retain constness of maps
diff --git a/libasn1compiler/asn1c_C.c b/libasn1compiler/asn1c_C.c
index 16f7f3c..d8f60c3 100644
--- a/libasn1compiler/asn1c_C.c
+++ b/libasn1compiler/asn1c_C.c
@@ -730,7 +730,7 @@
 			tag2el_cxer_count);
 		OUT("%d,\t/* Whether extensible */\n",
 			compute_extensions_start(expr) == -1 ? 0 : 1);
-		OUT("(unsigned int *)asn_MAP_%s_mmap_%d\t/* Mandatory elements map */\n",
+		OUT("(const unsigned int *)asn_MAP_%s_mmap_%d\t/* Mandatory elements map */\n",
 			p, expr->_type_unique_index);
 	);
 	OUT("};\n");
diff --git a/tests/105-param-2-OK.asn1.-Pfwide-types b/tests/105-param-2-OK.asn1.-Pfwide-types
index 1145f15..a2c13c9 100644
--- a/tests/105-param-2-OK.asn1.-Pfwide-types
+++ b/tests/105-param-2-OK.asn1.-Pfwide-types
@@ -126,7 +126,7 @@
 	asn_MAP_signed_tag2el_4,	/* Same as above */
 	1,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_signed_mmap_4	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_signed_mmap_4	/* Mandatory elements map */
 };
 static /* Use -fall-defs-global to expose */
 asn_TYPE_descriptor_t asn_DEF_signed_4 = {
diff --git a/tests/30-set-OK.asn1.-Pfwide-types b/tests/30-set-OK.asn1.-Pfwide-types
index e3de21d..060a0cc 100644
--- a/tests/30-set-OK.asn1.-Pfwide-types
+++ b/tests/30-set-OK.asn1.-Pfwide-types
@@ -92,7 +92,7 @@
 	asn_MAP_T_tag2el_1,	/* Same as above */
 	3,	/* Count of tags in the CXER map */
 	1,	/* Whether extensible */
-	(unsigned int *)asn_MAP_T_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_T_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_T = {
 	"T",
diff --git a/tests/31-set-of-OK.asn1.-Pfwide-types b/tests/31-set-of-OK.asn1.-Pfwide-types
index a093940..743d731 100644
--- a/tests/31-set-of-OK.asn1.-Pfwide-types
+++ b/tests/31-set-of-OK.asn1.-Pfwide-types
@@ -498,7 +498,7 @@
 	asn_MAP_Stuff_tag2el_cxer_1,
 	3,	/* Count of tags in the CXER map */
 	1,	/* Whether extensible */
-	(unsigned int *)asn_MAP_Stuff_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_Stuff_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_Stuff = {
 	"Stuff",
diff --git a/tests/43-recursion-OK.asn1.-Pfwide-types b/tests/43-recursion-OK.asn1.-Pfwide-types
index 6ea4bb9..e29bc0f 100644
--- a/tests/43-recursion-OK.asn1.-Pfwide-types
+++ b/tests/43-recursion-OK.asn1.-Pfwide-types
@@ -456,7 +456,7 @@
 	asn_MAP_Test_structure_2_tag2el_1,	/* Same as above */
 	1,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_Test_structure_2_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_Test_structure_2_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_Test_structure_2 = {
 	"Test-structure-2",
@@ -553,7 +553,7 @@
 	asn_MAP_Test_structure_3_tag2el_1,	/* Same as above */
 	1,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_Test_structure_3_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_Test_structure_3_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_Test_structure_3 = {
 	"Test-structure-3",
diff --git a/tests/47-set-ext-OK.asn1.-Pfwide-types b/tests/47-set-ext-OK.asn1.-Pfwide-types
index bfbf195..d7cbf09 100644
--- a/tests/47-set-ext-OK.asn1.-Pfwide-types
+++ b/tests/47-set-ext-OK.asn1.-Pfwide-types
@@ -66,7 +66,7 @@
 	asn_MAP_T1_tag2el_1,	/* Same as above */
 	1,	/* Count of tags in the CXER map */
 	1,	/* Whether extensible */
-	(unsigned int *)asn_MAP_T1_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_T1_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_T1 = {
 	"T1",
@@ -160,7 +160,7 @@
 	asn_MAP_T2_tag2el_1,	/* Same as above */
 	1,	/* Count of tags in the CXER map */
 	1,	/* Whether extensible */
-	(unsigned int *)asn_MAP_T2_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_T2_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_T2 = {
 	"T2",
diff --git a/tests/69-reserved-words-OK.asn1.-Pfwide-types b/tests/69-reserved-words-OK.asn1.-Pfwide-types
index f7dad6f..a6f7a2a 100644
--- a/tests/69-reserved-words-OK.asn1.-Pfwide-types
+++ b/tests/69-reserved-words-OK.asn1.-Pfwide-types
@@ -90,7 +90,7 @@
 	asn_MAP_class_tag2el_4,	/* Same as above */
 	0,	/* Count of tags in the CXER map */
 	1,	/* Whether extensible */
-	(unsigned int *)asn_MAP_class_mmap_4	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_class_mmap_4	/* Mandatory elements map */
 };
 static /* Use -fall-defs-global to expose */
 asn_TYPE_descriptor_t asn_DEF_class_4 = {
diff --git a/tests/70-xer-test-OK.asn1.-Pfwide-types b/tests/70-xer-test-OK.asn1.-Pfwide-types
index 609541d..6655a57 100644
--- a/tests/70-xer-test-OK.asn1.-Pfwide-types
+++ b/tests/70-xer-test-OK.asn1.-Pfwide-types
@@ -454,7 +454,7 @@
 	asn_MAP_Set_tag2el_1,	/* Same as above */
 	2,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_Set_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_Set_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_Set = {
 	"Set",
@@ -688,7 +688,7 @@
 	asn_MAP_ExtensibleSet_tag2el_1,	/* Same as above */
 	2,	/* Count of tags in the CXER map */
 	1,	/* Whether extensible */
-	(unsigned int *)asn_MAP_ExtensibleSet_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_ExtensibleSet_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_ExtensibleSet = {
 	"ExtensibleSet",
diff --git a/tests/72-same-names-OK.asn1.-Pfwide-types b/tests/72-same-names-OK.asn1.-Pfwide-types
index ec6c12e..70fa440 100644
--- a/tests/72-same-names-OK.asn1.-Pfwide-types
+++ b/tests/72-same-names-OK.asn1.-Pfwide-types
@@ -680,7 +680,7 @@
 	asn_MAP_two_name_tag2el_7,	/* Same as above */
 	1,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_two_name_mmap_7	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_two_name_mmap_7	/* Mandatory elements map */
 };
 static /* Use -fall-defs-global to expose */
 asn_TYPE_descriptor_t asn_DEF_two_name_7 = {
diff --git a/tests/73-circular-OK.asn1.-Pfwide-types b/tests/73-circular-OK.asn1.-Pfwide-types
index 585c615..24c9dd9 100644
--- a/tests/73-circular-OK.asn1.-Pfwide-types
+++ b/tests/73-circular-OK.asn1.-Pfwide-types
@@ -678,7 +678,7 @@
 	asn_MAP_Ypet_tag2el_1,	/* Same as above */
 	5,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_Ypet_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_Ypet_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_Ypet = {
 	"Ypet",
diff --git a/tests/92-circular-loops-OK.asn1.-Pfindirect-choice b/tests/92-circular-loops-OK.asn1.-Pfindirect-choice
index 4faa747..b5de8c4 100644
--- a/tests/92-circular-loops-OK.asn1.-Pfindirect-choice
+++ b/tests/92-circular-loops-OK.asn1.-Pfindirect-choice
@@ -1449,7 +1449,7 @@
 	asn_MAP_OneTwo_tag2el_1,	/* Same as above */
 	1,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_OneTwo_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_OneTwo_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_OneTwo = {
 	"OneTwo",
@@ -1546,7 +1546,7 @@
 	asn_MAP_TwoThree_tag2el_1,	/* Same as above */
 	1,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_TwoThree_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_TwoThree_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_TwoThree = {
 	"TwoThree",
@@ -1657,7 +1657,7 @@
 	asn_MAP_ThreeOne_tag2el_1,	/* Same as above */
 	2,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_ThreeOne_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_ThreeOne_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
 	"ThreeOne",
diff --git a/tests/92-circular-loops-OK.asn1.-Pfwide-types b/tests/92-circular-loops-OK.asn1.-Pfwide-types
index 8ba7f73..a09a655 100644
--- a/tests/92-circular-loops-OK.asn1.-Pfwide-types
+++ b/tests/92-circular-loops-OK.asn1.-Pfwide-types
@@ -1448,7 +1448,7 @@
 	asn_MAP_OneTwo_tag2el_1,	/* Same as above */
 	1,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_OneTwo_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_OneTwo_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_OneTwo = {
 	"OneTwo",
@@ -1545,7 +1545,7 @@
 	asn_MAP_TwoThree_tag2el_1,	/* Same as above */
 	1,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_TwoThree_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_TwoThree_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_TwoThree = {
 	"TwoThree",
@@ -1656,7 +1656,7 @@
 	asn_MAP_ThreeOne_tag2el_1,	/* Same as above */
 	2,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_ThreeOne_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_ThreeOne_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_ThreeOne = {
 	"ThreeOne",
diff --git a/tests/93-asn1c-controls-OK.asn1.-Pfwide-types b/tests/93-asn1c-controls-OK.asn1.-Pfwide-types
index 41c9204..98bfbf2 100644
--- a/tests/93-asn1c-controls-OK.asn1.-Pfwide-types
+++ b/tests/93-asn1c-controls-OK.asn1.-Pfwide-types
@@ -164,7 +164,7 @@
 	asn_MAP_Set_tag2el_1,	/* Same as above */
 	2,	/* Count of tags in the CXER map */
 	0,	/* Whether extensible */
-	(unsigned int *)asn_MAP_Set_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_Set_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_Set = {
 	"Set",
diff --git a/tests/94-set-optionals-OK.asn1.-P b/tests/94-set-optionals-OK.asn1.-P
index cd099c0..3d13658 100644
--- a/tests/94-set-optionals-OK.asn1.-P
+++ b/tests/94-set-optionals-OK.asn1.-P
@@ -175,7 +175,7 @@
 	asn_MAP_TestSet_tag2el_1,	/* Same as above */
 	10,	/* Count of tags in the CXER map */
 	1,	/* Whether extensible */
-	(unsigned int *)asn_MAP_TestSet_mmap_1	/* Mandatory elements map */
+	(const unsigned int *)asn_MAP_TestSet_mmap_1	/* Mandatory elements map */
 };
 asn_TYPE_descriptor_t asn_DEF_TestSet = {
 	"TestSet",