SuccessChanges

Summary

  1. TestByteBuffer*Stream: Reduce mmap load on poor OSX mini test machine to (details)
  2. Bug 1134 - Pass ASTLocationTag to all types, used for GlueGenException (details)
  3. Bug 1134 - Handle Opaque fields in structs; Print struct field name in (details)
  4. Bug 1134 - Fix IntType: Add getCName(..) for proper C-type code; Fix its (details)
  5. Fix Type.getDebugString() comma separation (details)
  6. Bug 1134 - Use ASTLocationTag in Logging (PCPP, Emitter); Refine (details)
  7. Bug 1134 - Logging's formatter now takes care of Type -> (details)
  8. Bug 1134 - Make ASTLocusTag's text optional (details)
  9. Bug 1134 - Fix IntType 'unsigned'; Type: Use copy-ctor instead of (details)
  10. Bug 1134 - Fix aliased typedef struct emission (details)
  11. Bug 1134 - Fix CMethodBindingEmitter return type '_res' qualifiers (details)
  12. Bug 1134 - ProcAddressCMethodBindingEmitter: Use available (details)
  13. Bug 1134 - Fix CMethodBindingEmitter return type '_res' qualifiers (part (details)
  14. Bug 1134 - In case of 'undefined type' throw a semantic GlueGenException (details)
  15. Bug 1134 - Add ASTLocusTagProvider for Define and fix newline in (details)
  16. Bug 1134 - Refine err/log message of 'previous definition is here' (details)
Commit 6a0822b03de2976c5bc37544c50e70094eeb94a7 by Sven Gothel
TestByteBuffer*Stream: Reduce mmap load on poor OSX mini test machine to reduce test time (was: > 10 min)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferOutputStream.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferInputStream.java (diff)
The file was modifiedsrc/junit/com/jogamp/common/nio/TestByteBufferCopyStream.java (diff)
The file was modifiedmake/scripts/runtest.sh (diff)
Commit eca019cdea4017227e951d8a9eb30cb34fca4a07 by Sven Gothel
Bug 1134 - Pass ASTLocationTag to all types, used for GlueGenException

Enhances semantic exception in code generation
by adding the AST location of the type or function declaration.
The file was modifiedsrc/java/com/jogamp/gluegen/JavaEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/UnionType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/procaddress/ProcAddressCMethodBindingEmitter.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/test1.h (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/CMethodBindingEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/ReferencedStructs.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/internals/TestType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/ArrayType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/FunctionType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/MemoryLayoutType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/PrimitiveType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/VoidType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/EnumType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/GlueGen.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/StructType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/CompoundType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/DoubleType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/FloatType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/PointerType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/structgen/CStructAnnotationProcessor.java (diff)
The file was modifiedsrc/antlr/com/jogamp/gluegen/cgram/HeaderParser.g (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/BitType.java (diff)
Commit b86c042c864db0d8061b999fadc87dd9f3b45824 by Sven Gothel
Bug 1134 - Handle Opaque fields in structs; Print struct field name in apidoc of getter/setter
The file was modifiedsrc/java/com/jogamp/gluegen/JavaConfiguration.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/test1-common.cfg (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/JavaEmitter.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/test1.h (diff)
Commit d75bd393a5850252d7d7012e68af3850178ca8c9 by Sven Gothel
Bug 1134 - Fix IntType: Add getCName(..) for proper C-type code; Fix its newCVVariant(..), don't pass given cv-attr as typedef

Add getCName(..) for proper C-type code
  - Add 'unsigned ' if not typedef and is unsigned.

  - Allows removal of special case in CMethodBindingEmitter

  - Fixes ProcAddressCMethodBindingEmitter typedef emission
    and removes clang warnings, caused by this (many).

Fix its newCVVariant(..), don't pass given cv-attr as typedef
  - Proper delegation of 'const', regression of prev. commits
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/IntType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/CMethodBindingEmitter.java (diff)
Commit e2d5d6f55794c5e27c3a29dcbbdaf2921506667d by Sven Gothel
Fix Type.getDebugString() comma separation
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
Commit da909f84dc8421052c92491baa7dd90e1c78dc8f by Sven Gothel
Bug 1134 - Use ASTLocationTag in Logging (PCPP, Emitter); Refine ASTLocationTag log/exception formatting.

Since commit eca019cdea4017227e951d8a9eb30cb34fca4a07, we have ASTLocationTag available.
Hence use it for all logging purposes and emit a standard compiler output,
which shall be parsable by other tools.
The file was modifiedsrc/java/com/jogamp/gluegen/FunctionEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/CMethodBindingEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/Logging.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/ASTLocusTag.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/pcpp/PCPP.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/GlueGenException.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/procaddress/ProcAddressConfiguration.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/JavaEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/CompoundType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/JavaMethodBindingEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/ArrayType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/procaddress/ProcAddressEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/JavaConfiguration.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/PointerType.java (diff)
Commit 457355003bff320eee831731de016d29fb1e3982 by Sven Gothel
Bug 1134 - Logging's formatter now takes care of Type -> getDebugString() when desired, not at 'log' call

Removes load to assemble the getDebugString() of Type and JavaType
when invoking log function. Note: the log may be skipped if log-level is not reached.
The file was modifiedsrc/java/com/jogamp/gluegen/JavaEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/CMethodBindingEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/Logging.java (diff)
Commit 3b7871515f9a6a3c7adcbf12772d168e61f86d50 by Sven Gothel
Bug 1134 - Make ASTLocusTag's text optional
The file was modifiedsrc/java/com/jogamp/gluegen/GlueGenException.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/Logging.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/ASTLocusTag.java (diff)
Commit cf9f28cf249393f42d7d2835775521dfadee6b92 by Sven Gothel
Bug 1134 - Fix IntType 'unsigned'; Type: Use copy-ctor instead of Clonable, ..

- Fix IntType 'unsigned'
  - Need to handle 'unsigned' for typedef and !typedef,
    when exposing 'unsigned' for code emission.
  - Consider IntType.typedefUnsigned in hash/equals

- Type: Use copy-ctor instead of Clonable enhancing strong typing.
  - add 'Type clone(final ASTLocusTag newLoc)'

- Consider Type.typedefCVAttributes in hash/equals
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/MemoryLayoutType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/FloatType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/PrimitiveType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/VoidType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/CMethodBindingEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/CompoundType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/FunctionType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/JavaEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/DoubleType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/TypeVisitor.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/ArrayType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/PointerType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/AliasedSymbol.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/EnumType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/IntType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/BitType.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/Type.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/FunctionSymbol.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/StructType.java (diff)
The file was modifiedsrc/antlr/com/jogamp/gluegen/cgram/HeaderParser.g (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/types/UnionType.java (diff)
Commit 9eb9403d774db0c55ea3cb2fc5bd04114b8b5feb by Sven Gothel
Bug 1134 - Fix aliased typedef struct emission

- Code regarding 'aliased typedef struct' is tagged in JavaEmitter and HeaderParser:
  'NOTE: Struct Name Resolution (JavaEmitter, HeaderParser)'

  Prefers containing cstruct typedef pointer
  if available _and_ if cstruct is _not_ a typedef!

- Removed: 'HeaderParser.resolveAnonCompound(..)' no more required,
  since CompoundType always sets its name!
  Commit cf9f28cf249393f42d7d2835775521dfadee6b92

- JavaEmitter.emitStruct:
  - Regard above 'aliased typedef struct' NOTE

- JavaEmitter.typeToJavaType:
  - Regard above 'aliased typedef struct' NOTE

- ReferencedStructs
  - Drop duplicate CompoundType instances of same name.
    This can happen due to const/volatile and ASTLocusTag variants.
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/BaseClass.java (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/test1-common.cfg (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/test1.c (diff)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/test1.h (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/JavaEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/ReferencedStructs.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/GlueGen.java (diff)
The file was modifiedsrc/antlr/com/jogamp/gluegen/cgram/HeaderParser.g (diff)
The file was modifiedmake/build-test.xml (diff)
Commit 414a0146660cadd35d5ae270f7f819717e9c7374 by Sven Gothel
Bug 1134 - Fix CMethodBindingEmitter return type '_res' qualifiers

We cannot have the local variable holding the return type 'const'
and assign a value to it later.
The file was modifiedsrc/java/com/jogamp/gluegen/CMethodBindingEmitter.java (diff)
Commit 10060b091b76bee35246c5165d49ab546ebc4e37 by Sven Gothel
Bug 1134 - ProcAddressCMethodBindingEmitter: Use available 'ProcAddrTypedef' for type validation w/ local generated variant (robustness)

ProcAddressCMethodBindingEmitter code regarding having the public 'ProcAddrTypedef' (from input header)
was simply broken, since it always used the local generated 'ProcAddrTypedef',
if 'ProcAddrTypedef' was forced. Hence the public 'ProcAddrTypedef' was ignored in most cases.

ProcAddressCMethodBindingEmitter's semantic changed from:
  needsLocalTypedef -> hasProcAddrTypedef

New Code generation:
- always generated the local 'ProcAddrTypedef'
- if hasProcAddrTypedef, use public 'ProcAddrTypedef' for return type variable
- cast local 'ProcAddrTypedef' to public 'ProcAddrTypedef',
  which renders the native compiler to validate the local and public types.
The file was modifiedsrc/java/com/jogamp/gluegen/procaddress/ProcAddressCMethodBindingEmitter.java (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/procaddress/ProcAddressEmitter.java (diff)
Commit 90e53d0c01f2fe62ff8c5bcc41741ec3c9c47e59 by Sven Gothel
Bug 1134 - Fix CMethodBindingEmitter return type '_res' qualifiers (part 2)

Commit 414a0146660cadd35d5ae270f7f819717e9c7374
removed the const/volatile of the local return variable.

This change also casts the function calling result
to the same - hence removing a possible c-compiler warning
of dropping qualifier const.
The file was modifiedsrc/java/com/jogamp/gluegen/procaddress/ProcAddressCMethodBindingEmitter.java (diff)
The file was modifiedmake/build-test.xml (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/CMethodBindingEmitter.java (diff)
Commit 8efdf71e2de6392344326ba6a28e8f8fa7e3e8e5 by Sven Gothel
Bug 1134 - In case of 'undefined type' throw a semantic GlueGenException instead of an NPE
The file was modifiedsrc/antlr/com/jogamp/gluegen/cgram/HeaderParser.g (diff)
Commit 5dd12c17bf5037c7ac6a2ac73caf4d61443c4749 by Sven Gothel
Bug 1134 - Add ASTLocusTagProvider for Define and fix newline in c-parser (Expose source location for log/error messages)
The file was modifiedsrc/junit/com/jogamp/gluegen/test/junit/generation/test1.h (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/GlueGen.java (diff)
The file was modifiedsrc/antlr/com/jogamp/gluegen/cgram/GnuCParser.g (diff)
The file was modifiedsrc/antlr/com/jogamp/gluegen/cgram/StdCParser.g (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/cgram/Define.java (diff)
Commit 9d2bc5118f20f6f6defae075da17d34e1716d36d by Sven Gothel
Bug 1134 - Refine err/log message of 'previous definition is here'
The file was modifiedsrc/antlr/com/jogamp/gluegen/cgram/HeaderParser.g (diff)
The file was modifiedsrc/java/com/jogamp/gluegen/JavaEmitter.java (diff)