bitfld3.c

来自「linux下编程用 编译软件」· C语言 代码 · 共 35 行

C
35
字号
// { dg-do assemble  }// Copyright (C) 1999, 2000 Free Software Foundation, Inc.// Contributed by Nathan Sidwell 4 Jun 1999 <nathan@acm.org>// Derived from a bug report from Stephan Riess <riess@bfw-online.de>// http://gcc.gnu.org/ml/gcc-bugs/1999-06n/msg00107.html// Builtin ops don't always need reference bindings, and we weren't removing// them always after doing overload resolution. This caused us to try and take// the address of a bitfield.enum E {one};struct A {  E m1: 8;  E m2: 8;  unsigned m3 : 8;  unsigned m4 : 8;};int fn (int f){  A a;  E m1, m2;  E e;  int i;    e = f ? m1 : m2;  e = f ? a.m1 : a.m2;  i = f ? a.m3 : a.m4;  (f ? m1 : m2) = e;  (f ? a.m1 : a.m2) = e;  (f ? a.m3 : a.m4) = i;  return 0;}

⌨️ 快捷键说明

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