Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/stdlib.cfa

    raabb846 r76e2113  
    99// Author           : Peter A. Buhr
    1010// Created On       : Thu Jan 28 17:10:29 2016
    11 // Last Modified By : Andrew Beach
    12 // Last Modified On : Tue Jun  2 16:46:00 2020
    13 // Update Count     : 500
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Thu Apr 16 22:43:33 2020
     13// Update Count     : 498
    1414//
    1515
     
    7878} // new
    7979
    80 forall( dtype T | { void ^?{}( T & ); } )
     80forall( dtype T | sized(T) | { void ^?{}( T & ); } )
    8181void delete( T * ptr ) {
    8282        if ( ptr ) {                                                                            // ignore null
     
    8686} // delete
    8787
    88 forall( dtype T, ttype Params | { void ^?{}( T & ); void delete( Params ); } )
     88forall( dtype T, ttype Params | sized(T) | { void ^?{}( T & ); void delete( Params ); } )
    8989void delete( T * ptr, Params rest ) {
    90         delete( ptr );
     90        if ( ptr ) {                                                                            // ignore null
     91                ^(*ptr){};                                                                              // run destructor
     92                free( ptr );
     93        } // if
    9194        delete( rest );
    9295} // delete
     
    274277extern "C" {                                                                                    // override C version
    275278        void srandom( unsigned int seed ) { srand48( (long int)seed ); }
    276         long int random( void ) { return mrand48(); }           // GENERATES POSITIVE AND NEGATIVE VALUES
     279        long int random( void ) { return mrand48(); }
    277280} // extern "C"
    278281
Note: See TracChangeset for help on using the changeset viewer.