diff --git a/tests/tests-asn1c-compiler/119-per-strings-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/119-per-strings-OK.asn1.-Pgen-PER
index 0fe86d7..9edb4f0 100644
--- a/tests/tests-asn1c-compiler/119-per-strings-OK.asn1.-Pgen-PER
+++ b/tests/tests-asn1c-compiler/119-per-strings-OK.asn1.-Pgen-PER
@@ -1063,118 +1063,118 @@
 
 /*** <<< CTDEFS [PDU] >>> ***/
 
-static asn_per_constraints_t asn_PER_memb_ia5_c_constr_5 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_ia5_c_constr_5 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 5,  5,  65,  90 }	/* (65..90) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_ia5_ce_constr_6 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_ia5_ce_constr_6 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_ia5_ir_constr_7 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_ia5_ir_constr_7 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 3,  3,  65,  90 }	/* (65..90) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	asn_PER_MAP_ia5_ir_7_v2c,	/* Value to PER code map */
 	asn_PER_MAP_ia5_ir_7_c2v	/* PER code to value map */
 };
-static asn_per_constraints_t asn_PER_memb_vs_c_constr_9 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_vs_c_constr_9 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 5,  5,  65,  90 }	/* (65..90) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_vs_ce_constr_10 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_vs_ce_constr_10 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_vs_ir_constr_11 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_vs_ir_constr_11 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 3,  3,  65,  90 }	/* (65..90) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	asn_PER_MAP_vs_ir_11_v2c,	/* Value to PER code map */
 	asn_PER_MAP_vs_ir_11_c2v	/* PER code to value map */
 };
-static asn_per_constraints_t asn_PER_memb_pr_c_constr_13 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_pr_c_constr_13 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 5,  5,  65,  90 }	/* (65..90) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_pr_ir_constr_14 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_pr_ir_constr_14 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 3,  3,  65,  90 }	/* (65..90) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	asn_PER_MAP_pr_ir_14_v2c,	/* Value to PER code map */
 	asn_PER_MAP_pr_ir_14_c2v	/* PER code to value map */
 };
-static asn_per_constraints_t asn_PER_memb_ns_c_constr_16 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_ns_c_constr_16 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 3,  3,  53,  57 }	/* (53..57) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_ns_ce_constr_17 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_ns_ce_constr_17 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_ns_ir_constr_18 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_ns_ir_constr_18 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 1,  1,  49,  57 }	/* (49..57) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	asn_PER_MAP_ns_ir_18_v2c,	/* Value to PER code map */
 	asn_PER_MAP_ns_ir_18_c2v	/* PER code to value map */
 };
-static asn_per_constraints_t asn_PER_memb_ut_c_constr_19 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_ut_c_constr_19 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_ut_ce_constr_20 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_ut_ce_constr_20 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_ut_ir_constr_21 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_ut_ir_constr_21 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_bm_c_constr_23 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_bm_c_constr_23 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 5,  5,  65,  90 }	/* (65..90) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_bm_cs_constr_24 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_bm_cs_constr_24 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 16,  16,  0,  65533 }	/* (0..65533) */,
 	{ APC_CONSTRAINED,	 0,  0,  6,  6 }	/* (SIZE(6..6)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_bm_ce_constr_25 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_bm_ce_constr_25 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 16,  16,  0,  65535 }	/* (0..65535) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_bm_ir_constr_26 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_bm_ir_constr_26 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 3,  3,  65,  90 }	/* (65..90) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	asn_PER_MAP_bm_ir_26_v2c,	/* Value to PER code map */
 	asn_PER_MAP_bm_ir_26_c2v	/* PER code to value map */
 };
