[clang-tools-extra] r188035 - Extend comments for problems and future directions.

John Thompson John.Thompson.JTSoftware at gmail.com
Thu Aug 8 17:19:03 PDT 2013


Author: jtsoftware
Date: Thu Aug  8 19:19:03 2013
New Revision: 188035

URL: http://llvm.org/viewvc/llvm-project?rev=188035&view=rev
Log:
Extend comments for problems and future directions.

Modified:
    clang-tools-extra/trunk/modularize/Modularize.cpp

Modified: clang-tools-extra/trunk/modularize/Modularize.cpp
URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/modularize/Modularize.cpp?rev=188035&r1=188034&r2=188035&view=diff
==============================================================================
--- clang-tools-extra/trunk/modularize/Modularize.cpp (original)
+++ clang-tools-extra/trunk/modularize/Modularize.cpp Thu Aug  8 19:19:03 2013
@@ -70,7 +70,7 @@
 //             ^
 //   Macro defined here.
 //
-// See PreprocessorTracker.cpp for additional details.
+// See PreprocessorTracker.cpp for additional details.
 //
 // Current problems:
 //
@@ -86,6 +86,14 @@
 //
 // 3. There seem to be a lot of spurious "not always provided" messages,
 // and many duplicates of these.
+//
+// 4. There are some legitimate uses of preprocessor macros that
+// modularize will flag as errors, such as repeatedly #include'ing
+// a file and using interleaving defined/undefined macros
+// to change declarations in the included file.  Is there a way
+// to address this?  Maybe have modularize accept a list of macros
+// to ignore.  Otherwise you can just exclude the file, after checking
+// for legitimate errors.
 //
 // Future directions:
 //
@@ -105,7 +113,12 @@
 // 4. Check for correct and consistent usage of extern "C" {} and other
 // directives. Warn about #include inside extern "C" {}.
 //
-// 5. What else?
+// 5. To support headers that depend on other headers to be included first
+// add support for a dependency list to the header list input.
+// I.e.: header.h: dependent1.h dependent2.h
+// (Implement using clang's "-include" option"?)
+//
+// 6. What else?
 //
 // General clean-up and refactoring:
 //





More information about the cfe-commits mailing list