fix ioc value encoding
diff --git a/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-EFprint-class-matrix b/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-EFprint-class-matrix
new file mode 100644
index 0000000..097ec4c
--- /dev/null
+++ b/tests/tests-asn1c-compiler/141-component-relation-OK.asn1.-EFprint-class-matrix
@@ -0,0 +1,40 @@
+ModuleComponentRelationConstraint { iso org(3) dod(6) internet(1) private(4)
+	enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 141 }
+DEFINITIONS ::=
+BEGIN
+
+Frame ::= SEQUENCE {
+    ident	 FRAME-STRUCTURE.&id ({FrameTypes}),
+    value	 FRAME-STRUCTURE.&Type ({FrameTypes}{@.ident}),
+    ...
+}
+
+FRAME-STRUCTURE ::= CLASS {
+    &id	 ConstrainedInteger UNIQUE,
+    &Type	 ANY
+} WITH SYNTAX {&Type IDENTIFIED BY &id}
+
+-- Information Object Set has 2 entries:
+--    [             &id][           &Type]
+-- [1]      primMessage  PrimitiveMessage 
+-- [2]      cplxMessage    ComplexMessage 
+
+
+ConstrainedInteger ::= INTEGER (0..32767)
+
+FrameTypes FRAME-STRUCTURE ::= {{ PrimitiveMessage IDENTIFIED BY primMessage } | { ComplexMessage IDENTIFIED BY cplxMessage },...}
+-- Information Object Set has 2 entries:
+--    [             &id][           &Type]
+-- [1]      primMessage  PrimitiveMessage 
+-- [2]      cplxMessage    ComplexMessage 
+
+
+PrimitiveMessage ::= SEQUENCE { }
+
+ComplexMessage ::= SEQUENCE { }
+
+primMessage INTEGER ::= 1
+
+cplxMessage INTEGER ::= 2
+
+END