bitfield.h.j2: remove `_BYTE_ORDER` definition; set relevant macros
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Fri, 4 Sep 2020 20:23:07 +0000 (16:23 -0400)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Fri, 4 Sep 2020 20:24:40 +0000 (16:24 -0400)
Now that a barectf configuration contains the target byte order, we can
set the relevant macros directly in `bitfield.h.j2`, and therefore
remove the `_BYTE_ORDER` definition.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
barectf/templates/c/bitfield.h.j2

index cdea2783f3400a6bbca5baef1238a73df0ee2e43..ffc6a9b13b5d759b0e0ce7de498769c77596fddf 100644 (file)
 # define _CAST_PTR(_type, _value)      ((void *) (_value))
 #endif
 
-{% set tgt_bo = cfg.target_byte_order %}
-{% set tgt_bo_str = 'LITTLE_ENDIAN' if tgt_bo == barectf_config.ByteOrder.LITTLE_ENDIAN else 'BIG_ENDIAN' %}
-#define _BYTE_ORDER {{ tgt_bo_str }}
-
 /* We can't shift a int from 32 bit, >> 32 and << 32 on int is undefined */
 #define _bt_piecewise_rshift(_vtype, _v, _shift) \
 do {                                                                   \
@@ -191,31 +187,18 @@ do {                                                                      \
                __ptr[this_unit] = (type) __v;                          \
 } while (0)
 
-/*
- * bt_bitfield_write_le - write integer to a bitfield in little endian
- * bt_bitfield_write_be - write integer to a bitfield in big endian
- */
-
-#if (_BYTE_ORDER == LITTLE_ENDIAN)
-
-#define bt_bitfield_write_le(ptr, type, _start, _length, _vtype, _v)   \
+{% if cfg.target_byte_order == barectf_config.ByteOrder.LITTLE_ENDIAN %}
+/* Target byte order: little-endian */
+#define bt_bitfield_write_le(ptr, type, _start, _length, _vtype, _v) \
        _bt_bitfield_write_le(ptr, type, _start, _length, _vtype, _v)
-
-#define bt_bitfield_write_be(ptr, type, _start, _length, _vtype, _v)   \
+#define bt_bitfield_write_be(ptr, type, _start, _length, _vtype, _v) \
        _bt_bitfield_write_be(ptr, unsigned char, _start, _length, _vtype, _v)
-
-#elif (_BYTE_ORDER == BIG_ENDIAN)
-
-#define bt_bitfield_write_le(ptr, type, _start, _length, _vtype, _v)   \
+{% else %}
+/* Target byte order: big-endian */
+#define bt_bitfield_write_le(ptr, type, _start, _length, _vtype, _v) \
        _bt_bitfield_write_le(ptr, unsigned char, _start, _length, _vtype, _v)
-
-#define bt_bitfield_write_be(ptr, type, _start, _length, _vtype, _v)   \
+#define bt_bitfield_write_be(ptr, type, _start, _length, _vtype, _v) \
        _bt_bitfield_write_be(ptr, type, _start, _length, _vtype, _v)
-
-#else /* (_BYTE_ORDER == PDP_ENDIAN) */
-
-#error "Byte order not supported"
-
-#endif
+{% endif %}
 
 #endif /* _{{ ucprefix }}BITFIELD_H */
This page took 0.023828 seconds and 4 git commands to generate.