view gcc/testsuite/g++.dg/analyzer/malloc.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

// { dg-do compile }

#include <stdlib.h>

void test_1 (void *ptr)
{
  free (ptr);
  free (ptr); /* { dg-warning "double-'free' of 'ptr'" } */
}

/* Test of double-free in ctor.  */

struct s2
{
  s2 (void *v)
  {
    free (v); // { dg-warning "double-'free' of 'v'" }
  }
};

void test_2 (void *ptr)
{
  free (ptr); // { dg-message "first 'free' here" }
  s2 a (ptr); // { dg-message "passing freed pointer 'ptr' in call to 's2::s2' from 'test_2'" }
}