fix default constraint checking
diff --git a/tests/50-constraint-OK.asn1.-Pfwide-types b/tests/50-constraint-OK.asn1.-Pfwide-types
index 4d81729..c47e9be 100644
--- a/tests/50-constraint-OK.asn1.-Pfwide-types
+++ b/tests/50-constraint-OK.asn1.-Pfwide-types
@@ -36,6 +36,7 @@
 Int1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_INTEGER.free_struct;
 	td->print_struct   = asn_DEF_INTEGER.print_struct;
+	td->check_constraints = asn_DEF_INTEGER.check_constraints;
 	td->ber_decoder    = asn_DEF_INTEGER.ber_decoder;
 	td->der_encoder    = asn_DEF_INTEGER.der_encoder;
 	td->xer_decoder    = asn_DEF_INTEGER.xer_decoder;
@@ -179,6 +180,7 @@
 Int2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Int1.free_struct;
 	td->print_struct   = asn_DEF_Int1.print_struct;
+	td->check_constraints = asn_DEF_Int1.check_constraints;
 	td->ber_decoder    = asn_DEF_Int1.ber_decoder;
 	td->der_encoder    = asn_DEF_Int1.der_encoder;
 	td->xer_decoder    = asn_DEF_Int1.xer_decoder;
@@ -326,6 +328,7 @@
 Int3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Int2.free_struct;
 	td->print_struct   = asn_DEF_Int2.print_struct;
+	td->check_constraints = asn_DEF_Int2.check_constraints;
 	td->ber_decoder    = asn_DEF_Int2.ber_decoder;
 	td->der_encoder    = asn_DEF_Int2.der_encoder;
 	td->xer_decoder    = asn_DEF_Int2.xer_decoder;
@@ -473,6 +476,7 @@
 Int4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Int3.free_struct;
 	td->print_struct   = asn_DEF_Int3.print_struct;
+	td->check_constraints = asn_DEF_Int3.check_constraints;
 	td->ber_decoder    = asn_DEF_Int3.ber_decoder;
 	td->der_encoder    = asn_DEF_Int3.der_encoder;
 	td->xer_decoder    = asn_DEF_Int3.xer_decoder;
@@ -620,6 +624,7 @@
 Int5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Int4.free_struct;
 	td->print_struct   = asn_DEF_Int4.print_struct;
+	td->check_constraints = asn_DEF_Int4.check_constraints;
 	td->ber_decoder    = asn_DEF_Int4.ber_decoder;
 	td->der_encoder    = asn_DEF_Int4.der_encoder;
 	td->xer_decoder    = asn_DEF_Int4.xer_decoder;
@@ -767,6 +772,7 @@
 ExtensibleExtensions_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_INTEGER.free_struct;
 	td->print_struct   = asn_DEF_INTEGER.print_struct;
+	td->check_constraints = asn_DEF_INTEGER.check_constraints;
 	td->ber_decoder    = asn_DEF_INTEGER.ber_decoder;
 	td->der_encoder    = asn_DEF_INTEGER.der_encoder;
 	td->xer_decoder    = asn_DEF_INTEGER.xer_decoder;
@@ -891,6 +897,7 @@
 Str1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_IA5String.free_struct;
 	td->print_struct   = asn_DEF_IA5String.print_struct;
+	td->check_constraints = asn_DEF_IA5String.check_constraints;
 	td->ber_decoder    = asn_DEF_IA5String.ber_decoder;
 	td->der_encoder    = asn_DEF_IA5String.der_encoder;
 	td->xer_decoder    = asn_DEF_IA5String.xer_decoder;
@@ -1050,6 +1057,7 @@
 Str2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Str1.free_struct;
 	td->print_struct   = asn_DEF_Str1.print_struct;
+	td->check_constraints = asn_DEF_Str1.check_constraints;
 	td->ber_decoder    = asn_DEF_Str1.ber_decoder;
 	td->der_encoder    = asn_DEF_Str1.der_encoder;
 	td->xer_decoder    = asn_DEF_Str1.xer_decoder;
@@ -1220,6 +1228,7 @@
 Str3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Str2.free_struct;
 	td->print_struct   = asn_DEF_Str2.print_struct;
