moved -DASN_PDU_COLLECTION into compiler


git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@1200 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/libasn1parser/asn1p_value.c b/libasn1parser/asn1p_value.c
index cafc1f9..63c80c7 100644
--- a/libasn1parser/asn1p_value.c
+++ b/libasn1parser/asn1p_value.c
@@ -133,6 +133,16 @@
 }
 
 asn1p_value_t *
+asn1p_value_fromtype(asn1p_expr_t *expr) {
+	asn1p_value_t *v = calloc(1, sizeof *v);
+	if(v) {
+		v->value.v_type = expr;
+		v->type = ATV_TYPE;
+	}
+	return v;
+}
+
+asn1p_value_t *
 asn1p_value_clone(asn1p_value_t *v) {
 	return asn1p_value_clone_with_resolver(v, 0, 0);
 }
@@ -149,6 +159,8 @@
 			return calloc(1, sizeof(*clone));
 		case ATV_REAL:
 			return asn1p_value_fromdouble(v->value.v_double);
+		case ATV_TYPE:
+			return asn1p_value_fromtype(v->value.v_type);
 		case ATV_INTEGER:
 		case ATV_MIN:
 		case ATV_MAX:
@@ -213,6 +225,9 @@
 		case ATV_NOVALUE:
 		case ATV_NULL:
 			break;
+		case ATV_TYPE:
+			asn1p_expr_free(v->value.v_type);
+			break;
 		case ATV_REAL:
 		case ATV_INTEGER:
 		case ATV_MIN: