• Home
  • History
  • Annotate
  • Raw
  • Download

Lines Matching +full:- +full:- +full:disable +full:- +full:openmp

1 /*===-- clang-c/Index.h - Indexing Public C Interface -------------*- C -*-===*\
8 |*===----------------------------------------------------------------------===*|
11 |* high-level symbol information from source files without exposing the full *|
14 \*===----------------------------------------------------------------------===*/
21 #include "clang-c/Platform.h"
22 #include "clang-c/CXErrorCode.h"
23 #include "clang-c/CXString.h"
24 #include "clang-c/BuildSystem.h"
62 * loading already-parsed ASTs, traversing the AST, associating
64 * facilities that support Clang-based development tools.
174 * - excludeDeclarationsFromPCH: When non-zero, allows enumeration of "local"
187 * // "clang -x c IndexTest.h -emit-ast -o IndexTest.pch"
197 * char *args[] = { "-Xclang", "-include-pch=IndexTest.pch" };
206 * -include-pch) allows 'excludeDeclsFromPCH' to remove redundant callbacks
311 * \returns If there was a failure getting the unique ID, returns non-zero,
338 * \brief Returns non-zero if the \c file1 and \c file2 point to the same file,
373 * \brief Identifies a half-open character range in the source code.
394 * \returns non-zero if the source locations refer to the same location, zero
417 * \brief Returns non-zero if the given source location is in a system header.
422 * \brief Returns non-zero if the given source location is in the main file of
442 * \returns non-zero if the ranges are the same, zero if they differ.
448 * \brief Returns non-zero if \p range is null.
462 * \param file [out] if non-NULL, will be set to the file to which the given
465 * \param line [out] if non-NULL, will be set to the line to which the given
468 * \param column [out] if non-NULL, will be set to the column to which the given
471 * \param offset [out] if non-NULL, will be set to the offset into the
506 * \param filename [out] if non-NULL, will be set to the filename of the
508 * which don't necessarily exist on the machine running clang - e.g. when
510 * a non-NULL value is passed in, remember to dispose of the returned value
514 * \param line [out] if non-NULL, will be set to the line number of the
517 * \param column [out] if non-NULL, will be set to the column number of the
549 * \param file [out] if non-NULL, will be set to the file to which the given
552 * \param line [out] if non-NULL, will be set to the line to which the given
555 * \param column [out] if non-NULL, will be set to the column to which the given
558 * \param offset [out] if non-NULL, will be set to the offset into the
578 * \param file [out] if non-NULL, will be set to the file to which the given
581 * \param line [out] if non-NULL, will be set to the line to which the given
584 * \param column [out] if non-NULL, will be set to the column to which the given
587 * \param offset [out] if non-NULL, will be set to the offset into the
649 * \brief A diagnostic that has been suppressed, e.g., by a command-line
656 * previous (non-note) diagnostic.
667 * \brief This diagnostic indicates that the code is ill-formed.
672 * \brief This diagnostic indicates that the code is ill-formed such
681 * location, text, source ranges, and fix-it hints.
699 * \param Index the zero-based diagnostic number to retrieve.
776 * \param Index the zero-based diagnostic number to retrieve.
806 * \brief Display the source-location information where the
816 * This option corresponds to the clang flag \c -fshow-source-location.
821 * \brief If displaying the source-location information of the
824 * This option corresponds to the clang flag \c -fshow-column.
829 * \brief If displaying the source-location information of the
831 * machine-parsable format.
834 * \c -fdiagnostics-print-source-range-info.
841 * The option name displayed (e.g., -Wconversion) will be placed in brackets
843 * \c -fdiagnostics-show-option.
852 * \c -fdiagnostics-show-category=id.
861 * \c -fdiagnostics-show-category=name.
913 * \brief Retrieve the name of the command-line option that enabled this
918 * \param Disable If non-NULL, will be set to the option that disables this
921 * \returns A string that contains the command-line option used to enable this
922 * warning, such as "-Wconversion" or "-pedantic".
925 CXString *Disable);
974 * \param Range the zero-based index specifying which range to
982 * \brief Determine the number of fix-it hints associated with the
988 * \brief Retrieve the replacement information for a given fix-it.
990 * Fix-its are described in terms of a source range whose contents
1000 * \param Diagnostic The diagnostic whose fix-its are being queried.
1002 * \param FixIt The zero-based index of the fix-it.
1006 * ranges are half-open ranges [a, b), so the source code should be
1047 * '-c'
1048 * '-emit-ast'
1049 * '-fsyntax-only'
1050 * '-o \<output file>' (both '-o' and '\<output file>' are ignored)
1058 * \param num_clang_command_line_args The number of command-line arguments in
1061 * \param clang_command_line_args The command-line arguments that would be
1062 * passed to the \c clang executable if it were being invoked out-of-process.
1063 * These command-line options will be parsed and will affect how the translation
1064 * unit is parsed. Note that the following options are ignored: '-c',
1065 * '-emit-ast', '-fsyntax-only' (which is the default), and '-o \<output file>'.
1095 * \brief Create a translation unit from an AST file (\c -emit-ast).
1097 * \param[out] out_TU A non-NULL pointer to store the created
1116 * \brief Used to indicate that no special translation-unit options are
1140 * instantiation of implicitly-instantiation function templates in
1157 * clang_reparseTranslationUnit() will re-use the implicit
1164 * code-completion results with each reparse of the source file.
1166 * Caching of code-completion results is a performance optimization that
1168 * code-completion operations.
1261 * command-line arguments so that the compilation can be configured in the same
1270 * \param command_line_args The command-line arguments that would be
1271 * passed to the \c clang executable if it were being invoked out-of-process.
1272 * These command-line options will be parsed and will affect how the translation
1273 * unit is parsed. Note that the following options are ignored: '-c',
1274 * '-emit-ast', '-fsyntax-only' (which is the default), and '-o \<output file>'.
1276 * \param num_command_line_args The number of command-line arguments in
1292 * \param[out] out_TU A non-NULL pointer to store the created
1340 * the most commonly-requested data.
1400 * saved successfully, while a non-zero value indicates that a problem occurred.
1440 * This routine can be used to re-parse the source files that originally
1443 * source code will be reparsed with the same command-line options as it
1449 * creating a new translation unit with the same command-line arguments.
1453 * \param TU The translation unit whose contents will be re-parsed. The
1470 * \returns 0 if the sources could be reparsed. A non-zero error code will be
1508 * \brief Returns the human-readable null-terminated C string that represents
1532 /* \brief An array of key-value pairs, representing the breakdown of memory
1574 * \brief A field (in C) or non-static data member (in C++) in a
1586 /** \brief An Objective-C \@interface. */
1588 /** \brief An Objective-C \@interface for a category. */
1590 /** \brief An Objective-C \@protocol declaration. */
1592 /** \brief An Objective-C \@property declaration. */
1594 /** \brief An Objective-C instance variable. */
1596 /** \brief An Objective-C instance method. */
1598 /** \brief An Objective-C class method. */
1600 /** \brief An Objective-C \@implementation. */
1602 /** \brief An Objective-C \@implementation for a category. */
1620 /** \brief A C++ non-type template parameter. */
1638 /** \brief An Objective-C \@synthesize definition. */
1640 /** \brief An Objective-C \@dynamic definition. */
1681 * some non-expression context, e.g., a designated initializer.
1716 * while (first < last - 1) {
1717 * swap(*first, *--last);
1730 * argument-dependent lookup (e.g., the "swap" function at the end of the
1740 * \brief A reference to a variable that occurs in some non-expression
1777 * class, Objective-C class, etc.
1784 /** \brief An expression that sends a message to an Objective-C
1817 /** \brief This represents the unary-expression's (except sizeof and
1839 /** \brief An explicit cast in C (C99 6.5.4) or a C-style cast in C++
1920 * This handles 'throw' and 'throw' assignment-expression. When
1921 * assignment-expression isn't present, Op will be null.
1939 /** \brief An Objective-C string literal i.e. @"foo".
1943 /** \brief An Objective-C \@encode expression.
1947 /** \brief An Objective-C \@selector expression.
1951 /** \brief An Objective-C \@protocol expression.
1955 /** \brief An Objective-C "bridged" cast expression, which casts between
1956 * Objective-C pointers and C pointers, transferring ownership in the process.
2005 /** \brief Objective-c Boolean Literal.
2009 /** \brief Represents the "self" expression in an Objective-C method.
2013 /** \brief OpenMP 4.0 [2.4, Array Section].
2105 /** \brief Objective-C's overall \@try-\@catch-\@finally statement.
2109 /** \brief Objective-C's \@catch statement.
2113 /** \brief Objective-C's \@finally statement.
2117 /** \brief Objective-C's \@throw statement.
2121 /** \brief Objective-C's \@synchronized statement.
2125 /** \brief Objective-C's autorelease pool statement.
2129 /** \brief Objective-C's collection statement.
2172 /** \brief OpenMP parallel directive.
2176 /** \brief OpenMP SIMD directive.
2180 /** \brief OpenMP for directive.
2184 /** \brief OpenMP sections directive.
2188 /** \brief OpenMP section directive.
2192 /** \brief OpenMP single directive.
2196 /** \brief OpenMP parallel for directive.
2200 /** \brief OpenMP parallel sections directive.
2204 /** \brief OpenMP task directive.
2208 /** \brief OpenMP master directive.
2212 /** \brief OpenMP critical directive.
2216 /** \brief OpenMP taskyield directive.
2220 /** \brief OpenMP barrier directive.
2224 /** \brief OpenMP taskwait directive.
2228 /** \brief OpenMP flush directive.
2236 /** \brief OpenMP ordered directive.
2240 /** \brief OpenMP atomic directive.
2244 /** \brief OpenMP for SIMD directive.
2248 /** \brief OpenMP parallel for SIMD directive.
2252 /** \brief OpenMP target directive.
2256 /** \brief OpenMP teams directive.
2260 /** \brief OpenMP taskgroup directive.
2264 /** \brief OpenMP cancellation point directive.
2268 /** \brief OpenMP cancel directive.
2272 /** \brief OpenMP target data directive.
2276 /** \brief OpenMP taskloop directive.
2280 /** \brief OpenMP taskloop simd directive.
2284 /** \brief OpenMP distribute directive.
2288 /** \brief OpenMP target enter data directive.
2292 /** \brief OpenMP target exit data directive.
2296 /** \brief OpenMP target parallel directive.
2300 /** \brief OpenMP target parallel for directive.
2304 /** \brief OpenMP target update directive.
2308 /** \brief OpenMP distribute parallel for directive.
2312 /** \brief OpenMP distribute parallel for simd directive.
2316 /** \brief OpenMP distribute simd directive.
2320 /** \brief OpenMP target parallel for simd directive.
2396 * program--declaration, statements, expressions, references to declarations,
2397 * etc.--under a single "cursor" abstraction with a common set of operations.
2440 * \brief Returns non-zero if \p cursor is null.
2522 * have automatic storage. This covers normal (non-extern) local variables.
2619 * \param always_deprecated If non-NULL, will be set to indicate whether the
2622 * \param deprecated_message If non-NULL, will be set to the message text
2626 * \param always_unavailable If non-NULL, will be set to indicate whether the
2629 * \param unavailable_message If non-NULL, will be set to the message text
2633 * \param availability If non-NULL, an array of CXPlatformAvailability instances
2646 * platform-availability structures returned. There are
2702 * \returns non-zero if the set contains the specified cursor.
2710 * \returns zero if the CXCursor was already in the set, and non-zero otherwise.
2722 * definitions are provided out-of-line. For example:
2732 * In the out-of-line definition of \c C::f, the semantic parent is
2757 * definitions are provided out-of-line. For example:
2767 * In the out-of-line definition of \c C::f, the semantic parent is
2790 * In both Objective-C and C++, a method (aka virtual member function,
2792 * Objective-C, a method is said to override any method in the class's
2796 * its protocols, and its categories, and so on. A method from an Objective-C
2812 * invoke this function again, given the previously-found overridden
2813 * methods, to map out the complete method-override set.
2815 * \param cursor A cursor representing an Objective-C or C++
3000 /* Value 8 was PnaclCall, but it was never used, so it could safely be re-used. */
3028 * \brief Pretty-print the underlying type using the rules of the
3074 * If a cursor that is not a bit field declaration is passed in, -1 is returned.
3079 * \brief Retrieve the number of non-variadic arguments associated with a given
3083 * declarations of functions or methods. For other cursors -1 is returned.
3121 * declaration, -1 is returned.
3128 * void foo<float, -7, true>();
3145 * void foo<float, -7, true>();
3166 * void foo<float, -7, true>();
3186 * void foo<float, -7, true>();
3188 * If called with I = 1 or 2, -7 or true will be returned, respectively.
3217 * \returns non-zero if the CXTypes represent the same type and
3282 * Returns the Objective-C type encoding for the specified declaration.
3287 * Returns the Objective-C type encoding for the specified CXType.
3299 * If a non-function type is passed in, CXCallingConv_Invalid is returned.
3306 * If a non-function type is passed in, an invalid type is returned.
3311 * \brief Retrieve the number of non-variadic parameters associated with a
3314 * If a non-function type is passed in, -1 is returned.
3321 * If a non-function type is passed in or the function does not have enough
3356 * -1 is returned.
3363 * If a non-array type is passed in, an invalid type is returned.
3370 * If a non-array type is passed in, -1 is returned.
3375 * \brief Retrieve the type named by the qualified-id.
3377 * If a non-elaborated type is passed in, an invalid type is returned.
3393 CXTypeLayoutError_Invalid = -1,
3397 CXTypeLayoutError_Incomplete = -2,
3401 CXTypeLayoutError_Dependent = -3,
3405 CXTypeLayoutError_NotConstantSize = -4,
3409 CXTypeLayoutError_InvalidFieldName = -5
3429 * If a non-member-pointer type is passed in, an invalid type is returned.
3462 * If the cursor is not a field declaration, -1 is returned.
3481 /** \brief No ref-qualifier was provided. */
3483 /** \brief An lvalue ref-qualifier was provided (\c &). */
3485 /** \brief An rvalue ref-qualifier was provided (\c &&). */
3491 * specialization, or -1 if type \c T is not a class template specialization.
3508 * \brief Retrieve the ref-qualifier kind of a function or method.
3510 * The ref-qualifier is returned for C++ functions or methods. For other types
3511 * or non-C++ declarations, CXRefQualifier_None is returned.
3516 * \brief Returns non-zero if the cursor specifies a Record member that is a
3587 * \param index The zero-based index into the set of overloaded declarations in
3687 * \returns a non-zero value if the traversal was terminated
3722 * \defgroup CINDEX_CURSOR_XREF Cross-referencing in the AST
3744 * \brief Construct a USR for a specified Objective-C class.
3749 * \brief Construct a USR for a specified Objective-C category.
3756 * \brief Construct a USR for a specified Objective-C protocol.
3762 * \brief Construct a USR for a specified Objective-C instance variable and
3769 * \brief Construct a USR for a specified Objective-C method and
3777 * \brief Construct a USR for a specified Objective-C property and the USR
3791 * Objective-C methods and Objective-C message expressions, there are multiple
3816 * Objective-C superclass reference cursor refers to an Objective-C class.
3817 * This function produces the cursor for the Objective-C class from the
3865 * be forward-declared (possibly multiple times) and later defined:
3887 * \brief If the cursor points to a selector identifier in an Objective-C
3893 * \returns The selector index if the cursor is an Objective-C method or message
3894 * expression and the cursor is pointing to a selector identifier, or -1
3900 * \brief Given a cursor pointing to a C++ method call or an Objective-C
3901 * message, returns non-zero if the method/message is "dynamic", meaning:
3904 * For an Objective-C message: the receiver is an object instance, not 'super'
3913 * \brief Given a cursor pointing to an Objective-C message, returns the CXType
3950 * Objective-C method declarations.
3963 * \brief Given a cursor that represents an Objective-C method or parameter
3964 * declaration, return the associated Objective-C qualifiers for the return
3971 * \brief Given a cursor that represents an Objective-C method or property
3972 * declaration, return non-zero if the declaration was affected by "@optional".
3978 * \brief Returns non-zero if the given cursor is a variadic function or method.
4057 * \returns the parent of a sub-module or NULL if the given module is top-level,
4065 * \returns the name of the module, e.g. for the 'std.vector' sub-module it
4080 * \returns non-zero if the module is a system one.
4095 * \param Index top level header index (zero-based).
4232 * non-contiguous names, this index can be used to retrieve the individual
4236 * name, or if the PieceIndex is out-of-range, a null-cursor will be returned.
4244 * \brief Include the nested-name-specifier, e.g. Foo:: in x.Foo::y, in the
4256 * \brief If the name is non-contiguous, return the full spanning range.
4258 * Non-contiguous names occur in Objective-C when a selector with two or more
4261 * [object doSomething:here withValue:there]; // Objective-C
4368 * This token-annotation routine is equivalent to invoking
4439 * syntactically- and semantically-valid constructs that the user might want to
4447 * \brief A semantic string that describes a code-completion result.
4449 * A semantic string that describes the formatting of a code-completion
4451 * source buffer when a particular code-completion result is selected.
4478 * \brief The code-completion string that describes how to insert this
4479 * code-completion result into the editing buffer.
4485 * \brief Describes a single piece of text within a code-completion string.
4487 * Each "chunk" within a code-completion string (\c CXCompletionString) is
4493 * \brief A code-completion string that describes "optional" text that
4496 * The Optional chunk is the only kind of chunk that has a code-completion
4498 * \c clang_getCompletionChunkCompletionString(). The code-completion string
4507 * The code-completion string for this function would contain:
4508 * - a TypedText chunk for "f".
4509 * - a LeftParen chunk for "(".
4510 * - a Placeholder chunk for "int x"
4511 * - an Optional chunk containing the remaining defaulted arguments, e.g.,
4512 * - a Comma chunk for ","
4513 * - a Placeholder chunk for "float y"
4514 * - an Optional chunk containing the last defaulted argument:
4515 * - a Comma chunk for ","
4516 * - a Placeholder chunk for "double z"
4517 * - a RightParen chunk for ")"
4520 * - Completely ignore optional chunks, in which case the template for the
4522 * - Fully expand all optional chunks, in which case the template for the
4528 * code-completion result.
4533 * expected to filter the code-completion results based on the text in this
4538 * \brief Text that should be inserted as part of a code-completion result.
4541 * inserted into user code should this particular code-completion result
4549 * into the code-completion template. For example, placeholders might mark
4561 * help the user decide whether a particular code-completion result is the
4567 * \brief Text that describes the current parameter when code-completion is
4570 * A "current parameter" chunk occurs when code-completion is providing
4572 * code-completion point. For example, given a function
4578 * and the source code \c add(, where the code-completion point is after the
4579 * "(", the code-completion string will contain a "current parameter" chunk
4581 * parameter. After typing further, to \c add(17, (where the code-completion
4582 * point is after the ","), the code-completion string will contain a
4660 * \param chunk_number the 0-based index of the chunk in the completion string.
4674 * \param chunk_number the 0-based index of the chunk in the completion string.
4688 * \param chunk_number the 0-based index of the chunk in the completion string.
4698 * \brief Retrieve the number of chunks in the given code-completion string.
4713 * higher-priority (more likely) completions.
4719 * \brief Determine the availability of the entity that this code-completion
4746 * \param annotation_number the 0-based index of the annotation of the
4761 * a code completion for an Objective-C method would have the method's class
4767 * \param kind DEPRECATED: always set to CXCursor_NotImplemented if non-NULL.
4789 * \returns A non-context-sensitive completion string for declaration and macro
4796 * \brief Contains the results of code-completion.
4804 * \brief The code-completion results.
4809 * \brief The number of code-completion results stored in the
4819 * The enumerators in this enumeration can be bitwise-OR'd together to
4845 * The enumerators in this enumeration may be bitwise-OR'd together if multiple
4866 * \brief Completions for values that resolve to an Objective-C object should
4871 * \brief Completions for values that resolve to an Objective-C selector
4892 * \brief Completions for properties of the Objective-C object being accessed
4926 * \brief Completions for Objective-C interfaces (classes) should be included
4931 * \brief Completions for Objective-C protocols should be included in
4936 * \brief Completions for Objective-C categories should be included in
4941 * \brief Completions for Objective-C instance messages should be included
4946 * \brief Completions for Objective-C class messages should be included in
4951 * \brief Completions for Objective-C selector names should be included in
4970 CXCompletionContext_Unknown = ((1 << 22) - 1)
4974 * \brief Returns a default set of code-completion options that can be
4986 * performing syntax checking up to the location where code-completion has
4987 * been requested. At that point, a special code-completion token is passed
4989 * current location in the C/Objective-C/C++ grammar and the state of
4995 * code-completion location will coincide with the cursor. For example, if \c p
4996 * is a pointer, code-completion might be triggered after the "-" and then
4997 * after the ">" in \c p->. When the code-completion location is afer the ">",
5001 * based on the contents of the token. For example, when code-completing for
5002 * the expression \c p->get, the client should provide the location just after
5003 * the ">" (e.g., pointing at the "g") to this code-completion hook. Then, the
5006 * is to separate the relatively high-latency acquisition of code-completion
5007 * results from the filtering of results on a per-character basis, which must
5010 * \param TU The translation unit in which code-completion should
5012 * completely up-to-date (and the contents of those source files may
5020 * \param complete_line The line at which code-completion should occur.
5022 * \param complete_column The column at which code-completion should occur.
5040 * of code-completion options.
5043 * containing code-completion results, which should eventually be
5057 * \brief Sort the code-completion results in case-insensitive alphabetical
5068 * \brief Free the given set of code-completion results.
5084 * \param Index the zero-based diagnostic number to retrieve.
5109 * contexts where a container exists (i.e. member accesses or Objective-C
5140 * \brief Returns the currently-entered selector for an Objective-C message
5142 * non-empty string for CXCompletionContext_ObjCInstanceMessage and
5148 * for an Objective-C message send.
5170 * \brief Enable/disable crash recovery.
5172 * \param isEnabled Flag to indicate if crash recovery is enabled. A non-zero
5182 * file included (either at the top-level or by \#include directives) within
5302 * \param original If non-NULL, will be set to the original filename.
5304 * \param transformed If non-NULL, will be set to the filename that the original
5450 * \brief Non-zero if the directive was automatically turned into a module
5473 * \brief Non-zero if an inclusion directive was automatically turned into
5585 * cases like out-of-line C++ member functions.
5594 * by the compiler, e.g. implicit Objective-C methods for properties.
5667 * \brief An implicit reference, e.g. a reference of an Objective-C method
5712 * Should return 0 to continue, and non-zero to abort.
5844 * \brief Function-local symbols should be indexed. If this is not set
5845 * function-local symbols will be ignored.
5890 * a non-zero \c CXErrorCode.
5926 * -Preprocessor callbacks invocations
5927 * -Declaration/reference callbacks invocations
5928 * -Diagnostic callback invocations
5933 * non-zero, otherwise returns 0.
5993 * \returns a non-zero value if the traversal was terminated