Changeset 9f5ecf5


Ignore:
Timestamp:
Sep 13, 2017, 2:14:55 PM (7 years ago)
Author:
Thierry Delisle <tdelisle@…>
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, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
e3e16bc
Parents:
9dcb653
Message:

Skeleton for waitfor language support

Location:
src
Files:
3 added
5 edited

Legend:

Unmodified
Added
Removed
  • src/Concurrency/Keywords.cc

    r9dcb653 r9f5ecf5  
    259259        //=============================================================================================
    260260        void ConcurrentSueKeyword::postvisit(StructDecl * decl) {
    261                 if( decl->get_name() == type_name && decl->has_body() ) {
     261                if( decl->name == type_name && decl->body ) {
    262262                        assert( !type_decl );
    263263                        type_decl = decl;
     
    270270
    271271        void ConcurrentSueKeyword::handle( StructDecl * decl ) {
    272                 if( ! decl->has_body() ) return;
     272                if( ! decl->body ) return;
    273273
    274274                if( !type_decl ) throw SemanticError( context_error, decl );
     
    418418        void MutexKeyword::postvisit(StructDecl* decl) {
    419419
    420                 if( decl->get_name() == "monitor_desc" ) {
     420                if( decl->name == "monitor_desc" ) {
    421421                        assert( !monitor_decl );
    422422                        monitor_decl = decl;
    423423                }
    424                 else if( decl->get_name() == "monitor_guard_t" ) {
     424                else if( decl->name == "monitor_guard_t" ) {
    425425                        assert( !guard_decl );
    426426                        guard_decl = decl;
     
    524524        //=============================================================================================
    525525        void ThreadStarter::postvisit(FunctionDecl * decl) {
    526                 if( ! CodeGen::isConstructor(decl->get_name()) ) return;
     526                if( ! CodeGen::isConstructor(decl->name) ) return;
    527527
    528528                DeclarationWithType * param = decl->get_functionType()->get_parameters().front();
  • src/Concurrency/module.mk

    r9dcb653 r9f5ecf5  
    66## file "LICENCE" distributed with Cforall.
    77##
    8 ## module.mk -- 
     8## module.mk --
    99##
    1010## Author           : Thierry Delisle
    1111## Created On       : Mon Mar 13 12:48:40 2017
    12 ## Last Modified By : 
    13 ## Last Modified On : 
     12## Last Modified By :
     13## Last Modified On :
    1414## Update Count     : 0
    1515###############################################################################
    1616
    17 SRC += Concurrency/Keywords.cc
     17SRC += Concurrency/Keywords.cc \
     18       Concurrency/Waitfor.cc
    1819
  • src/Makefile.in

    r9dcb653 r9f5ecf5  
    159159        CodeTools/driver_cfa_cpp-TrackLoc.$(OBJEXT) \
    160160        Concurrency/driver_cfa_cpp-Keywords.$(OBJEXT) \
     161        Concurrency/driver_cfa_cpp-Waitfor.$(OBJEXT) \
    161162        Common/driver_cfa_cpp-SemanticError.$(OBJEXT) \
    162163        Common/driver_cfa_cpp-UniqueName.$(OBJEXT) \
     
    490491        CodeGen/OperatorTable.cc CodeTools/DeclStats.cc \
    491492        CodeTools/TrackLoc.cc Concurrency/Keywords.cc \
    492         Common/SemanticError.cc Common/UniqueName.cc \
    493         Common/DebugMalloc.cc Common/Assert.cc \
     493        Concurrency/Waitfor.cc Common/SemanticError.cc \
     494        Common/UniqueName.cc Common/DebugMalloc.cc Common/Assert.cc \
    494495        ControlStruct/LabelGenerator.cc ControlStruct/LabelFixer.cc \
    495496        ControlStruct/MLEMutator.cc ControlStruct/Mutate.cc \
     
    663664        @: > Concurrency/$(DEPDIR)/$(am__dirstamp)
    664665Concurrency/driver_cfa_cpp-Keywords.$(OBJEXT):  \
     666        Concurrency/$(am__dirstamp) \
     667        Concurrency/$(DEPDIR)/$(am__dirstamp)
     668Concurrency/driver_cfa_cpp-Waitfor.$(OBJEXT):  \
    665669        Concurrency/$(am__dirstamp) \
    666670        Concurrency/$(DEPDIR)/$(am__dirstamp)
     
    995999@AMDEP_TRUE@@am__include@ @am__quote@Common/$(DEPDIR)/driver_cfa_cpp-UniqueName.Po@am__quote@
    9961000@AMDEP_TRUE@@am__include@ @am__quote@Concurrency/$(DEPDIR)/driver_cfa_cpp-Keywords.Po@am__quote@
     1001@AMDEP_TRUE@@am__include@ @am__quote@Concurrency/$(DEPDIR)/driver_cfa_cpp-Waitfor.Po@am__quote@
    9971002@AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/driver_cfa_cpp-ExceptTranslate.Po@am__quote@
    9981003@AMDEP_TRUE@@am__include@ @am__quote@ControlStruct/$(DEPDIR)/driver_cfa_cpp-ForExprMutator.Po@am__quote@
     
    12631268@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Concurrency/driver_cfa_cpp-Keywords.obj `if test -f 'Concurrency/Keywords.cc'; then $(CYGPATH_W) 'Concurrency/Keywords.cc'; else $(CYGPATH_W) '$(srcdir)/Concurrency/Keywords.cc'; fi`
    12641269
     1270Concurrency/driver_cfa_cpp-Waitfor.o: Concurrency/Waitfor.cc
     1271@am__fastdepCXX_TRUE@   $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Concurrency/driver_cfa_cpp-Waitfor.o -MD -MP -MF Concurrency/$(DEPDIR)/driver_cfa_cpp-Waitfor.Tpo -c -o Concurrency/driver_cfa_cpp-Waitfor.o `test -f 'Concurrency/Waitfor.cc' || echo '$(srcdir)/'`Concurrency/Waitfor.cc
     1272@am__fastdepCXX_TRUE@   $(AM_V_at)$(am__mv) Concurrency/$(DEPDIR)/driver_cfa_cpp-Waitfor.Tpo Concurrency/$(DEPDIR)/driver_cfa_cpp-Waitfor.Po
     1273@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(AM_V_CXX)source='Concurrency/Waitfor.cc' object='Concurrency/driver_cfa_cpp-Waitfor.o' libtool=no @AMDEPBACKSLASH@
     1274@AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     1275@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Concurrency/driver_cfa_cpp-Waitfor.o `test -f 'Concurrency/Waitfor.cc' || echo '$(srcdir)/'`Concurrency/Waitfor.cc
     1276
     1277Concurrency/driver_cfa_cpp-Waitfor.obj: Concurrency/Waitfor.cc
     1278@am__fastdepCXX_TRUE@   $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Concurrency/driver_cfa_cpp-Waitfor.obj -MD -MP -MF Concurrency/$(DEPDIR)/driver_cfa_cpp-Waitfor.Tpo -c -o Concurrency/driver_cfa_cpp-Waitfor.obj `if test -f 'Concurrency/Waitfor.cc'; then $(CYGPATH_W) 'Concurrency/Waitfor.cc'; else $(CYGPATH_W) '$(srcdir)/Concurrency/Waitfor.cc'; fi`
     1279@am__fastdepCXX_TRUE@   $(AM_V_at)$(am__mv) Concurrency/$(DEPDIR)/driver_cfa_cpp-Waitfor.Tpo Concurrency/$(DEPDIR)/driver_cfa_cpp-Waitfor.Po
     1280@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(AM_V_CXX)source='Concurrency/Waitfor.cc' object='Concurrency/driver_cfa_cpp-Waitfor.obj' libtool=no @AMDEPBACKSLASH@
     1281@AMDEP_TRUE@@am__fastdepCXX_FALSE@      DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     1282@am__fastdepCXX_FALSE@  $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -c -o Concurrency/driver_cfa_cpp-Waitfor.obj `if test -f 'Concurrency/Waitfor.cc'; then $(CYGPATH_W) 'Concurrency/Waitfor.cc'; else $(CYGPATH_W) '$(srcdir)/Concurrency/Waitfor.cc'; fi`
     1283
    12651284Common/driver_cfa_cpp-SemanticError.o: Common/SemanticError.cc
    12661285@am__fastdepCXX_TRUE@   $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(driver_cfa_cpp_CXXFLAGS) $(CXXFLAGS) -MT Common/driver_cfa_cpp-SemanticError.o -MD -MP -MF Common/$(DEPDIR)/driver_cfa_cpp-SemanticError.Tpo -c -o Common/driver_cfa_cpp-SemanticError.o `test -f 'Common/SemanticError.cc' || echo '$(srcdir)/'`Common/SemanticError.cc
  • src/libcfa/concurrency/monitor

    r9dcb653 r9f5ecf5  
    103103        unsigned short count;
    104104        monitor_desc ** monitors;
     105        bool is_dtor;
    105106};
    106107
  • src/main.cc

    r9dcb653 r9f5ecf5  
    3939#include "Common/UnimplementedError.h"      // for UnimplementedError
    4040#include "Common/utility.h"                 // for deleteAll, filter, printAll
     41#include "Concurrency/Waitfor.h"            // for generateWaitfor
    4142#include "ControlStruct/ExceptTranslate.h"  // for translateEHM
    4243#include "ControlStruct/Mutate.h"           // for mutate
     
    304305                ControlStruct::translateEHM( translationUnit );
    305306
     307                OPTPRINT( "generateWaitfor" );
     308                Concurrency::generateWaitFor( translationUnit );
     309
    306310                OPTPRINT( "convertSpecializations" ) // needs to happen before tuple types are expanded
    307311                GenPoly::convertSpecializations( translationUnit );
Note: See TracChangeset for help on using the changeset viewer.