-static asn_per_constraints_t asn_PER_memb_us_c_constr_28 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_us_c_constr_28 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 5,  5,  65,  90 }	/* (65..90) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_us_cs_constr_29 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_us_cs_constr_29 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 32,  32,  0,  2147483647 }	/* (0..4294967295) */,
 	{ APC_CONSTRAINED,	 0,  0,  6,  6 }	/* (SIZE(6..6)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_us_ce_constr_30 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_us_ce_constr_30 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	32, 32, 0, 2147483647 } /* special case 1 */
 	,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
 };
-static asn_per_constraints_t asn_PER_memb_us_ir_constr_31 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_us_ir_constr_31 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 3,  3,  65,  90 }	/* (65..90) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	asn_PER_MAP_us_ir_31_v2c,	/* Value to PER code map */
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 f365731..ee32ea4 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
@@ -260,7 +260,7 @@
 
 /*** <<< CTDEFS [PDU-2] >>> ***/
 
-asn_per_constraints_t asn_PER_type_PDU_2_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_PDU_2_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }	/* (0..0,...) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
diff --git a/tests/tests-asn1c-compiler/127-per-long-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/127-per-long-OK.asn1.-Pgen-PER
index 44e0094..2e578ca 100644
--- a/tests/tests-asn1c-compiler/127-per-long-OK.asn1.-Pgen-PER
+++ b/tests/tests-asn1c-compiler/127-per-long-OK.asn1.-Pgen-PER
@@ -167,32 +167,32 @@
 
 /*** <<< CTDEFS [T] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_unsigned32_constr_4 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_unsigned32_constr_4 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 32, -1,  0,  4294967295 }	/* (0..4294967295) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_type_unsplit32_constr_5 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_unsplit32_constr_5 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 32, -1,  5,  4294967290 }	/* (5..4294967290) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_small32range_constr_2 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_small32range_constr_2 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 32, -1, -2000000000,  2000000000 }	/* (-2000000000..2000000000) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_full32range_constr_3 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_full32range_constr_3 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 32, -1, (-2147483647L - 1),  2147483647 }	/* (-2147483648..2147483647) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_unsigned32_constr_4 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_unsigned32_constr_4 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 32, -1,  0,  4294967295 }	/* (0..4294967295) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_unsplit32_constr_5 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_unsplit32_constr_5 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 32, -1,  5,  4294967290 }	/* (5..4294967290) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
diff --git a/tests/tests-asn1c-compiler/134-per-long-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/134-per-long-OK.asn1.-Pgen-PER
index bb4f7b0..ab3d391 100644
--- a/tests/tests-asn1c-compiler/134-per-long-OK.asn1.-Pgen-PER
+++ b/tests/tests-asn1c-compiler/134-per-long-OK.asn1.-Pgen-PER
@@ -149,22 +149,22 @@
 
 /*** <<< CTDEFS [T] >>> ***/
 
-static asn_per_constraints_t asn_PER_memb_unsigned33_constr_2 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_unsigned33_constr_2 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 33, -1,  0,  5000000000 }	/* (0..5000000000) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_unsigned42_constr_3 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_unsigned42_constr_3 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 42, -1,  0,  3153600000000 }	/* (0..3153600000000) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_signed33_constr_4 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_signed33_constr_4 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 33, -1, -4000000000,  4000000000 }	/* (-4000000000..4000000000) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_signed33ext_constr_5 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_signed33ext_constr_5 CC_NOTUSED = {
 	{ APC_CONSTRAINED | APC_EXTENSIBLE,  33, -1, -4000000000,  4000000000 }	/* (-4000000000..4000000000,...) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
diff --git a/tests/tests-asn1c-compiler/136-oer-long-OK.asn1.-Pgen-OER b/tests/tests-asn1c-compiler/136-oer-long-OK.asn1.-Pgen-OER
index d424a44..79466a0 100644
--- a/tests/tests-asn1c-compiler/136-oer-long-OK.asn1.-Pgen-OER
+++ b/tests/tests-asn1c-compiler/136-oer-long-OK.asn1.-Pgen-OER
@@ -344,40 +344,40 @@
 
 /*** <<< CTDEFS [T] >>> ***/
 
