view gcc/testsuite/g++.dg/other/pr80534-2.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR c++/80534
// { dg-do compile { target c++11 } }
// { dg-options "" }

template <int, int> struct aligned_storage {
  struct type {
    char __data[0];
  };
};
struct A {};
template <typename _Tp, typename = _Tp> struct unique_ptr;
template <typename _Tp, typename _Dp> struct unique_ptr<_Tp[], _Dp> {
  int _M_t;
  void get() { _M_t; }
};
struct B {
  using Association = A;
  using Storage = aligned_storage<sizeof(Association), alignof(Association)>::type;
  using StorageUniquePointer = unique_ptr<Storage[]>;
  void getAssociationsBegin() { storageUniquePointer_.get(); }
  StorageUniquePointer storageUniquePointer_;
};
struct C {};
using MainThreadStaticSignalsReceiver = C;
aligned_storage<sizeof(MainThreadStaticSignalsReceiver),
                alignof(MainThreadStaticSignalsReceiver)>::type
    mainThreadStaticSignalsReceiverStorage;