diff options
Diffstat (limited to 'test/Unit/int_lib.h')
-rw-r--r-- | test/Unit/int_lib.h | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/test/Unit/int_lib.h b/test/Unit/int_lib.h deleted file mode 100644 index e01de1da..00000000 --- a/test/Unit/int_lib.h +++ /dev/null @@ -1,159 +0,0 @@ -/* ===-- int_lib.h - configuration header for libgcc replacement -----------=== - * - * The LLVM Compiler Infrastructure - * - * This file is distributed under the University of Illinois Open Source - * License. See LICENSE.TXT for details. - * - * ===----------------------------------------------------------------------=== - * - * This file is a configuration header for libgcc replacement. - * This file is not part of the interface of this library. - * - * ===----------------------------------------------------------------------=== - */ - -#ifndef INT_LIB_H -#define INT_LIB_H - -/* Assumption: signed integral is 2's complement */ -/* Assumption: right shift of signed negative is arithmetic shift */ - -#include <limits.h> -#include "endianness.h" -#include <math.h> - -#if !defined(INFINITY) && defined(HUGE_VAL) -#define INFINITY HUGE_VAL -#endif /* INFINITY */ - -typedef int si_int; -typedef unsigned su_int; - -typedef long long di_int; -typedef unsigned long long du_int; - -typedef union -{ - di_int all; - struct - { -#if _YUGA_LITTLE_ENDIAN - su_int low; - si_int high; -#else - si_int high; - su_int low; -#endif /* _YUGA_LITTLE_ENDIAN */ - }s; -} dwords; - -typedef union -{ - du_int all; - struct - { -#if _YUGA_LITTLE_ENDIAN - su_int low; - su_int high; -#else - su_int high; - su_int low; -#endif /* _YUGA_LITTLE_ENDIAN */ - }s; -} udwords; - -#if __x86_64 - -typedef int ti_int __attribute__ ((mode (TI))); -typedef unsigned tu_int __attribute__ ((mode (TI))); - -typedef union -{ - ti_int all; - struct - { -#if _YUGA_LITTLE_ENDIAN - du_int low; - di_int high; -#else - di_int high; - du_int low; -#endif /* _YUGA_LITTLE_ENDIAN */ - }s; -} twords; - -typedef union -{ - tu_int all; - struct - { -#if _YUGA_LITTLE_ENDIAN - du_int low; - du_int high; -#else - du_int high; - du_int low; -#endif /* _YUGA_LITTLE_ENDIAN */ - }s; -} utwords; - -inline -ti_int -make_ti(di_int h, di_int l) -{ - twords r; - r.high = h; - r.low = l; - return r.all; -} - -inline -tu_int -make_tu(du_int h, du_int l) -{ - utwords r; - r.high = h; - r.low = l; - return r.all; -} - -#endif /* __x86_64 */ - -typedef union -{ - su_int u; - float f; -} float_bits; - -typedef union -{ - udwords u; - double f; -} double_bits; - -typedef struct -{ -#if _YUGA_LITTLE_ENDIAN - udwords low; - udwords high; -#else - udwords high; - udwords low; -#endif /* _YUGA_LITTLE_ENDIAN */ -} uqwords; - -typedef union -{ - uqwords u; - long double f; -} long_double_bits; - - -/* for test cases that are only applicable to */ -/* architectures with 80-bit long doubles */ -#if __i386__ || __x86_64__ - #define HAS_80_BIT_LONG_DOUBLE 1 -#endif - -#endif /* INT_LIB_H */ |