force use variable
diff --git a/libasn1compiler/asn1c_constraint.c b/libasn1compiler/asn1c_constraint.c
index 6b23d5c..52874b3 100644
--- a/libasn1compiler/asn1c_constraint.c
+++ b/libasn1compiler/asn1c_constraint.c
@@ -492,8 +492,16 @@
 
 	if(range) {
 		OUT("if(!(");
-		emit_range_comparison_code(arg, range, "cv", 0, natural_stop);
-		OUT(")) return -1;\n");
+        int produced_something =
+            emit_range_comparison_code(arg, range, "cv", 0, natural_stop);
+        if(produced_something) {
+            OUT(")) return -1;\n");
+        } else {
+            OUT(")) {\n");
+            OUT("\t(void)cv; /* Unused variable */\n");
+            OUT("\treturn -1;\n");
+            OUT("}\n");
+        }
 	} else {
 		OUT("if(!table[cv]) return -1;\n");
 	}