[cfe-dev] Significant change to -verify feature

Andy Gibbs andyg1001 at hotmail.co.uk
Fri Oct 19 06:46:24 PDT 2012


Hi,

A fairly significant change has just been committed to 
VerifyDiagnosticConsumer which handles the functionality of the -verify 
switch in clang.  This *may* affect people writing test-cases using 
the -verify switch in future, so here is a quick summary of the change that 
has taken place for those who have not been part of the discussion regarding 
this on cfe-commits.

VerifyDiagnosticConsumer now requires at least one "expected-*" directive to 
be encountered while compiling a source file.  If none are found, an error 
will be generated.  In order to flag test-cases that are not expected to 
generate any diagnostics, a new directive "expected-no-diagnostics" has been 
created.  This can be used by simply including the following line somewhere 
in the test-case:

  // expected-no-diagnostics

This directive cannot be used in conjunction with any other "expected-*" 
directive, otherwise an error will be generated.  The original logic 
regarding the handling of expected and unexpected diagnostics remains as 
before.

Documentation of the -verify feature can be found at 
http://clang.llvm.org/docs/InternalsManual.html#DiagnosticClient and 
http://clang.llvm.org/doxygen/classclang_1_1VerifyDiagnosticConsumer.html#details 
(when next refreshed!).

Thanks for your time!

Andy





More information about the cfe-dev mailing list