]> granicus.if.org Git - clang/commitdiff
Add an options parameter to clang_saveTranslationUnit, because we'll want it later
authorDouglas Gregor <dgregor@apple.com>
Fri, 13 Aug 2010 15:35:05 +0000 (15:35 +0000)
committerDouglas Gregor <dgregor@apple.com>
Fri, 13 Aug 2010 15:35:05 +0000 (15:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111016 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang-c/Index.h
tools/c-index-test/c-index-test.c
tools/libclang/CIndex.cpp
tools/libclang/libclang.darwin.exports
tools/libclang/libclang.exports

index 4216e96c604a5178beb6abb78d68acb19ae16392..ff0d92a38c2fe647318b2e00aa8b99a899728b5c 100644 (file)
@@ -764,6 +764,31 @@ CINDEX_LINKAGE CXTranslationUnit clang_parseTranslationUnit(CXIndex CIdx,
                                                      unsigned num_unsaved_files,
                                                             unsigned options);
   
+/**
+ * \brief Flags that control how translation units are saved.
+ *
+ * The enumerators in this enumeration type are meant to be bitwise
+ * ORed together to specify which options should be used when
+ * saving the translation unit.
+ */
+enum CXSaveTranslationUnit_Flags {
+  /**
+   * \brief Used to indicate that no special saving options are needed.
+   */
+  CXSaveTranslationUnit_None = 0x0
+};
+
+/**
+ * \brief Returns the set of flags that is suitable for saving a translation
+ * unit.
+ *
+ * The set of flags returned provide options for
+ * \c clang_saveTranslationUnit() by default. The returned flag
+ * set contains an unspecified set of options that save translation units with
+ * the most commonly-requested data.
+ */
+CINDEX_LINKAGE unsigned clang_defaultSaveOptions(CXTranslationUnit TU);
+
 /**
  * \brief Saves a translation unit into a serialized representation of
  * that translation unit on disk.
@@ -776,13 +801,19 @@ CINDEX_LINKAGE CXTranslationUnit clang_parseTranslationUnit(CXIndex CIdx,
  * units.
  *
  * \param TU The translation unit to save.
+ *
  * \param FileName The file to which the translation unit will be saved.
  *
+ * \param options A bitmask of options that affects how the translation unit
+ * is saved. This should be a bitwise OR of the
+ * CXSaveTranslationUnit_XXX flags.
+ *
  * \returns Zero if the translation unit was saved successfully, a
  * non-zero value otherwise.
  */
 CINDEX_LINKAGE int clang_saveTranslationUnit(CXTranslationUnit TU,
-                                             const char *FileName);
+                                             const char *FileName,
+                                             unsigned options);
 
 /**
  * \brief Destroy the specified CXTranslationUnit object.
index 323469c0f063f061db29c9bfb2fc7a5d5620880e..ef6bfb8a79740035ddf5ad7843c11681b231baaa 100644 (file)
@@ -1306,7 +1306,7 @@ int write_pch_file(const char *filename, int argc, const char *argv[]) {
     return 1;
   }
 
-  if (clang_saveTranslationUnit(TU, filename))
+  if (clang_saveTranslationUnit(TU, filename, clang_defaultSaveOptions(TU)))
     fprintf(stderr, "Unable to write PCH file %s\n", filename);
   clang_disposeTranslationUnit(TU);
   free_remapped_files(unsaved_files, num_unsaved_files);
index 4ba41b55cbbef56cf238702719d864ff64ddedf9..93fdd96c241634f30186d617faa23efaa9afb9d3 100644 (file)
@@ -1454,7 +1454,12 @@ CXTranslationUnit clang_parseTranslationUnit(CXIndex CIdx,
   return ATU;
 }
 
-int clang_saveTranslationUnit(CXTranslationUnit TU, const char *FileName) {
+unsigned clang_defaultSaveOptions(CXTranslationUnit TU) {
+  return CXSaveTranslationUnit_None;
+}  
+  
+int clang_saveTranslationUnit(CXTranslationUnit TU, const char *FileName,
+                              unsigned options) {
   if (!TU)
     return 1;
   
index f8f44020388588d0ebb25fa7a719f9ea94c48d35..444d669e67b3d2102a54d156c1ae2db37670c5cd 100644 (file)
@@ -17,6 +17,7 @@ _clang_defaultCodeCompleteOptions
 _clang_defaultEditingTranslationUnitOptions
 _clang_defaultDiagnosticDisplayOptions
 _clang_defaultReparseOptions
+_clang_defaultSaveOptions
 _clang_disposeCodeCompleteResults
 _clang_disposeDiagnostic
 _clang_disposeIndex
index cdb04bc93463700770c5b11768202abd22e8c74b..a1e114afd9192dcfe8fed0799525701bbdba5cbf 100644 (file)
@@ -17,6 +17,7 @@ clang_defaultCodeCompleteOptions
 clang_defaultEditingTranslationUnitOptions
 clang_defaultDiagnosticDisplayOptions
 clang_defaultReparseOptions
+clang_defaultSaveOptions
 clang_disposeCodeCompleteResults
 clang_disposeDiagnostic
 clang_disposeIndex