1149 Commits (61c7414fed66fe7cce05fc53be825dc03f625e3c)
 

Author SHA1 Message Date
David Chisnall 61c7414fed Undo incorrect change. 7 years ago
David Chisnall 0db1f383b9 More pipelines stuff. 7 years ago
David Chisnall da4c4e414c Remove explicit triggers from azure-pipelines.yml
These are better configured in the web interface.
7 years ago
David Chisnall a9c8eb0629 Remove accidental copy-and-paste. 7 years ago
David Chisnall a0a8482357 Attempt to add Windows to CI. 7 years ago
David Chisnall 14de55e419 Update CI badge. 7 years ago
David Chisnall eab35fce37 Work around clang 8 bug in test. 7 years ago
David Chisnall 3dfc5f2fb0 Add proper quoting for CI config. 7 years ago
David Chisnall d8844095f9 Set up CI with Azure Pipelines
Update Azure pipelines to new syntax.
7 years ago
David Chisnall 351b0cac0a Set up CI with Azure Pipelines
Fix indentation in CI config.
7 years ago
David Chisnall 2398372459 Initial attempt at Azure Pipelines build. 7 years ago
Frederik Seiffert f4b381febb Replace valloc() with posix_memalign().
valloc() no longer exists in some toolchains like Android arm64.
7 years ago
Dustin Howett f392ff1870 Fix dtable rebase and add a test for a missing case
The dtable rebasing rework in b81df02b broke the inheritance of
superclass methods from a superclass that had already been initialized.
7 years ago
Dustin Howett 33cdcd709d Actually emit storage for the objc_weak_load hook 7 years ago
David Chisnall 6c6c3e13aa Fix Windows build. 7 years ago
David Chisnall 52ca9b207b Make it easier to override the assembler on Windows.
This is necessary for building with Visual Studio (msbuild)
7 years ago
David Chisnall d2255cb8d4 Add Windows build instructions. 7 years ago
David Chisnall fa35aaf5ee [windows] Handle changes to clang's EH mangling
For compatibility with a Facebook internal project, clang now mangles
Objective-C types and C structures in the same way.  This is a terrible
idea, but it apparently doesn't break anything.
7 years ago
David Chisnall e4f4cf095f Remove unused header include. 7 years ago
David Chisnall 2edfe64739 Fix incorrect strcmp usage. 7 years ago
David Chisnall d015f0160c Rename PUBLIC to OBJC_PUBLIC to avoid some namespace pollution. 7 years ago
David Chisnall 70a12d3612 Apparently PUBLIC doesn't mean what I think it means.
It probably should be renamed OBJC_PUBLIC anyway, because it's a bit
rude to leak an identifier like that into the global namespace.
7 years ago
David Chisnall 4a8d125b3f Fix linkage type for objc_method_cache_version.
This was accidentally common linkage, so ended up with copy relocations.
7 years ago
David Chisnall 0db500addc Fix missing type encoding case for long double.
This was triggered when upgrading ivars from the pre-2.0 ABI that used
long double - their alignment could not be calculated correctly and we
hit an assertion.

Fixes: #82
7 years ago
David Chisnall effdd15042 Work around a clang bug. 7 years ago
David Chisnall 8db0450dcc Fix bug in ivar align computation.
__builtin_clz takes an unsigned int, it isn't overloaded for different
types.  This meant that we were computing log2 by counting the
leading bits in a 32-bit value and using that result as if it were the
number of bits in a 64-bit value.  This meant that our alignment values
were 2^32 times as big as they should be.  This mostly didn't matter,
because we then truncated the result to 32 bits and the wrapping gave
the correct answer.

Unfortunately, this was undefined behaviour and, at sufficiently high
optimisation levels, this resulted in the value being optimised away,
leading to odd results.
7 years ago
David Chisnall 5585a44574 Remove work around for old glibc. 7 years ago
David Chisnall da5e411d24 Add two Apple-compatible block introspection functions. 7 years ago
Niels Grewe e627c14b5f fix(libBlocksRuntime compatibility): Install proper compatibiltiy headers for libBlocksRuntime 7 years ago
David Chisnall abf629b1f7 Make some private symbols private. 7 years ago
David Chisnall cace3a4062 Add some more debug logging. 7 years ago
David Chisnall c489cc909d Fix header symlink installation. 7 years ago
David Chisnall e811e6ce32 Fix build failure in test. 7 years ago
David Chisnall 93248d581b Allow double indirection for superclass pointers. 7 years ago
David Chisnall 455a4758f1 Make CMake install the dll on Windows. 7 years ago
David Chisnall f4be4d5696 Disable old ABI compat by default on Windows. 7 years ago
David Chisnall 0da21d5064 Add some more Windows build tweaks.
This enables building on Windows with Ninja.
7 years ago
David Chisnall d0c3fe5323 Remove a broken assertion.
This was checking that a variable that was never assigned to was a
non-zero value.
7 years ago
David Chisnall 262cea96f5 Fix test for clang 8.
Clang 8 now rejects the thing that this is testing (which is good,
because it's a terrible idea).
7 years ago
David Chisnall c99476cc7d
Merge pull request #75 from ePirat/fix-missing-header
Add missing header file to CMakeLists
8 years ago
Marvin Scholz c498a65fe6 Add missing header file to CMakeLists 8 years ago
David Chisnall 782b1ec3b3 Update some docs. 8 years ago
David Chisnall f0884dda76 Add some release notes. 8 years ago
David Chisnall 6c2a61de9b Improve protocol reference loading.
Now all @protocol references will refer to precisely the same instance,
even across shared libraries.
8 years ago
David Chisnall bc726e7564 Improve protocol table locking.
Remove the protocol table from the global lock and make sure that we do
acquire it when accessing the table.
8 years ago
David Chisnall b9b6198520 Improve the forward-declared protocol test. 8 years ago
David Chisnall 6ab3df0892 Improve the forward declare protocols test.
Make it not fail to build with older compilers and make it test the
thing that should be true with the new ABI.
8 years ago
David Chisnall f7a21aaf4d Bump the CPack version to 2.0. 8 years ago
David Chisnall 2978cbb760 Don't try to symlink headers on Windows 8 years ago
David Chisnall a8e5f6ced0 Fix another bug in the hash table.
Clearing the secondMaps was incorrect for cases where the secondMaps
included a wrap around to the start of the table.
8 years ago