Pygccxml

Latest version: v2.5.0

Safety actively analyzes 625726 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 8

1.5.0

---------------------------------------

When the project moved from svn to git, versions were tagged from 1.0.0 on.
Note that there was no 1.2, 1.3 nor 1.4 version (this is maybe due to the
many forks and the slow down of the maintenance effort).

1.1.0

-------------

1. bsc and mspdb packages were deprecated

2. Adding new functionality and improving initial environment handling

3. Adding ability to dump exported classes

4. Added more tests

5. Add handling for "C" functions

6. Fix bug "pygccxml parses const volatile variable args as just const"

7. Rename bparser to binary_parsers

8. Adding .so file parser

9. Replace md5 with hashlib module (removes deprecation warnings)

1.0

-----------

1. Support for ellipsis was added.

Warning: this feature introduce backward compatibility problem!

Description:

.. code-block:: c++

void do_smth( int, ... )

Before this change, pygccxml would report that the function ``do_smth`` has
only one argument.

After this change, pygccxml will report that the function has two arguments.
The second argument type will be ``declarations.ellipsis_t``. All classes,
which describe callables, have new property ``has_ellipsis``. It the value of
the property is ``True``, than the function has ellipsis in its definition.

2. New experimental back-end, based on ``.pdb`` (progam database file), was added.

3. New high-level API wrapper for ``.bsc`` (browse source code file) was added.

4. The recomended GCC_XML version to use with this release is CVS revision 123.
This revision introduces small, but very important feature. GCC_XML
started to dump artificial declarations (constructor, destructor, operator=).
``pygccxml.declarations.type_traits`` functions were updated to use the new
information.

5. ``declarations.decl_printer_t`` class dumps almost all available information
about a declaration.

6. ``declarations.is_same_function`` was fixed and now it treats
"covariant returns" right.

7. Search algorithm was improved for template instantiated classes. From
now, a spaces within the class name doesn't matter.

8. pygccxml unit tests functionality was improved. Many thanks to Gustavo Carneiro.

0.9.5

-------------

1. Class ``free_operator_t`` is now able to provide references to the class declarations
instances it works on.

2. Support for `GCC-XML attributes`_ was added. Many thanks to Miguel Lobo for
the implementation.

.. _`GCC-XML attributes`: http://www.gccxml.org/HTML/Running.html

3. A bug in parsing a function exception specification was fixed. Many thanks to
Jeremy Sanders.

4. Support for a type/class "align", "offset" and "size" was added. Many thanks to
Ben Schleimer for the implementation.

5. Support for GCC-XML 0.9 was added.

6. Support for ``__restrict__`` was added.

7. ``declarations.has_trivial_copy`` was renamed to ``declarations.has_copy_constructor``.
The old name is still available, but will be removed soon.

8. ``declarations.priority_queue`` was renamed to ``declarations.priority_queue_traits``.

9. ``declarations.find_container_traits`` function was added.

10. Support for "partial name" was added. "Partial name" is the class name, without
template default arguments. The functionality was added to std containers
classes.

11. ``declarations.class_t`` and ``declarations.class_declaration_t`` has new property -
``container_traits``. This property describes std container element class.

12. All logging is now done to ``stderr`` instead of ``stdout``.

0.9.0

-------------

1. Performance was improved. pygccxml is now 30-50% faster. The improvement
was achieved by using `cElementTree`_ package, ``iterparse`` functionality,
instead of standard XML SAX API. If `cElementTree`_ package is not available,
the built-in XML SAX package is used.

.. _`cElementTree` : http://effbot.org/zone/celementtree.htm

2. ``is_base_and_derived`` function was changed. The second argument could be
a tuple, which contains classes. The function returns ``True`` if at least one
class derives from the base one.

.. line separator

3. Class ``calldef_t`` has property - ``does_throw``. It describes
whether the function throws any exception or not.

.. line separator

4. Bug fixes: small bug was fixed in functionality that corrects GCC-XML reported
function default arguments. Reference to "enum" declaration extracted properly.
Many thanks to Martin Preisler for reporting the bug.

.. line separator

5. New type traits have been added:


* ``is_std_ostream``
* ``is_std_wostream``

.. line separator

6. C++ does not define implicit conversion between an integral type and ``void*``.
``declarations.is_convertible`` type traits was fixed.

.. line separator

7. ``declarations.is_noncopyable`` type traits implementation was slightly changed.
Now it checks explicitly that class has:

* default constructor
* copy constructor
* ``operator=``
* destructor

If all listed functions exist, than the algorithm returns ``False``, otherwise
it will continue to execute previous logic.

.. line separator

8. ``declarations.class_declaration_t`` has new property - ``aliases``. This is
a list of all aliases to the class declaration.

.. line separator

9. The message of the exception, which is raised from ``declarations.mdecl_wrapper_t``
class was improved and now clearly explains what the problem is.

.. line separator

0.8.5

-------------

1. Added new functionality: "I depend on them". Every declaration can report
types and declarations it depends on.

2. ``signed char`` and ``char`` are two different types. This bug was fixed and
now pygccxml treats them right. Many thanks to Gaetan Lehmann for reporting
the bug.

3. Declarations, read from GCC-XML generated file, could be saved in cache.

4. New type traits have been added:

* ``is_bool``

5. Small improvement to algorithm, which extracts ``value_type``
( ``mapped_type`` ) from "std" containers.

6. Few aliases to long method name were introduced:

================================= ==========================
Name Alias
================================= ==========================
``scopedef_t.variable`` ``scopedef_t.var``
``scopedef_t.variables`` ``scopedef_t.vars``
``scopedef_t.member_function`` ``scopedef_t.mem_fun``
``scopedef_t.member_functions`` ``scopedef_t.mem_funs``
``scopedef_t.free_function`` ``scopedef_t.free_fun``
``scopedef_t.free_functions`` ``scopedef_t.free_funs``
================================= ==========================

7. Fixing bug related to array size and cache.

Page 6 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.