diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.other/mutable1.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/mutable1.C | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/mutable1.C b/gcc/testsuite/g++.old-deja/g++.other/mutable1.C deleted file mode 100644 index 3fd0c3e6b7c..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.other/mutable1.C +++ /dev/null @@ -1,43 +0,0 @@ -// 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 ctors -struct 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; -} |