-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the OpenCanary wiki!
Ideas for static checking:
-
check project files for duplicate file-references (vs2013 seems to add references in .filter files multiple times ??)
-
guid uniqueness over IDLs
-
'Register output' should always be ON for projects that build COM type-libraries (.tlb)
-
project references that use 'link referenced library' for non-static libraries
-
using namespace in header files == error!!!
-
including files (.h and .cpp) from a different projects! (../ backreferences can only go into /shared or /sdk folders that are closer to the root) not into other projects, or lower /shared folders.
-
files that are never used (.h/.cpp) aka dead code
-
pre c++11 non-'std'::make_unique references (custom make_unique implementations)
-
projects that dont have Warning level 4 and 'set warnings as errors'
-
ignore "derives publicly from class 'CComObjectRootEx' "
-
ignore "derives publicly from class [empty] "
-
collect compiler errors from build-logfiles from projects that don't have 'set warnings as errors'
-
collect warnings from installer-build
-
collect warnings from smoketest-installation
-
solutions containing non-existing projects
-
projects containing non-existing files *.h or *.txt etc. (this can cause project-full build / inhibit incremental building)
-
project build after a project-rebuild should not be compiling anything
-
check version numbers in scots component package.useonly.xml
-
ERROR: RegAsm : error RA0000 : CLR assembly 'C:\SB\motion_mainFDT\bin\Release64\x.dll' was imported from a type library and cannot be re-exported to a type library. Make sure the type library from which the assembly was imported is registered.
-
WARNING: Registration database and file timestamps are different
-
Missing "Label" attribute
-
strange messages ?? " A system error has occurred" , "System error 1067 has occurred", "The process terminated unexpectedly."
-
remore LIBID_ referenecs
-
check for if (&foo == nullptr) {} a reference cannot be bound to dereferenced null pointer in well-defined C++ code; comparison may be assumed to always evaluate to false [-Wtautological-undefined-compare]