-static asn_oer_constraints_t asn_OER_memb_unsigned8_constr_2 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_unsigned8_constr_2 CC_NOTUSED = {
 	{ 1, 1 }	/* (0..255) */,
 	-1};
-static asn_oer_constraints_t asn_OER_memb_unsigned16_constr_3 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_unsigned16_constr_3 CC_NOTUSED = {
 	{ 2, 1 }	/* (0..65535) */,
 	-1};
-static asn_oer_constraints_t asn_OER_memb_unsigned16stack_constr_4 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_unsigned16stack_constr_4 CC_NOTUSED = {
 	{ 1, 1 }	/* (0..255) */,
 	-1};
-static asn_oer_constraints_t asn_OER_memb_unsigned16stack_ext_constr_5 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_unsigned16stack_ext_constr_5 CC_NOTUSED = {
 	{ 2, 1 }	/* (0..32767) */,
 	-1};
-static asn_oer_constraints_t asn_OER_memb_unsigned33_constr_6 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_unsigned33_constr_6 CC_NOTUSED = {
 	{ 8, 1 }	/* (0..5000000000) */,
 	-1};
-static asn_oer_constraints_t asn_OER_memb_minmax_constr_7 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_minmax_constr_7 CC_NOTUSED = {
 	{ 0, 0 },
 	-1};
-static asn_oer_constraints_t asn_OER_memb_signed8_constr_9 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_signed8_constr_9 CC_NOTUSED = {
 	{ 1, 0 }	/* (-128..127) */,
 	-1};
-static asn_oer_constraints_t asn_OER_memb_signed16_constr_10 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_signed16_constr_10 CC_NOTUSED = {
 	{ 2, 0 }	/* (-32768..32767) */,
 	-1};
-static asn_oer_constraints_t asn_OER_memb_signed16stack_constr_11 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_signed16stack_constr_11 CC_NOTUSED = {
 	{ 1, 0 }	/* (-128..127) */,
 	-1};
-static asn_oer_constraints_t asn_OER_memb_signed16stack_ext_constr_12 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_signed16stack_ext_constr_12 CC_NOTUSED = {
 	{ 2, 0 }	/* (-32768..32767) */,
 	-1};
-static asn_oer_constraints_t asn_OER_memb_signed32_constr_13 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_signed32_constr_13 CC_NOTUSED = {
 	{ 4, 0 }	/* (-2000000000..2000000000) */,
 	-1};
-static asn_oer_constraints_t asn_OER_memb_signed33ext_constr_14 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_signed33ext_constr_14 CC_NOTUSED = {
 	{ 0, 0 },
 	-1};
 
diff --git a/tests/tests-asn1c-compiler/137-oer-string-OK.asn1.-Pgen-OER b/tests/tests-asn1c-compiler/137-oer-string-OK.asn1.-Pgen-OER
index 370efeb..e6ce3c4 100644
--- a/tests/tests-asn1c-compiler/137-oer-string-OK.asn1.-Pgen-OER
+++ b/tests/tests-asn1c-compiler/137-oer-string-OK.asn1.-Pgen-OER
@@ -158,13 +158,13 @@
 
 /*** <<< CTDEFS [T] >>> ***/
 
-static asn_oer_constraints_t asn_OER_memb_con_ia5_constr_7 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_con_ia5_constr_7 CC_NOTUSED = {
 	{ 0, 0 },
 	2	/* (SIZE(2..2)) */};
-static asn_oer_constraints_t asn_OER_memb_con_utf8_constr_8 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_con_utf8_constr_8 CC_NOTUSED = {
 	{ 0, 0 },
 	-1	/* (SIZE(0..MAX)) */};
-static asn_oer_constraints_t asn_OER_memb_con_universal_constr_9 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_con_universal_constr_9 CC_NOTUSED = {
 	{ 0, 0 },
 	2	/* (SIZE(2..2)) */};
 