+	td->check_constraints = asn_DEF_Str2.check_constraints;
 	td->ber_decoder    = asn_DEF_Str2.ber_decoder;
 	td->der_encoder    = asn_DEF_Str2.der_encoder;
 	td->xer_decoder    = asn_DEF_Str2.xer_decoder;
@@ -1376,6 +1385,7 @@
 Str4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_IA5String.free_struct;
 	td->print_struct   = asn_DEF_IA5String.print_struct;
+	td->check_constraints = asn_DEF_IA5String.check_constraints;
 	td->ber_decoder    = asn_DEF_IA5String.ber_decoder;
 	td->der_encoder    = asn_DEF_IA5String.der_encoder;
 	td->xer_decoder    = asn_DEF_IA5String.xer_decoder;
@@ -1532,6 +1542,7 @@
 PER_Visible_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_IA5String.free_struct;
 	td->print_struct   = asn_DEF_IA5String.print_struct;
+	td->check_constraints = asn_DEF_IA5String.check_constraints;
 	td->ber_decoder    = asn_DEF_IA5String.ber_decoder;
 	td->der_encoder    = asn_DEF_IA5String.der_encoder;
 	td->xer_decoder    = asn_DEF_IA5String.xer_decoder;
@@ -1688,6 +1699,7 @@
 PER_Visible_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
+	td->check_constraints = asn_DEF_PER_Visible.check_constraints;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
 	td->der_encoder    = asn_DEF_PER_Visible.der_encoder;
 	td->xer_decoder    = asn_DEF_PER_Visible.xer_decoder;
@@ -1844,6 +1856,7 @@
 Not_PER_Visible_1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
+	td->check_constraints = asn_DEF_PER_Visible.check_constraints;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
 	td->der_encoder    = asn_DEF_PER_Visible.der_encoder;
 	td->xer_decoder    = asn_DEF_PER_Visible.xer_decoder;
@@ -2000,6 +2013,7 @@
 Not_PER_Visible_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
+	td->check_constraints = asn_DEF_PER_Visible.check_constraints;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
 	td->der_encoder    = asn_DEF_PER_Visible.der_encoder;
 	td->xer_decoder    = asn_DEF_PER_Visible.xer_decoder;
@@ -2156,6 +2170,7 @@
 Not_PER_Visible_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
+	td->check_constraints = asn_DEF_PER_Visible.check_constraints;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
 	td->der_encoder    = asn_DEF_PER_Visible.der_encoder;
 	td->xer_decoder    = asn_DEF_PER_Visible.xer_decoder;
@@ -2315,6 +2330,7 @@
 SIZE_but_not_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
+	td->check_constraints = asn_DEF_PER_Visible.check_constraints;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
 	td->der_encoder    = asn_DEF_PER_Visible.der_encoder;
 	td->xer_decoder    = asn_DEF_PER_Visible.xer_decoder;
@@ -2474,6 +2490,7 @@
 SIZE_and_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
+	td->check_constraints = asn_DEF_PER_Visible.check_constraints;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
 	td->der_encoder    = asn_DEF_PER_Visible.der_encoder;
 	td->xer_decoder    = asn_DEF_PER_Visible.xer_decoder;
@@ -2630,6 +2647,7 @@
 Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_PER_Visible.free_struct;
 	td->print_struct   = asn_DEF_PER_Visible.print_struct;
+	td->check_constraints = asn_DEF_PER_Visible.check_constraints;
 	td->ber_decoder    = asn_DEF_PER_Visible.ber_decoder;
 	td->der_encoder    = asn_DEF_PER_Visible.der_encoder;
 	td->xer_decoder    = asn_DEF_PER_Visible.xer_decoder;
@@ -2780,6 +2798,7 @@
 Utf8_4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_UTF8String.free_struct;
 	td->print_struct   = asn_DEF_UTF8String.print_struct;
+	td->check_constraints = asn_DEF_UTF8String.check_constraints;
 	td->ber_decoder    = asn_DEF_UTF8String.ber_decoder;
 	td->der_encoder    = asn_DEF_UTF8String.der_encoder;
 	td->xer_decoder    = asn_DEF_UTF8String.xer_decoder;
