aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1compiler
diff options
context:
space:
mode:
Diffstat (limited to 'libasn1compiler')
-rw-r--r--libasn1compiler/asn1c_C.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libasn1compiler/asn1c_C.c b/libasn1compiler/asn1c_C.c
index 9d3cff57..bc9102ec 100644
--- a/libasn1compiler/asn1c_C.c
+++ b/libasn1compiler/asn1c_C.c
@@ -2151,7 +2151,9 @@ emit_member_table(arg_t *arg, asn1p_expr_t *expr) {
OUT(",\n");
if(C99_MODE) OUT(".tag_mode = ");
- if(expr->tag.tag_class) {
+ if((!(expr->expr_type & ASN_CONSTR_MASK)
+ || expr->expr_type == ASN_CONSTR_CHOICE)
+ && expr->tag.tag_class) {
if(expr->tag.tag_mode == TM_IMPLICIT)
OUT("-1,\t/* IMPLICIT tag at current level */\n");
else