Changeset 610194e


Ignore:
Timestamp:
Jul 13, 2018, 11:36:05 AM (6 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer, pthread-emulation, qualifiedEnum
Children:
2e02851
Parents:
825170d (diff), 79caea8 (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' of plg.uwaterloo.ca:/u/cforall/software/cfa/cfa-cc

Location:
src/Parser
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/TypeData.cc

    r825170d r610194e  
    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 Jul 12 13:52:09 2018
     13// Update Count     : 606
    1414//
    1515
     
    7676                aggregate.parent = nullptr;
    7777                aggregate.anon = false;
     78                aggregate.inLine = false;
    7879                break;
    7980          case AggregateInst:
     
    8182                aggInst.aggregate = nullptr;
    8283                aggInst.params = nullptr;
    83                 aggInst.hoistType = false;;
     84                aggInst.hoistType = false;
     85                aggInst.inLine = false;
    8486                break;
    8587          case Symbolic:
     
    219221                newtype->aggregate.body = aggregate.body;
    220222                newtype->aggregate.anon = aggregate.anon;
     223                newtype->aggregate.inLine = aggregate.inLine;
    221224                newtype->aggregate.tagged = aggregate.tagged;
    222225                newtype->aggregate.parent = aggregate.parent ? new string( *aggregate.parent ) : nullptr;
     
    226229                newtype->aggInst.params = maybeClone( aggInst.params );
    227230                newtype->aggInst.hoistType = aggInst.hoistType;
     231                newtype->aggInst.inLine = aggInst.inLine;
    228232                break;
    229233          case Enum:
  • src/Parser/TypeData.h

    r825170d r610194e  
    1010// Created On       : Sat May 16 15:18:36 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Thu Feb 22 15:21:23 2018
    13 // Update Count     : 191
     12// Last Modified On : Thu Jul 12 14:00:09 2018
     13// Update Count     : 193
    1414//
    1515
     
    3737                bool body;
    3838                bool anon;
     39                bool inLine;
    3940
    4041                bool tagged;
     
    4647                ExpressionNode * params;
    4748                bool hoistType;
     49                bool inLine;
    4850        };
    4951
     
    6668                mutable DeclarationNode * oldDeclList;
    6769                StatementNode * body;
    68                 ExpressionNode * withExprs;             // expressions from function's with_clause
     70                ExpressionNode * withExprs;                                             // expressions from function's with_clause
    6971        };
    7072
     
    128130TupleType * buildTuple( const TypeData * );
    129131TypeofType * buildTypeof( const TypeData * );
    130 Declaration * buildDecl( const TypeData *, const std::string &, Type::StorageClasses, Expression *, Type::FuncSpecifiers funcSpec, LinkageSpec::Spec, Expression * asmName, Initializer * init = nullptr, std::list< class Attribute * > attributes = std::list< class Attribute * >() );
     132Declaration * buildDecl( const TypeData *, const std::string &, Type::StorageClasses, Expression *, Type::FuncSpecifiers funcSpec, LinkageSpec::Spec, Expression * asmName,
     133                                                 Initializer * init = nullptr, std::list< class Attribute * > attributes = std::list< class Attribute * >() );
    131134FunctionType * buildFunction( const TypeData * );
    132135void buildKRFunction( const TypeData::Function_t & function );
  • src/Parser/TypedefTable.cc

    r825170d r610194e  
    55// file "LICENCE" distributed with Cforall.
    66//
    7 // TypedefTable.cc -- 
     7// TypedefTable.cc --
    88//
    99// Author           : Peter A. Buhr
     
    100100void TypedefTable::up( bool forall ) {
    101101        level += 1;
    102         kindTable.getNote( kindTable.currentScope() ) = (Note){ level, forall | getEnclForall() };
     102        kindTable.getNote( kindTable.currentScope() ) = (Note){ level, static_cast<bool>(forall | getEnclForall()) };
    103103        debugPrint( cerr << "Up " << " level " << level << " note " << kindTable.getNote( level ).level << ", " << kindTable.getNote( level ).forall << endl; );
    104104} // TypedefTable::up
  • src/Parser/parser.yy

    r825170d r610194e  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jul 11 11:55:24 2018
    13 // Update Count     : 3739
     12// Last Modified On : Thu Jul 12 13:47:44 2018
     13// Update Count     : 3755
    1414//
    1515
     
    19361936        | EXTENSION type_specifier field_declaring_list ';'     // GCC
    19371937                { distExt( $3 ); $$ = distAttr( $2, $3 ); }             // mark all fields in list
     1938        | INLINE type_specifier field_declaring_list ';'        // CFA
     1939                {
     1940                        if ( $2->type && ( $2->type->kind == TypeData::Aggregate || $2->type->kind == TypeData::AggregateInst ) ) {
     1941                                if ( $2->type->kind == TypeData::Aggregate ) {
     1942                                        $2->type->aggregate.inLine = true;
     1943                                } else {
     1944                                        $2->type->aggInst.inLine = true;
     1945                                } // if
     1946                                $$ = distAttr( $2, $3 );
     1947                        } else {
     1948                                SemanticError( yylloc, "inline qualifier only allowed for aggregate field declarations." ); $$ = nullptr;
     1949                        } // if
     1950                }
    19381951        | typedef_declaration ';'                                                       // CFA
    19391952        | cfa_field_declaring_list ';'                                          // CFA, new style field declaration
Note: See TracChangeset for help on using the changeset viewer.