20050511-1.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 66 行

C
66
字号
/* APPLE LOCAL file 4110735 *//* { dg-do run } *//* { dg-options "-O3" { target powerpc*-*-* } } */#include <stdio.h>#include <stdlib.h>typedef signed short SINT16 ;typedef unsigned long UINT32 ;typedef unsigned int UINT ;class A{public:    union       {      SINT16 xy[2];      UINT32 abXY;    };  bool operator==(const A& other) const {return abXY == other.abXY;}  bool operator!=(const A& other) const {return abXY != other.abXY;}};template <int size> struct pArray { unsigned char u08[16*(((size*1)+15)/16)] __attribute__ ((aligned(16))); };struct B{  union {    A mvL[2];    pArray<1> xyz;  };} ;typedef struct{  UINT w;  B b;}C;UINT32 bar (const C * sPtr){  UINT w = sPtr->w;  A a;  a.xy[0] = sPtr->b.mvL[w].xy[0]<<2;  a.xy[1] = sPtr->b.mvL[w].xy[1]<<2;  if (a.xy[0] != (SINT16) (0xffff << 2))	abort ();}int main(){	A a;	C c;	a.xy[0] = 0xffff;	a.xy[1] = 0xffff;	c.w=0;	c.b.mvL[0].xy[0] = a.xy[0];	c.b.mvL[0].xy[1] = a.xy[1];	bar (&c);}	

⌨️ 快捷键说明

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