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/warn/   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:     Winvalid-memory-model.C (3.3 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* PR middle-end/99612 - Missing warning on incorrect memory order without
   -Wsystem-headers
   Verify warings for basic atomic functions with no optimization.
   { dg-do compile { target c++11 } }
   { dg-options "-O0 -Wall" } */

#include <atomic>

static const std::memory_order relaxed = std::memory_order_relaxed;
static const std::memory_order consume = std::memory_order_consume;
static const std::memory_order acquire = std::memory_order_acquire;
static const std::memory_order release = std::memory_order_release;
static const std::memory_order acq_rel = std::memory_order_acq_rel;
static const std::memory_order seq_cst = std::memory_order_seq_cst;

extern std::atomic<int> eai;

void test_load (int *pi)
{
  *pi++ = eai.load (relaxed);
  *pi++ = eai.load (consume);
  *pi++ = eai.load (acquire);
  *pi++ = eai.load (release);       // warning
  *pi++ = eai.load (acq_rel);       // warning
  *pi++ = eai.load (seq_cst);
}

/* { dg-regexp " *inlined from \[^\n\r\]+.C:23:.*" "" { target *-*-* } 0 }
   { dg-regexp " *inlined from \[^\n\r\]+.C:24:.*" "" { target *-*-* } 0 }
   { dg-warning "__atomic_load\[^\n\r\]* \\\[-Winvalid-memory-model" "warning" { target *-*-* } 0 } */


void test_store (int *pi)
{
  eai.store (*pi++, relaxed);
  eai.store (*pi++, consume);       // warning
  eai.store (*pi++, acquire);       // warning
  eai.store (*pi++, release);
  eai.store (*pi++, acq_rel);       // warning
  eai.store (*pi++, seq_cst);
}

/* { dg-regexp " *inlined from \[^\n\r\]+.C:36:.*" "" { target *-*-* } 0 }
   { dg-regexp " *inlined from \[^\n\r\]+.C:37:.*" "" { target *-*-* } 0 }
   { dg-regexp " *inlined from \[^\n\r\]+.C:39:.*" "" { target *-*-* } 0 }
   { dg-warning "__atomic_store\[^\n\r]* \\\[-Winvalid-memory-model" "warning" { target *-*-* } 0 } */


void test_exchange (const int *pi)
{
  eai.exchange (*pi++, relaxed);
  eai.exchange (*pi++, consume);
  eai.exchange (*pi++, acquire);
  eai.exchange (*pi++, release);
  eai.exchange (*pi++, acq_rel);
  eai.exchange (*pi++, seq_cst);
}

/* The following tests fail because std::atomic_compare_exchange_weak_explicit
   is not declared with attribute always_inline (like the member functions
   above are).  */

void test_compare_exchange (int *pi, int *pj)
{
#define cmpxchg(x, y, z, o1, o2) \
  std::atomic_compare_exchange_weak_explicit (x, y, z, o1, o2)

  cmpxchg (&eai, pi++, *pj++, relaxed, relaxed);
  cmpxchg (&eai, pi++, *pj++, relaxed, consume);  // warning
  cmpxchg (&eai, pi++, *pj++, relaxed, acquire);  // warning
  cmpxchg (&eai, pi++, *pj++, relaxed, release);  // warning
  cmpxchg (&eai, pi++, *pj++, relaxed, acq_rel);  // warning
  cmpxchg (&eai, pi++, *pj++, relaxed, seq_cst);  // warning
  cmpxchg (&eai, pi++, *pj++, relaxed, relaxed);

  /* HACK: xfail doesn't seem to work for the dg-regexp directives below,
     so disable them by prepending an X to their names...
    { Xdg-regexp " *inlined from \[^\n\r\]+.C:66:.*" "" { xfail *-*-* } 0 }
    { Xdg-regexp " *inlined from \[^\n\r\]+.C:67:.*" "" { xfail *-*-* } 0 }
    { Xdg-regexp " *inlined from \[^\n\r\]+.C:68:.*" "" { xfail *-*-* } 0 }
    { Xdg-regexp " *inlined from \[^\n\r\]+.C:69:.*" "" { xfail *-*-* } 0 }
    { Xdg-regexp " *inlined from \[^\n\r\]+.C:70:.*" "" { xfail *-*-* } 0 }
    { dg-warning "__atomic_compare_exchange\[^\n\r\]* \\\[-Winvalid-memory-model" "cmpxchg 1" { xfail *-*-* } 0 } */
}

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.0059 ]--