diff --git a/compiler/cpp/src/globals.h b/compiler/cpp/src/globals.h
index 3b9e4a4..b204143 100644
--- a/compiler/cpp/src/globals.h
+++ b/compiler/cpp/src/globals.h
@@ -54,6 +54,11 @@
 };
 
 /**
+ * Strictness level
+ */
+extern int g_strict;
+
+/**
  * The master program parse tree. This is accessed from within the parser code
  * to build up the program elements.
  */
diff --git a/compiler/cpp/src/main.cc b/compiler/cpp/src/main.cc
index 8a0bd68..7a5d2d4 100644
--- a/compiler/cpp/src/main.cc
+++ b/compiler/cpp/src/main.cc
@@ -121,6 +121,11 @@
 int g_debug = 0;
 
 /**
+ * Strictness level
+ */
+int g_strict = 127;
+
+/**
  * Warning level
  */
 int g_warn = 1;
@@ -928,6 +933,7 @@
       } else if (strcmp(arg, "-nowarn") == 0) {
         g_warn = 0;
       } else if (strcmp(arg, "-strict") == 0) {
+        g_strict = 255;
         g_warn = 2;
       } else if (strcmp(arg, "-v") == 0 || strcmp(arg, "-verbose") == 0 ) {
         g_verbose = 1;
diff --git a/compiler/cpp/src/thrifty.yy b/compiler/cpp/src/thrifty.yy
index c050590..bf5408e 100644
--- a/compiler/cpp/src/thrifty.yy
+++ b/compiler/cpp/src/thrifty.yy
@@ -848,6 +848,10 @@
       pdebug("tok_int_constant : Field -> FieldType tok_identifier");
       if ($2 < 0) {
         pwarning(1, "No field key specified for %s, resulting protocol may have conflicts or not be backwards compatible!\n", $5);
+        if (g_strict >= 192) {
+          yyerror("Implicit field keys are deprecated and not allowed with -strict");
+          exit(1);
+        }
       }
       $$ = new t_field($4, $5, $2);
       $$->set_req($3);
