Changeset d32c4e2


Ignore:
Timestamp:
Jul 4, 2016, 9:29:03 PM (5 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, ctor, deferred_resn, demangler, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, resolv-new, with_gc
Children:
159c62e, 39f04ec
Parents:
7fe4cc3 (diff), 30e81fb (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:
4 edited

Legend:

Unmodified
Added
Removed
  • src/InitTweak/FixInit.cc

    r7fe4cc3 rd32c4e2  
    449449                                                FunctionDecl * dtorCaller = new FunctionDecl( objDecl->get_mangleName() + "_dtor_atexit", DeclarationNode::NoStorageClass, LinkageSpec::C, new FunctionType( Type::Qualifiers(), false ), new CompoundStmt( noLabels ), false, false );
    450450                                                dtorCaller->fixUniqueId();
    451                                                 dtorCaller->get_statements()->get_kids().push_back( ctorInit->get_dtor() );
     451                                                dtorCaller->get_statements()->get_kids().push_back( ctorInit->get_dtor()->clone() );
    452452
    453453                                                // on_exit(dtor_atexit);
  • src/libcfa/containers/vector

    r7fe4cc3 rd32c4e2  
    4040
    4141forall(otype T, otype allocator_t | allocator_c(T, allocator_t))
    42 static inline bool size(vector(T, allocator_t) *const this)
     42static inline size_t size(vector(T, allocator_t) *const this)
    4343{
    4444        return this->size;
  • src/tests/.expect/libcfa_vector.txt

    r7fe4cc3 rd32c4e2  
    1 CFA Version 1.0.0 (debug)
    2 libcfa_vector.c:3:29: fatal error: containers/vector: No such file or directory
    3  #include <containers/vector>
    4                              ^
    5 compilation terminated.
    6 make: *** [libcfa_vector] Error 1
     10
     21
     32
     43
     50
  • src/tests/libcfa_vector.c

    r7fe4cc3 rd32c4e2  
    11#include <stdlib>
     2
     3extern "C" {
     4        #include <stdio.h>
     5}
    26
    37#include <containers/vector>
    48
     9#define assert(x) do {\
     10        if(!(x)) {\
     11                printf("CHECK failed : %s at %s:%i\n", #x, __FILE__, __LINE__);\
     12                abort();\
     13        }}while(0 == 1)\
     14
    515int main(int argc, char const *argv[]) {
    6         vector(int) iv;
     16        vector(int, heap_allocator(int)) iv;
     17        ctor(&iv);
     18
     19        assert(empty(&iv));
     20        assert(size(&iv) == 0);
     21        printf("%d\n", size(&iv));
    722
    823        push_back(&iv, 1);
     24        printf("%d\n", size(&iv));
     25        assert(size(&iv) == 1);
    926        push_back(&iv, 2);
     27        printf("%d\n", size(&iv));
     28        assert(size(&iv) == 2);
    1029        push_back(&iv, 3);
     30        printf("%d\n", size(&iv));
     31        assert(size(&iv) == 3);
    1132
    1233        assert(!empty(&iv));
    1334        assert(size(&iv) == 3);
    14         assert(iv[0] == 1);
    1535        assert(at(&iv, 0) == 1);
    16         assert(iv[1] == 2);
     36        assert((&iv)[0] == 1);
    1737        assert(at(&iv, 1) == 2);
    18         assert(iv[2] == 3);
     38        assert((&iv)[1] == 2);
    1939        assert(at(&iv, 2) == 3);
     40        assert((&iv)[2] == 3);
    2041
    2142        clear(&iv);
     
    2344        assert(empty(&iv));
    2445        assert(size(&iv) == 0);
     46        printf("%d\n", size(&iv));
    2547
    2648        return 0;
Note: See TracChangeset for help on using the changeset viewer.