[cfe-commits] [Patch 1 of 4] -verify fixes (stage 2)

Andy Gibbs andyg1001 at hotmail.co.uk
Tue Jul 17 09:18:37 PDT 2012


Hi,

The next stage of changes for -verify is now ready, and I am submitting
them for comments.  These four patches pick up where the last set left
off, and fix the remaining issues as discussed previously.

Unfortunately, this time the patches did not easily split out, but I have
attempted to do so in a logical way for easier review.  But it does mean,
however, that all patches should be committed together since they do rely
on each other.

Attached to this post is part 1.  In this part, the main set of changes
to VerifyDiagnosticConsumer are made, and this consists of:

1. Renaming FilesWithDirectives to FilesParsedForDirectives which better
   describes its actual use (sorry!).

2. As a result, rolled back a change made by Jordan relating to the old
   FilesWithDirectives where files were only added if directives were
   found.

3. Integrated PPCallbacks so that FilesParsedForDirectives also includes
   files which have been seen but have no visible directives (e.g. they are
   all inside skipped #if blocks).

4. Ensure that repeated BeginSourceFile calls are handled correctly, as is
   a mismatch between calls of BeginSourceFile and EndSourceFile (it turns
   out, the latter is often called twice while the former only once, but
   also it is possible for BeginSourceFile to be called more than once too).

5. No longer add directives found during post-processing, but generate an
   error if such directives *are* found (which they shouldn't be!).

6. Only do the post-processing check in a debug/asserts build now since it
   is not otherwise necessary, and in an optimised build we can save the
   cost of this check.


This patch breaks test-cases, but these are picked up in the next three
patches.

Questions and general grilling as ever are welcome :o)

Andy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch1-main.diff
Type: application/octet-stream
Size: 13292 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120717/0e32a8c9/attachment.obj>


More information about the cfe-commits mailing list