[PATCH] Introducing new tool clang-replace

Tareq A. Siraj tareq.a.siraj at intel.com
Fri Aug 16 10:55:26 PDT 2013



================
Comment at: clang-replace/ApplyReplacements.cpp:33
@@ +32,3 @@
+/// \brief Recursively descends through a directory structure rooted at \p
+/// Directory and attempts to parse all *.yaml files as ReplacementsDocs. All
+/// docs that successfully parse are added to \p ChangeDocs.
----------------
Shouldn't this be "... parse all yaml files..." (*.yaml means all yaml files)?

================
Comment at: clang-replace/ApplyReplacements.cpp:70
@@ +69,3 @@
+    yaml::Input YIn(Out->getBuffer());
+    YIn.setDiagHandler(&eatDiagnostics);
+    tooling::ReplacementsDocument Doc;
----------------
If this is to suppress the diagnostics in case of non-replacement yaml file, please put a comment mentioning it.

Also, can there be other type of diagnostics than trying to parse non-replacement yaml files?

================
Comment at: test/clang-replace/conflict.cpp:2
@@ +1,3 @@
+// RUN: mkdir -p %T/conflict
+// RUN: for f in %S/conflict/*.yaml; do sed "s#\$(path)#%S/conflict#" $f > %T/conflict/`basename $f`; done
+// RUN: sed "s#\$(path)#%S/conflict#" %S/conflict/expected.txt > %T/conflict/expected.txt
----------------
This might need:
// REQUIRES: shell


================
Comment at: test/clang-replace/conflict.cpp:3
@@ +2,3 @@
+// RUN: for f in %S/conflict/*.yaml; do sed "s#\$(path)#%S/conflict#" $f > %T/conflict/`basename $f`; done
+// RUN: sed "s#\$(path)#%S/conflict#" %S/conflict/expected.txt > %T/conflict/expected.txt
+// RUN: not clang-replace %T/conflict > %T/conflict/output.txt 2>&1
----------------
You might need %/S for this to work on windows.


http://llvm-reviews.chandlerc.com/D1424



More information about the cfe-commits mailing list