Custom Query (145 matches)
Results (61 - 63 of 145)
Ticket | Owner | Reporter | Resolution | Summary |
---|---|---|---|---|
#158 | 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 | 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 | 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. |