@@ -34,7 +34,8 @@ typedef struct CXInterpreterImpl* CXInterpreter;
3434 * 
3535 * \returns a \c CXInterpreter. 
3636 */ 
37- CXInterpreter  clang_createInterpreter (const  char *  const *  argv , int  argc );
37+ CINDEX_LINKAGE  CXInterpreter  clang_createInterpreter (const  char *  const *  argv ,
38+                                                      int  argc );
3839
3940typedef  void *  TInterp_t ;
4041
@@ -43,27 +44,29 @@ typedef void* TInterp_t;
4344 * 
4445 * \returns a \c CXInterpreter. 
4546 */ 
46- CXInterpreter  clang_createInterpreterFromRawPtr (TInterp_t  I );
47+ CINDEX_LINKAGE   CXInterpreter  clang_createInterpreterFromRawPtr (TInterp_t  I );
4748
4849/** 
4950 * Returns a pointer to the underlying interpreter. 
5051 */ 
51- void *  clang_Interpreter_getClangInterpreter (CXInterpreter  I );
52+ CINDEX_LINKAGE   void *  clang_Interpreter_getClangInterpreter (CXInterpreter  I );
5253
5354/** 
5455 * Returns a \c TInterp_t and takes the ownership. 
5556 */ 
56- TInterp_t  clang_Interpreter_takeInterpreterAsPtr (CXInterpreter  I );
57+ CINDEX_LINKAGE  TInterp_t 
58+ clang_Interpreter_takeInterpreterAsPtr (CXInterpreter  I );
5759
5860/** 
5961 * Undo N previous incremental inputs. 
6062 */ 
61- enum  CXErrorCode  clang_Interpreter_undo (CXInterpreter  I , unsigned int   N );
63+ CINDEX_LINKAGE  enum  CXErrorCode  clang_Interpreter_undo (CXInterpreter  I ,
64+                                                        unsigned int   N );
6265
6366/** 
6467 * Dispose of the given interpreter context. 
6568 */ 
66- void  clang_Interpreter_dispose (CXInterpreter  I );
69+ CINDEX_LINKAGE   void  clang_Interpreter_dispose (CXInterpreter  I );
6770
6871/** 
6972 * Describes the return result of the different routines that do the incremental 
@@ -95,8 +98,9 @@ typedef enum {
9598 * 
9699 * \param prepend Whether to prepend the directory to the search path. 
97100 */ 
98- void  clang_Interpreter_addSearchPath (CXInterpreter  I , const  char *  dir ,
99-                                      bool  isUser , bool  prepend );
101+ CINDEX_LINKAGE  void  clang_Interpreter_addSearchPath (CXInterpreter  I ,
102+                                                     const  char *  dir ,
103+                                                     bool  isUser , bool  prepend );
100104
101105/** 
102106 * Add an include path. 
@@ -105,7 +109,8 @@ void clang_Interpreter_addSearchPath(CXInterpreter I, const char* dir,
105109 * 
106110 * \param dir The directory to add. 
107111 */ 
108- void  clang_Interpreter_addIncludePath (CXInterpreter  I , const  char *  dir );
112+ CINDEX_LINKAGE  void  clang_Interpreter_addIncludePath (CXInterpreter  I ,
113+                                                      const  char *  dir );
109114
110115/** 
111116 * Declares a code snippet in \c code and does not execute it. 
@@ -118,8 +123,8 @@ void clang_Interpreter_addIncludePath(CXInterpreter I, const char* dir);
118123 * 
119124 * \returns a \c CXErrorCode. 
120125 */ 
121- enum  CXErrorCode   clang_Interpreter_declare ( CXInterpreter   I ,  const   char *   code , 
122-                                             bool  silent );
126+ CINDEX_LINKAGE   enum  CXErrorCode 
127+ clang_Interpreter_declare ( CXInterpreter   I ,  const   char *   code ,  bool  silent );
123128
124129/** 
125130 * Declares and executes a code snippet in \c code. 
@@ -130,7 +135,8 @@ enum CXErrorCode clang_Interpreter_declare(CXInterpreter I, const char* code,
130135 * 
131136 * \returns a \c CXErrorCode. 
132137 */ 
133- enum  CXErrorCode  clang_Interpreter_process (CXInterpreter  I , const  char *  code );
138+ CINDEX_LINKAGE  enum  CXErrorCode  clang_Interpreter_process (CXInterpreter  I ,
139+                                                           const  char *  code );
134140
135141/** 
136142 * An opaque pointer representing a lightweight struct that is used for carrying 
@@ -143,14 +149,14 @@ typedef void* CXValue;
143149 * 
144150 * \returns a \c CXValue. 
145151 */ 
146- CXValue  clang_createValue (void );
152+ CINDEX_LINKAGE   CXValue  clang_createValue (void );
147153
148154/** 
149155 * Dispose of the given CXValue. 
150156 * 
151157 * \param V The CXValue to dispose. 
152158 */ 
153- void  clang_Value_dispose (CXValue  V );
159+ CINDEX_LINKAGE   void  clang_Value_dispose (CXValue  V );
154160
155161/** 
156162 * Declares, executes and stores the execution result to \c V. 
@@ -163,8 +169,8 @@ void clang_Value_dispose(CXValue V);
163169 * 
164170 * \returns a \c CXErrorCode. 
165171 */ 
166- enum  CXErrorCode   clang_Interpreter_evaluate ( CXInterpreter   I ,  const   char *   code , 
167-                                              CXValue  V );
172+ CINDEX_LINKAGE   enum  CXErrorCode 
173+ clang_Interpreter_evaluate ( CXInterpreter   I ,  const   char *   code ,  CXValue  V );
168174
169175/** 
170176 * Looks up the library if access is enabled. 
@@ -175,7 +181,8 @@ enum CXErrorCode clang_Interpreter_evaluate(CXInterpreter I, const char* code,
175181 * 
176182 * \returns the path to the library. 
177183 */ 
178- CXString  clang_Interpreter_lookupLibrary (CXInterpreter  I , const  char *  lib_name );
184+ CINDEX_LINKAGE  CXString  clang_Interpreter_lookupLibrary (CXInterpreter  I ,
185+                                                         const  char *  lib_name );
179186
180187/** 
181188 * Finds \c lib_stem considering the list of search paths and loads it by 
@@ -189,9 +196,8 @@ CXString clang_Interpreter_lookupLibrary(CXInterpreter I, const char* lib_name);
189196 * 
190197 * \returns a \c CXInterpreter_CompilationResult. 
191198 */ 
192- CXInterpreter_CompilationResult 
193- clang_Interpreter_loadLibrary (CXInterpreter  I , const  char *  lib_stem ,
194-                               bool  lookup );
199+ CINDEX_LINKAGE  CXInterpreter_CompilationResult  clang_Interpreter_loadLibrary (
200+     CXInterpreter  I , const  char *  lib_stem , bool  lookup );
195201
196202/** 
197203 * Finds \c lib_stem considering the list of search paths and unloads it by 
@@ -201,7 +207,8 @@ clang_Interpreter_loadLibrary(CXInterpreter I, const char* lib_stem,
201207 * 
202208 * \param lib_stem The stem of the library to unload. 
203209 */ 
204- void  clang_Interpreter_unloadLibrary (CXInterpreter  I , const  char *  lib_stem );
210+ CINDEX_LINKAGE  void  clang_Interpreter_unloadLibrary (CXInterpreter  I ,
211+                                                     const  char *  lib_stem );
205212
206213/** 
207214 * @} 
@@ -226,40 +233,41 @@ typedef struct {
226233} CXScope ;
227234
228235// for debugging purposes 
229- void  clang_scope_dump (CXScope  S );
236+ CINDEX_LINKAGE   void  clang_scope_dump (CXScope  S );
230237
231238/** 
232239 * Checks if a class has a default constructor. 
233240 */ 
234- bool  clang_hasDefaultConstructor (CXScope  S );
241+ CINDEX_LINKAGE   bool  clang_hasDefaultConstructor (CXScope  S );
235242
236243/** 
237244 * Returns the default constructor of a class, if any. 
238245 */ 
239- CXScope  clang_getDefaultConstructor (CXScope  S );
246+ CINDEX_LINKAGE   CXScope  clang_getDefaultConstructor (CXScope  S );
240247
241248/** 
242249 * Returns the class destructor, if any. 
243250 */ 
244- CXScope  clang_getDestructor (CXScope  S );
251+ CINDEX_LINKAGE   CXScope  clang_getDestructor (CXScope  S );
245252
246253/** 
247254 * Returns a stringified version of a given function signature in the form: 
248255 * void N::f(int i, double d, long l = 0, char ch = 'a'). 
249256 */ 
250- CXString  clang_getFunctionSignature (CXScope  func );
257+ CINDEX_LINKAGE   CXString  clang_getFunctionSignature (CXScope  func );
251258
252259/** 
253260 * Checks if a function is a templated function. 
254261 */ 
255- bool  clang_isTemplatedFunction (CXScope  func );
262+ CINDEX_LINKAGE   bool  clang_isTemplatedFunction (CXScope  func );
256263
257264/** 
258265 * This function performs a lookup to check if there is a templated function of 
259266 * that type. \c parent is mandatory, the global scope should be used as the 
260267 * default value. 
261268 */ 
262- bool  clang_existsFunctionTemplate (const  char *  name , CXScope  parent );
269+ CINDEX_LINKAGE  bool  clang_existsFunctionTemplate (const  char *  name ,
270+                                                  CXScope  parent );
263271
264272typedef  struct  {
265273  void *  Type ;
@@ -282,9 +290,8 @@ typedef struct {
282290 * \returns a \c CXScope representing the instantiated templated 
283291 * class/function/variable. 
284292 */ 
285- CXScope  clang_instantiateTemplate (CXScope  tmpl ,
286-                                   CXTemplateArgInfo *  template_args ,
287-                                   size_t  template_args_size );
293+ CINDEX_LINKAGE  CXScope  clang_instantiateTemplate (
294+     CXScope  tmpl , CXTemplateArgInfo *  template_args , size_t  template_args_size );
288295
289296/** 
290297 * A fake CXType for working with the interpreter. 
@@ -299,12 +306,12 @@ typedef struct {
299306/** 
300307 * Gets the string of the type that is passed as a parameter. 
301308 */ 
302- CXString  clang_getTypeAsString (CXQualType  type );
309+ CINDEX_LINKAGE   CXString  clang_getTypeAsString (CXQualType  type );
303310
304311/** 
305312 * Returns the complex of the provided type. 
306313 */ 
307- CXQualType  clang_getComplexType (CXQualType  eltype );
314+ CINDEX_LINKAGE   CXQualType  clang_getComplexType (CXQualType  eltype );
308315
309316/** 
310317 * An opaque pointer representing the object of a given type (\c CXScope). 
@@ -314,18 +321,18 @@ typedef void* CXObject;
314321/** 
315322 * Allocates memory for the given type. 
316323 */ 
317- CXObject  clang_allocate (unsigned int   n );
324+ CINDEX_LINKAGE   CXObject  clang_allocate (unsigned int   n );
318325
319326/** 
320327 * Deallocates memory for a given class. 
321328 */ 
322- void  clang_deallocate (CXObject  address );
329+ CINDEX_LINKAGE   void  clang_deallocate (CXObject  address );
323330
324331/** 
325332 * Creates an object of class \c scope and calls its default constructor. If \c 
326333 * arena is set it uses placement new. 
327334 */ 
328- CXObject  clang_construct (CXScope  scope , void *  arena );
335+ CINDEX_LINKAGE   CXObject  clang_construct (CXScope  scope , void *  arena );
329336
330337/** 
331338 * Creates a trampoline function and makes a call to a generic function or 
@@ -341,8 +348,8 @@ CXObject clang_construct(CXScope scope, void* arena);
341348 * 
342349 * \param self The 'this pointer' of the object. 
343350 */ 
344- void  clang_invoke (CXScope  func , void *  result , void * *  args ,  size_t   n ,
345-                   void *  self );
351+ CINDEX_LINKAGE   void  clang_invoke (CXScope  func , void *  result , void * *  args ,
352+                                   size_t   n ,  void *  self );
346353
347354/** 
348355 * Calls the destructor of object of type \c type. When withFree is true it 
@@ -354,7 +361,7 @@ void clang_invoke(CXScope func, void* result, void** args, size_t n,
354361 * 
355362 * \param withFree Whether to call operator delete/free or not. 
356363 */ 
357- void  clang_destruct (CXObject  This , CXScope  S , bool  withFree );
364+ CINDEX_LINKAGE   void  clang_destruct (CXObject  This , CXScope  S , bool  withFree );
358365
359366/** 
360367 * @} 
0 commit comments