Ignore:
Timestamp:
Jun 5, 2020, 5:13:54 PM (4 years ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
9246ec6
Parents:
fe9cf9e
Message:

Added a first draft of the memory management library module.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/stdlib.cfa

    rfe9cf9e raabb846  
    99// Author           : Peter A. Buhr
    1010// Created On       : Thu Jan 28 17:10:29 2016
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jun  2 08:44:46 2020
    13 // Update Count     : 499
     11// Last Modified By : Andrew Beach
     12// Last Modified On : Tue Jun  2 16:46:00 2020
     13// Update Count     : 500
    1414//
    1515
     
    7878} // new
    7979
    80 forall( dtype T | sized(T) | { void ^?{}( T & ); } )
     80forall( dtype T | { void ^?{}( T & ); } )
    8181void delete( T * ptr ) {
    8282        if ( ptr ) {                                                                            // ignore null
     
    8686} // delete
    8787
    88 forall( dtype T, ttype Params | sized(T) | { void ^?{}( T & ); void delete( Params ); } )
     88forall( dtype T, ttype Params | { void ^?{}( T & ); void delete( Params ); } )
    8989void delete( T * ptr, Params rest ) {
    90         if ( ptr ) {                                                                            // ignore null
    91                 ^(*ptr){};                                                                              // run destructor
    92                 free( ptr );
    93         } // if
     90        delete( ptr );
    9491        delete( rest );
    9592} // delete
Note: See TracChangeset for help on using the changeset viewer.