view gcc/testsuite/g++.dg/cpp0x/decltype33.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++/50084
// { dg-do compile { target c++11 } }
// { dg-options "-fno-inline" }

template<typename>   struct remove_reference;
template<typename T> struct remove_reference<T&> { typedef T type; };

template <class T> void f(T) { }

void g()
{
  struct { } * v = 0;

  typedef remove_reference<decltype(*v)>::type at;

  // The typedef should't assign the name "at" to the struct.
  // { dg-final { scan-assembler "_Z1fIZ1gvEUt_EvT_" } }
  f(at());
}