struct-layout-1.h

来自「linux下编程用 编译软件」· C头文件 代码 · 共 498 行 · 第 1/2 页

H
498
字号
#include <limits.h>#include <stdarg.h>#include <stdbool.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include "../../gcc.dg/compat/compat-common.h"#ifndef SKIP_ATTRIBUTE# include "../../gcc.dg/compat/vector-defs.h"#elsetypedef int qi;typedef int hi;typedef int si;typedef int di;typedef float sf;typedef float df;typedef int v8qi;typedef int v16qi;typedef int v2hi;typedef int v4hi;typedef int v8hi;typedef int v2si;typedef int v4si;typedef int v1di;typedef int v2di;typedef int v2sf;typedef int v4sf;typedef int v16sf;typedef int v2df;typedef int u8qi;typedef int u16qi;typedef int u2hi;typedef int u4hi;typedef int u8hi;typedef int u2si;typedef int u4si;typedef int u1di;typedef int u2di;typedef int u2sf;typedef int u4sf;typedef int u16sf;typedef int u2df;#endif#if (defined __i386__ || defined __x86_64__) && !defined SKIP_ATTRIBUTE# ifdef __MMX__#  include <mmintrin.h># elsetypedef int __m64;# endif# ifdef __SSE__#  include <xmmintrin.h># elsetypedef int __m128;# endif#elsetypedef int __m64;typedef int __m128;#endif#define FLDS_MAX	32extern struct Info{  int nfields, nbitfields;  void *sp, *a0p, *a3p;  void *flds[FLDS_MAX];  size_t sz, sizes[FLDS_MAX];  size_t als, ala0, ala3, aligns[FLDS_MAX];} info;extern int intarray[256];extern int fn0 (void), fn1 (void), fn2 (void), fn3 (void), fn4 (void);extern int fn5 (void), fn6 (void), fn7 (void), fn8 (void), fn9 (void);#ifdef DBG#define FAIL(n, m) printf ("fail %d.%d\n", n, m), ++fails#else#define FAIL(n, m) ++fails#endif#ifdef SKIP_ATTRIBUTE# define __attribute__(x)#endif#define atal		__attribute__((aligned))#define atpa		__attribute__((packed))#define atalpa		__attribute__((aligned, packed))#define atpaal		__attribute__((packed, aligned))#define atal1		__attribute__((aligned (1)))#define atal2		__attribute__((aligned (2)))#define atal4		__attribute__((aligned (4)))#define atal8		__attribute__((aligned (8)))#define atal16		__attribute__((aligned (16)))#define atal1pa		__attribute__((aligned (1), packed))#define atal2pa		__attribute__((aligned (2), packed))#define atal4pa		__attribute__((aligned (4), packed))#define atal8pa		__attribute__((aligned (8), packed))#define atal16pa	__attribute__((aligned (16), packed))#define atpaal1		__attribute__((packed, aligned (1)))#define atpaal2		__attribute__((packed, aligned (2)))#define atpaal4		__attribute__((packed, aligned (4)))#define atpaal8		__attribute__((packed, aligned (8)))#define atpaal16	__attribute__((packed, aligned (16)))#if UCHAR_MAX == 255 && USHORT_MAX == 65535 && UINT_MAX == 4294967295U \    && ULLONG_MAX == 18446744073709551615ULL/* For ILP32 and LP64 targets, assume float is at least 32-bit   and double plus long double at least 64-bit.  */# define atalx1		atal1# define atalx2		atal2# define atalx4		atal4# define atalx8		atal8# define atalx16	atal16# define atalx1pa	atal1pa# define atalx2pa	atal2pa# define atalx4pa	atal4pa# define atalx8pa	atal8pa# define atalx16pa	atal16pa# define atpaalx1	atpaal1# define atpaalx2	atpaal2# define atpaalx4	atpaal4# define atpaalx8	atpaal8# define atpaalx16	atpaal16# if ULONG_MAX > 4294967295UL#  define ataly8	atal8#  define ataly8pa	atal8pa#  define atpaaly8	atpaal8#  define ataly16	atal16#  define ataly16pa	atal16pa#  define atpaaly16	atpaal16# else#  define ataly8#  define ataly8pa#  define atpaaly8#  define ataly16#  define ataly16pa#  define atpaaly16# endif#else# define atalx1# define atalx2# define atalx4# define atalx8# define atalx16# define atalx1pa# define atalx2pa# define atalx4pa# define atalx8pa# define atalx16pa# define atpaalx1# define atpaalx2# define atpaalx4# define atpaalx8# define atpaalx16# define ataly8# define ataly8pa# define atpaaly8# define ataly16# define ataly16pa# define atpaaly16#endif#define atQI		__attribute__((mode (QI)))#define atHI		__attribute__((mode (HI)))#define atSI		__attribute__((mode (SI)))#define atDI		__attribute__((mode (DI)))enum E0 { e0_0 };enum E1 { e1_0, e1_1 };enum E2 { e2_m3 = -3, e2_m2, e2_m1, e2_0, e2_1, e2_2, e2_3 };enum E3 { e3_m127 = -127, e3_m126, e3_m125, e3_0 = 0, e3_125 = 125, e3_126, e3_127 };enum E4 { e4_0, e4_1, e4_2, e4_3, e4_253 = 253, e4_254, e4_255 };enum E5 { e5_m32767 = -32767, e5_m32766, e5_m32765, e5_0 = 0, e5_32765 = 32765, e5_32766, e5_32767 };enum E6 { e6_0, e6_1, e6_2, e6_3, e6_65533 = 65533, e6_65534, e6_65535 };enum E7 { e7_m2147483647 = -2147483647, e7_m2147483646, e7_m2147483645,	  e7_0, e7_2147483645 = 2147483645, e7_2147483646, e7_2147483647 };enum E8 { e8_0, e8_1, e8_2, e8_3, e8_4294967293 = 4294967293U, e8_4294967294, e8_4294967295 };enum E9 { e9_m1099511627775 = -1099511627775LL, e9_m1099511627774, e9_m1099511627773,	  e9_0, e9_1099511627773 = 1099511627773LL, e9_1099511627774, e9_1099511627775 };typedef char Tchar;typedef signed char Tschar;typedef unsigned char Tuchar;typedef short int Tshort;typedef unsigned short int Tushort;typedef int Tint;typedef unsigned int Tuint;typedef long int Tlong;typedef unsigned long int Tulong;typedef long long int Tllong;typedef unsigned long long int Tullong;typedef float Tfloat;typedef double Tdouble;typedef long double Tldouble;typedef _Complex float Tcfloat;typedef _Complex double Tcdouble;typedef _Complex long double Tcldouble;typedef bool Tbool;typedef enum E0 TE0;typedef enum E1 TE1;typedef enum E2 TE2;typedef enum E3 TE3;typedef enum E4 TE4;typedef enum E5 TE5;typedef enum E6 TE6;typedef enum E7 TE7;typedef enum E8 TE8;typedef enum E9 TE9;typedef void *Tptr;typedef char *Tcptr;typedef int *Tiptr;typedef char Talchar atal;typedef signed char Talschar atal;typedef unsigned char Taluchar atal;typedef short int Talshort atal;typedef unsigned short int Talushort atal;typedef int Talint atal;typedef unsigned int Taluint atal;typedef long int Tallong atal;typedef unsigned long int Talulong atal;typedef long long int Talllong atal;typedef unsigned long long int Talullong atal;typedef float Talfloat atal;typedef double Taldouble atal;typedef long double Talldouble atal;typedef _Complex float Talcfloat atal;typedef _Complex double Talcdouble atal;typedef _Complex long double Talcldouble atal;typedef bool Talbool atal;typedef enum E0 TalE0 atal;typedef enum E1 TalE1 atal;typedef enum E2 TalE2 atal;typedef enum E3 TalE3 atal;typedef enum E4 TalE4 atal;typedef enum E5 TalE5 atal;typedef enum E6 TalE6 atal;typedef enum E7 TalE7 atal;typedef enum E8 TalE8 atal;typedef enum E9 TalE9 atal;typedef void *Talptr atal;typedef char *Talcptr atal;typedef int *Taliptr atal;typedef char Tal1char atal1;typedef signed char Tal1schar atal1;typedef unsigned char Tal1uchar atal1;typedef short int Tal1short atal1;typedef unsigned short int Tal1ushort atal1;typedef int Tal1int atal1;typedef unsigned int Tal1uint atal1;typedef long int Tal1long atal1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?