gcc warning fix: -Wextra
[babeltrace.git] / include / babeltrace / bitfield.h
index 84a9679003e32de0d8fc29b3591fab230fb07bba..b7fce09301781a7f8697921bc384aada739f0760 100644 (file)
  *
  * The above copyright notice and this permission notice shall be included in
  * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
  */
 
 #include <stdint.h>    /* C99 5.2.4.2 Numerical limits */
 #include <limits.h>    /* C99 5.2.4.2 Numerical limits */
-#include <endian.h>    /* Non-standard BIG_ENDIAN, LITTLE_ENDIAN, BYTE_ORDER */
 #include <assert.h>
+#include <babeltrace/endian.h> /* Non-standard BIG_ENDIAN, LITTLE_ENDIAN, BYTE_ORDER */
 
 /* We can't shift a int from 32 bit, >> 32 and << 32 on int is undefined */
 #define _bt_piecewise_rshift(_v, _shift)                               \
@@ -49,7 +57,7 @@
        ___v <<= final;                                                 \
 })
 
-#define _bt_is_signed_type(type)       (((type)(-1)) < 0)
+#define _bt_is_signed_type(type)       ((type) -1 < (type) 0)
 
 #define _bt_unsigned_cast(type, v)                                     \
 ({                                                                     \
@@ -79,7 +87,7 @@
 #define _bt_bitfield_write_le(_ptr, type, _start, _length, _v)         \
 do {                                                                   \
        typeof(_v) __v = (_v);                                          \
-       typeof(*(_ptr)) *__ptr = (_ptr);                                \
+       type *__ptr = (void *) (_ptr);                                  \
        unsigned long __start = (_start), __length = (_length);         \
        type mask, cmask;                                               \
        unsigned long ts = sizeof(type) * CHAR_BIT; /* type size */     \
@@ -138,7 +146,7 @@ do {                                                                        \
 #define _bt_bitfield_write_be(_ptr, type, _start, _length, _v)         \
 do {                                                                   \
        typeof(_v) __v = (_v);                                          \
-       typeof(*(_ptr)) *__ptr = (_ptr);                                \
+       type *__ptr = (void *) (_ptr);                                  \
        unsigned long __start = (_start), __length = (_length);         \
        type mask, cmask;                                               \
        unsigned long ts = sizeof(type) * CHAR_BIT; /* type size */     \
@@ -231,8 +239,8 @@ do {                                                                        \
 #define _bt_bitfield_read_le(_ptr, type, _start, _length, _vptr)       \
 do {                                                                   \
        typeof(*(_vptr)) *__vptr = (_vptr);                             \
-       typeof(*(_ptr)) *__ptr = (_ptr);                                \
        typeof(*__vptr) __v;                                            \
+       type *__ptr = (void *) (_ptr);                                  \
        unsigned long __start = (_start), __length = (_length);         \
        type mask, cmask;                                               \
        unsigned long ts = sizeof(type) * CHAR_BIT; /* type size */     \
@@ -298,8 +306,8 @@ do {                                                                        \
 #define _bt_bitfield_read_be(_ptr, type, _start, _length, _vptr)       \
 do {                                                                   \
        typeof(*(_vptr)) *__vptr = (_vptr);                             \
-       typeof(*(_ptr)) *__ptr = (_ptr);                                \
        typeof(*__vptr) __v;                                            \
+       type *__ptr = (void *) (_ptr);                                  \
        unsigned long __start = (_start), __length = (_length);         \
        type mask, cmask;                                               \
        unsigned long ts = sizeof(type) * CHAR_BIT; /* type size */     \
This page took 0.023784 seconds and 4 git commands to generate.