@@ -2958,6 +2977,7 @@
 Utf8_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Utf8_2.free_struct;
 	td->print_struct   = asn_DEF_Utf8_2.print_struct;
+	td->check_constraints = asn_DEF_Utf8_2.check_constraints;
 	td->ber_decoder    = asn_DEF_Utf8_2.ber_decoder;
 	td->der_encoder    = asn_DEF_Utf8_2.der_encoder;
 	td->xer_decoder    = asn_DEF_Utf8_2.xer_decoder;
@@ -3106,6 +3126,7 @@
 Utf8_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Utf8_1.free_struct;
 	td->print_struct   = asn_DEF_Utf8_1.print_struct;
+	td->check_constraints = asn_DEF_Utf8_1.check_constraints;
 	td->ber_decoder    = asn_DEF_Utf8_1.ber_decoder;
 	td->der_encoder    = asn_DEF_Utf8_1.der_encoder;
 	td->xer_decoder    = asn_DEF_Utf8_1.xer_decoder;
@@ -3230,6 +3251,7 @@
 Utf8_1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_UTF8String.free_struct;
 	td->print_struct   = asn_DEF_UTF8String.print_struct;
+	td->check_constraints = asn_DEF_UTF8String.check_constraints;
 	td->ber_decoder    = asn_DEF_UTF8String.ber_decoder;
 	td->der_encoder    = asn_DEF_UTF8String.der_encoder;
 	td->xer_decoder    = asn_DEF_UTF8String.xer_decoder;
@@ -3401,6 +3423,7 @@
 VisibleIdentifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_Identifier.free_struct;
 	td->print_struct   = asn_DEF_Identifier.print_struct;
+	td->check_constraints = asn_DEF_Identifier.check_constraints;
 	td->ber_decoder    = asn_DEF_Identifier.ber_decoder;
 	td->der_encoder    = asn_DEF_Identifier.der_encoder;
 	td->xer_decoder    = asn_DEF_Identifier.xer_decoder;
@@ -3551,6 +3574,7 @@
 enum_c_6_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_ENUMERATED.free_struct;
 	td->print_struct   = asn_DEF_ENUMERATED.print_struct;
+	td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
 	td->ber_decoder    = asn_DEF_ENUMERATED.ber_decoder;
 	td->der_encoder    = asn_DEF_ENUMERATED.der_encoder;
 	td->xer_decoder    = asn_DEF_ENUMERATED.xer_decoder;
@@ -4017,6 +4041,7 @@
 Enum0_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_ENUMERATED.free_struct;
 	td->print_struct   = asn_DEF_ENUMERATED.print_struct;
+	td->check_constraints = asn_DEF_ENUMERATED.check_constraints;
 	td->ber_decoder    = asn_DEF_ENUMERATED.ber_decoder;
 	td->der_encoder    = asn_DEF_ENUMERATED.der_encoder;
 	td->xer_decoder    = asn_DEF_ENUMERATED.xer_decoder;
@@ -4182,6 +4207,7 @@
 Enum1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_NativeEnumerated.free_struct;
 	td->print_struct   = asn_DEF_NativeEnumerated.print_struct;
+	td->check_constraints = asn_DEF_NativeEnumerated.check_constraints;
 	td->ber_decoder    = asn_DEF_NativeEnumerated.ber_decoder;
 	td->der_encoder    = asn_DEF_NativeEnumerated.der_encoder;
 	td->xer_decoder    = asn_DEF_NativeEnumerated.xer_decoder;
@@ -4370,6 +4396,7 @@
 Identifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 	td->free_struct    = asn_DEF_VisibleString.free_struct;
 	td->print_struct   = asn_DEF_VisibleString.print_struct;
+	td->check_constraints = asn_DEF_VisibleString.check_constraints;
 	td->ber_decoder    = asn_DEF_VisibleString.ber_decoder;
 	td->der_encoder    = asn_DEF_VisibleString.der_encoder;
 	td->xer_decoder    = asn_DEF_VisibleString.xer_decoder;