Custom Query (146 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (16 - 18 of 146)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Ticket Owner Reporter Resolution Summary
#27 Rob Schluntz <rschlunt@…> pabuhr fixed Thunks are not generated for polymorphic-to-monomorphic function casts.
Description

Thunks are not generated for polymorphic-to-monomorphic function casts, e.g.

forall(otype T) T f(T);

void g() {
    (int (*)(int))f;    // casts, doesn't convert
    int (*h)(int) = f;  // casts incorrectly, doesn't convert either
}

Aaron: I suspect this needs to be fixed with a change to the GenPoly::box pass There is a bug there, but it exposes deeper issues in the resolution pass; essentially, cfa-cc seems to have no concept of a compiler-generated implicit conversion (it punts to GCC whenever one is needed that exists in C), and it doesn't keep the right information in the correct places for an easy fix for this bug. I'd suggest resolving this one WONTFIX.

#29 pabuhr fixed sizeof(foo) does not work, where foo is a variable of polymorphic type.
Description

sizeof(foo) does not work, where foo is a variable of polymorphic type. Uses sizeof(void*) instead, since foo is represented as one.

forall(otype T)
void print_sizealign(T dummy) {
    printf("size:%lu, align:%lu\n", sizeof(T), __alignof(T)); // correct
    printf("size:%lu, align:%lu\n", sizeof(dummy), __alignof(dummy)); // fails (unless T has same size/align as void*)
}
#31 pabuhr fixed Glen's new prelude
Description

Incorporate Glen's new prelude, problem with extension of restrict at non-pointer qualifier

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Note: See TracQuery for help on using queries.