view gcc/testsuite/c-c++-common/tm/malloc.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

/* { dg-do compile } */
/* { dg-options "-fgnu-tm -fdump-tree-tmmark" } */

#include <stdlib.h>

char *z;

void foobar(void)
{
    char *p, *q;
    __transaction_atomic {
	p = (char *)malloc(123);
	q = (char *)calloc(555,1);
	free(q);
	free(p);
    }
    z = (char *)malloc (666);
}

/* { dg-final { scan-tree-dump-times " malloc .666" 1 "tmmark" { target { ! { *-*-solaris2* && c++ } } } } } */
/* Solaris 2 headers are C++-aware and declare std::malloc.  */
/* { dg-final { scan-tree-dump-times " std::malloc .666" 1 "tmmark" { target { *-*-solaris2* && c++ } } } } */
/* { dg-final { scan-tree-dump-times "__builtin__ITM_malloc" 1 "tmmark" } } */
/* { dg-final { scan-tree-dump-times "__builtin__ITM_calloc" 1 "tmmark" } } */
/* { dg-final { scan-tree-dump-times "__builtin__ITM_free" 2 "tmmark" } } */