diff --git a/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.-Pgen-OER b/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.-Pgen-OER
index 0cea1a6..fc7e8ff 100644
--- a/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.-Pgen-OER
+++ b/tests/tests-asn1c-compiler/138-oer-constraints-OK.asn1.-Pgen-OER
@@ -105,7 +105,7 @@
 
 /*** <<< CTDEFS [B-0-0] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_B_0_0_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_B_0_0_constr_1 CC_NOTUSED = {
 	{ 1, 1 }	/* (0..0) */,
 	-1};
 
@@ -187,7 +187,7 @@
 
 /*** <<< CTDEFS [C-1-2] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_C_1_2_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_C_1_2_constr_1 CC_NOTUSED = {
 	{ 1, 1 }	/* (1..2) */,
 	-1};
 
@@ -269,7 +269,7 @@
 
 /*** <<< CTDEFS [D-inv] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_D_inv_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_D_inv_constr_1 CC_NOTUSED = {
 	{ 0, 0 },
 	-1};
 
@@ -351,7 +351,7 @@
 
 /*** <<< CTDEFS [E-2-5] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_E_2_5_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_E_2_5_constr_1 CC_NOTUSED = {
 	{ 1, 1 }	/* (2..5) */,
 	-1};
 
@@ -433,7 +433,7 @@
 
 /*** <<< CTDEFS [F-inv] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_F_inv_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_F_inv_constr_1 CC_NOTUSED = {
 	{ 1, 1 }	/* (0..10) */,
 	-1};
 
@@ -515,7 +515,7 @@
 
 /*** <<< CTDEFS [G-3-3] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_G_3_3_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_G_3_3_constr_1 CC_NOTUSED = {
 	{ 1, 1 }	/* (3..3) */,
 	-1};
 
@@ -597,7 +597,7 @@
 
 /*** <<< CTDEFS [H-4-5] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_H_4_5_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_H_4_5_constr_1 CC_NOTUSED = {
 	{ 1, 1 }	/* (4..5) */,
 	-1};
 
@@ -679,7 +679,7 @@
 
 /*** <<< CTDEFS [I-1-5] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_I_1_5_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_I_1_5_constr_1 CC_NOTUSED = {
 	{ 1, 1 }	/* (1..5) */,
 	-1};
 
@@ -761,7 +761,7 @@
 
 /*** <<< CTDEFS [J-4-5] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_J_4_5_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_J_4_5_constr_1 CC_NOTUSED = {
 	{ 1, 1 }	/* (4..5) */,
 	-1};
 
@@ -843,7 +843,7 @@
 
 /*** <<< CTDEFS [K-1-4] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_K_1_4_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_K_1_4_constr_1 CC_NOTUSED = {
 	{ 1, 1 }	/* (1..4) */,
 	-1};
 
@@ -925,7 +925,7 @@
 
 /*** <<< CTDEFS [L-0-5] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_L_0_5_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_L_0_5_constr_1 CC_NOTUSED = {
 	{ 1, 1 }	/* (0..5) */,
 	-1};
 
@@ -1007,7 +1007,7 @@
 
 /*** <<< CTDEFS [M-inv] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_M_inv_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_M_inv_constr_1 CC_NOTUSED = {
 	{ 0, 0 },
 	-1};
 
@@ -1089,7 +1089,7 @@
 
 /*** <<< CTDEFS [N-0-5] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_N_0_5_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_N_0_5_constr_1 CC_NOTUSED = {
 	{ 1, 1 }	/* (0..5) */,
 	-1};
 
