view gcc/testsuite/g++.dg/ext/attribute-may-alias-3.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR c++/68049
// { dg-do compile { target c++11 } }

template <typename T> struct Bar
{
    using type = T;
};
template <typename T> struct Foo
{
    typedef typename Bar<T>::type alias_type [[gnu::may_alias]];

    alias_type operator()() { return {}; }
};

template <typename T> void print(T) {}

int main()
{
    print(Foo<int>()());
    print(0);
    return 0;
}