]> granicus.if.org Git - php/commitdiff
Suppress static analyzer warnings in specialized executor
authorAnatol Belski <ab@php.net>
Fri, 23 Aug 2013 15:41:07 +0000 (17:41 +0200)
committerAnatol Belski <ab@php.net>
Fri, 23 Aug 2013 15:41:07 +0000 (17:41 +0200)
As things like if(0) will be removed by the compiler, no need
to see that tons of warnings with static analyzer enabled.

Zend/zend_vm_execute.h
Zend/zend_vm_gen.php

index a80d9a453ba203cac3d8f430822171fb55fd5834..2ba6bfef1d93b0263b6290a854d9f4a0e52518e2 100644 (file)
 
 #ifdef ZEND_WIN32
 # pragma warning(once : 4101)
+# pragma warning(once : 6235)
+# pragma warning(once : 6237)
+# pragma warning(once : 6239)
+# pragma warning(once : 6240)
+# pragma warning(once : 6285)
+# pragma warning(once : 6286)
+# pragma warning(once : 6326)
 #endif
 static user_opcode_handler_t zend_user_opcode_handlers[256] = {
        (user_opcode_handler_t)NULL,
index 9a757114780b5eb6e6893f0dd10957f17eee3d58..9b2877b9968f9bb16099d95fe6f606b2f058a702 100644 (file)
@@ -1189,8 +1189,26 @@ function gen_vm($def, $skel) {
        // Insert header
        out($f, $GLOBALS['header_text']);
 
+       out($f, "#ifdef ZEND_WIN32\n");
        // Suppress free_op1 warnings on Windows
-       out($f, "#ifdef ZEND_WIN32\n# pragma warning(once : 4101)\n#endif\n");
+       out($f, "# pragma warning(once : 4101)\n");
+       if (ZEND_VM_SPEC) {
+               // Suppress (<non-zero constant> || <expression>) warnings on windows
+               out($f, "# pragma warning(once : 6235)\n");
+               // Suppress (<zero> && <expression>) warnings on windows
+               out($f, "# pragma warning(once : 6237)\n");
+               // Suppress (<non-zero constant> && <expression>) warnings on windows
+               out($f, "# pragma warning(once : 6239)\n");
+               // Suppress (<expression> && <non-zero constant>) warnings on windows
+               out($f, "# pragma warning(once : 6240)\n");
+               // Suppress (<non-zero constant> || <non-zero constant>) warnings on windows
+               out($f, "# pragma warning(once : 6285)\n");
+               // Suppress (<non-zero constant> || <expression>) warnings on windows
+               out($f, "# pragma warning(once : 6286)\n");
+               // Suppress constant with constant comparsion warnings on windows
+               out($f, "# pragma warning(once : 6326)\n");
+       }
+       out($f, "#endif\n");
        
        // Support for ZEND_USER_OPCODE
        out($f, "static user_opcode_handler_t zend_user_opcode_handlers[256] = {\n");