diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/include/clang-c/CXString.h | 61 | ||||
| -rw-r--r-- | clang/include/clang-c/Index.h | 57 | ||||
| -rw-r--r-- | clang/include/clang-c/Platform.h | 45 | 
3 files changed, 109 insertions, 54 deletions
| diff --git a/clang/include/clang-c/CXString.h b/clang/include/clang-c/CXString.h new file mode 100644 index 00000000000..74c31660ef1 --- /dev/null +++ b/clang/include/clang-c/CXString.h @@ -0,0 +1,61 @@ +/*===-- clang-c/CXString.h - C Index strings  --------------------*- C -*-===*\ +|*                                                                            *| +|*                     The LLVM Compiler Infrastructure                       *| +|*                                                                            *| +|* This file is distributed under the University of Illinois Open Source      *| +|* License. See LICENSE.TXT for details.                                      *| +|*                                                                            *| +|*===----------------------------------------------------------------------===*| +|*                                                                            *| +|* This header provides the interface to C Index strings.                     *| +|*                                                                            *| +\*===----------------------------------------------------------------------===*/ + +#ifndef CLANG_CXSTRING_H +#define CLANG_CXSTRING_H + +#include "clang-c/Platform.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \defgroup CINDEX_STRING String manipulation routines + * \ingroup CINDEX + * + * @{ + */ + +/** + * \brief A character string. + * + * The \c CXString type is used to return strings from the interface when + * the ownership of that string might different from one call to the next. + * Use \c clang_getCString() to retrieve the string data and, once finished + * with the string data, call \c clang_disposeString() to free the string. + */ +typedef struct { +  void *data; +  unsigned private_flags; +} CXString; + +/** + * \brief Retrieve the character data associated with the given string. + */ +CINDEX_LINKAGE const char *clang_getCString(CXString string); + +/** + * \brief Free the given string, + */ +CINDEX_LINKAGE void clang_disposeString(CXString string); + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/clang/include/clang-c/Index.h b/clang/include/clang-c/Index.h index 2397ae1925f..fd048775d30 100644 --- a/clang/include/clang-c/Index.h +++ b/clang/include/clang-c/Index.h @@ -20,31 +20,13 @@  #include <time.h>  #include <stdio.h> +#include "clang-c/Platform.h" +#include "clang-c/CXString.h" +  #ifdef __cplusplus  extern "C" {  #endif -/* MSVC DLL import/export. */ -#ifdef _MSC_VER -  #ifdef _CINDEX_LIB_ -    #define CINDEX_LINKAGE __declspec(dllexport) -  #else -    #define CINDEX_LINKAGE __declspec(dllimport) -  #endif -#else -  #define CINDEX_LINKAGE -#endif - -#ifdef __GNUC__ -  #define CINDEX_DEPRECATED __attribute__((deprecated)) -#else -  #ifdef _MSC_VER -    #define CINDEX_DEPRECATED __declspec(deprecated) -  #else -    #define CINDEX_DEPRECATED -  #endif -#endif -  /** \defgroup CINDEX libclang: C Interface to Clang   *   * The C Interface to Clang provides a relatively small API that exposes @@ -157,39 +139,6 @@ typedef struct CXVersion {  } CXVersion;  /** - * \defgroup CINDEX_STRING String manipulation routines - * - * @{ - */ - -/** - * \brief A character string. - * - * The \c CXString type is used to return strings from the interface when - * the ownership of that string might different from one call to the next. - * Use \c clang_getCString() to retrieve the string data and, once finished - * with the string data, call \c clang_disposeString() to free the string. - */ -typedef struct { -  void *data; -  unsigned private_flags; -} CXString; - -/** - * \brief Retrieve the character data associated with the given string. - */ -CINDEX_LINKAGE const char *clang_getCString(CXString string); - -/** - * \brief Free the given string, - */ -CINDEX_LINKAGE void clang_disposeString(CXString string); - -/** - * @} - */ - -/**   * \brief Provides a shared context for creating translation units.   *   * It provides two options: diff --git a/clang/include/clang-c/Platform.h b/clang/include/clang-c/Platform.h new file mode 100644 index 00000000000..0f866c64563 --- /dev/null +++ b/clang/include/clang-c/Platform.h @@ -0,0 +1,45 @@ +/*===-- clang-c/Platform.h - C Index platform decls   -------------*- C -*-===*\ +|*                                                                            *| +|*                     The LLVM Compiler Infrastructure                       *| +|*                                                                            *| +|* This file is distributed under the University of Illinois Open Source      *| +|* License. See LICENSE.TXT for details.                                      *| +|*                                                                            *| +|*===----------------------------------------------------------------------===*| +|*                                                                            *| +|* This header provides platform specific macros (dllimport, deprecated, ...) *| +|*                                                                            *| +\*===----------------------------------------------------------------------===*/ + +#ifndef CLANG_C_PLATFORM_H +#define CLANG_C_PLATFORM_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* MSVC DLL import/export. */ +#ifdef _MSC_VER +  #ifdef _CINDEX_LIB_ +    #define CINDEX_LINKAGE __declspec(dllexport) +  #else +    #define CINDEX_LINKAGE __declspec(dllimport) +  #endif +#else +  #define CINDEX_LINKAGE +#endif + +#ifdef __GNUC__ +  #define CINDEX_DEPRECATED __attribute__((deprecated)) +#else +  #ifdef _MSC_VER +    #define CINDEX_DEPRECATED __declspec(deprecated) +  #else +    #define CINDEX_DEPRECATED +  #endif +#endif + +#ifdef __cplusplus +} +#endif +#endif | 

