Comments (6)
Wow, this is interesting! You mean like setting
#define gcc_pure
in Compiler.h?
Does this happen to solve the library update problem mentioned in https://forum.musicpd.org/viewtopic.php?f=7&t=4318#p6880 and https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=219048 ?
Will test this ...
from mpd.
Seems indeed to work!
Thanks for tracking down this one!
from mpd.
Yes, that's exactly what I did. I didn't bother with a patch since it was such a simple change and I figured someone who knew the code might want to do it properly and keep the optimisation where exceptions weren't used or make it based on compiler. I'd be happy to have a go at a better fix if that would be helpful.
from mpd.
Huh, interesting find. The GCC documentation of pure
leaves this part undefined - it does not mention whether "pure" functions are allowed to throw exceptions (which I interpreted as just another kind of "return value"), while clang appears to assume that a pure
function is also noexcept
.
from mpd.
I quickly wrote a clang plugin which shows me code locations that need to be fixed: https://gist.github.com/MaxKellermann/758ed94d66cc744fe163bee0f854352d
from mpd.
Nice way to find them. I've applied the commit and can confirm it fixes the issue I was seeing.
from mpd.
Related Issues (20)
- Document how replaygain_limit interacts with REPLAYGAIN_ALBUM_PEAK/REPLAYGAIN_TRACK_PEAK tags HOT 1
- Auto update does not track files correctly HOT 1
- [Question] Tag for version v0.23.15 HOT 5
- playback of large files stops when used with curl 8.5 HOT 1
- When playing public webdav stream, curl fails "Out of memory" HOT 1
- What is the status of MPD on Android? HOT 2
- How does destination_ports work? HOT 1
- Support for different embedded art tags HOT 4
- [macOS] Find a way to support older versions: currently `mpd` broken on < 12 HOT 9
- Minimal track length for crossfade should be configurable (now 20 secs fixed)
- Idle events from other subsystems are not accumulated while idling on particular subsystem(s)
- opus support HOT 4
- Spurious "update: recursive directory found" HOT 9
- MPD doesn't play file HOT 2
- Support for embedded cue files as directory HOT 1
- Modify audio output device system/master volume on Windows HOT 3
- CPU spike, API unresponsive after samba folder deletion / library update HOT 6
- DSD Native not working HOT 8
- Question: is there a MaxFileSize in MPD? HOT 1
- NetEase cloud music(V9.0.60.201911) upnp push mpd+upmpdcli tear sound HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mpd.