Skip to content

Commit ac47f6d

Browse files
committed
Preliminary documentation of changes for pygccxml 1.7.0
1 parent 474f566 commit ac47f6d

File tree

1 file changed

+86
-16
lines changed

1 file changed

+86
-16
lines changed

docs/history.rst

Lines changed: 86 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,98 @@ by setting up a git repositery on github, hosted along with gccxml.
1414
Version 1.7.0 (Next version, not yet released)
1515
----------------------------------------------
1616

17-
1. ``declarations.has_trivial_copy`` was defintevely removed.
18-
Please use ``declarations.has_copy_constructor``.
17+
1. Added support for CastXML (https://github.com/CastXML/CastXML)
1918

20-
2. Remove ``gccxml`` logger from logger class (was deprecated).
21-
Please use ``cxx_parser`` instead.
19+
GCCXML is deprecated and does no more work with modern compilers.
20+
CastXML should be used instead.
2221

23-
3. Remove ``gccxml_runtime_error_t`` class and use RuntimeError
24-
instead.
22+
``pygccxml 1.7.0`` is still compatible with GCCXML and no changes are needed for people working with GCCXML.
2523

26-
4. Deprecate compiler attribute and replace it with global utils.xml_generator variable.
27-
The compiler attribute was misleading; and should not be confused with the name and
28-
version of the xml_generator.
29-
This change also fixes some internal problems with the algorithms cache and makes
30-
the code easier to read.
24+
2. [CastXML] A new function was introduced to help find which XML generator you are using.
3125

32-
5. Disabled relinking of "rebind<std::__tree_node<std::basic_string<char>, void *> >"
33-
This made the find_container_traits_tester unit tests fail with CastXML.
26+
If the generator (GCCXML or CastXML) is in your path, it will be detected.
27+
28+
.. code-block:: python
29+
30+
generator_path, generator_name = pygccxml.utils.find_xml_generator()
31+
32+
3. [CastXML] When using the configuration, you will need to tell pygccxml which xml genrator you are using.
33+
34+
.. code-block:: python
35+
36+
xml_generator_config = parser.xml_generator_configuration_t(
37+
xml_generator_path=generator_path,
38+
xml_generator=generator_name,
39+
)
40+
41+
4. [CastXML] The compiler path can now be passed down to castxml.
42+
This is done by using the ``compiler_path`` attribute in the configuration.
43+
Note that this may be important because the resulting xml file may be
44+
slightly different depending on the compiler used.
45+
46+
5. [CastXML] Add support for some fields which have no location (see #19)
47+
48+
6. [CastXML] Mangled names are only available for functions and variables
49+
with CastXML. Getting the mangled attribute on a ``declaration`` will fail.
50+
51+
7. [CastXML] Demangled names are not available.
52+
Getting the demangled name will fail.
53+
54+
8. [CastXML] Add new container traits:
55+
``unordered maps``, ``unordered sets``, ``multimaps``, ``multisets``
56+
57+
9. [CastXML] Instead of using the ``__attribute((gccxml("string")))`` c++ syntax
58+
(see version 0.9.5), the ``__attribute__`` ((annotate ("out"))) can now be used
59+
to annotate code with CastXML.
60+
61+
10. [CastXML] Disabled relinking of:
62+
63+
.. code-block:: python
64+
65+
rebind<std::__tree_node<std::basic_string<char>, void *> >
66+
67+
This made the ``find_container_traits_tester`` unit tests fail with ``CastXML``.
3468
This class defintion is present in clangs AST tree, but I don't know why it is
35-
usefull. If somebody knows what this is and if it is needed, please tell us.
69+
usefull. Please tell us if you need so we can re-enable that featur in pygccxml.
70+
71+
11. Deprecated the ``compiler`` attribute and replaced it with global ``utils.xml_generator`` variable.
72+
73+
The ``compiler`` attribute was misleading; it was sometimes confused with
74+
the name and version of the xml generator.
75+
This change also fixes some internal problems with the algorithms cache.
76+
77+
78+
12. ``declarations.has_trivial_copy`` was defintevely removed.
79+
Please use ``declarations.has_copy_constructor``.
80+
This was deprecated since version 0.9.5.
81+
82+
13. Remove ``gccxml`` logger from logger class (was deprecated).
83+
Please use ``cxx_parser`` instead.
84+
85+
14. Removed ``gccxml_runtime_error_t`` class. This one was probably only used internally.
86+
Please use RuntimeError instead.
87+
88+
15. [Misc] Add option to keep or not xml files after errors, useful for debugging purposes.
89+
90+
16. [Misc] Documentation was moved to readthedocs.org (https://readthedocs.org/projects/pygccxml/)
91+
92+
17. [Misc] Add quantifiedcode check
93+
94+
https://www.quantifiedcode.com/app/project/117af14ef32a455fb7b3762e21083fb3
95+
96+
18. [Misc] Fix new pep8 warnings, clean up and simplify some code and comments
97+
98+
19. [Misc] The compiler version debugging message is now hidden (closes #12)
99+
100+
20. [Misc] Print less line separations in decl_printer; this makes the output more compact.
101+
102+
21. [Tests] Add new test for the ``contains_parent_dir`` function.
103+
104+
22. [Tests] Add test for non copyable class with const class
105+
106+
23. [Tests] Add test case for non copyable class due to const array
36107

37-
6. Instead of using the ``__attribute((gccxml("string")))`` c++ syntax (see version 0.9.5),
38-
the ``__attribute__`` ((annotate ("out"))) can now be used to annotate code.
108+
24. [Doc] Small documentation update, moved people list to credits page, added new examples.
39109

40110

41111
Version 1.6.2

0 commit comments

Comments
 (0)