Index: src/Parser/lex.ll
===================================================================
--- src/Parser/lex.ll	(revision dc56b9d88cf82f868f003d67991e756cbbd93bf1)
+++ src/Parser/lex.ll	(revision b859f59ebd77d3938fa0f3ac53bcd0b8d708f3b4)
@@ -24,4 +24,8 @@
 
 //**************************** Includes and Defines ****************************
+
+#ifdef __clang__
+#pragma GCC diagnostic ignored "-Wnull-conversion"
+#endif
 
 // trigger before each matching rule's action
Index: src/Parser/parser.yy
===================================================================
--- src/Parser/parser.yy	(revision dc56b9d88cf82f868f003d67991e756cbbd93bf1)
+++ src/Parser/parser.yy	(revision b859f59ebd77d3938fa0f3ac53bcd0b8d708f3b4)
@@ -58,7 +58,7 @@
 
 // lex uses __null in a boolean context, it's fine.
-#pragma GCC diagnostic ignored "-Wpragmas"
+#ifdef __clang__
 #pragma GCC diagnostic ignored "-Wparentheses-equality"
-#pragma GCC diagnostic warning "-Wpragmas"
+#endif
 
 extern DeclarationNode * parseTree;
@@ -2570,5 +2570,5 @@
 		{
 			$$ = DeclarationNode::newEnum( $5, $8, true, true, nullptr )->addQualifiers( $4 )->addQualifiers( $6 );
-		}	
+		}
 	| ENUM '(' cfa_abstract_parameter_declaration ')' attribute_list_opt typedef_name attribute_list_opt '{' enumerator_list comma_opt '}'
 		{
@@ -2585,5 +2585,5 @@
 	ENUM attribute_list_opt identifier
 		{ typedefTable.makeTypedef( *$3 ); $$ = DeclarationNode::newEnum( $3, 0, false, false )->addQualifiers( $2 ); }
-	| ENUM attribute_list_opt type_name	
+	| ENUM attribute_list_opt type_name
 		{ typedefTable.makeTypedef( *$3->type->symbolic.name );	$$ = DeclarationNode::newEnum( $3->type->symbolic.name, 0, false, false )->addQualifiers( $2 ); }
 	;
