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/gomp/   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:     udr-3.C (6.71 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// { dg-do compile }
// { dg-options "-fopenmp" }

struct S { int s; S () : s (0) {} S (int x) : s (x) {} ~S () {} };
struct T { int t; T () : t (0) {} T (int x) : t (x) {} ~T () {} };

#pragma omp declare reduction (+: ::S: omp_out.s += omp_in.s)
#pragma omp declare reduction (*: S: omp_out.s *= omp_in.s) \
            initializer (omp_priv (1))
#pragma omp declare reduction (foo: S: omp_out.s += omp_in.s)

void
f1 ()
{
  S s, s2;
  T t;
  #pragma omp declare reduction (+: T: omp_out.t += omp_in.t)
  #pragma omp parallel reduction (+: t) reduction (foo: s) reduction (*: s2)
  s.s = 1, t.t = 1, s2.s = 2;
  #pragma omp parallel reduction (::operator +: s)
  s.s = 1;
  #pragma omp parallel reduction (+: s)
  s.s = 1;
}

template <int N>
int
f2 ()
{
  S s, s2;
  T t;
  #pragma omp declare reduction (+: T: omp_out.t += omp_in.t)
  #pragma omp parallel reduction (+: t) reduction (foo: s) reduction (*: s2)
  s.s = 1, t.t = 1, s2.s = 2;
  #pragma omp parallel reduction (::operator +: s)
  s.s = 1;
  #pragma omp parallel reduction (+: s)
  s.s = 1;
  return 0;
}

int x = f2<0> ();

void bar (S &);

void
f3 ()
{
  #pragma omp declare reduction (foo: S: omp_out.s += omp_in.s) initializer (bar (omp_priv))
  #pragma omp declare reduction (bar: S: omp_out.s += omp_in.s) initializer (bar (omp_orig)) // { dg-error "one of the initializer call arguments should be" }
}

template <typename T>
int
f4 ()
{
  #pragma omp declare reduction (foo: T: omp_out.s += omp_in.s) initializer (bar (omp_priv))
  #pragma omp declare reduction (bar: T: omp_out.s += omp_in.s) initializer (bar (omp_orig)) // { dg-error "one of the initializer call arguments should be" }
  return 0;
}

int y = f4 <S> ();

namespace N1
{
  #pragma omp declare reduction (+: ::S: omp_out.s *= omp_in.s)        // { dg-message "previous" }
  #pragma omp declare reduction (+: S: omp_out.s += omp_in.s)        // { dg-error "redeclaration of" }
  void
  f5 ()
  {
    #pragma omp declare reduction (f5: S: omp_out.s *= omp_in.s)    // { dg-message "previous" }
    #pragma omp declare reduction (f5: ::S: omp_out.s += omp_in.s)    // { dg-error "redeclaration of" }
  }
}

namespace N2
{
  struct U
  {
    #pragma omp declare reduction (bar: S: omp_out.s *= omp_in.s)    // { dg-message "previous" }
    #pragma omp declare reduction (bar: S: omp_out.s += omp_in.s)    // { dg-error "cannot be overloaded" }
  };
}

namespace N3
{
  #pragma omp declare reduction (+: ::S: omp_out.s *= omp_in.s)        // { dg-message "previous" }
  #pragma omp declare reduction (+: T: omp_out.t += omp_in.t)
  #pragma omp declare reduction (+: S: omp_out.s += omp_in.s)        // { dg-error "redeclaration of" }
  #pragma omp declare reduction (n3: long: omp_out += omp_in)        // { dg-message "previous" }
  #pragma omp declare reduction (n3: long int: omp_out += omp_in)    // { dg-error "redeclaration of" }
  #pragma omp declare reduction (n3: short unsigned: omp_out += omp_in)
  #pragma omp declare reduction (n3: short int: omp_out += omp_in)
  void
  f6 ()
  {
    #pragma omp declare reduction (f6: T: omp_out.t += omp_in.t)
    #pragma omp declare reduction (f6: S: omp_out.s *= omp_in.s)    // { dg-message "previous" }
    #pragma omp declare reduction (f6: ::S: omp_out.s += omp_in.s)    // { dg-error "redeclaration of" }
    #pragma omp declare reduction (f6: long: omp_out += omp_in)        // { dg-message "previous" }
    #pragma omp declare reduction (f6: long int: omp_out += omp_in)    // { dg-error "redeclaration of" }
    #pragma omp declare reduction (f6: short unsigned: omp_out += omp_in)
    #pragma omp declare reduction (f6: short int: omp_out += omp_in)
  }
}

namespace N4
{
  struct U
  {
    #pragma omp declare reduction (bar: T: omp_out.t += omp_in.t)
    #pragma omp declare reduction (bar: S: omp_out.s *= omp_in.s)    // { dg-message "previous" }
    #pragma omp declare reduction (bar: S: omp_out.s += omp_in.s)    // { dg-error "cannot be overloaded" }
    #pragma omp declare reduction (bar: long: omp_out += omp_in)    // { dg-message "previous" }
    #pragma omp declare reduction (bar: long int: omp_out += omp_in)    // { dg-error "cannot be overloaded" }
    #pragma omp declare reduction (bar: short unsigned: omp_out += omp_in)
    #pragma omp declare reduction (bar: short int: omp_out += omp_in)
  };
}

namespace N5
{
  template <typename T>
  int
  f7 ()
  {
    #pragma omp declare reduction (f7: T: omp_out.s *= omp_in.s)    // { dg-message "previous" }
    #pragma omp declare reduction (f7: T: omp_out.s += omp_in.s)    // { dg-error "redeclaration of" }
    return 0;
  }
  int x = f7 <S> ();
  template <typename T>
  struct U
  {
    #pragma omp declare reduction (bar: T: omp_out.s *= omp_in.s)    // { dg-message "previous" }
    #pragma omp declare reduction (bar: T: omp_out.s += omp_in.s)    // { dg-error "cannot be overloaded" }
  };
  U<S> u;
}

namespace N6
{
  template <typename U>
  int
  f8 ()
  {
    #pragma omp declare reduction (f8: T: omp_out.t += omp_in.t)
    #pragma omp declare reduction (f8: U: omp_out.s *= omp_in.s)    // { dg-message "previous" }
    #pragma omp declare reduction (f8: ::S: omp_out.s += omp_in.s)    // { dg-error "redeclaration of" }
    #pragma omp declare reduction (f8: long: omp_out += omp_in)        // { dg-message "previous" }
    #pragma omp declare reduction (f8: long int: omp_out += omp_in)    // { dg-error "redeclaration of" }
    #pragma omp declare reduction (f8: short unsigned: omp_out += omp_in)
    #pragma omp declare reduction (f8: short int: omp_out += omp_in)
    return 0;
  }
  int x = f8 <S> ();
  template <typename V>
  struct U
  {
    typedef V V2;
    #pragma omp declare reduction (bar: T: omp_out.t += omp_in.t)
    #pragma omp declare reduction (bar: V: omp_out.s *= omp_in.s)    // { dg-message "previous" }
    #pragma omp declare reduction (bar: V2: omp_out.s += omp_in.s)    // { dg-error "cannot be overloaded" }
    #pragma omp declare reduction (bar: long: omp_out += omp_in)    // { dg-message "previous" }
    #pragma omp declare reduction (bar: long int: omp_out += omp_in)    // { dg-error "cannot be overloaded" }
    #pragma omp declare reduction (bar: short unsigned: omp_out += omp_in)
    #pragma omp declare reduction (bar: short int: omp_out += omp_in)
  };
  U<S> u;
}

namespace N7
{
  #pragma omp declare reduction (+: S: omp_out.s += omp_in.s) initializer (omp_priv) // { dg-error "invalid initializer clause" }
  #pragma omp declare reduction (+: T: omp_out.t += omp_in.t) initializer (omp_priv ()) // { dg-error "invalid initializer clause" }
}

namespace N8
{
  struct A { int a; A (); ~A (); };
  struct B { int b; B (); ~B (); B (int); };
  struct C : public A, B { int c; C (); ~C (); };
  #pragma omp declare reduction (+:B:omp_out.b += omp_in.b) initializer (omp_priv (4))
  void bar (C &);
  void baz ()
  {
    C a;
    #pragma omp parallel reduction (+:a) // { dg-error "user defined reduction with constructor initializer for base class" }
    bar (a);
  }
}

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