summaryrefslogtreecommitdiff
path: root/cffi/model.py
Commit message (Collapse)AuthorAgeFilesLines
* Tentative fix for issue #542Armin Rigo2022-07-181-1/+2
|
* #453Armin Rigo2020-05-201-2/+5
| | | | | | Special-case typedefs of arrays with '...' length, so that they can be used through recompiler.py as if they had a specified length in most cases.
* Issue 364Armin Rigo2018-06-161-4/+7
| | | | Add support for MSVC's "#pragma pack(n)" in ABI mode
* Issue #357: fix the out-of-line ABI mode when we see structsArmin Rigo2018-01-311-9/+8
| | | | containing anonymous unions or vice-versa
* Issue #319Armin Rigo2017-06-151-10/+14
| | | | | | | | | Fix a race condition: we can't stick an attribute to ffi._backend, because another thread might be in the middle of ``for name in ffi._backend.__dict__``. To minimize damage if I reintroduce an attribute-adding function in the future, also tweak the ``for``.
* Tests and fixesArmin Rigo2017-05-311-0/+2
|
* fixArmin Rigo2017-05-291-1/+2
|
* More tweaks, more tests, try harder to avoid including <complex.h>Armin Rigo2017-05-291-2/+4
| | | | because it is not necessarily there
* Merge default in.Tom Krauss2017-03-121-0/+2
|\
| * initial support for 'float _Complex' and 'double _Complex'Tom Krauss2017-01-151-0/+2
| | | | | | | | Work In Progress - sources have printfs that will be removed.
* | Avoid cyclic imports by moving exceptions to a separate moduleRonan Lamy2017-01-201-17/+10
|/
* Revert b84710ae130a again. Ensure we get a warning for every opaqueArmin Rigo2016-10-201-4/+12
| | | | | enum, but then fall back to 'unsigned int'. See documentation for motivation.
* Eventually, replace this UserWarning with an errorArmin Rigo2016-08-071-6/+4
|
* Give a warning instead of crashing; in this way we can call the nextArmin Rigo2015-11-061-4/+6
| | | | | release 1.3.1 as planned and give some advance warning to users relying on this.
* Complain more readily about opaque enums, by refusing to guess whichArmin Rigo2015-11-051-2/+5
| | | | integer type (unsigned/signed, int/long) it is meant to be.
* Propagate "volatile" in addition to "const" and "restrict"Armin Rigo2015-11-021-0/+3
|
* Support directly __stdcall or WINAPI (or __cdecl, ignored) insideArmin Rigo2015-10-061-16/+7
| | | | cparser.
* in-progress, but found a problemArmin Rigo2015-10-061-3/+4
|
* forgot pdbArmin Rigo2015-10-051-1/+0
|
* non-windows fixesArmin Rigo2015-10-051-4/+6
|
* Starting, with exactly two function types: no-abi (i.e. cdecl on windows), ↵Armin Rigo2015-10-051-5/+22
| | | | or stdcall.
* A noteArmin Rigo2015-09-301-0/+3
|
* Seems that "__restrict" is recognized in all gcc modes I could try,Armin Rigo2015-09-301-1/+1
| | | | and it should also be recognized on MSVC
* Tests and fixes for "const" fieldsArmin Rigo2015-09-301-1/+2
|
* in-progress: add qualifiers through model.py, cparser.py, and recompiler.pyArmin Rigo2015-09-301-18/+33
|
* Test the various cases, fix issues with rounding, etc.Armin Rigo2015-08-281-7/+1
| | | | | | A subtle point is that your version uses is_float_type(), which is true also for "long double", and so it will loose precision on platforms like x86 Linux where "long double" is larger than "double".
* Add support for `typedef float... foo_t`.Max Belanger2015-08-271-0/+17
|
* Refactor the way global variables are accessed. Now, every access toArmin Rigo2015-07-031-20/+1
| | | | | "lib.var" calls a generated C function to get "&var". This fixes issue #212 and also make it work in more cases, like __thread variables.
* Issues 69, 73: add the syntax "typedef int... foo_t;".Armin Rigo2015-05-301-5/+25
|
* Issue #193: if we use a struct between the first cdef() where it isArmin Rigo2015-05-201-4/+5
| | | | | declared and another cdef() where its fields are defined, then the definition was ignored.
* hg merge defaultArmin Rigo2015-04-271-2/+35
|\
| * Check sizeof(global variables) when possibleArmin Rigo2015-04-271-0/+21
| |
| * oupsArmin Rigo2015-04-251-0/+2
| |
| * fixes for anonymous nested structsArmin Rigo2015-04-251-0/+6
| |
| * hg merge defaultArmin Rigo2015-04-241-10/+0
| |\
| * \ hg merge defaultArmin Rigo2015-04-241-2/+6
| |\ \
| | * | in-progressArmin Rigo2015-04-241-1/+1
| | | |
| | * | fixesArmin Rigo2015-04-181-0/+1
| | | |
| | * | the '[...]' syntaxArmin Rigo2015-04-181-1/+1
| | | |
| | * | Starting working on the "recompiler"Armin Rigo2015-04-151-0/+3
| | | |
* | | | Test and fix: the new types like "int_least8_t" were actually notArmin Rigo2015-04-271-0/+18
| |_|/ |/| | | | | | | | available because model.py didn't list them
* | | Reimplement vengine_gen returning incomplete structs.Armin Rigo2015-04-241-10/+0
|/ /
* | Skip an existing test after figuring out that it is indeed likely toArmin Rigo2015-04-241-0/+10
|/ | | | | crash in test_vgen, depending on details of the platform. Changed it to clearly flag this as invalid already in the cdef, and why.
* improve error message a bitArmin Rigo2015-01-021-1/+1
|
* Fight a lot the CPython buffer/memoryview interface until we get aArmin Rigo2014-12-281-0/+2
| | | | | hopefully not-too-buggy ffi.from_buffer(). Obviously it's only half-tested because 2.7 doesn't really have built-in memoryview objects.
* Handle the case where someone has made `import weakref` return a weird proxy.alex_gaynor/handle-the-case-where-someone-has-made-i-1391634819444Alex Gaynor2014-02-051-2/+3
| | | | Fixes: https://bugs.pypy.org/issue1688
* Issue 131: support ffi.cdef("...", packed=True)Armin Rigo2014-01-141-1/+6
|
* Kill is_{signed,unsigned}_type()Armin Rigo2013-12-151-17/+13
|
* Due to a CPython bug, we cannot use setdefault() hereArmin Rigo2013-11-101-3/+10
|
* Bah, setdefault() is not atomic on WeakValueDictionary.Armin Rigo2013-11-101-2/+9
|