view gcc/testsuite/g++.dg/ext/attr-used-1.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

// Attribute used on a member function or static data member
// of a template should cause them to be instantiated along
// with the class itself.

// { dg-final { scan-assembler "_ZN1AIiE1fEv" } }
// { dg-final { scan-assembler "_ZN1AIiE1tE" } }

template <class T> struct A
{
  void f() __attribute ((used));
  static T t __attribute ((used));
};

template <class T> void A<T>::f() { }
template <class T> T A<T>::t;

A<int> a;