annotate gcc/testsuite/g++.dg/torture/pr48695.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // { dg-do run }
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2 /* { dg-options "-fcheck-new" } */
111
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 typedef __SIZE_TYPE__ size_t;
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 inline void *operator new (size_t, void *__p) throw() { return __p; }
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 struct _Vector_impl
kono
parents:
diff changeset
9 {
kono
parents:
diff changeset
10 int *_M_start;
kono
parents:
diff changeset
11 int *_M_finish;
kono
parents:
diff changeset
12 _Vector_impl () :_M_start (0), _M_finish (0) {}
kono
parents:
diff changeset
13 };
kono
parents:
diff changeset
14
kono
parents:
diff changeset
15 struct vector
kono
parents:
diff changeset
16 {
kono
parents:
diff changeset
17 _Vector_impl _M_impl;
kono
parents:
diff changeset
18 int *_M_allocate (size_t __n)
kono
parents:
diff changeset
19 {
kono
parents:
diff changeset
20 return __n != 0 ? new int[__n] : 0;
kono
parents:
diff changeset
21 }
kono
parents:
diff changeset
22 void push_back ()
kono
parents:
diff changeset
23 {
kono
parents:
diff changeset
24 new (this->_M_impl._M_finish) int ();
kono
parents:
diff changeset
25 this->_M_impl._M_finish =
kono
parents:
diff changeset
26 this->_M_allocate (this->_M_impl._M_finish - this->_M_impl._M_start) + 1;
kono
parents:
diff changeset
27 }
kono
parents:
diff changeset
28 };
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30 int
kono
parents:
diff changeset
31 main ()
kono
parents:
diff changeset
32 {
kono
parents:
diff changeset
33 for (int i = 0; i <= 1; i++)
kono
parents:
diff changeset
34 for (int j = 0; j <= 1; j++)
kono
parents:
diff changeset
35 {
kono
parents:
diff changeset
36 vector a[2];
kono
parents:
diff changeset
37 a[i].push_back ();
kono
parents:
diff changeset
38 }
kono
parents:
diff changeset
39 }