Changes in / [30dcc47:7f0001c]


Ignore:
Location:
src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • src/Common/PassVisitor.impl.h

    r30dcc47 r7f0001c  
    690690        VISIT_START( node );
    691691
    692         node->condition = visitExpression( node->condition );
    693         maybeAccept_impl( node->message, *this );
     692        maybeAccept_impl( node->condition, *this );
     693        maybeAccept_impl( node->message  , *this );
    694694
    695695        VISIT_END( node );
     
    700700        MUTATE_START( node );
    701701
    702         node->condition = mutateExpression( node->condition );
    703         maybeMutate_impl( node->message, *this );
     702        maybeMutate_impl( node->condition, *this );
     703        maybeMutate_impl( node->message  , *this );
    704704
    705705        MUTATE_END( StaticAssertDecl, node );
  • src/ResolvExpr/AlternativeFinder.cc

    r30dcc47 r7f0001c  
    459459        /// Adds type variables to the open variable set and marks their assertions
    460460        void makeUnifiableVars( Type *type, OpenVarSet &unifiableVars, AssertionSet &needAssertions ) {
    461                 for ( Type::ForallList::const_iterator tyvar = type->forall.begin(); tyvar != type->forall.end(); ++tyvar ) {
     461                for ( Type::ForallList::const_iterator tyvar = type->get_forall().begin(); tyvar != type->get_forall().end(); ++tyvar ) {
    462462                        unifiableVars[ (*tyvar)->get_name() ] = TypeDecl::Data{ *tyvar };
    463                         for ( std::list< DeclarationWithType* >::iterator assert = (*tyvar)->assertions.begin(); assert != (*tyvar)->assertions.end(); ++assert ) {
     463                        for ( std::list< DeclarationWithType* >::iterator assert = (*tyvar)->get_assertions().begin(); assert != (*tyvar)->get_assertions().end(); ++assert ) {
    464464                                needAssertions[ *assert ].isUsed = true;
    465465                        }
  • src/ResolvExpr/AlternativeFinder.h

    r30dcc47 r7f0001c  
    126126        void printAlts( const AltList &list, std::ostream &os, unsigned int indentAmt = 0 );
    127127
    128         /// Adds type variables to the open variable set and marks their assertions
    129         void makeUnifiableVars( Type *type, OpenVarSet &unifiableVars, AssertionSet &needAssertions );
    130 
    131128        template< typename InputIterator >
    132129        void simpleCombineEnvironments( InputIterator begin, InputIterator end, TypeEnvironment &result ) {
  • src/ResolvExpr/Resolver.cc

    r30dcc47 r7f0001c  
    544544                                                        OpenVarSet openVars;
    545545                                                        AssertionSet resultNeed, resultHave;
    546                                                         TypeEnvironment resultEnv( func.env );
    547                                                         makeUnifiableVars( function, openVars, resultNeed );
    548                                                         // add all type variables as open variables now so that those not used in the parameter
    549                                                         // list are still considered open.
    550                                                         resultEnv.add( function->forall );
     546                                                        TypeEnvironment resultEnv;
    551547
    552548                                                        // Load type variables from arguemnts into one shared space
  • src/SymTab/Mangler.cc

    r30dcc47 r7f0001c  
    178178                                printQualifiers( pointerType );
    179179                                mangleName << "P";
    180                                 maybeAccept( pointerType->base, *visitor );
     180                                maybeAccept( pointerType->get_base(), *visitor );
    181181                        }
    182182
     
    185185                                printQualifiers( arrayType );
    186186                                mangleName << "A0";
    187                                 maybeAccept( arrayType->base, *visitor );
     187                                maybeAccept( arrayType->get_base(), *visitor );
    188188                        }
    189189
     
    191191                                printQualifiers( refType );
    192192                                mangleName << "R";
    193                                 maybeAccept( refType->base, *visitor );
     193                                maybeAccept( refType->get_base(), *visitor );
    194194                        }
    195195
  • src/libcfa/interpose.c

    r30dcc47 r7f0001c  
    1010// Created On       : Wed Mar 29 16:10:31 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May  1 15:05:35 2018
    13 // Update Count     : 83
     12// Last Modified On : Thu Feb  8 16:18:09 2018
     13// Update Count     : 75
    1414//
    1515
     
    9595void sigHandler_fpe  ( __CFA_SIGPARMS__ );
    9696void sigHandler_abort( __CFA_SIGPARMS__ );
    97 void sigHandler_term ( __CFA_SIGPARMS__ );
    9897
    9998struct {
     
    115114                __cfaabi_sigaction( SIGFPE , sigHandler_fpe  , SA_SIGINFO ); // Failure handler
    116115                __cfaabi_sigaction( SIGABRT, sigHandler_abort, SA_SIGINFO ); // Failure handler
    117                 __cfaabi_sigaction( SIGTERM, sigHandler_term , SA_SIGINFO ); // Failure handler
    118                 __cfaabi_sigaction( SIGINT , sigHandler_term , SA_SIGINFO ); // Failure handler
    119116        }
    120117}
     
    271268}
    272269
    273 void sigHandler_term( __CFA_SIGPARMS__ ) {
    274         abort( "Application stopped by %s signal.", sig == SIGINT ? "an interrupt (SIGINT)" : "a terminate (SIGTERM)" );
    275 }
    276 
    277270// Local Variables: //
    278271// mode: c //
  • src/tests/references.c

    r30dcc47 r7f0001c  
    4545}
    4646
    47 // --- temporary code needed to make array of references subscript work.
    48 extern "C" {
    49   void ** __index(__attribute__ ((unused)) size_t sizeof_T, __attribute__ ((unused)) size_t alignof_T, void **x, ptrdiff_t y) {
    50     return (void **)((char *)x+y*sizeof(void *));
    51   }
    52   void __ctor(void ***dst, void **src) {
    53     *dst = src;
    54   }
    55 }
    56 __attribute__((alias("__index"))) forall( dtype T | sized(T) ) T && ?[?]( T & * x, ptrdiff_t y );
    57 __attribute__((alias("__ctor"))) forall( dtype DT ) void ?{}( DT & * & dst, DT & * src);
    58 forall( dtype DT ) void ^?{}( DT & * & ) {}
    59 // --- end of temporary code
    60 
    6147int main() {
    6248        int x = 123456, x2 = 789, *p1 = &x, **p2 = &p1, ***p3 = &p2,
     
    6652        *p3 = &p1;                          // change p2
    6753        int y = 0, z = 11, & ar[3] = { x, y, z };    // initialize array of references
    68         &ar[1] = &z;                        // change reference array element
    69         typeof( ar[1] ) p = 3;              // is int, i.e., the type of referenced object
    70         typeof( &ar[1] ) q = &x;            // is int *, i.e., the type of pointer
    71         _Static_assert( sizeof( ar[1] ) == sizeof( int ), "Array type should be int." );   // is true, i.e., the size of referenced object
    72         _Static_assert( sizeof( &ar[1] ) == sizeof( int *), "Address of array should be int *." ); // is true, i.e., the size of a reference
     54        // &ar[1] = &z;                        // change reference array element
     55        // typeof( ar[1] ) p;                  // is int, i.e., the type of referenced object
     56        // typeof( &ar[1] ) q;                 // is int &, i.e., the type of reference
     57        // sizeof( ar[1] ) == sizeof( int );   // is true, i.e., the size of referenced object
     58        // sizeof( &ar[1] ) == sizeof( int *); // is true, i.e., the size of a reference
    7359
    7460        ((int*&)&r3) = &x;                  // change r1, (&*)**r3
Note: See TracChangeset for help on using the changeset viewer.