Notes about subtle details of Compass

************************************************************************
Removing all the output files before regeneration:
find . -name "*TestOutput.txt" -exec rm {} \;


DQ (1/4/2008): When commenting out checkers, the "#" cannot be 
seperated from the name of the checker.
So use:
#checker 
instead of: 
# checker

************************************************************************
Why are there two *.tex files in each directory? (Answer from Gary Yuan)
   The two .tex files was a fix for highlight and the (un)archive mechanism 
that would make new tarballs in the repository of current checkers. What 
happened was that if highlight was turned on then the original .tex file 
would be overwritten by the highlighted version in the archive. But since 
there are now two .tex files, one is left as the original (* Docs.tex) 
and one is automatically generated/highlighted (*Docs.new.tex). Both files 
are necessary but the .new.tex file can be regenerated if removed.


Greg White was missing the following files in this distribution:
    introduction.tex
    compassSupport/compassDocs.tex
This issue is now fixed in the Makefile.am files.


************************************************************************
DQ (5/14/2008): We need an automated test for the process that builds 
a new checker.

************************************************************************
DQ (6/28/2008): We need some checker infrastructure to support the classification of
source files and header files as being either:
   1) user application (in same directory as input source file, sharing same directory
      structure as user, etc.)
   2) library specific (e.g. STL, Boost, MPI, usr/apps, etc.)
   3) compiler specific (GNU specific vs. Intel, etc.)
   4) langauge specific (C++, vs. C)
   5) part of the OS (Linux, OSX, etc.)
   6) part of the OS (Unix specific, Windows, etc.)
   7) Some sort of default for anything unclassifiable.

To test this we need to collect a list of the header files included when compiling
under Linux, and OSX (and later Windows) and use then as input strings to test
the filter that would be built to classify the file names.

************************************************************************

DQ (7/3/2008): Email from Gary Yuan, we will want to get the 
unparseToString() function out of these checkers at some point.

I was able to run through `make verify` last night using compassVerifier without any
unexpected errors. I found the following list of checkers used unparseToString() in
their traversal:

assignmentReturnConstThis
constCast
dynamicCast
emptyInsteadOfSize
magicNumber
mallocReturnValueUsedInIfStmt
newDelete
nonStandardTypeRefArgs
nonStandardTypedefReturns
nullDeref
pushBack
sizeOfPointer
typeTypedef

Thanks,
Gary

************************************************************************

************************************************************************

************************************************************************

************************************************************************

************************************************************************

************************************************************************

************************************************************************

************************************************************************

************************************************************************

************************************************************************

************************************************************************

************************************************************************

************************************************************************



