An Rvalue Reference Issue
By chys on November 13th, 2009I’m now convinced it was way too premature to try to take advantage of C++0x features (r-value references, etc.) in tiary (if the compiler supports).
With GCC 4.3.4, even the following innocent function leads to segmentation fault:
#include <string>
#include <utility>
std::string && my_move (std::string &str)
{
std::string && tmp = std::move (str);
return tmp;
}
In GCC 4.4, this function simply casts the non-const lvalue-reference parameter to an r-value reference and returns it, which I think is correct. In 4.3, however, tmp refers to a temporary object on stack, move-constructed from str.
Then I replaced std::string with std::list<int> and tried again. This time, GCC (4.3.4) itself segfaults. Ooops..
Related posts:
Leave a Reply
Hint: Register at Gravatar and your comments will be accompanied by your personalized icon.
