Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CastXML integration #66

Merged
merged 67 commits into from
Mar 29, 2016
Merged

CastXML integration #66

merged 67 commits into from
Mar 29, 2016

Commits on Mar 17, 2016

  1. Configuration menu
    Copy the full SHA
    f7648d0 View commit details
    Browse the repository at this point in the history
  2. ruby: define Metadata#delete

    More idiomatic than #clear w.r.t. Ruby containers
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    5d0a390 View commit details
    Browse the repository at this point in the history
  3. copy metadata in minimal(registry)

    It was done only in minimal(typename)
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    4ef24af View commit details
    Browse the repository at this point in the history
  4. fix TypeBuilder w.r.t. template-like constructs

    The type builder name parsing would fail on e.g.
       /a/type</int[32]>
    
    This is currently only used in the tlb importer, which once-upon-a-time
    was able to load TLBs where e.g. arrays would not be defined. This is
    not the case anymore (which is probably why we have not hit the problem
    ... yet)
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    784de56 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cfae380 View commit details
    Browse the repository at this point in the history
  6. Fixed call for gccxml

    Debian (Testing) has changed the name from gccxml to gccxml.real
    This needs this hack. If gccxml.real is present in path use this
    instead of gccxml.
    goldhoorn authored and doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    d9bceca View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4da3bb0 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    984dcd6 View commit details
    Browse the repository at this point in the history
  9. gccxml: remove the 'absolute' flag to the cxx_to_typelib conversions

    It was completely buggy, and is therefore obviously unused.
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    30c52e7 View commit details
    Browse the repository at this point in the history
  10. gccxml: unify the determination of type names without using the 'dema…

    …ngle' field
    
    The namespaces were already resolved by going through the context nodes
    recursively. This has become the way to go for castxml as well, and is
    backward-compatible with gccxml, so let's just use this method.
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    633f50f View commit details
    Browse the repository at this point in the history
  11. gccxml: remove some of the normalization hacks

    Basically, this moves the translation of /std/basic_string to
    /std/string and /std/vector<..., allocator> to /std/vector<...>
    higher up.
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    1c4a7ea View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    09a115e View commit details
    Browse the repository at this point in the history
  13. gccxml: fix calling castxml and use it by default

    castxml does not behave exactly like gccxml w.r.t. file resolution
    Basically, only the toplevel file is referred to in the output instead
    of being "exact"
    
    Funnily enough, that's exactly what orogen needs (the orogen_include)
    stuff. Maybe it's time to drop the performance hack (put as much as
    possible in a single header) for the benefit of performance.
    
    For now, resolve each header one by one at least until castxml works
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    443f217 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    fa8a36f View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    d2544f8 View commit details
    Browse the repository at this point in the history
  16. gccxml: fixed ivalid return in case a typedef is loaded before a type…

    … definition
    
    In the old case a string was returned which makes the importer belive
    that a type could be resolved. In the second run the type was ignored.
    Fixed this inconsistency by retuning nil when a ignored node is created
    goldhoorn authored and doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    3aa663c View commit details
    Browse the repository at this point in the history
  17. gccxml: fix handling of various anonymous C++ constructs

    Namely:
     - anonymous namespaces
     - anonymous classes
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    33b4b17 View commit details
    Browse the repository at this point in the history
  18. gccxml: re-integrate handling of qualified types

    Was left out, but re-add it for consistency with the clang
    importer.
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    bab9664 View commit details
    Browse the repository at this point in the history
  19. gccxml: remove debug crap

    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    0aa3d8c View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    b685f42 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    0859f11 View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    5ffa279 View commit details
    Browse the repository at this point in the history
  23. cxx,test: move the bitfield type in unsupported/

    Because it is.
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    d98f7a2 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    aded24e View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    4f899c9 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    3c7ca55 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    a189bad View commit details
    Browse the repository at this point in the history
  28. cxx,test: expect the importers to alias the full vector or string nam…

    …e to the short typelib name, not some already shortened version
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    f1a906f View commit details
    Browse the repository at this point in the history
  29. cxx,test: remove eigen dependency from cxx importer tests

    Signed-off-by: Martin Zenzes <[email protected]>
    marvin2k authored and doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    9664a0e View commit details
    Browse the repository at this point in the history
  30. ruby,test: add a 'runner' script to easily run tests

    It's basically a command-line to run 'minitest', with the added
    functionality of setting up the include path properly and load
    test_config.rb
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    155843c View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    94c95e8 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    6927434 View commit details
    Browse the repository at this point in the history
  33. gccxml: move type name normalization as late as possible

    This applies to vectors and template type names which point to
    typedef'd, opaques or vectors
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    d6f3843 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    0c38339 View commit details
    Browse the repository at this point in the history
  35. gccxml: implement setting the cxxname metadata

    It is implemented in clang, and is going to be useful for orogen
    
    Note that the final format generated by gccxml does NOT match clang.
    It instead matches the syntax that one would expect to do code
    generation.
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    5e0bc30 View commit details
    Browse the repository at this point in the history
  36. cxx,test: test the metadata fields as well

    It required to update the target tlbs:
     - the final format for the cxxname field differs from the one used
       in the clang importer
     - source_file_line can robustly be tested only for files included in
       the test dir, system files will change from compiler-to-compiler
       and system-to-system
     - in classes.hh, it seems that the clang importer is setting the
       base_classes metadata for opaque classes. That's not implemented
       in gccxml and I really don't see the use case (since opaques, are
       you know, opaques)
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    22ff38e View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    270a99b View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    0c5d6c9 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    8c5fb3b View commit details
    Browse the repository at this point in the history
  40. cxx,test: do not explicitely remove standard C++ types in tlb_cxxgen

    This should be handled by the importer(s) themselves
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    bb1f467 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    b79d797 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    de275ee View commit details
    Browse the repository at this point in the history
  43. cxx,test: support having importer-specific expected tlb files

    One can add a .tlb.IMPORTER_NAME file that is specific to the importer, in which
    case the test verifies that the loaded registry has all tests for the common
    registry, and complete equivalence for the loader-specific registry
    
    This is because the clang importer currently does not support pointers, but
    gccxml/castxml does, and I don't want to make it a strong requirement just yet.
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    394118c View commit details
    Browse the repository at this point in the history
  44. Configuration menu
    Copy the full SHA
    bd2d13c View commit details
    Browse the repository at this point in the history
  45. cxx,test: fix loader selection

    Some tests where still selecting their loader based on
    the TYPELIB_CXX_LOADER envvar, which goes contrary to what we
    actually want.
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    41397cd View commit details
    Browse the repository at this point in the history
  46. Configuration menu
    Copy the full SHA
    bfb99b0 View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    943c219 View commit details
    Browse the repository at this point in the history
  48. Configuration menu
    Copy the full SHA
    da90f0c View commit details
    Browse the repository at this point in the history
  49. gccxml: ignore private C/C++ typedefs

    The ones starting with __
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    9932692 View commit details
    Browse the repository at this point in the history
  50. cxx,test: fix minor discrepancies between castxml and gccxml modes

    After this commit, both gccxml and castxml pass the suite
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    8053106 View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    dacb606 View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    a8ab75f View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    abebbd4 View commit details
    Browse the repository at this point in the history
  54. Configuration menu
    Copy the full SHA
    4e1b4e4 View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    600104a View commit details
    Browse the repository at this point in the history
  56. Configuration menu
    Copy the full SHA
    a1f4f47 View commit details
    Browse the repository at this point in the history
  57. bindings: fix selecting castxml

    Alexander Duda authored and doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    50a2958 View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    1697ad0 View commit details
    Browse the repository at this point in the history
  59. Configuration menu
    Copy the full SHA
    fa4a367 View commit details
    Browse the repository at this point in the history
  60. Configuration menu
    Copy the full SHA
    8bb363c View commit details
    Browse the repository at this point in the history
  61. Configuration menu
    Copy the full SHA
    2aa4c18 View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    86166ae View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    67ae6c5 View commit details
    Browse the repository at this point in the history
  64. Configuration menu
    Copy the full SHA
    829f850 View commit details
    Browse the repository at this point in the history
  65. gccxml: workaround weird gccxml handling of negative integer paramete…

    …rs in template
    
    Negative integers (e.g. -2) are represented as -0x000000N
    (e.g. -2 is -0x000000002)
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    075eee2 View commit details
    Browse the repository at this point in the history
  66. castxml: do not mandatorily add '-std=c++11' to the castxml command line

    One should add it through the TYPELIB_CASTXML_DEFAULT_OPTIONS environment
    variable
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    ec66ff5 View commit details
    Browse the repository at this point in the history
  67. castxml: remove EIGEN_DONT_VECTORIZE

    clang/castxml can handle the vectorization instructions just fine
    doudou committed Mar 17, 2016
    Configuration menu
    Copy the full SHA
    096b27e View commit details
    Browse the repository at this point in the history