Changeset 167a9c8 for src


Ignore:
Timestamp:
Feb 24, 2017, 3:58:07 PM (8 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, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
1630f18, ef9cc56
Parents:
43c89a7 (diff), 23c4aa8 (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 plg2:software/cfa/cfa-cc

Location:
src
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • src/InitTweak/GenInit.cc

    r43c89a7 r167a9c8  
    332332                        if ( ObjectDecl * field = dynamic_cast< ObjectDecl * >( member ) ) {
    333333                                if ( isManaged( field ) ) {
    334                                         managedTypes.insert( SymTab::Mangler::mangle( aggregateDecl ) );
     334                                        StructInstType inst( Type::Qualifiers(), aggregateDecl );
     335                                        managedTypes.insert( SymTab::Mangler::mangle( &inst ) );
    335336                                        break;
    336337                                }
  • src/libcfa/concurrency/monitor

    r43c89a7 r167a9c8  
    3030void leave(monitor *);
    3131
     32struct monitor_guard {
     33        monitor * m;
     34};
     35
     36static inline void ?{}( monitor_guard * this, monitor * m ) {
     37        this->m = m;
     38        enter( this->m );
     39}
     40
     41static inline void ^?{}( monitor_guard * this ) {
     42        leave( this->m );
     43}
     44
    3245#endif //MONITOR_H
  • src/libcfa/concurrency/monitor.c

    r43c89a7 r167a9c8  
    4444
    4545        unlock( &this->lock );
     46
    4647        if( this->holder ) ScheduleThread( this->holder );
    4748}
  • src/tests/monitor.c

    r43c89a7 r167a9c8  
    1616
    1717void increment( /*mutex*/ global_t * this ) {
    18         enter( &this->m );
     18        monitor_guard g = { &this->m };
    1919        this->value += 1;
    20         leave( &this->m );
    2120}
    2221
  • src/tests/simpleGenericTriple.c

    r43c89a7 r167a9c8  
    2828  int x1 = 123, x3 = 456;
    2929  double x2 = 999.123;
    30   struct T3(int) Li = { x1, x2, x3 };
     30  struct T3(int) Li = { x1, (int)x2, x3 };
    3131  struct T3(int) Ri = { 9, 2, 3 };
    3232  struct T3(int) reti = Li+Ri;
Note: See TracChangeset for help on using the changeset viewer.