Changes in / [b4e1876:f6f0d06f]


Ignore:
Location:
src
Files:
2 added
1 deleted
13 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/DeclarationNode.cc

    rb4e1876 rf6f0d06f  
    1010// Created On       : Sat May 16 12:34:05 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jun  6 15:57:50 2018
    13 // Update Count     : 1076
     12// Last Modified On : Tue May 22 08:39:29 2018
     13// Update Count     : 1074
    1414//
    1515
     
    174174}
    175175
    176 DeclarationNode * DeclarationNode::newFunction( const string * name, DeclarationNode * ret, DeclarationNode * param, StatementNode * body ) {
     176DeclarationNode * DeclarationNode::newFunction( string * name, DeclarationNode * ret, DeclarationNode * param, StatementNode * body ) {
    177177        DeclarationNode * newnode = new DeclarationNode;
    178178        newnode->name = name;
     
    245245} // DeclarationNode::newForall
    246246
    247 DeclarationNode * DeclarationNode::newFromTypedef( const string * name ) {
     247DeclarationNode * DeclarationNode::newFromTypedef( string * name ) {
    248248        DeclarationNode * newnode = new DeclarationNode;
    249249        newnode->type = new TypeData( TypeData::SymbolicInst );
     
    268268} // DeclarationNode::newAggregate
    269269
    270 DeclarationNode * DeclarationNode::newEnum( const string * name, DeclarationNode * constants, bool body ) {
     270DeclarationNode * DeclarationNode::newEnum( string * name, DeclarationNode * constants, bool body ) {
    271271        assert( name );
    272272        DeclarationNode * newnode = new DeclarationNode;
     
    278278} // DeclarationNode::newEnum
    279279
    280 DeclarationNode * DeclarationNode::newEnumConstant( const string * name, ExpressionNode * constant ) {
     280DeclarationNode * DeclarationNode::newEnumConstant( string * name, ExpressionNode * constant ) {
    281281        DeclarationNode * newnode = new DeclarationNode;
    282282        newnode->name = name;
     
    285285} // DeclarationNode::newEnumConstant
    286286
    287 DeclarationNode * DeclarationNode::newName( const string * name ) {
     287DeclarationNode * DeclarationNode::newName( string * name ) {
    288288        DeclarationNode * newnode = new DeclarationNode;
    289289        newnode->name = name;
     
    291291} // DeclarationNode::newName
    292292
    293 DeclarationNode * DeclarationNode::newFromTypeGen( const string * name, ExpressionNode * params ) {
     293DeclarationNode * DeclarationNode::newFromTypeGen( string * name, ExpressionNode * params ) {
    294294        DeclarationNode * newnode = new DeclarationNode;
    295295        newnode->type = new TypeData( TypeData::SymbolicInst );
     
    300300} // DeclarationNode::newFromTypeGen
    301301
    302 DeclarationNode * DeclarationNode::newTypeParam( TypeClass tc, const string * name ) {
     302DeclarationNode * DeclarationNode::newTypeParam( TypeClass tc, string * name ) {
    303303        DeclarationNode * newnode = new DeclarationNode;
    304304        newnode->type = nullptr;
     
    331331} // DeclarationNode::newTraitUse
    332332
    333 DeclarationNode * DeclarationNode::newTypeDecl( const string * name, DeclarationNode * typeParams ) {
     333DeclarationNode * DeclarationNode::newTypeDecl( string * name, DeclarationNode * typeParams ) {
    334334        DeclarationNode * newnode = new DeclarationNode;
    335335        newnode->name = name;
     
    406406} // DeclarationNode::newBuiltinType
    407407
    408 DeclarationNode * DeclarationNode::newAttr( const string * name, ExpressionNode * expr ) {
     408DeclarationNode * DeclarationNode::newAttr( string * name, ExpressionNode * expr ) {
    409409        DeclarationNode * newnode = new DeclarationNode;
    410410        newnode->type = nullptr;
     
    415415}
    416416
    417 DeclarationNode * DeclarationNode::newAttr( const string * name, DeclarationNode * type ) {
     417DeclarationNode * DeclarationNode::newAttr( string * name, DeclarationNode * type ) {
    418418        DeclarationNode * newnode = new DeclarationNode;
    419419        newnode->type = nullptr;
     
    424424}
    425425
    426 DeclarationNode * DeclarationNode::newAttribute( const string * name, ExpressionNode * expr ) {
     426DeclarationNode * DeclarationNode::newAttribute( string * name, ExpressionNode * expr ) {
    427427        DeclarationNode * newnode = new DeclarationNode;
    428428        newnode->type = nullptr;
  • src/Parser/ParseNode.h

    rb4e1876 rf6f0d06f  
    1010// Created On       : Sat May 16 13:28:16 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jun  6 16:17:18 2018
    13 // Update Count     : 843
     12// Last Modified On : Mon Jun  4 22:21:04 2018
     13// Update Count     : 832
    1414//
    1515
     
    7777
    7878        ParseNode * next = nullptr;
    79         const std::string * name = nullptr;
     79        std::string * name = nullptr;
    8080        CodeLocation location = yylloc;
    8181}; // ParseNode
     
    171171};
    172172
    173 Expression * build_constantInteger( std::string & str ); // these 4 routines modify the string
    174 Expression * build_constantFloat( std::string & str );
    175 Expression * build_constantChar( std::string & str );
    176 Expression * build_constantStr( std::string & str );
     173Expression * build_constantInteger( std::string &str );
     174Expression * build_constantFloat( std::string &str );
     175Expression * build_constantChar( std::string &str );
     176Expression * build_constantStr( std::string &str );
    177177Expression * build_field_name_FLOATING_FRACTIONconstant( const std::string & str );
    178178Expression * build_field_name_FLOATING_DECIMALconstant( const std::string & str );
     
    230230        static DeclarationNode * newBuiltinType( BuiltinType );
    231231        static DeclarationNode * newForall( DeclarationNode * );
    232         static DeclarationNode * newFromTypedef( const std::string * );
    233         static DeclarationNode * newFunction( const std::string * name, DeclarationNode * ret, DeclarationNode * param, StatementNode * body );
     232        static DeclarationNode * newFromTypedef( std::string * );
     233        static DeclarationNode * newFunction( std::string * name, DeclarationNode * ret, DeclarationNode * param, StatementNode * body );
    234234        static DeclarationNode * newAggregate( Aggregate kind, const std::string * name, ExpressionNode * actuals, DeclarationNode * fields, bool body );
    235         static DeclarationNode * newEnum( const std::string * name, DeclarationNode * constants, bool body );
    236         static DeclarationNode * newEnumConstant( const std::string * name, ExpressionNode * constant );
    237         static DeclarationNode * newName( const std::string * );
    238         static DeclarationNode * newFromTypeGen( const std::string *, ExpressionNode * params );
    239         static DeclarationNode * newTypeParam( TypeClass, const std::string * );
     235        static DeclarationNode * newEnum( std::string * name, DeclarationNode * constants, bool body );
     236        static DeclarationNode * newEnumConstant( std::string * name, ExpressionNode * constant );
     237        static DeclarationNode * newName( std::string * );
     238        static DeclarationNode * newFromTypeGen( std::string *, ExpressionNode * params );
     239        static DeclarationNode * newTypeParam( TypeClass, std::string * );
    240240        static DeclarationNode * newTrait( const std::string * name, DeclarationNode * params, DeclarationNode * asserts );
    241241        static DeclarationNode * newTraitUse( const std::string * name, ExpressionNode * params );
    242         static DeclarationNode * newTypeDecl( const std::string * name, DeclarationNode * typeParams );
     242        static DeclarationNode * newTypeDecl( std::string * name, DeclarationNode * typeParams );
    243243        static DeclarationNode * newPointer( DeclarationNode * qualifiers, OperKinds kind );
    244244        static DeclarationNode * newArray( ExpressionNode * size, DeclarationNode * qualifiers, bool isStatic );
     
    247247        static DeclarationNode * newTuple( DeclarationNode * members );
    248248        static DeclarationNode * newTypeof( ExpressionNode * expr );
    249         static DeclarationNode * newAttr( const std::string *, ExpressionNode * expr ); // @ attributes
    250         static DeclarationNode * newAttr( const std::string *, DeclarationNode * type ); // @ attributes
    251         static DeclarationNode * newAttribute( const std::string *, ExpressionNode * expr = nullptr ); // gcc attributes
     249        static DeclarationNode * newAttr( std::string *, ExpressionNode * expr ); // @ attributes
     250        static DeclarationNode * newAttr( std::string *, DeclarationNode * type ); // @ attributes
     251        static DeclarationNode * newAttribute( std::string *, ExpressionNode * expr = nullptr ); // gcc attributes
    252252        static DeclarationNode * newAsmStmt( StatementNode * stmt ); // gcc external asm statement
    253253        static DeclarationNode * newStaticAssert( ExpressionNode * condition, Expression * message );
  • src/Parser/TypeData.cc

    rb4e1876 rf6f0d06f  
    1010// Created On       : Sat May 16 15:12:51 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jun  6 17:40:33 2018
    13 // Update Count     : 604
     12// Last Modified On : Thu Apr 26 13:46:07 2018
     13// Update Count     : 603
    1414//
    1515
     
    610610
    611611                if ( td->basictype == DeclarationNode::Float80 || td->basictype == DeclarationNode::Float128 ) {
    612                         // if ( td->complextype != DeclarationNode::NoComplexType ) {
    613                         //      genTSError( DeclarationNode::complexTypeNames[ td->complextype ], td->basictype );
    614                         // }
     612                        if ( td->complextype != DeclarationNode::NoComplexType ) {
     613                                genTSError( DeclarationNode::complexTypeNames[ td->complextype ], td->basictype );
     614                        }
    615615                        if ( td->basictype == DeclarationNode::Float80 ) ret = BasicType::Float80;
    616616                        else ret = BasicType::Float128;
  • src/Parser/lex.ll

    rb4e1876 rf6f0d06f  
    1010 * Created On       : Sat Sep 22 08:58:10 2001
    1111 * Last Modified By : Peter A. Buhr
    12  * Last Modified On : Wed Jun  6 17:31:09 2018
    13  * Update Count     : 677
     12 * Last Modified On : Thu May  3 13:42:40 2018
     13 * Update Count     : 676
    1414 */
    1515
     
    232232finally                 { KEYWORD_RETURN(FINALLY); }                    // CFA
    233233float                   { KEYWORD_RETURN(FLOAT); }
    234 _Float32                { KEYWORD_RETURN(FLOAT); }                              // GCC
    235 _Float32x               { KEYWORD_RETURN(FLOAT); }                              // GCC
    236 _Float64                { KEYWORD_RETURN(DOUBLE); }                             // GCC
    237 _Float64x               { KEYWORD_RETURN(DOUBLE); }                             // GCC
    238234__float80               { KEYWORD_RETURN(FLOAT80); }                    // GCC
    239235float80                 { KEYWORD_RETURN(FLOAT80); }                    // GCC
    240 _Float128               { KEYWORD_RETURN(FLOAT128); }                   // GCC
    241 _Float128x              { KEYWORD_RETURN(FLOAT128); }                   // GCC
    242236__float128              { KEYWORD_RETURN(FLOAT128); }                   // GCC
    243237float128                { KEYWORD_RETURN(FLOAT128); }                   // GCC
  • src/Parser/parser.yy

    rb4e1876 rf6f0d06f  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jun  6 14:53:38 2018
    13 // Update Count     : 3522
     12// Last Modified On : Mon Jun  4 22:22:04 2018
     13// Update Count     : 3492
    1414//
    1515
     
    503503                { $$ = new ExpressionNode( build_func( new ExpressionNode( build_postfix_name( $5 ) ), $2 ) ); }
    504504        | type_name '.' no_attr_identifier                                      // CFA, nested type
    505                 // { SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
    506                 { $$ = nullptr; }
     505                { SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
    507506        | type_name '.' '[' field_list ']'                                      // CFA, nested type / tuple field selector
    508                 // { SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
    509                 { $$ = nullptr; }
     507                { SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
    510508        | GENERIC '(' assignment_expression ',' generic_assoc_list ')' // C11
    511509                {
     
    13021300        ;
    13031301
    1304 KR_parameter_list_opt:                                                                  // used to declare parameter types in K&R style functions
     1302KR_parameter_list_opt:                                                          // used to declare parameter types in K&R style functions
    13051303        // empty
    13061304                { $$ = nullptr; }
     
    17921790                { $$ = DeclarationNode::newFromTypedef( $1 ); }
    17931791        | '.' TYPEDEFname
    1794                 { SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
     1792                { $$ = DeclarationNode::newFromTypedef( $2 ); } // FIX ME
    17951793        | type_name '.' TYPEDEFname
    1796                 { SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
     1794                { $$ = DeclarationNode::newFromTypedef( $3 ); } // FIX ME
    17971795        | typegen_name
    17981796        | '.' typegen_name
    1799                 { SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
     1797                { $$ = $2; }                                                                    // FIX ME
    18001798        | type_name '.' typegen_name
    1801                 { SemanticError( yylloc, "Qualified name is currently unimplemented." ); $$ = nullptr; }
     1799                { $$ = $3; }                                                                    // FIX ME
    18021800        ;
    18031801
     
    18241822        aggregate_key attribute_list_opt '{' field_declaration_list_opt '}'
    18251823                { $$ = DeclarationNode::newAggregate( $1, new string( DeclarationNode::anonymous.newName() ), nullptr, $4, true )->addQualifiers( $2 ); }
    1826         | aggregate_key attribute_list_opt no_attr_identifier
     1824        | aggregate_key attribute_list_opt no_attr_identifier_or_type_name
    18271825                {
    18281826                        typedefTable.makeTypedef( *$3 );                        // create typedef
     
    18321830          '{' field_declaration_list_opt '}'
    18331831                { $$ = DeclarationNode::newAggregate( $1, $3, nullptr, $6, true )->addQualifiers( $2 ); }
    1834         | aggregate_key attribute_list_opt type_name
    1835                 {
    1836                         typedefTable.makeTypedef( *$3->type->symbolic.name ); // create typedef
    1837                         if ( forall ) typedefTable.changeKind( *$3->type->symbolic.name, TYPEGENname ); // possibly update
    1838                         forall = false;                                                         // reset
    1839                 }
    1840           '{' field_declaration_list_opt '}'
    1841                 { $$ = DeclarationNode::newAggregate( $1, $3->type->symbolic.name, nullptr, $6, true )->addQualifiers( $2 ); }
    18421832        | aggregate_key attribute_list_opt '(' type_list ')' '{' field_declaration_list_opt '}' // CFA
    18431833                { $$ = DeclarationNode::newAggregate( $1, new string( DeclarationNode::anonymous.newName() ), $4, $7, false )->addQualifiers( $2 ); }
     
    18531843                        $$ = DeclarationNode::newAggregate( $1, $3, nullptr, nullptr, false )->addQualifiers( $2 );
    18541844                }
    1855         | aggregate_key attribute_list_opt type_name
     1845        | aggregate_key attribute_list_opt TYPEDEFname
     1846                {
     1847                        typedefTable.makeTypedef( *$3 );
     1848                        $$ = DeclarationNode::newAggregate( $1, $3, nullptr, nullptr, false )->addQualifiers( $2 );
     1849                }
     1850        | aggregate_key attribute_list_opt typegen_name         // CFA
    18561851                {
    18571852                        // Create new generic declaration with same name as previous forward declaration, where the IDENTIFIER is
     
    19481943        ENUM attribute_list_opt '{' enumerator_list comma_opt '}'
    19491944                { $$ = DeclarationNode::newEnum( new string( DeclarationNode::anonymous.newName() ), $4, true )->addQualifiers( $2 ); }
    1950         | ENUM attribute_list_opt no_attr_identifier
     1945        | ENUM attribute_list_opt no_attr_identifier_or_type_name
    19511946                { typedefTable.makeTypedef( *$3 ); }
    19521947          '{' enumerator_list comma_opt '}'
    19531948                { $$ = DeclarationNode::newEnum( $3, $6, true )->addQualifiers( $2 ); }
    1954         | ENUM attribute_list_opt type_name
    1955           '{' enumerator_list comma_opt '}'
    1956                 { $$ = DeclarationNode::newEnum( $3->type->symbolic.name, $5, true )->addQualifiers( $2 ); }
    19571949        | enum_type_nobody
    19581950        ;
    19591951
    19601952enum_type_nobody:                                                                               // enum - {...}
    1961         ENUM attribute_list_opt no_attr_identifier
     1953        ENUM attribute_list_opt no_attr_identifier_or_type_name
    19621954                {
    19631955                        typedefTable.makeTypedef( *$3 );
    19641956                        $$ = DeclarationNode::newEnum( $3, 0, false )->addQualifiers( $2 );
    1965                 }
    1966         | ENUM attribute_list_opt type_name
    1967                 {
    1968                         typedefTable.makeTypedef( *$3->type->symbolic.name );
    1969                         $$ = DeclarationNode::newEnum( $3->type->symbolic.name, 0, false )->addQualifiers( $2 );
    19701957                }
    19711958        ;
  • src/libcfa/concurrency/preemption.c

    rb4e1876 rf6f0d06f  
    1010// Created On       : Mon Jun 5 14:20:42 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jun  5 17:35:49 2018
    13 // Update Count     : 37
     12// Last Modified On : Mon Apr  9 13:52:39 2018
     13// Update Count     : 36
    1414//
    1515
     
    116116        // If there are still alarms pending, reset the timer
    117117        if( alarms->head ) {
    118                 __cfaabi_dbg_print_buffer_decl( " KERNEL: @%ju(%ju) resetting alarm to %ju.\n", currtime.tv, __kernel_get_time().tv, (alarms->head->alarm - currtime).tv);
     118                __cfaabi_dbg_print_buffer_decl( " KERNEL: @%lu(%lu) resetting alarm to %lu.\n", currtime.tv, __kernel_get_time().tv, (alarms->head->alarm - currtime).tv);
    119119                Duration delta = alarms->head->alarm - currtime;
    120120                Duration caped = max(delta, 50`us);
  • src/libcfa/fstream

    rb4e1876 rf6f0d06f  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jun  5 10:20:25 2018
    13 // Update Count     : 131
     12// Last Modified On : Thu Dec  7 15:17:26 2017
     13// Update Count     : 130
    1414//
    1515
     
    5454void open( ofstream &, const char * name );
    5555void close( ofstream & );
    56 ofstream & write( ofstream &, const char * data, size_t size );
     56ofstream & write( ofstream &, const char * data, unsigned long int size );
    5757int fmt( ofstream &, const char fmt[], ... );
    5858
     
    7474void open( ifstream & is, const char * name );
    7575void close( ifstream & is );
    76 ifstream & read( ifstream & is, char * data, size_t size );
     76ifstream & read( ifstream & is, char * data, unsigned long int size );
    7777ifstream & ungetc( ifstream & is, char c );
    7878int fmt( ifstream &, const char fmt[], ... );
  • src/libcfa/fstream.c

    rb4e1876 rf6f0d06f  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Jun  5 17:02:56 2018
    13 // Update Count     : 281
     12// Last Modified On : Sat Dec  9 09:31:23 2017
     13// Update Count     : 275
    1414//
    1515
     
    116116} // close
    117117
    118 ofstream & write( ofstream & os, const char * data, size_t size ) {
     118ofstream & write( ofstream & os, const char * data, unsigned long int size ) {
    119119        if ( fail( os ) ) {
    120120                fprintf( stderr, "attempt write I/O on failed stream\n" );
     
    198198} // close
    199199
    200 ifstream & read( ifstream & is, char * data, size_t size ) {
     200ifstream & read( ifstream & is, char * data, unsigned long int size ) {
    201201        if ( fail( is ) ) {
    202202                fprintf( stderr, "attempt read I/O on failed stream\n" );
  • src/main.cc

    rb4e1876 rf6f0d06f  
    1010// Created On       : Fri May 15 23:12:02 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jun  6 15:51:47 2018
    13 // Update Count     : 498
     12// Last Modified On : Wed May 30 17:53:14 2018
     13// Update Count     : 496
    1414//
    1515
     
    157157                 << "." << endl;
    158158        backtrace( 2 );                                                                         // skip first 2 stack frames
    159         //_exit( EXIT_FAILURE );
    160         abort();
     159        exit( EXIT_FAILURE );
    161160} // sigSegvBusHandler
    162161
  • src/prelude/extras.regx

    rb4e1876 rf6f0d06f  
    11typedef.* size_t;
    22typedef.* ptrdiff_t;
    3 typedef.* __int8_t;
    4 typedef.* __int16_t;
    5 typedef.* __int32_t;
    6 typedef.* __int64_t;
    7 typedef.* __uint8_t;
    8 typedef.* __uint16_t;
    9 typedef.* __uint32_t;
    10 typedef.* __uint64_t;
    113typedef.* int8_t;
    124typedef.* int16_t;
  • src/tests/Makefile.am

    rb4e1876 rf6f0d06f  
    1111## Created On       : Sun May 31 09:08:15 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Wed Jun  6 16:42:20 2018
    14 ## Update Count     : 49
     13## Last Modified On : Mon Nov 27 21:34:33 2017
     14## Update Count     : 48
    1515###############################################################################
    1616
     
    9292        ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}
    9393
     94literals : literals.c @CFA_BINDIR@/@CFA_NAME@
     95        ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}
     96
    9497sched-ext-parse : sched-ext-parse.c @CFA_BINDIR@/@CFA_NAME@
    9598        ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}
  • src/tests/Makefile.in

    rb4e1876 rf6f0d06f  
    769769        ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}
    770770
     771literals : literals.c @CFA_BINDIR@/@CFA_NAME@
     772        ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}
     773
    771774sched-ext-parse : sched-ext-parse.c @CFA_BINDIR@/@CFA_NAME@
    772775        ${CC} ${AM_CFLAGS} ${CFLAGS} -CFA -XCFA -p ${<} -o ${@}
  • src/tests/ifwhileCtl.c

    rb4e1876 rf6f0d06f  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // ifwhileCtl.c --
     7// ifcond.c --
    88//
    99// Author           : Peter A. Buhr
    1010// Created On       : Sat Aug 26 10:13:11 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jun  6 17:15:09 2018
    13 // Update Count     : 21
     12// Last Modified On : Mon Jun  4 22:46:48 2018
     13// Update Count     : 19
    1414//
    1515
     
    7272// Local Variables: //
    7373// tab-width: 4 //
    74 // compile-command: "cfa ifwhileCtl.c" //
     74// compile-command: "cfa ifcond.c" //
    7575// End: //
Note: See TracChangeset for help on using the changeset viewer.