@@ -1171,7 +1171,7 @@
 
 /*** <<< CTDEFS [O-inv] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_O_inv_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_O_inv_constr_1 CC_NOTUSED = {
 	{ 0, 0 },
 	-1};
 
@@ -1253,7 +1253,7 @@
 
 /*** <<< CTDEFS [EConstr] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_EConstr_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_EConstr_constr_1 CC_NOTUSED = {
 	{ 0, 0 },
 	-1};
 
@@ -1335,7 +1335,7 @@
 
 /*** <<< CTDEFS [FConstr] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_FConstr_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_FConstr_constr_1 CC_NOTUSED = {
 	{ 1, 1 }	/* (0..4) */,
 	-1};
 
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 36b2206..aa6e9aa 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
@@ -189,12 +189,12 @@
 
 /*** <<< CTDEFS [SpecializedContent] >>> ***/
 
-static asn_per_constraints_t asn_PER_memb_id_constr_2 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_id_constr_2 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_value_constr_3 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_value_constr_3 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
diff --git a/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-OER b/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-OER
index b5a8cf5..802665f 100644
--- a/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-OER
+++ b/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-OER
@@ -54,7 +54,7 @@
 
 /*** <<< CTDEFS [Short] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_Short_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_Short_constr_1 CC_NOTUSED = {
 	{ 2, 1 }	/* (0..65535) */,
 	-1};
 
@@ -136,7 +136,7 @@
 
 /*** <<< CTDEFS [Alias] >>> ***/
 
-static asn_oer_constraints_t asn_OER_type_Alias_constr_1 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_type_Alias_constr_1 CC_NOTUSED = {
 	{ 2, 1 }	/* (0..65535) */,
 	-1};
 
@@ -215,7 +215,7 @@
 
 /*** <<< CTDEFS [Soo] >>> ***/
 
-static asn_oer_constraints_t asn_OER_memb_foo_constr_2 GCC_NOTUSED = {
+static asn_oer_constraints_t asn_OER_memb_foo_constr_2 CC_NOTUSED = {
 	{ 2, 1 }	/* (0..65535) */,
 	-1};
 
diff --git a/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-PER
index 88cc9cd..fa71d35 100644
--- a/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-PER
+++ b/tests/tests-asn1c-compiler/147-inherit-per-constraints-OK.asn1.-Pgen-PER
@@ -55,7 +55,7 @@
 
 /*** <<< CTDEFS [Short] >>> ***/
 
-asn_per_constraints_t asn_PER_type_Short_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Short_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 16,  16,  0,  65535 }	/* (0..65535) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -140,7 +140,7 @@
 
 /*** <<< CTDEFS [Alias] >>> ***/
 
-asn_per_constraints_t asn_PER_type_Alias_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Alias_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 16,  16,  0,  65535 }	/* (0..65535) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -221,7 +221,7 @@
 
 /*** <<< CTDEFS [Soo] >>> ***/
 
-static asn_per_constraints_t asn_PER_memb_foo_constr_2 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_foo_constr_2 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 16,  16,  0,  65535 }	/* (0..65535) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
diff --git a/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER
index f198842..4537dda 100644
--- a/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER
+++ b/tests/tests-asn1c-compiler/50-constraint-OK.asn1.-Pgen-PER
@@ -106,7 +106,7 @@
 
 /*** <<< CTDEFS [Int2] >>> ***/
 
-asn_per_constraints_t asn_PER_type_Int2_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Int2_constr_1 CC_NOTUSED = {
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (0..MAX) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -191,7 +191,7 @@
 
 /*** <<< CTDEFS [Int3] >>> ***/
 
-asn_per_constraints_t asn_PER_type_Int3_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Int3_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 4,  4,  0,  10 }	/* (0..10) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -276,7 +276,7 @@
 
 /*** <<< CTDEFS [Int4] >>> ***/
 
-asn_per_constraints_t asn_PER_type_Int4_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Int4_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED | APC_EXTENSIBLE,  4,  4,  1,  10 }	/* (1..10,...) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -361,7 +361,7 @@
 
 /*** <<< CTDEFS [Int5] >>> ***/
 
