ATF-devel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[PATCH] compiler warnings for NULL usage in a comparison



Using the tip of the mtn tree, the setup used -Werror on the compile
that was generating the following problems.

g++ -DHAVE_CONFIG_H -I.  "-DATF_ARCH=\"amd64\""
"-DATF_BUILD_CC=\"gcc\"" "-DATF_BUILD_CFLAGS=\"-g -O2  -g -Wall
-Wcast-qual -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter
-Wpointer-arith -Wredundant-decls -Wreturn-type -Wshadow -Wswitch
-Wwrite-strings -D_FORTIFY_SOURCE=2 -Wmissing-prototypes
-Wno-traditional -Wstrict-prototypes\"" "-DATF_BUILD_CPP=\"gcc -E\""
"-DATF_BUILD_CPPFLAGS=\"\"" "-DATF_BUILD_CXX=\"g++\""
"-DATF_BUILD_CXXFLAGS=\"-g -O2  -g -Wall -Wcast-qual -Werror -Wextra
-Wno-sign-compare -Wno-unused-parameter -Wpointer-arith
-Wredundant-decls -Wreturn-type -Wshadow -Wswitch -Wwrite-strings
-D_FORTIFY_SOURCE=2 -Wabi -Wctor-dtor-privacy -Wno-deprecated
-Wno-non-template-friend -Wno-pmf-conversions -Wnon-virtual-dtor
-Woverloaded-virtual -Wreorder -Wsign-promo -Wsynth\""
"-DATF_CONFDIR=\"/usr/local/etc/atf\""
"-DATF_INCLUDEDIR=\"/usr/local/include\""
"-DATF_LIBDIR=\"/usr/local/lib\""
"-DATF_LIBEXECDIR=\"/usr/local/libexec\"" "-DATF_MACHINE=\"x86_64\""
"-DATF_PKGDATADIR=\"/usr/local/share/atf\""
"-DATF_SHELL=\"/bin/bash\"" "-DATF_WORKDIR=\"/tmp\""   -g -O2  -g
-Wall -Wcast-qual -Werror -Wextra -Wno-sign-compare
-Wno-unused-parameter -Wpointer-arith -Wredundant-decls -Wreturn-type
-Wshadow -Wswitch -Wwrite-strings -D_FORTIFY_SOURCE=2 -Wabi
-Wctor-dtor-privacy -Wno-deprecated -Wno-non-template-friend
-Wno-pmf-conversions -Wnon-virtual-dtor -Woverloaded-virtual -Wreorder
-Wsign-promo -Wsynth -MT tests/atf/atf-c++/t_check.o -MD -MP -MF
$depbase.Tpo -c -o tests/atf/atf-c++/t_check.o
tests/atf/atf-c++/t_check.cpp &&\
mv -f $depbase.Tpo $depbase.Po
cc1plus: warnings being treated as errors
tests/atf/atf-c++/t_check.cpp: In member function ‘virtual void
atfu_tc_argv_array_assign::body() const’:
tests/atf/atf-c++/t_check.cpp:269: warning: passing NULL to
non-pointer argument 1 of ‘std::basic_ostream<_CharT, _Traits>&
std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT
= char, _Traits = std::char_traits<char>]’
tests/atf/atf-c++/t_check.cpp: In member function ‘virtual void
atfu_tc_argv_array_copy::body() const’:
tests/atf/atf-c++/t_check.cpp:298: warning: passing NULL to
non-pointer argument 1 of ‘std::basic_ostream<_CharT, _Traits>&
std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT
= char, _Traits = std::char_traits<char>]’
tests/atf/atf-c++/t_check.cpp: In member function ‘virtual void
atfu_tc_argv_array_exec_argv::body() const’:
tests/atf/atf-c++/t_check.cpp:318: warning: passing NULL to
non-pointer argument 1 of ‘std::basic_ostream<_CharT, _Traits>&
std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT
= char, _Traits = std::char_traits<char>]’
tests/atf/atf-c++/t_check.cpp:327: warning: passing NULL to
non-pointer argument 1 of ‘std::basic_ostream<_CharT, _Traits>&
std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT
= char, _Traits = std::char_traits<char>]’
tests/atf/atf-c++/t_check.cpp:337: warning: passing NULL to
non-pointer argument 1 of ‘std::basic_ostream<_CharT, _Traits>&
std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT
= char, _Traits = std::char_traits<char>]’
make[1]: *** [tests/atf/atf-c++/t_check.o] Error 1
make[1]: Leaving directory `/home/chardin/depot/nmd/head/ports/atf.new'
make: *** [all] Error 2

Double checked the macro for ATF_CHECK_EQUAL and outputting the "NULL"
as a string appears to be the issue for this compiler warning.

So, did the patch below to help mitigate the problem.

Thanks,
Charles

--- atf.orig/tests/atf/atf-c++/t_check.cpp2009-05-01 17:35:02.000000000 -0700
+++ atf.new/tests/atf/atf-c++/t_check.cpp2009-05-30 13:16:05.000000000 -0700
@@ -266,7 +266,7 @@
     {
         const char* const* eargv2 = argv2->exec_argv();
         ATF_CHECK(std::strcmp(eargv2[0], carray1[0]) == 0);
-        ATF_CHECK_EQUAL(eargv2[1], NULL);
+        ATF_CHECK(eargv2[1] == NULL);
     }

     argv2.release();
@@ -295,7 +295,7 @@
     {
         const char* const* eargv2 = argv2->exec_argv();
         ATF_CHECK(std::strcmp(eargv2[0], carray[0]) == 0);
-        ATF_CHECK_EQUAL(eargv2[1], NULL);
+        ATF_CHECK(eargv2[1] == NULL);
     }

     argv2.release();
@@ -315,7 +315,7 @@
         argv_array argv;
         const char* const* eargv = argv.exec_argv();
         ATF_CHECK_EQUAL(array_size(eargv), 0);
-        ATF_CHECK_EQUAL(eargv[0], NULL);
+        ATF_CHECK(eargv[0] == NULL);
     }

     {
@@ -324,7 +324,7 @@
         const char* const* eargv = argv.exec_argv();
         ATF_CHECK_EQUAL(array_size(eargv), 1);
         ATF_CHECK(std::strcmp(eargv[0], "arg0") == 0);
-        ATF_CHECK_EQUAL(eargv[1], NULL);
+        ATF_CHECK(eargv[1] == NULL);
     }

     {
@@ -334,7 +334,7 @@
         const char* const* eargv = argv.exec_argv();
         ATF_CHECK_EQUAL(array_size(eargv), 1);
         ATF_CHECK(std::strcmp(eargv[0], "arg0") == 0);
-        ATF_CHECK_EQUAL(eargv[1], NULL);
+        ATF_CHECK(eargv[1] == NULL);
     }
 }
--- atf.orig/tests/atf/atf-c++/t_check.cpp      2009-05-01 17:35:02.000000000 
-0700
+++ atf.new/tests/atf/atf-c++/t_check.cpp       2009-05-30 13:16:05.000000000 
-0700
@@ -266,7 +266,7 @@
     {
         const char* const* eargv2 = argv2->exec_argv();
         ATF_CHECK(std::strcmp(eargv2[0], carray1[0]) == 0);
-        ATF_CHECK_EQUAL(eargv2[1], NULL);
+        ATF_CHECK(eargv2[1] == NULL);
     }
 
     argv2.release();
@@ -295,7 +295,7 @@
     {
         const char* const* eargv2 = argv2->exec_argv();
         ATF_CHECK(std::strcmp(eargv2[0], carray[0]) == 0);
-        ATF_CHECK_EQUAL(eargv2[1], NULL);
+        ATF_CHECK(eargv2[1] == NULL);
     }
 
     argv2.release();
@@ -315,7 +315,7 @@
         argv_array argv;
         const char* const* eargv = argv.exec_argv();
         ATF_CHECK_EQUAL(array_size(eargv), 0);
-        ATF_CHECK_EQUAL(eargv[0], NULL);
+        ATF_CHECK(eargv[0] == NULL);
     }
 
     {
@@ -324,7 +324,7 @@
         const char* const* eargv = argv.exec_argv();
         ATF_CHECK_EQUAL(array_size(eargv), 1);
         ATF_CHECK(std::strcmp(eargv[0], "arg0") == 0);
-        ATF_CHECK_EQUAL(eargv[1], NULL);
+        ATF_CHECK(eargv[1] == NULL);
     }
 
     {
@@ -334,7 +334,7 @@
         const char* const* eargv = argv.exec_argv();
         ATF_CHECK_EQUAL(array_size(eargv), 1);
         ATF_CHECK(std::strcmp(eargv[0], "arg0") == 0);
-        ATF_CHECK_EQUAL(eargv[1], NULL);
+        ATF_CHECK(eargv[1] == NULL);
     }
 }
 


Home | Main Index | Thread Index | Old Index