Ignore:
Timestamp:
Jun 30, 2016, 4:32:56 PM (9 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
ea29e73
Parents:
1b5c81ed (diff), 84d4d6f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into gc_noraii

Conflicts:

Jenkinsfile
src/SymTab/Validate.cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/stdlib.c

    r1b5c81ed rf80e0218  
    1010// Created On       : Thu Jan 28 17:10:29 2016
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Apr 13 14:49:58 2016
    13 // Update Count     : 155
     12// Last Modified On : Thu Apr 28 07:54:21 2016
     13// Update Count     : 166
    1414//
    1515
     
    2424#include <malloc.h>                                                                             // malloc_usable_size
    2525#include <math.h>                                                                               // fabsf, fabs, fabsl
    26 #include <complex.h>                                                                    // _Complex_I, cabsf, cabs, cabsl
     26#include <complex.h>                                                                    // _Complex_I
    2727} // extern "C"
    2828
     
    3434        //printf( "malloc3\n" );
    3535        T * ptr = (T *)malloc( sizeof(T) );
    36     return memset( ptr );
     36    return memset( ptr, (int)fill, sizeof(T) );
    3737} // malloc
    3838
     
    7878} // posix_memalign
    7979
    80 forall( otype T ) T * memset( T * ptr, unsigned char fill ) { // use default value '\0' for fill
    81         //printf( "memset1\n" );
    82     return (T *)memset( ptr, (int)fill, malloc_usable_size( ptr ) );
    83 } // memset
    84 forall( otype T ) T * memset( T * ptr ) {                               // remove when default value available
    85         //printf( "memset2\n" );
    86     return (T *)memset( ptr, 0, malloc_usable_size( ptr ) );
    87 } // memset
    88 
    8980//---------------------------------------
    9081
    9182int ato( const char * ptr ) {
    9283        int i;
    93         if ( sscanf( ptr, "%d", &i ) == EOF ) {}                        // check return code
     84        if ( sscanf( ptr, "%d", &i ) == EOF ) {}
    9485        return i;
    9586}
    9687unsigned int ato( const char * ptr ) {
    9788        unsigned int ui;
    98         if ( sscanf( ptr, "%u", &ui ) == EOF ) {}                       // check return code
     89        if ( sscanf( ptr, "%u", &ui ) == EOF ) {}
    9990        return ui;
    10091}
    10192long int ato( const char * ptr ) {
    10293        long int li;
    103         if ( sscanf( ptr, "%ld", &li ) == EOF ) {}                      // check return code
     94        if ( sscanf( ptr, "%ld", &li ) == EOF ) {}
    10495        return li;
    10596}
    10697unsigned long int ato( const char * ptr ) {
    10798        unsigned long int uli;
    108         if ( sscanf( ptr, "%lu", &uli ) == EOF ) {}                     // check return code
     99        if ( sscanf( ptr, "%lu", &uli ) == EOF ) {}
    109100        return uli;
    110101}
    111102long long int ato( const char * ptr ) {
    112103        long long int lli;
    113         if ( sscanf( ptr, "%lld", &lli ) == EOF ) {}            // check return code
     104        if ( sscanf( ptr, "%lld", &lli ) == EOF ) {}
    114105        return lli;
    115106}
    116107unsigned long long int ato( const char * ptr ) {
    117108        unsigned long long int ulli;
    118         if ( sscanf( ptr, "%llu", &ulli ) == EOF ) {}           // check return code
     109        if ( sscanf( ptr, "%llu", &ulli ) == EOF ) {}
    119110        return ulli;
    120111}
     
    122113float ato( const char * ptr ) {
    123114        float f;
    124         if ( sscanf( ptr, "%f", &f ) == EOF ) {}                        // check return code
     115        if ( sscanf( ptr, "%f", &f ) == EOF ) {}
    125116        return f;
    126117}
    127118double ato( const char * ptr ) {
    128119        double d;
    129         if ( sscanf( ptr, "%lf", &d ) == EOF ) {}                       // check return code
     120        if ( sscanf( ptr, "%lf", &d ) == EOF ) {}
    130121        return d;
    131122}
    132123long double ato( const char * ptr ) {
    133124        long double ld;
    134         if ( sscanf( ptr, "%Lf", &ld ) == EOF ) {}                      // check return code
     125        if ( sscanf( ptr, "%Lf", &ld ) == EOF ) {}
    135126        return ld;
    136127}
     
    138129float _Complex ato( const char * ptr ) {
    139130        float re, im;
    140         if ( sscanf( ptr, "%g%gi", &re, &im ) == EOF ) {}       // check return code
     131        if ( sscanf( ptr, "%g%gi", &re, &im ) == EOF ) {}
    141132        return re + im * _Complex_I;
    142133}
    143134double _Complex ato( const char * ptr ) {
    144135        double re, im;
    145         if ( sscanf( ptr, "%lf%lfi", &re, &im ) == EOF ) {} // check return code
     136        if ( sscanf( ptr, "%lf%lfi", &re, &im ) == EOF ) {}
    146137        return re + im * _Complex_I;
    147138}
    148139long double _Complex ato( const char * ptr ) {
    149140        long double re, im;
    150         if ( sscanf( ptr, "%Lf%Lfi", &re, &im ) == EOF ) {}     // check return code
     141        if ( sscanf( ptr, "%Lf%Lfi", &re, &im ) == EOF ) {}
    151142        return re + im * _Complex_I;
    152143}       
     
    222213//---------------------------------------
    223214
    224 forall( otype T | { T ?/?( T, T ); T ?%?( T, T ); } )
    225 [ T, T ] div( T t1, T t2 ) { /* return [ t1 / t2, t1 % t2 ]; */ }
     215// forall( otype T | { T ?/?( T, T ); T ?%?( T, T ); } )
     216// [ T, T ] div( T t1, T t2 ) { return [ t1 / t2, t1 % t2 ]; }
    226217
    227218//---------------------------------------
     
    230221long int abs( long int v ) { return labs( v ); }
    231222long long int abs( long long int v ) { return llabs( v ); }
    232 float abs( float v ) { return fabsf( v ); }
    233 double abs( double v ) { return fabs( v ); }
    234 long double abs( long double v ) { return fabsl( v ); }
    235 float _Complex abs( float _Complex v ) { return cabsf( v ); }
    236 double _Complex abs( double _Complex v ) { return cabs( v ); }
    237 long double _Complex abs( long double _Complex v ) { return cabsl( v ); }
    238 
    239 //---------------------------------------
    240 
    241 float floor( float v ) { return floorf( v ); }
    242 long double floor( long double v ) { return floorl( v ); }
    243 
    244 float ceil( float v ) { return ceilf( v ); }
    245 long double ceil( long double v ) { return ceill( v ); }
     223float abs( float x ) { return fabsf( x ); }
     224double abs( double x ) { return fabs( x ); }
     225long double abs( long double x ) { return fabsl( x ); }
     226float abs( float _Complex x ) { return cabsf( x ); }
     227double abs( double _Complex x ) { return cabs( x ); }
     228long double abs( long double _Complex x ) { return cabsl( x ); }
    246229
    247230//---------------------------------------
Note: See TracChangeset for help on using the changeset viewer.