(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
Walloc-size-larger-than-6.c
       1  /* PR middle-end/82063 - issues with arguments enabled by -Wall
       2     { dg-do compile }
       3     { dg-require-effective-target size32plus }
       4     { dg-options "-O -Walloc-size-larger-than=1GiB -ftrack-macro-expansion=0" } */
       5  
       6  void sink (void*);
       7  
       8  #define T(x) sink (x)
       9  
      10  void f (void)
      11  {
      12    __SIZE_TYPE__ n = 0;
      13    T (__builtin_malloc (n));
      14  
      15    n = 1024 * 1024 * 1024;   /* 1 gigibyte (GiB) */
      16    T (__builtin_malloc (n));
      17  
      18    n += 1;
      19    T (__builtin_malloc (n));   /* { dg-warning "argument 1 value .1073741825. exceeds maximum object size 1073741824" } */
      20  
      21    n = __PTRDIFF_MAX__;
      22    T (__builtin_malloc (n));   /* { dg-warning "exceeds maximum object size" } */
      23  
      24    n = __SIZE_MAX__;
      25    T (__builtin_malloc (n));   /* { dg-warning "exceeds maximum object size" } */
      26  }