nativeplatform

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Change C++ incremental compile to take preprocessor macros defined on the compile task into account when resolving macro includes.

  1. … 19 more files in changeset.
De-incubate 2.x native tasks/plugins/model

  1. … 148 more files in changeset.
Move indexing logic of macros inside `DefaultIncludeDirectives`

  1. … 10 more files in changeset.
Create lookup table for macros and macro functions

  1. … 9 more files in changeset.
Changed C/C++ dependency analysis to correctly handle macro expanding (or not) the arguments of a macro function when used in a token concatenation expression.

  1. … 10 more files in changeset.
Some changes to C/C++ dependency analysis to better handle macro functions that use token concatenation to produce another macro function call. Also changed resolution of an `#include` to an include path to avoid doing work that has already been done for the current source file to calculate macro values.

  1. … 10 more files in changeset.
Changed C/C++ dependency analysis to handle more kinds of macro function call parameters. Specifically, handle empty parameters, provide an implicit empty parameter when a parameter is missing, allow various token sequences to be provided as a parameter.

  1. … 17 more files in changeset.
Changed C/C++ dependency analysis to handle more kinds of macro function call parameters within a macro function body. Specifically, substitute macro parameters into all arguments of the macro call and understand arguments that are wrapped in parentheses.

  1. … 9 more files in changeset.
Changed C/C++ dependency analysis to correctly handle token concatenation expressions in macro function bodies that are invoked from another macro function.

  1. … 12 more files in changeset.
Changed C/C++ dependency analysis to understand preprocessor token concatenation expressions in macro bodies (eg X##Y).

  1. … 14 more files in changeset.
Changed C/C++ dependency analysis to start to understand "function-like" macros that take parameters. Specifically, handle function invocations whose parameters are macro names on functions whose bodies are either a constant, a macro or one of the function parameters.

  1. … 17 more files in changeset.
Changed C/C++ dependency analysis to extract the parameters of a call to a 'function-like' macro. These aren't used yet.

Also slightly improved the "could not find this include" info message.

    • -0
    • +43
    ./internal/Expression.java
  1. … 19 more files in changeset.
Recognize "function-like" macros with parameters during native compile include file dependency analysis. These are not resolved yet, so when referenced by an include directive result in an unresolved include file (and so all of the include directories are considered inputs of the compilation).

  1. … 9 more files in changeset.
Separated the types to represent 'object-like' macros and 'function-like' macros in parsed native source.

    • -0
    • +24
    ./internal/MacroFunction.java
  1. … 17 more files in changeset.
Handle "function-like" macros with no parameters during native compile include file dependency analysis.

  1. … 10 more files in changeset.
Handle macros whose value is a system header path during native compile include file dependency analysis.

Also recognize "function-like" macros used in include directives and macro bodies, for example `#include HEADER()`. These aren't expanded yet and so when referenced by an include directive the include will be treated as unresolved.

    • -0
    • +25
    ./internal/Directive.java
  1. … 3 more files in changeset.
Expand macro values when resolving include files during native compile include file dependency analysis.

Also recognize "function-like" macros used in include directives and macro bodies, for example `#include HEADER()`. These aren't expanded yet and so when referenced by an include directive the include will be treated as unresolved.

  1. … 11 more files in changeset.
Don't retain the value of a c preprocessor #define directive for when the value is not something that can be resolved to an include value.

  1. … 8 more files in changeset.
Fixed an issue in native compile dependency analysis where a macro is defined in an include file already included by the current source file.

  1. … 12 more files in changeset.
Javadocs.

Changed the C/C++ parser to recognize macro definitions. These aren't used in the dependency analysis yet.

    • -0
    • +23
    ./internal/Macro.java
  1. … 10 more files in changeset.
Changed `IncrementalNativeCompiler` to use an immutable object to represent the cached compilation state. Removed calls to `useCache()` as this no longer provides any synchronization.

  1. … 15 more files in changeset.
Renamed `subprojects/platform-native/src/main/groovy` to `src/main/java`

    • -0
    • +68
    ./DependentSourceSet.java
    • -0
    • +36
    ./HeaderExportingSourceSet.java
    • -0
    • +26
    ./NativeResourceSet.java
    • -0
    • +27
    ./internal/DependentSourceSetInternal.java
    • -0
    • +23
    ./internal/Include.java
    • -0
    • +26
    ./internal/IncludeDirectives.java
    • -0
    • +21
    ./internal/IncludeType.java
  1. … 468 more files in changeset.