📄 mutable1.c
字号:
// { dg-do run }// Copyright (C) 1999 Free Software Foundation, Inc.// Contributed by Nathan Sidwell 14 Jan 1999 <nathan@acm.org>// Make sure objects with mutable members are never placed in a read only// section.// All these are POD structs, and hence do not need ctorsstruct A { mutable int i; };struct B { A a; };struct C { A a[1]; };struct D { static A const a; };// all these are static consts and hence naively suitable for a read only// section. But they contain a mutable, so must be in a writable section.static int const i = 0;static A const a = {0};static B const b = {{0}};static C const c = {{{0}}};static A const aa[] = {{0}};static B const bb[] = {{{0}}};static C const cc[] = {{{{0}}}};A const D::a = {0};int main(){ a.i = 05; b.a.i = 05; c.a[0].i = 05; aa[0].i = 05; bb[0].a.i = 05; cc[0].a[0].i = 05; D::a.i = 05; if(!a.i) return 1; if(!b.a.i) return 1; if(!c.a[0].i) return 1; if(!aa[0].i) return 1; if(!bb[0].a.i) return 1; if(!cc[0].a[0].i) return 1; if(!D::a.i) return 1; return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -