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/cpp1z/   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:     lambda-this1.C (5.11 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
// P0018R3 - C++17 lambda capture of *this
// { dg-do compile { target c++11 } }

struct A {
  int a;
  void foo () {
    int v = 4;
    auto b = [*this, this] {};        // { dg-error "already captured 'this'" }
                    // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
    auto c = [this, *this] {};        // { dg-error "already captured 'this'" }
                    // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
    auto d = [this] { return a; };
    auto e = [*this] { return a; };    // { dg-error "'*this' capture only available with" "" { target c++14_down } }
    auto f = [this] { a++; };
    auto g = [*this] { a++; };        // { dg-error "in read-only object" }
                    // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
    auto h = [*this] () mutable { a++; };// { dg-error "'*this' capture only available with" "" { target c++14_down } }
    auto i = [=] { return a; };        // { dg-warning "implicit capture" "" { target c++2a } }
    auto j = [&] { return a; };
    // P0409R2 - C++2A lambda capture [=, this]
    auto k = [=, this] { return a; };// { dg-error "explicit by-copy capture of 'this' with by-copy capture default only available with" "" { target c++17_down } }
    auto l = [&, this] { return a; };
    auto m = [=, *this] { return a; };// { dg-error "'*this' capture only available with" "" { target c++14_down } }
    auto n = [&, *this] { return a; };// { dg-error "'*this' capture only available with" "" { target c++14_down } }
    auto o = [*this, &v] { return a + v; };// { dg-error "'*this' capture only available with" "" { target c++14_down } }
    auto p = [*this] { this = 0; };    // { dg-error "lvalue required as left operand of assignment" }
                    // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
    auto q = [=, this, *this] { return a; };// { dg-error "already captured 'this'" }
                        // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
                        // { dg-error "explicit by-copy capture of 'this' with by-copy capture default only available with" "" { target c++17_down } .-2 }
    auto r = [=, this, this] { return a; };// { dg-error "already captured 'this'" }
                       // { dg-error "explicit by-copy capture of 'this' with by-copy capture default only available with" "" { target c++17_down } .-1 }
    auto s = [=, *this, this] { return a; };// { dg-error "already captured 'this'" }
                        // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
                        // { dg-error "explicit by-copy capture of 'this' with by-copy capture default only available with" "" { target c++17_down } .-2 }
    auto t = [=, *this, *this] { return a; };// { dg-error "already captured 'this'" }
                         // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
    auto u = [&, this, *this] { return a; };// { dg-error "already captured 'this'" }
                        // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
    auto w = [&, this, this] { return a; };// { dg-error "already captured 'this'" }
    auto x = [&, *this, this] { return a; };// { dg-error "already captured 'this'" }
                        // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
    auto y = [&, *this, *this] { return a; };// { dg-error "already captured 'this'" }
                         // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
  }
};
struct B {
  double b;
  B () : b (.007) {}
  double foo () {
    return [this]{ return [*this] { return b; }; }()();    // { dg-error "'*this' capture only available with" "" { target c++14_down } }
  }
  void bar () {
    auto c = []{ return [*this] { return b; }; };    // { dg-error "'this' was not captured for this lambda function" }
  }                            // { dg-error "invalid use of non-static data member 'B::b'" "" { target *-*-* } .-1 }
};                            // { dg-error "'*this' capture only available with" "" { target c++14_down } .-2 }
struct C {
  int c;
  C (const C &) = delete;
  void bar () const;
  void foo () {
    auto d = [this] { return c; };
    auto e = [*this] { return c; };    // { dg-error "use of deleted function" }
                    // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
    auto f = [=] { return c; };        // { dg-warning "implicit capture" "" { target c++2a } }
    auto g = [&] { return c; };
    auto h = [this] { bar (); };
    auto i = [*this] { bar (); };    // { dg-error "use of deleted function" }
                    // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
  }
};
struct D {
  int d;
  ~D () = delete;
  void bar () const;
  void foo () {
    auto e = [this] { return d; };
    auto f = [*this] { return d; };    // { dg-error "use of deleted function" }
                    // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
    auto g = [=] { return d; };        // { dg-warning "implicit capture" "" { target c++2a } }
    auto h = [&] { return d; };
    auto i = [this] { bar (); };
    auto j = [*this] { bar (); };    // { dg-error "use of deleted function" }
                    // { dg-error "'*this' capture only available with" "" { target c++14_down } .-1 }
  }
};

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