Returning large aggregates as values is a potential performance problem, but preventing all aggregate returns is inappropriate because:
1. returning small aggregates that are mostly handled as complete objects as return values often makes code clearer.
2. Modern (well not so modern actually) ABIs allow for small aggregates to be returned in registers, so forcing all returns to memory is actually likely to be slower.
3. if code review does not notice a large aggregate return and nobody notices a performance issue then it doesn't matter You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1740
-- Commit Summary --
* Remove requirement to fail build on aggregate return
-- File Changes --
M .travis.yml (2)
-- Patch Links --
https://github.com/geany/geany/pull/1740.patch https://github.com/geany/geany/pull/1740.diff
:+1:, at most this should be a warning.
OK.
@elextr 4 is not a real reason, GP is voluntarily forgiving on non-critical things because it's more of an aggregate itself (😉) then a single project.
@codebrainz warnings are mostly useless in CI builds unless the CI can report them directly, nobody actually read a successful build's log.
4 is not a real reason
Ok, still three left
nobody actually read a successful build's log.
Very true, but the change removes it, not makes it a warning
Very true, but the change removes it, not makes it a warning
I think he was referring to my comment about making it at most a warning.
Merged #1740.
github-comments@lists.geany.org