Looking for a resolved issue between GCC9 and GCC8
Jeremy Borys
jnickborys@gmail.com
Sat Jan 14 17:22:42 GMT 2023
I wrote some C++ code that initialises a member via a lambda. The lambda
can throw an exception and in GCC8 the exception isn't caught but in GCC9
it is. I spent some time looking at the release notes and I was hoping that
someone could point to an issue which this was fixed in.
Thanks the code and godbolt link below should be better than my words:
```cpp
#include <iostream>
#include <memory>
class Bar {
std::unique_ptr<int> foo2 = [&]() noexcept(false) {
throw std::runtime_error("fail");
return std::make_unique<int>();
}();
};
int main()
{
try { auto b = Bar(); }
catch (const std::exception& e)
{
std::cout << "pass" << std::endl;
}
return 0;
}
```
Thanks
Jeremy
godbolt link attached
https://godbolt.org/#z:OYLghAFBqd5TKALEBjA9gEwKYFFMCWALugE4A0BIEAZgQDbYB2AhgLbYgDkAjF%2BTXRMiAZVQtGIHgBYBQogFUAztgAKAD24AGfgCsp5eiyahUAUgBMAIUtXyKxqiIEh1ZpgDC6egFc2TEAsAVnJ3ABkCJmwAOT8AI2xSEAB2cgAHdCViFyYvX39ArXTM7KEIqNi2BKTUh2wnHJEiFlIiPL8A4PtsR2chJpaicpj4xJT7Ztb2gosipUmhyJGqseSASnt0H1JUTi4Aen2AagAVAE807COzrdIjjBwjpETsciOyI/p0Fkwj4yPsOp2GlGAA6MxaACCEOhFgAzJFUL5HmY4R4XPNSNh2KjcDDLAimEifCi0Rw2GQzrj8VCkSwlEojlYWkczMkbFCjlyjvNMCAQD4mAQAI4%2BbAAfTSRFIqPRwlxR0E6AsrLhABFWUEbBYAGxmIJqiBrI5MdCA3ZS2gSFTGtkcyHcx1HIhIUjoADuPKIfJApEFzg44sSbtIEEsFhoLAY4bWqPtTu5WKI2yYXp9bBYAGsJYKRWLZZEiLiIDxY3D49y2Yay/aq3GaZDC0cM5Ejfj2TDHdKzqyO5yE38fCQjnFVRrmaGa53K8k1dOueIiKgkEcIBgmPM0/zzdgpTlLDqAbH%2B1y7fOnbz%2BRgh6qPLLWRYLGl6Upw7f75eQO56PWT7251C55JimRxaL%2B0KzjCXAbPQ3BBPwARcDo5DoNwd7WLYPK3LsD5wnw5BENo0EbJmIBBFooJwnCACc0jBEEAAcyTSDqyRwqksFcNI/BsGRRSIchqFcPwSggEUhFIdB5BwLAKBbEQaRDpQbiECQpAEHyPByMIYgSJwMjaYoKgaER5D6Fp7qkCwaTcHwMFwQhplCQA8kOilEO8NBHOoDE6gAtDq0hHMAqCoEcDGgkEq5eGwaQMIkuGlvwEk6GsGzPD8YxGoY3DceQvFdAJ/BCSJYkEURGwycgIDye5ylrugsXxaQ0TsHsPn%2BYFwWhUc1Ggvh2CqWQGkGIIOniJIBljUZaiaJJZmBOQlnWbZUmcfB5BFSh3CuQpN7oF5HUBUFIVhX1PDRY1cWMHcBIWGsyUVel2I4Ek2WcXlBUhFtJX2GVKXEeQpFwjq/XUfC0g8DwOo6vCPBBPDOVcHCjnzb9AOVYgEAoBgTU3fVuPXWMwAMSEOAAG4ELsABqBDYO6zmXIh%2BF0PQRCJKJEBxKZcSRC0ZyreQvOsKQZzOXEuj1BJ%2BG4xwwjOUw9AC/NOAZiYkgqwQWINOT2CifNgL1EOezIYWPSmfQBBxFZoteDgpnSgQvG8FJNBGMASi0/TjPMIL026ZNsjTcos2meZhjGKYti2IYVuibArAcCAcToJkRDkLrSS8Mk1GA%2Bge5CPrfnORYIk9FLORuEwnjeB0BjhEslTVAYGRZH0uS1wUWmt6UTDDE3YxaXUDT9As0wBEP5cj0wAytP3oxJEPY%2BdxPEyDPPKyLxsSjYfp9lcBtP3cN5vnHd1YURVFED4MQHwEkl5WSWl5AZa91AkSAcIUdIzFwvRWhaGkHCBGgUkafSkAAzaTluClXEhVaSWMcZXWagTZBN0QDAGolpCmVNsBewZkzP2DB2akE5tzeawt%2BaC0oaLcWksnCC1lswIgCslamVVpHDWyFCDa2cLrfWyFDaoGNqZM2nFkKW2tvzO2JtkrqWdnZAQ7tPZ0wIb7F2hkA76SDvIEOJl5r6AsBHEwaBo7WFjnEeOUBE6cBTmnDOYxs652fvnduRcS5l16JXCA7hx712rhvZu3cSjtz8cEtuORAmD26F40egwwkxIrnEuejcF4GHmPEle6SFhRK3psbYuwpD70PtArgJ9OonR6udVcN81KJQeo/VKH8qKUSom09p7SwGo0EjAv6cCn771LvlCB/FSmPQGQ40hldpBAA%3D%3D%3D
More information about the Gcc-testresults
mailing list