Custom Query (145 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (61 - 63 of 145)

Ticket Owner Reporter Resolution Summary
#158 Thierry Delisle <tdelisle@…> pabuhr fixed Missing constructor reference parameter
Description

First parameter of constructor must be refererence.

struct S { int i; };
void ?{}( S  s ); // forgot constructor reference

CFA Version 1.0.0 (debug)
cfa-cpp: SymTab/Indexer.cc:301: std::string SymTab::getOtypeKey(const FunctionDecl*): Assertion `base' failed.
Stack back trace for: /u0/pabuhr/software/mary/cfa-cc/lib/cfa/cfa-cpp
(0) /lib/x86_64-linux-gnu/libc.so.6 : (/*unknown*/)+0x2dc82 [0x7f557b935c82]
(1) /u0/pabuhr/software/mary/cfa-cc/lib/cfa/cfa-cpp() [0x14421e2]
(2) /u0/pabuhr/software/mary/cfa-cc/lib/cfa/cfa-cpp : SymTab::Indexer::removeSpecialOverrides(SymTab::Indexer::IdData&, std::shared_ptr<PersistentMap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, SymTab::Indexer::IdData, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&)+0xda [0x1443a2a]
(3) /u0/pabuhr/software/mary/cfa-cc/lib/cfa/cfa-cpp : SymTab::Indexer::addId(DeclarationWithType const*, SymTab::Indexer::OnConflict, Expression const*, Declaration const*)+0x321 [0x1448681]
(4) /u0/pabuhr/software/mary/cfa-cc/lib/cfa/cfa-cpp : PassVisitor<SymTab::LinkReferenceToTypes_old>::visit(FunctionDecl*)+0x85 [0x162dda5]
(5) /u0/pabuhr/software/mary/cfa-cc/lib/cfa/cfa-cpp : SymTab::validate(std::__cxx11::list<Declaration*, std::allocator<Declaration*> >&, bool)+0x679 [0x14c82e9]
(6) /u0/pabuhr/software/mary/cfa-cc/lib/cfa/cfa-cpp : main(/*unknown*/)+0x653 [0x92bb13]
CC1 Translator error: stage 2, child failed 6
#160 pabuhr fixed Constant 0p (NULL) does not work at the global declaration level
Description
int & q = *0p; // does not work
int main() {
    int  & q = *0p; // works
}

The reason the global usage fails is that 0p is a function call, but at the global level, this call must be wrapped into a constructor and it is not wrapped.

Other global function calls are wrapped correctly.

#164 ajbeach fixed Resumption Re-Throw Error After Another Throw
Description

This is a slightly modified version of a failing test (see resume.cfa test for the original) that removes some of the current patch syntax. Ignoring that difference this is a test case that is currently failing.

try {
    try {
        printf("throwing first exception\n");
        yin black;
        throwResume &black;
    } catchResume (yin * first) {
        printf("caught first exception\n");
        try {
            printf("throwing second exception\n");
            yang white;
            throwResume &white;
        } catchResume (yang * second) {
            printf("caught second exception\n");
        }
        throwResume;
    }
} catchResume (yin * first) {
    printf("recaught first exception\n");
} catchResume (yang * second) {
    printf("caught second exception (bad location)\n");
}

Expected output:

throwing first exception
caught first exception
throwing second exception
caught second exception 
recaught first exception

The actual output adds "(bad location)" to the second last line.

What appears to be happening is that the internal exception is being thrown from where the re-throw should be thrown, despite the fact that new handler frames have been pushed onto the stack since then.

Note: See TracQuery for help on using queries.