alexfh added a comment.

The changes in Driver LGTM (though I'd prefer someone who knows Driver to look).

Could you move lib/Tooling/JSONCompilationDatabase.cpp to a separate patch? It 
seems like an orthogonal change.

As for a clang-cl-mode test for clang-tidy, clang-tidy-run-with-database.cpp is 
only tangentially related. We probably need two tests: one with a JSON 
compilation database and the other with a fixed compilation database (passing 
compiler arguments after `--`). In both cases I'd use flags like `/D` to verify 
correct parsing of the command line. Something along the lines of:

  // RUN: clang-tidy -checks=-*,modernize-use-nullptr %s -- clang-cl /DTEST1 
/DFOO=foo /DBAR#bar | FileCheck -implicit-check-not="{{warning|error}}:" %s
  int *a = 0;
  // CHECK: :[[@LINE-1]]:10: warning: use nullptr
  #ifdef TEST1
  int *b = 0;
  // CHECK: :[[@LINE-1]]:10: warning: use nullptr
  #endif
  #define foo 1
  #define bar 1
  #if FOO
  int *c = 0;
  // CHECK: :[[@LINE-1]]:10: warning: use nullptr
  #endif
  #if BAR
  int *d = 0;
  // CHECK: :[[@LINE-1]]:10: warning: use nullptr
  #endif

Maybe some other aspects of clang-cl mode options parsing can be tested this 
way as well.


https://reviews.llvm.org/D23409



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to