[Insight-developers] Useful compiler warning flags? Add as a patch?

Dženan Zukić dzenanz at gmail.com
Mon Mar 21 11:35:36 EDT 2011


I use visual studio, and it needs the following warning (about unsafe
functions) disabled by default:
warning C4996: 'fopen': This function or variable may be unsafe. Consider
using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

Some projects have this warning disabled, I am not sure whether ITK is among
them.

Regards,
Dženan

On Fri, Mar 18, 2011 at 19:18, Nicholas Tustison <ntustison at gmail.com>wrote:

> Not that it means much, but you certainly have my vote.  Every time I
> install a fresh ITK, I have to refer to a saved email from Hans where
> he listed all the compiler flags he uses.
>
> Nick
>
>
>
> On Mar 18, 2011, at 2:07 PM, Williams, Norman K wrote:
>
> > Wrote this for BRAINS, and it could/should be part of ITK. It has a list
> > of GCC/G++ picky compiler warnings, and checks to see if they're
> supported
> > by the current compiler.  For BRAINS we run with these full time. It
> > doesn't make us write better code, necessarily but it has flushed a few
> > bugs and ends up being a first-line critique of our code as we write it.
> >
> > A few questions.
> >
> >
> > Should I just chuck it in ITK/CMake, include it in top level
> > CMakeLists.txt?
> >
> > Should there be (yet another) ITK CMake option to turn this on/off, and
> > what should it be named -- ITK_USE_PICKY_COMPILER_WARNINGS?
> >
> > We append the list to CMAKE_C_FLAGS and CMAKE_CXX_FLAGS CMake variables
> --
> > which in CMake-land usually contains the CFLAGS & CXXFLAGS env variables.
> > Is there a better way?
> >
> > Those of you who use non-GCC compilers, what are your favorite picky
> > warning options?
> >
> > include(CheckCCompilerFlag)
> > include(CheckCXXCompilerFlag)
> >
> > #
> > # this functions loops through the list to add the flags
> > # supported by the current compiler
> > function(test_cc_flags c_flag_var flag_list)
> >  set(local_c_flags "")
> >  foreach(flag IN LISTS ${flag_list})
> >    check_c_compiler_flag(${flag} C_HAS${flag})
> >    if(${C_HAS${flag}})
> >      set(local_c_flags "${local_c_flags} ${flag}")
> >    endif()
> >  endforeach(flag)
> >  set(${c_flag_var} "${local_c_flags}" PARENT_SCOPE)
> > endfunction(test_cc_flags)
> >
> > #
> > # this functions loops through the list to add the flags
> > # supported by the current compiler
> > function(test_cxx_flags cxx_flag_var flag_list)
> >  set(local_cxx_flags "")
> >  foreach(flag IN LISTS ${flag_list})
> >    check_cxx_compiler_flag(${flag} CXX_HAS${flag})
> >    if(${CXX_HAS${flag}})
> >      set(local_cxx_flags "${local_cxx_flags} ${flag}")
> >    endif()
> >  endforeach(flag)
> >  set(${cxx_flag_var} "${local_cxx_flags}" PARENT_SCOPE)
> > endfunction(test_cxx_flags)
> >
> > #-pedantic
> > set(common_flags_to_test
> > -Wall
> > -Wextra
> > #-Wshadow
> > -Wlong-long
> > -fopenmp
> > )
> >
> > set(cc_flags_to_test ${common_flags_to_test})
> >
> > test_cc_flags(C_RELEASE_DESIRED_FLAGS cc_flags_to_test)
> > test_cc_flags(C_DEBUG_DESIRED_FLAGS cc_flags_to_test)
> >
> > set(cxx_flags_to_test ${common_flags_to_test} -Wno-invalid-offsetof )
> > test_cxx_flags(CXX_RELEASE_DESIRED_FLAGS cxx_flags_to_test)
> > test_cxx_flags(CXX_DEBUG_DESIRED_FLAGS cxx_flags_to_test)
> >
> >
> >
> > ________________________________
> > Notice: This UI Health Care e-mail (including attachments) is covered by
> the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is
> confidential and may be legally privileged.  If you are not the intended
> recipient, you are hereby notified that any retention, dissemination,
> distribution, or copying of this communication is strictly prohibited.
>  Please reply to the sender that you have received the message in error,
> then delete it.  Thank you.
> > ________________________________
> > _______________________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Kitware offers ITK Training Courses, for more information visit:
> > http://kitware.com/products/protraining.html
> >
> > Please keep messages on-topic and check the ITK FAQ at:
> > http://www.itk.org/Wiki/ITK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.itk.org/mailman/listinfo/insight-developers
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.html
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20110321/e87d3511/attachment.htm>


More information about the Insight-developers mailing list