-asn_per_constraints_t asn_PER_type_Int5_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Int5_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 0,  0,  5,  5 }	/* (5..5) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -445,7 +445,7 @@
 
 /*** <<< CTDEFS [ExtensibleExtensions] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_ExtensibleExtensions_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_ExtensibleExtensions_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  1,  255 }	/* (1..255,...) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -599,7 +599,7 @@
 
 /*** <<< CTDEFS [Str2] >>> ***/
 
-asn_per_constraints_t asn_PER_type_Str2_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Str2_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 7,  7,  0,  127 }	/* (0..127) */,
 	{ APC_CONSTRAINED,	 5,  5,  0,  30 }	/* (SIZE(0..30)) */,
 	0, 0	/* No PER character map necessary */
@@ -725,7 +725,7 @@
 
 /*** <<< CTDEFS [Str3] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_Str3_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_Str3_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 3,  3,  65,  102 }	/* (65..102) */,
 	{ APC_CONSTRAINED,	 5,  5,  10,  27 }	/* (SIZE(10..27)) */,
 	asn_PER_MAP_Str3_1_v2c,	/* Value to PER code map */
@@ -825,7 +825,7 @@
 
 /*** <<< CTDEFS [Str4] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_Str4_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_Str4_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 7,  7,  0,  127 }	/* (0..127) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
@@ -925,7 +925,7 @@
 
 /*** <<< CTDEFS [PER-Visible] >>> ***/
 
-asn_per_constraints_t asn_PER_type_PER_Visible_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_PER_Visible_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 3,  3,  65,  70 }	/* (65..70) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
@@ -1024,7 +1024,7 @@
 
 /*** <<< CTDEFS [PER-Visible-2] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_PER_Visible_2_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_PER_Visible_2_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 1,  1,  69,  70 }	/* (69..70) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
@@ -1123,7 +1123,7 @@
 
 /*** <<< CTDEFS [Not-PER-Visible-1] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_Not_PER_Visible_1_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_Not_PER_Visible_1_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 3,  3,  65,  70 }	/* (65..70) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
@@ -1222,7 +1222,7 @@
 
 /*** <<< CTDEFS [Not-PER-Visible-2] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_Not_PER_Visible_2_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_Not_PER_Visible_2_constr_1 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
@@ -1321,7 +1321,7 @@
 
 /*** <<< CTDEFS [Not-PER-Visible-3] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_Not_PER_Visible_3_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_Not_PER_Visible_3_constr_1 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
@@ -1423,7 +1423,7 @@
 
 /*** <<< CTDEFS [SIZE-but-not-FROM] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_SIZE_but_not_FROM_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_SIZE_but_not_FROM_constr_1 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_CONSTRAINED,	 2,  2,  1,  4 }	/* (SIZE(1..4)) */,
 	0, 0	/* No PER character map necessary */
@@ -1525,7 +1525,7 @@
 
 /*** <<< CTDEFS [SIZE-and-FROM] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_SIZE_and_FROM_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_SIZE_and_FROM_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 2,  2,  65,  68 }	/* (65..68) */,
 	{ APC_CONSTRAINED,	 2,  2,  1,  4 }	/* (SIZE(1..4)) */,
 	0, 0	/* No PER character map necessary */
@@ -1624,7 +1624,7 @@
 
 /*** <<< CTDEFS [Neither-SIZE-nor-FROM] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_Neither_SIZE_nor_FROM_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_Neither_SIZE_nor_FROM_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 3,  3,  65,  70 }	/* (65..70) */,
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  0,  0 }	/* (SIZE(0..MAX)) */,
 	0, 0	/* No PER character map necessary */
@@ -1717,7 +1717,7 @@
 
 /*** <<< CTDEFS [Utf8-4] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_Utf8_4_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_Utf8_4_constr_1 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -1838,7 +1838,7 @@
 
 /*** <<< CTDEFS [Utf8-3] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_Utf8_3_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_Utf8_3_constr_1 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -1930,7 +1930,7 @@
 
 /*** <<< CTDEFS [Utf8-2] >>> ***/
 
