Esempio n. 1
0
File: block.c Progetto: Ced/cloog
/**
 * cloog_block_free function:
 * This function frees the allocated memory for a CloogStatement structure.
 * - June 11th 2005: first version.
 * - June 30th 2005: scaldims field management.
 */
void cloog_block_free(CloogBlock * block)
{ int i ;

  if (block != NULL)
  { block->references -- ;
    
    if (block->references == 0) {
      cloog_block_leak_down(block->state);
      if (block->scaldims != NULL)
      { for (i=0;i<block->nb_scaldims;i++)
	  cloog_int_clear(block->scaldims[i]);
      
        free(block->scaldims) ;
      }
      if (block->statement)
	cloog_statement_free(block->statement);
      free(block) ;
    }
  }
}
Esempio n. 2
0
/**
 * cloog_block_free function:
 * This function frees the allocated memory for a CloogStatement structure.
 * - June 11th 2005: first version.
 * - June 30th 2005: scaldims field management.
 */
void cloog_block_free(CloogBlock * block)
{ int i ;

  if (block != NULL)
    {
      cloog_block_dec_references (block);
    
      if (cloog_block_references (block) == 0)
	{ cloog_block_leak_down() ;
	  if (cloog_block_scaldims (block))
	    {
	      for (i = 0; i < cloog_block_nb_scaldims (block); i++)
		value_clear_c (block->scaldims[i]);
      
	      free (cloog_block_scaldims (block)) ;
	    }
	  cloog_statement_free(cloog_block_stmt (block)) ;
	  free(block) ;
	}
    }
}