Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/ext/attr-noinline-3.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
line wrap: on
line source
/* PR c++/84294 - attributes on a function template redeclaration silently discarded { dg-do compile } { dg-options "-O -fdump-tree-optimized" } */ template <void test ()> void test_func () { test (); } int x; void __attribute__ ((noinline)) func_noinline_none (); void func_noinline_none () { x = __LINE__; } template void test_func<func_noinline_none>(); // { dg-final { scan-tree-dump-times "func_noinline_none *\\(\\);" 1 "optimized" } } void func_none_noinline (); void __attribute__ ((noinline)) func_none_noinline () { x = __LINE__; } template void test_func<func_none_noinline>(); // { dg-final { scan-tree-dump-times "func_none_noinline *\\(\\);" 1 "optimized" } } template <class> void __attribute__ ((noinline)) templ_noinline_none () { x = __LINE__; } template <class> void templa_noinline_none (); template void test_func<templ_noinline_none<int> >(); // { dg-final { scan-tree-dump-times "templ_noinline_none<int> *\\(\\);" 1 "optimized" } } template <class> void templ_none_noinline (); template <class> void __attribute__ ((noinline)) templ_none_noinline () { x = __LINE__; } template void test_func<templ_none_noinline<int> >(); // { dg-final { scan-tree-dump-times "templ_none_noinline<int> *\\(\\);" 1 "optimized" } }