-asn_per_constraints_t asn_PER_type_Utf8_2_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Utf8_2_constr_1 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -2112,7 +2112,7 @@
 
 /*** <<< CTDEFS [VisibleIdentifier] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_VisibleIdentifier_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_VisibleIdentifier_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 6,  6,  36,  122 }	/* (36..122) */,
 	{ APC_CONSTRAINED,	 5,  5,  1,  32 }	/* (SIZE(1..32)) */,
 	asn_PER_MAP_VisibleIdentifier_1_v2c,	/* Value to PER code map */
@@ -2273,22 +2273,22 @@
 
 /*** <<< CTDEFS [Sequence] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_enum_c_constr_6 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_enum_c_constr_6 CC_NOTUSED = {
 	{ APC_CONSTRAINED | APC_EXTENSIBLE,  1,  1,  0,  1 }	/* (0..1,...) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_int1_c_constr_2 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_int1_c_constr_2 CC_NOTUSED = {
 	{ APC_SEMI_CONSTRAINED,	-1, -1, -2,  0 }	/* (-2..MAX) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_int4_c_constr_4 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_int4_c_constr_4 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 2,  2,  5,  7 }	/* (5..7) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_memb_int5_c_constr_13 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_memb_int5_c_constr_13 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 0,  0,  5,  5 }	/* (5..5) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -2523,7 +2523,7 @@
 
 /*** <<< CTDEFS [SequenceOf] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_SequenceOf_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_SequenceOf_constr_1 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_CONSTRAINED,	 1,  1,  1,  2 }	/* (SIZE(1..2)) */,
 	0, 0	/* No PER value map */
@@ -2608,7 +2608,7 @@
 
 /*** <<< CTDEFS [Enum0] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_Enum0_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_Enum0_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 1,  1,  0,  1 }	/* (0..1) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -2716,7 +2716,7 @@
 
 /*** <<< CTDEFS [Enum1] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_Enum1_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_Enum1_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 1,  1,  0,  1 }	/* (0..1) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -2865,7 +2865,7 @@
 
 /*** <<< CTDEFS [Identifier] >>> ***/
 
-asn_per_constraints_t asn_PER_type_Identifier_constr_1 GCC_NOTUSED = {
+asn_per_constraints_t asn_PER_type_Identifier_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 6,  6,  36,  122 }	/* (36..122) */,
 	{ APC_CONSTRAINED,	 5,  5,  1,  32 }	/* (SIZE(1..32)) */,
 	asn_PER_MAP_Identifier_1_v2c,	/* Value to PER code map */
