Home | History | Annotate | Download | only in Layout

Lines Matching full:virtual

20 struct __declspec(align(16)) D0 { D0() {printf("D0 : %3d\n", ((int)(__SIZE_TYPE__)this)&0xfff);} virtual void f() {} };
24 struct A : virtual B0 {
34 // CHECK-NEXT: 8 | struct B0 (virtual base) (empty)
42 // CHECK-X64-NEXT: 16 | struct B0 (virtual base) (empty)
46 struct B : virtual B0 {
57 // CHECK-NEXT: 24 | struct B0 (virtual base) (empty)
65 // CHECK-X64-NEXT: 24 | struct B0 (virtual base) (empty)
69 struct C : virtual B0, virtual B1, virtual B2, virtual B3, virtual B4 {
82 // CHECK-NEXT: 8 | struct B0 (virtual base) (empty)
83 // CHECK-NEXT: 16 | struct B1 (virtual base) (empty)
84 // CHECK-NEXT: 24 | struct B2 (virtual base) (empty)
85 // CHECK-NEXT: 32 | struct B3 (virtual base) (empty)
86 // CHECK-NEXT: 40 | struct B4 (virtual base) (empty)
97 // CHECK-X64-NEXT: 16 | struct B0 (virtual base) (empty)
98 // CHECK-X64-NEXT: 24 | struct B1 (virtual base) (empty)
99 // CHECK-X64-NEXT: 32 | struct B2 (virtual base) (empty)
100 // CHECK-X64-NEXT: 40 | struct B3 (virtual base) (empty)
101 // CHECK-X64-NEXT: 48 | struct B4 (virtual base) (empty)
148 struct E : virtual B0, virtual C0, virtual C1, virtual C2, virtual B1 {
157 // CHECK-NEXT: 8 | struct B0 (virtual base) (empty)
158 // CHECK-NEXT: 8 | struct C0 (virtual base)
160 // CHECK-NEXT: 12 | struct C1 (virtual base)
162 // CHECK-NEXT: 16 | struct C2 (virtual base)
164 // CHECK-NEXT: 24 | struct B1 (virtual base) (empty)
171 // CHECK-X64-NEXT: 16 | struct B0 (virtual base) (empty)
172 // CHECK-X64-NEXT: 16 | struct C0 (virtual base)
174 // CHECK-X64-NEXT: 20 | struct C1 (virtual base)
176 // CHECK-X64-NEXT: 24 | struct C2 (virtual base)
178 // CHECK-X64-NEXT: 32 | struct B1 (virtual base) (empty)
182 struct F : virtual C0, virtual B0, virtual B1, virtual C1 {
191 // CHECK-NEXT: 8 | struct C0 (virtual base)
193 // CHECK-NEXT: 16 | struct B0 (virtual base) (empty)
194 // CHECK-NEXT: 24 | struct B1 (virtual base) (empty)
195 // CHECK-NEXT: 24 | struct C1 (virtual base)
203 // CHECK-X64-NEXT: 16 | struct C0 (virtual base)
205 // CHECK-X64-NEXT: 24 | struct B0 (virtual base) (empty)
206 // CHECK-X64-NEXT: 32 | struct B1 (virtual base) (empty)
207 // CHECK-X64-NEXT: 32 | struct C1 (virtual base)
212 struct G : virtual C0, virtual B0, virtual B1, D0, virtual C1 {
215 virtual void f() {}
225 // CHECK-NEXT: 32 | struct C0 (virtual base)
227 // CHECK-NEXT: 40 | struct B0 (virtual base) (empty)
228 // CHECK-NEXT: 56 | struct B1 (virtual base) (empty)
229 // CHECK-NEXT: 56 | struct C1 (virtual base)
240 // CHECK-X64-NEXT: 32 | struct C0 (virtual base)
242 // CHECK-X64-NEXT: 40 | struct B0 (virtual base) (empty)
243 // CHECK-X64-NEXT: 56 | struct B1 (virtual base) (empty)
244 // CHECK-X64-NEXT: 56 | struct C1 (virtual base)
249 struct H : virtual C0, virtual B0, virtual B1, virtual D0, virtual C1 {
252 virtual void f() {}
259 // CHECK-NEXT: 8 | struct C0 (virtual base)
261 // CHECK-NEXT: 16 | struct B0 (virtual base) (empty)
262 // CHECK-NEXT: 24 | struct B1 (virtual base) (empty)
264 // CHECK-NEXT: 48 | struct D0 (virtual base)
266 // CHECK-NEXT: 52 | struct C1 (virtual base)
274 // CHECK-X64-NEXT: 16 | struct C0 (virtual base)
276 // CHECK-X64-NEXT: 24 | struct B0 (virtual base) (empty)
277 // CHECK-X64-NEXT: 40 | struct B1 (virtual base) (empty)
279 // CHECK-X64-NEXT: 64 | struct D0 (virtual base)
281 // CHECK-X64-NEXT: 72 | struct C1 (virtual base)
286 struct I : virtual B0, virtual B1, virtual B2, virtual B3, virtual B4 {
295 // CHECK-NEXT: 64 | struct B0 (virtual base) (empty)
296 // CHECK-NEXT: 72 | struct B1 (virtual base) (empty)
297 // CHECK-NEXT: 104 | struct B2 (virtual base) (empty)
298 // CHECK-NEXT: 136 | struct B3 (virtual base) (empty)
299 // CHECK-NEXT: 168 | struct B4 (virtual base) (empty)
306 // CHECK-X64-NEXT: 64 | struct B0 (virtual base) (empty)
307 // CHECK-X64-NEXT: 72 | struct B1 (virtual base) (empty)
308 // CHECK-X64-NEXT: 104 | struct B2 (virtual base) (empty)
309 // CHECK-X64-NEXT: 136 | struct B3 (virtual base) (empty)
310 // CHECK-X64-NEXT: 168 | struct B4 (virtual base) (empty)
314 struct __declspec(align(32)) J : virtual B0, virtual B1, virtual B2, virtual B3, virtual B4 {
323 // CHECK-NEXT: 8 | struct B0 (virtual base) (empty)
324 // CHECK-NEXT: 40 | struct B1 (virtual base) (empty)
325 // CHECK-NEXT: 72 | struct B2 (virtual base) (empty)
326 // CHECK-NEXT: 104 | struct B3 (virtual base) (empty)
327 // CHECK-NEXT: 136 | struct B4 (virtual base) (empty)
334 // CHECK-X64-NEXT: 16 | struct B0 (virtual base) (empty)
335 // CHECK-X64-NEXT: 40 | struct B1 (virtual base) (empty)
336 // CHECK-X64-NEXT: 72 | struct B2 (virtual base) (empty)
337 // CHECK-X64-NEXT: 104 | struct B3 (virtual base) (empty)
338 // CHECK-X64-NEXT: 136 | struct B4 (virtual base) (empty)
342 struct K : virtual D1, virtual B1, virtual B2, virtual B3, virtual B4 {
352 // CHECK-NEXT: 64 | struct D1 (virtual base) (empty)
353 // CHECK-NEXT: 72 | struct B1 (virtual base) (empty)
354 // CHECK-NEXT: 104 | struct B2 (virtual base) (empty)
355 // CHECK-NEXT: 136 | struct B3 (virtual base) (empty)
356 // CHECK-NEXT: 168 | struct B4 (virtual base) (empty)
364 // CHECK-X64-NEXT: 64 | struct D1 (virtual base) (empty)
365 // CHECK-X64-NEXT: 72 | struct B1 (virtual base) (empty)
366 // CHECK-X64-NEXT: 104 | struct B2 (virtual base) (empty)
367 // CHECK-X64-NEXT: 136 | struct B3 (virtual base) (empty)
368 // CHECK-X64-NEXT: 168 | struct B4 (virtual base) (empty)
372 struct L : virtual B1, virtual D1, virtual B2, virtual B3, virtual B4 {
381 // CHECK-NEXT: 64 | struct B1 (virtual base) (empty)
382 // CHECK-NEXT: 68 | struct D1 (virtual base) (empty)
383 virtual base) (empty)
384 // CHECK-NEXT: 136 | struct B3 (virtual base) (empty)
385 // CHECK-NEXT: 168 | struct B4 (virtual base) (empty)
392 // CHECK-X64-NEXT: 64 | struct B1 (virtual base) (empty)
393 // CHECK-X64-NEXT: 68 | struct D1 (virtual base) (empty)
394 // CHECK-X64-NEXT: 104 | struct B2 (virtual base) (empty)
395 // CHECK-X64-NEXT: 136 | struct B3 (virtual base) (empty)
396 // CHECK-X64-NEXT: 168 | struct B4 (virtual base) (empty)
400 struct M : virtual B1, virtual B2, virtual D1, virtual B3, virtual B4 {
409 // CHECK-NEXT: 64 | struct B1 (virtual base) (empty)
410 // CHECK-NEXT: 72 | struct B2 (virtual base) (empty)
411 // CHECK-NEXT: 100 | struct D1 (virtual base) (empty)
412 // CHECK-NEXT: 136 | struct B3 (virtual base) (empty)
413 // CHECK-NEXT: 168 | struct B4 (virtual base) (empty)
420 // CHECK-X64-NEXT: 64 | struct B1 (virtual base) (empty)
421 // CHECK-X64-NEXT: 72 | struct B2 (virtual base) (empty)
422 // CHECK-X64-NEXT: 100 | struct D1 (virtual base) (empty)
423 // CHECK-X64-NEXT: 136 | struct B3 (virtual base) (empty)
424 // CHECK-X64-NEXT: 168 | struct B4 (virtual base) (empty)
428 struct N : virtual C0, virtual B1, virtual D1, virtual B2, virtual B3, virtual B4 {
437 // CHECK-NEXT: 64 | struct C0 (virtual base)
439 // CHECK-NEXT: 72 | struct B1 (virtual base) (empty)
440 // CHECK-NEXT: 100 | struct D1 (virtual base) (empty)
441 // CHECK-NEXT: 136 | struct B2 (virtual base) (empty)
442 // CHECK-NEXT: 168 | struct B3 (virtual base) (empty)
443 // CHECK-NEXT: 200 | struct B4 (virtual base) (empty)
450 // CHECK-X64-NEXT: 64 | struct C0 (virtual base)
452 // CHECK-X64-NEXT: 72 | struct B1 (virtual base) (empty)
453 // CHECK-X64-NEXT: 100 | struct D1 (virtual base) (empty)
454 // CHECK-X64-NEXT: 136 | struct B2 (virtual base) (empty)
455 // CHECK-X64-NEXT: 168 | struct B3 (virtual base) (empty)
456 // CHECK-X64-NEXT: 200 | struct B4 (virtual base) (empty)
460 struct O : virtual C0, virtual B1, virtual B2, virtual D1, virtual B3, virtual B4 {
469 // CHECK-NEXT: 64 | struct C0 (virtual base)
471 // CHECK-NEXT: 72 | struct B1 (virtual base) (empty)
472 // CHECK-NEXT: 104 | struct B2 (virtual base) (empty)
473 // CHECK-NEXT: 132 | struct D1 (virtual base) (empty)
474 // CHECK-NEXT: 168 | struct B3 (virtual base) (empty)
475 // CHECK-NEXT: 200 | struct B4 (virtual base) (empty)
482 // CHECK-X64-NEXT: 64 | struct C0 (virtual base)
484 // CHECK-X64-NEXT: 72 | struct B1 (virtual base) (empty)
485 // CHECK-X64-NEXT: 104 | struct B2 (virtual base) (empty)
486 // CHECK-X64-NEXT: 132 | struct D1 (virtual base) (empty)
487 // CHECK-X64-NEXT: 168 | struct B3 (virtual base) (empty)
488 // CHECK-X64-NEXT: 200 | struct B4 (virtual base) (empty)
492 struct P : virtual B1, virtual C0, virtual D1, virtual B2, virtual B3, virtual B4 {
501 // CHECK-NEXT: 64 | struct B1 (virtual base) (empty)
502 // CHECK-NEXT: 64 | struct C0 (virtual base)
504 // CHECK-NEXT: 68 | struct D1 (virtual base) (empty)
505 // CHECK-NEXT: 104 | struct B2 (virtual base) (empty)
506 // CHECK-NEXT: 136 | struct B3 (virtual base) (empty)
507 // CHECK-NEXT: 168 | struct B4 (virtual base) (empty)
514 // CHECK-X64-NEXT: 64 | struct B1 (virtual base) (empty)
515 // CHECK-X64-NEXT: 64 | struct C0 (virtual base)
517 // CHECK-X64-NEXT: 68 | struct D1 (virtual base) (empty)
518 // CHECK-X64-NEXT: 104 | struct B2 (virtual base) (empty)
519 // CHECK-X64-NEXT: 136 | struct B3 (virtual base) (empty)
520 // CHECK-X64-NEXT: 168 | struct B4 (virtual base) (empty)
524 struct Q : virtual B1, virtual C0, virtual B2, virtual D1, virtual B3, virtual B4 {
533 // CHECK-NEXT: 64 | struct B1 (virtual base) (empty)
534 // CHECK-NEXT: 64 | struct C0 (virtual base)
536 // CHECK-NEXT: 72 | struct B2 (virtual base) (empty)
537 // CHECK-NEXT: 100 | struct D1 (virtual base) (empty)
538 // CHECK-NEXT: 136 | struct B3 (virtual base) (empty)
539 // CHECK-NEXT: 168 | struct B4 (virtual base) (empty)
546 // CHECK-X64-NEXT: 64 | struct B1 (virtual base) (empty)
547 // CHECK-X64-NEXT: 64 | struct C0 (virtual base)
549 // CHECK-X64-NEXT: 72 | struct B2 (virtual base) (empty)
550 // CHECK-X64-NEXT: 100 | struct D1 (virtual base) (empty)
551 // CHECK-X64-NEXT: 136 | struct B3 (virtual base) (empty)
552 // CHECK-X64-NEXT: 168 | struct B4 (virtual base) (empty)
556 struct R : virtual B0, virtual B1, virtual B2, virtual C0, virtual B3, virtual B4 {
565 // CHECK-NEXT: 64 | struct B0 (virtual base) (empty)
566 // CHECK-NEXT: 72 | struct B1 (virtual base) (empty)
567 // CHECK-NEXT: 104 | struct B2 (virtual base) (empty)
568 // CHECK-NEXT: 104 | struct C0 (virtual base)
570 // CHECK-NEXT: 112 | struct B3 (virtual base) (empty)
571 // CHECK-NEXT: 136 | struct B4 (virtual base) (empty)
578 // CHECK-X64-NEXT: 64 | struct B0 (virtual base) (empty)
579 // CHECK-X64-NEXT: 72 | struct B1 (virtual base) (empty)
580 // CHECK-X64-NEXT: 104 | struct B2 (virtual base) (empty)
581 // CHECK-X64-NEXT: 104 | struct C0 (virtual base)
583 // CHECK-X64-NEXT: 112 | struct B3 (virtual base) (empty)
584 // CHECK-X64-NEXT: 136 | struct B4 (virtual base) (empty)
588 struct S : virtual B0, virtual B1, virtual C0, virtual B2, virtual B3, virtual B4 {
597 // CHECK-NEXT: 64 | struct B0 (virtual base) (empty)
598 // CHECK-NEXT: 72 | struct B1 (virtual base) (empty)
599 // CHECK-NEXT: 72 | struct C0 (virtual base)
601 // CHECK-NEXT: 80 | struct B2 (virtual base) (empty)
602 // CHECK-NEXT: 104 | struct B3 (virtual base) (empty)
603 // CHECK-NEXT: 136 | struct B4 (virtual base) (empty)
610 // CHECK-X64-NEXT: 64 | struct B0 (virtual base) (empty)
611 // CHECK-X64-NEXT: 72 | struct B1 (virtual base) (empty)
612 // CHECK-X64-NEXT: 72 | struct C0 (virtual base)
614 // CHECK-X64-NEXT: 80 | struct B2 (virtual base) (empty)
615 // CHECK-X64-NEXT: 104 | struct B3 (virtual base) (empty)
616 // CHECK-X64-NEXT: 136 | struct B4 (virtual base) (empty)
620 struct T : virtual B0, virtual B1, virtual C0, virtual D2, virtual B2, virtual B3, virtual B4 {
630 // CHECK-NEXT: 32 | struct B0 (virtual base) (empty)
631 // CHECK-NEXT: 40 | struct B1 (virtual base) (empty)
632 // CHECK-NEXT: 40 | struct C0 (virtual base)
634 // CHECK-NEXT: 44 | struct D2 (virtual base)
636 // CHECK-NEXT: 80 | struct B2 (virtual base) (empty)
637 // CHECK-NEXT: 88 | struct B3 (virtual base) (empty)
638 // CHECK-NEXT: 104 | struct B4 (virtual base) (empty)
646 // CHECK-X64-NEXT: 32 | struct B0 (virtual base) (empty)
647 // CHECK-X64-NEXT: 40 | struct B1 (virtual base) (empty)
648 // CHECK-X64-NEXT: 40 | struct C0 (virtual base)
650 // CHECK-X64-NEXT: 44 | struct D2 (virtual base)
652 // CHECK-X64-NEXT: 80 | struct B2 (virtual base) (empty)
653 // CHECK-X64-NEXT: 88 | struct B3 (virtual base) (empty)
654 // CHECK-X64-NEXT: 104 | struct B4 (virtual base) (empty)
658 struct __declspec(align(32)) U : virtual B0, virtual B1 {
667 // CHECK-NEXT: 8 | struct B0 (virtual base) (empty)
668 // CHECK-NEXT: 40 | struct B1 (virtual base) (empty)
675 // CHECK-X64-NEXT: 16 | struct B0 (virtual base) (empty)
676 // CHECK-X64-NEXT: 40 | struct B1 (virtual base) (empty)
680 struct __declspec(align(32)) V : virtual D1 {
689 // CHECK-NEXT: 8 | struct D1 (virtual base) (empty)
696 // CHECK-X64-NEXT: 16 | struct D1 (virtual base) (empty)
702 struct T3 : virtual T1, virtual T0 { long long a; };
710 // CHECK-NEXT: 16 | struct T1 (virtual base)
713 // CHECK-NEXT: 24 | struct T0 (virtual base) (empty)
722 // CHECK-X64-NEXT: 16 | struct T1 (virtual base)
725 // CHECK-X64-NEXT: 24 | struct T0 (virtual base) (empty)
731 struct Q0C : virtual Q0A, virtual Q0B { char Q0CField; };
743 // CHECK-NEXT: 8 | struct Q0A (virtual base) (empty)
744 // CHECK-NEXT: 8 | struct Q0B (virtual base)
757 // CHECK-X64-NEXT: 16 | struct Q0A (virtual base) (empty)
758 // CHECK-X64-NEXT: 16 | struct Q0B (virtual base)