Commit Graph

29 Commits

Author SHA1 Message Date
Florian Walpen 21b293dbc3 Fix alignas() on non-packed architectures (#839).
Unbreak the build with Clang on architectures where JACK uses non-packed
data structures, like arm64 or powerpc. The alignment errors are exposed
there because:
 * The non-packed data structures require 8 byte alignment.
 * alignas() is not allowed to weaken alignment requirements to 4 bytes.
 * Clang enforces this according to standard, GCC ignores it.

Use an additional alignas() specifier to let the compiler choose between
minimum alignment (packed) and "natural" alignment (non-packed). This is
both standard c++11 and compatible with older GCC, which does not
propagate alignment requirements of packed substructures properly.
2022-02-08 18:59:46 +00:00
Colin McEwan dff7fa4fa8
Fix alignment of fields for atomic accesses (#761)
* Assert alignment is suitable for atomic accesses

* Move fields and pad to meet alignment constraints

* Add padding to JackEngineControl to account for inherited data

* Parenthesise padding length for clarity

* Revert "Parenthesise padding length for clarity"

This reverts commit 1f757b9ece5e3b032743c6c5ac49e83c3928e3de.

* Revert "Add padding to JackEngineControl to account for inherited data"

This reverts commit 3d8c7d83ad9483280f623171af7e40ccc76cef38.

* Revert "Move fields and pad to meet alignment constraints"

This reverts commit ff631bbbdc2279df05f3a18dd44e8fd68be2e04d.

* Assure alignment by using 'alignas' on fields
2021-06-30 09:16:28 +01:00
luz.paz a93b210134 FIx doxygen and user facing and non-facing typos
Found via `codespell -q 3`
2019-09-11 19:17:07 +01:00
sletz 1e00bb3448 John Emmas POST_PACKED_STRUCTURE patch.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4555 0c269be4-1314-0410-8aa9-9f06e86f4224
2011-10-28 09:33:24 +00:00
sletz 2eeb1f0ad3 Correct TopologicalSort.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4169 0c269be4-1314-0410-8aa9-9f06e86f4224
2011-03-10 13:35:22 +00:00
sletz b1cbecba6b JackEngine::ComputeTotalLatencies in progress.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4167 0c269be4-1314-0410-8aa9-9f06e86f4224
2011-03-09 21:45:34 +00:00
sletz 7453e5b018 Dynamic choice of maximum port number.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3828 0c269be4-1314-0410-8aa9-9f06e86f4224
2009-11-24 16:52:22 +00:00
sletz 5ef23d06c3 Use __attribute__((__packed__)) again, more fixes for 64/32 mixed mode. Torben Hohn changes for 64/32 mixed mode in wscripts.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3587 0c269be4-1314-0410-8aa9-9f06e86f4224
2009-07-09 10:05:42 +00:00
sletz 478b718aa8 Add mixed 32/64 mode (off by default).
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3462 0c269be4-1314-0410-8aa9-9f06e86f4224
2009-03-24 10:32:42 +00:00
sletz 164a71e806 Tim Blechmann optimization patch (inlining some heavy used methods).
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3447 0c269be4-1314-0410-8aa9-9f06e86f4224
2009-03-19 10:14:26 +00:00
sletz b50078f968 Tim Blechmann optimization patch.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@3022 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-10-20 10:58:24 +00:00
sletz bfdf50d52d Better symbols export for server and client side libraries.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2895 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-09-08 14:35:52 +00:00
sletz 3e01068967 Merge Michael Voigt drops branch after reorganization step.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2880 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-09-05 13:36:28 +00:00
sletz dcbaa4ed70 Merge windows branch back to trunk.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2661 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-07-08 08:44:44 +00:00
sletz 2b0a516f73 Another Tim Blechmann patch to remove unnecessary virtual methods.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2512 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-06-12 13:09:59 +00:00
sletz 215dfdd97a Tim Blechmann patch to remove unnecessary virtual methods : choice of the appropriate platform version is now done at compilation time.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2429 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-06-03 08:48:09 +00:00
sletz c0f0fd7cc9 Merge control branch.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2339 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-05-26 09:49:27 +00:00
sletz 536c0b5476 Use of placement new for dynamic port allocation is possibly not safe... so avoid that until a definitive answer is found.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2285 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-05-19 14:01:22 +00:00
sletz b047c2672d All library side files become LGPL
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2127 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-04-06 12:25:50 +00:00
sletz d2f7053ecc Nedko Arnaudov log patch(2).
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1936 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-03-10 16:47:42 +00:00
sletz ecb8da58c7 Beautifull code
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1909 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-03-05 16:39:51 +00:00
sletz 254f765c4f Update date
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1817 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-02-01 19:46:45 +00:00
sletz 4fa6879573 Cleanup
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1759 0c269be4-1314-0410-8aa9-9f06e86f4224
2008-01-04 13:25:52 +00:00
sletz 1ae88ba0f7 Remove JackEngineTiming class: code moved in JackEngineControl.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1653 0c269be4-1314-0410-8aa9-9f06e86f4224
2007-10-25 13:49:57 +00:00
sletz 4ed0dd094d Cleanup
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1569 0c269be4-1314-0410-8aa9-9f06e86f4224
2007-10-07 08:15:39 +00:00
sletz f2f09cd714 Cleanup
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1421 0c269be4-1314-0410-8aa9-9f06e86f4224
2007-02-19 13:54:50 +00:00
sletz 3ed43196fe Move client refnum management in JackEngine.
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1318 0c269be4-1314-0410-8aa9-9f06e86f4224
2006-12-15 21:55:50 +00:00
sletz 6946740c19 Version 0.61. Move client allocation in JackEngine
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1317 0c269be4-1314-0410-8aa9-9f06e86f4224
2006-12-15 18:27:07 +00:00
sletz 73e2d7a6d3 First import
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@1195 0c269be4-1314-0410-8aa9-9f06e86f4224
2006-09-03 07:39:10 +00:00