diff --git a/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-Pgen-PER b/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-Pgen-PER
index 120c849..243f026 100644
--- a/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-Pgen-PER
+++ b/tests/tests-asn1c-compiler/90-cond-int-type-OK.asn1.-Pgen-PER
@@ -100,7 +100,7 @@
 
 /*** <<< CTDEFS [CN-IntegerMinMax] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_CN_IntegerMinMax_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_CN_IntegerMinMax_constr_1 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -184,7 +184,7 @@
 
 /*** <<< CTDEFS [CN-IntegerMinLow] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_CN_IntegerMinLow_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_CN_IntegerMinLow_constr_1 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 }	/* (MIN..1) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -274,7 +274,7 @@
 
 /*** <<< CTDEFS [NO-IntegerMinHigh] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_NO_IntegerMinHigh_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_NO_IntegerMinHigh_constr_1 CC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 }	/* (MIN..3000000000) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -358,7 +358,7 @@
 
 /*** <<< CTDEFS [NO-IntegerLowHigh] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_NO_IntegerLowHigh_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_NO_IntegerLowHigh_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 32, -1,  1,  3000000000 }	/* (1..3000000000) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -447,7 +447,7 @@
 
 /*** <<< CTDEFS [CN-IntegerLowMax] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_CN_IntegerLowMax_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_CN_IntegerLowMax_constr_1 CC_NOTUSED = {
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  1,  0 }	/* (1..MAX) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -542,7 +542,7 @@
 
 /*** <<< CTDEFS [NO-IntegerHighMax] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_NO_IntegerHighMax_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_NO_IntegerHighMax_constr_1 CC_NOTUSED = {
 	{ APC_SEMI_CONSTRAINED,	-1, -1,  3000000000,  0 }	/* (3000000000..MAX) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -632,7 +632,7 @@
 
 /*** <<< CTDEFS [NO-IntegerLowestMax] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_NO_IntegerLowestMax_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_NO_IntegerLowestMax_constr_1 CC_NOTUSED = {
 	{ APC_SEMI_CONSTRAINED,	-1, -1, -3000000000,  0 }	/* (-3000000000..MAX) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -716,7 +716,7 @@
 
 /*** <<< CTDEFS [NO-IntegerOutRange] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_NO_IntegerOutRange_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_NO_IntegerOutRange_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 1, -1,  3000000000,  3000000001 }	/* (3000000000..3000000001) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -805,7 +805,7 @@
 
 /*** <<< CTDEFS [NO-IntegerOutValue] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_NO_IntegerOutValue_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_NO_IntegerOutValue_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 0, -1,  3000000000,  3000000000 }	/* (3000000000..3000000000) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -894,7 +894,7 @@
 
 /*** <<< CTDEFS [OK-IntegerInRange1] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_OK_IntegerInRange1_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_OK_IntegerInRange1_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 8,  8, -100,  100 }	/* (-100..100) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -978,7 +978,7 @@
 
 /*** <<< CTDEFS [OK-IntegerInRange2] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_OK_IntegerInRange2_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_OK_IntegerInRange2_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 8,  8, -100,  100 }	/* (-100..100) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -1062,7 +1062,7 @@
 
 /*** <<< CTDEFS [OK-IntegerInRange3] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_OK_IntegerInRange3_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_OK_IntegerInRange3_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 32, -1, (-2147483647L - 1),  2147483647 }	/* (-2147483648..2147483647) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -1146,7 +1146,7 @@
 
 /*** <<< CTDEFS [OK-IntegerInRange4] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_OK_IntegerInRange4_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_OK_IntegerInRange4_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 32, -1, (-2147483647L - 1),  2147483647 }	/* (-2147483648..2147483647) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -1230,7 +1230,7 @@
 
 /*** <<< CTDEFS [OK-IntegerInRange5] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_OK_IntegerInRange5_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_OK_IntegerInRange5_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED | APC_EXTENSIBLE,  32, -1, (-2147483647L - 1),  2147483647 }	/* (-2147483648..2147483647,...) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -1305,7 +1305,7 @@
 
 /*** <<< CTDEFS [NO-IntegerInRange6] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_NO_IntegerInRange6_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_NO_IntegerInRange6_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 32, -1,  0,  4294967295 }	/* (0..4294967295) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
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 e3d73f2..ed9b4a4 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
@@ -58,12 +58,12 @@
 
 /*** <<< CTDEFS [Choice] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_ch_constr_4 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_ch_constr_4 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 1,  1,  0,  1 }	/* (0..1) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
 };
-static asn_per_constraints_t asn_PER_type_Choice_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_Choice_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0,  2 }	/* (0..2,...) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
@@ -241,7 +241,7 @@
 
 /*** <<< CTDEFS [Choice2] >>> ***/
 
-static asn_per_constraints_t asn_PER_type_Choice2_constr_1 GCC_NOTUSED = {
+static asn_per_constraints_t asn_PER_type_Choice2_constr_1 CC_NOTUSED = {
 	{ APC_CONSTRAINED,	 1,  1,  0,  1 }	/* (0..1) */,
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
 	0, 0	/* No PER value map */
