Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
42 changes: 21 additions & 21 deletions C/API.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,28 +23,28 @@

// From https://gcc.gnu.org/wiki/Visibility
#if defined _WIN32 || defined __CYGWIN__
#ifdef EXPORT_C_API
#ifdef __GNUC__
#define PSY_C_API __attribute__ ((dllexport))
#else
#define PSY_C_API __declspec(dllexport)
#endif
#else
#ifdef __GNUC__
#define PSY_C_API __attribute__ ((dllimport))
#else
#define PSY_C_API __declspec(dllimport)
#endif
#endif
#define PSY_C_NON_API
#ifdef EXPORT_C_API
#ifdef __GNUC__
#define PSY_C_API __attribute__((dllexport))
#else
#if __GNUC__ >= 4
#define PSY_C_API __attribute__ ((visibility ("default")))
#define PSY_C_NON_API __attribute__ ((visibility ("hidden")))
#else
#define PSY_C_API
#define PSY_C_NON_API
#endif
#define PSY_C_API __declspec(dllexport)
#endif
#else
#ifdef __GNUC__
#define PSY_C_API __attribute__((dllimport))
#else
#define PSY_C_API __declspec(dllimport)
#endif
#endif
#define PSY_C_NON_API
#else
#if __GNUC__ >= 4
#define PSY_C_API __attribute__((visibility("default")))
#define PSY_C_NON_API __attribute__((visibility("hidden")))
#else
#define PSY_C_API
#define PSY_C_NON_API
#endif
#endif

#endif
39 changes: 23 additions & 16 deletions C/Fwds.h
Original file line number Diff line number Diff line change
Expand Up @@ -189,20 +189,27 @@ class AmbiguousCastOrBinaryExpressionSyntax;
class AmbiguousExpressionOrDeclarationStatementSyntax;

/* Lists */
typedef SyntaxNodePlainList<DeclarationSyntax*> DeclarationListSyntax;
typedef SyntaxNodeSeparatedList<EnumeratorDeclarationSyntax*> EnumeratorListSyntax;
typedef SyntaxNodeSeparatedList<ParameterDeclarationSyntax*> ParameterDeclarationListSyntax;
typedef SyntaxNodePlainList<SpecifierSyntax*> SpecifierListSyntax;
typedef SyntaxNodeSeparatedList<ExtGNU_AttributeSyntax*> ExtGNU_AttributeListSyntax;
typedef SyntaxNodeSeparatedList<DeclaratorSyntax*> DeclaratorListSyntax;
typedef SyntaxNodePlainList<DeclaratorSuffixSyntax*> DeclaratorSuffixListSyntax;
typedef SyntaxNodePlainList<DesignatorSyntax*> DesignatorListSyntax;
typedef SyntaxNodeSeparatedList<InitializerSyntax*> InitializerListSyntax;
typedef SyntaxNodeSeparatedList<ExpressionSyntax*> ExpressionListSyntax;
typedef SyntaxNodeSeparatedList<GenericAssociationSyntax*> GenericAssociationListSyntax;
typedef SyntaxNodePlainList<StatementSyntax*> StatementListSyntax;
typedef SyntaxNodeSeparatedList<ExtGNU_AsmOperandSyntax*> ExtGNU_AsmOperandListSyntax;
typedef SyntaxNodePlainList<ExtKR_ParameterDeclarationSyntax*> ExtKR_ParameterDeclarationListSyntax;
typedef SyntaxNodePlainList<DeclarationSyntax *> DeclarationListSyntax;
typedef SyntaxNodeSeparatedList<EnumeratorDeclarationSyntax *>
EnumeratorListSyntax;
typedef SyntaxNodeSeparatedList<ParameterDeclarationSyntax *>
ParameterDeclarationListSyntax;
typedef SyntaxNodePlainList<SpecifierSyntax *> SpecifierListSyntax;
typedef SyntaxNodeSeparatedList<ExtGNU_AttributeSyntax *>
ExtGNU_AttributeListSyntax;
typedef SyntaxNodeSeparatedList<DeclaratorSyntax *> DeclaratorListSyntax;
typedef SyntaxNodePlainList<DeclaratorSuffixSyntax *>
DeclaratorSuffixListSyntax;
typedef SyntaxNodePlainList<DesignatorSyntax *> DesignatorListSyntax;
typedef SyntaxNodeSeparatedList<InitializerSyntax *> InitializerListSyntax;
typedef SyntaxNodeSeparatedList<ExpressionSyntax *> ExpressionListSyntax;
typedef SyntaxNodeSeparatedList<GenericAssociationSyntax *>
GenericAssociationListSyntax;
typedef SyntaxNodePlainList<StatementSyntax *> StatementListSyntax;
typedef SyntaxNodeSeparatedList<ExtGNU_AsmOperandSyntax *>
ExtGNU_AsmOperandListSyntax;
typedef SyntaxNodePlainList<ExtKR_ParameterDeclarationSyntax *>
ExtKR_ParameterDeclarationListSyntax;

//=================================================================== Semantic

Expand Down Expand Up @@ -242,7 +249,7 @@ class Compilation;
class Assembly;
class SemanticModel;

} // C
} // psy
} // namespace C
} // namespace psy

#endif
Loading