*
* 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 <babeltrace/compat/limits.h> /* C99 5.2.4.2 Numerical limits */
#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) \
___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) \
({ \
#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 */ \
#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 */ \
#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 */ \
#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 */ \