ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libecb/Changes
(Generate patch)

Comparing libecb/Changes (file contents):
Revision 1.14 by root, Wed Oct 15 13:46:25 2014 UTC vs.
Revision 1.20 by sf-exg, Fri Feb 20 14:04:54 2015 UTC

1TODO:
208:30:06 <b_jonas> I think it could be worth to add a macro that works like alignof or _Alignof on sane
3 compilers, and like __alignof on MS compilers that support it, see
4 http://msdn.microsoft.com/en-us/library/45t0s5f4.aspx
508:30:24 <b_jonas> even if you can't support it on all the old compilers
608:31:17 <b_jonas> I'd also like a macro for alignas, but sadly, that seems impossible in general, because
7 the MS compiler only has some half-attempt to do something similar but with different and
8 more broken semantics, see http://msdn.microsoft.com/en-us/library/83ythb65.aspx
908:31:35 <b_jonas> but I wonder if some special case could still be worth to support
1008:32:23 <b_jonas> probably not, because it would just account to making a union with a highly aligned type,
11 which is something I can do on any compiler portably
12
13TODO: #define ECB_IS_INTEGRAL(x) !((1 ? 1 : (x)) / 2)
14 #define ECB_IS_INTEGRAL(x) (sizeof ((x) + 1.0f) != sizeof((x) + 1ULL))
15
16TODO: define ECB_STDFP if __STDC_IEC_559__?
17
18TODO: https://gustedt.wordpress.com/2010/06/08/detect-empty-macro-arguments/
19
1implement is_constant for c11: https://gustedt.wordpress.com/2013/08/22/testing-compile-time-constness-and-null-pointers-with-c11s-_generic/ 20implement is_constant for c11: https://gustedt.wordpress.com/2013/08/22/testing-compile-time-constness-and-null-pointers-with-c11s-_generic/
2 21
3#ifdef _MSC_VER 22#ifdef _MSC_VER
4 23
5#include <stdlib.h> 24#include <stdlib.h>
55 - support gcc-4.7 atomics for memory fences. 74 - support gcc-4.7 atomics for memory fences.
56 - support m68k, m88k and sh (patch by Miod Vallat). 75 - support m68k, m88k and sh (patch by Miod Vallat).
57 - add ecb_binary16_to_float. 76 - add ecb_binary16_to_float.
58 77
59TODO: ecb_restrict_array etc. http://ue.tst.eu/5093eafd713ec5fda776d8065070aa4c.txt 78TODO: ecb_restrict_array etc. http://ue.tst.eu/5093eafd713ec5fda776d8065070aa4c.txt
60TODO: ffs/clz 79TODO: ffs
6164 bit variants of everything 8064 bit variants of everything
62TODO: examples from X for clz/ctz 81TODO: examples from X for clz/ctz
63TODO: arithmetic right shift 82TODO: arithmetic right shift
64TODO: template/generic functions for x32/x64 and so on 83TODO: template/generic functions for x32/x64 and so on
65TODO: #define ecb_integer_multiples_of(n,d) ((char (*)[d])(n) - (char (*)[d])0) 84TODO: #define ecb_integer_multiples_of(n,d) ((char (*)[d])(n) - (char (*)[d])0)
71 x = -x; 90 x = -x;
72 b = (v >> x) & -(((unsigned int)x) < 32); 91 b = (v >> x) & -(((unsigned int)x) < 32);
73 return a|b; 92 return a|b;
74} 93}
75 94
95TODO: export(=dllexport) & hidden
96TODO: flatten
97TODO: warning(msg)
98TODO: error(msg)
99TODO: leaf (uh), noclone (hmmm)
100TODO: nonnull, returns_nonnull
101TODO: nothrow
102TODO: used
103TODO: trap
104TODO: http://llvm.org/docs/doxygen/html/Compiler_8h_source.html
105
76TODO: read/write unaligned macros 106TODO: read/write unaligned macros
77TODO: htonl and friends 107TODO: htonl and friends
78TODO: macro to convetr from unsigned to signed "the natural way" 108TODO: macro to convert from unsigned to signed "the natural way"
79TODO: ecb_deprecated with message
80TODO: ecb_static_assert, with message (just like boost), or somesuch, using array-declaration 109TODO: ecb_static_assert, with message (just like boost), or somesuch, using array-declaration
81TODO: alignof 110TODO: alignof
82 111
83 112

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines