* Don't completely lose/misappropriate errors in tests that don't have a base
section
* Change the filename to actually be a filename, and include the base test name
as the first part of the section stack.
* Don't over-multiply duration by 1000 to convert to milliseconds twice.
* glslang's HLSL support now requires spirv-opt for correct functioning
and may need more in future, so it's disabled. The compilation was not
externally exposed, and in future this will be handled via
out-of-process execution of compilers.
* The update to SPIR-V headers also had the knock-on effect of allowing
SPIR-V 1.3. Closes#976
* Add CATCH_CONFIG_FORCE_FALLBACK_STRINGIFIER to force use of ToStr in
all cases. We can handle ints, etc, we don't need ostringstream, and
this allows us to handle enums that would otherwise just be printed as
their integer value.
* Add CATCH_CONFIG_INLINE_DEBUG_BREAK which restores the Catch 1.0
behaviour of debugbreaks happening in macros and so in-line at the
actual site failure. So the debugger stops on the CHECK() or REQUIRE()
call instead of inside AssertionHandler::complete()
* CMake can find the local LLVM even without specifying LLVM_DIR, but
we don't want to build it for interceptor-lib unless it's exactly the
one we want, so we ask for explicit opt-in.
* This library will be used to replace the PLT hooking for most core
functions, and is generally more reliable. It still fails in some
cases though when the target function is not patchable.
* To build, it requires LLVM. See README.md for instructions on building
a compatible LLVM for use.
* This lets us add the debuggable flag we need, at the cost of needing
to re-sign the APK. It works in many cases although sometimes it does
fail - but this is provided just as a 'best effort' and not as a
recommended workflow.
* Since these types are more prevalent than originally designed, it
makes more sense to remove the namespace for ease of typing/naming.
* Also add a specialised type 'bytebuf' for an array of bytes.
* This makes mapping easier to SWIG since there's no special casing for
namespaced arrays. Especially so for nested cases like
rdctype::array<rdctype::str> -> rdcarray<rdcstr>
* For the most part the interface is stl-compatible, but we have a few
little changes of our own for convenience.
* This class is still needed after deleting the C# UI, because we don't
want to pass C++ stl structs over module boundaries and possibly run
into hard to diagnose incompatibilities.
* The directories are flattened since the #include paths aren't
relative and instead just #include "file.h". The recommended
solution is just to flatten the directory structure.
* This includes several fixes notably arm/aarch64 support. Although it's
unlikely to be used in practice it's useful to be able to compile
successfully.
* Previously on VS2010, the DIA2 library wasn't properly supported on
64-bit, so it needed a separate program that always ran 32-bit and
proxied operations over a named pipe.
* Now DIA2 will load correctly in 32-bit and 64-bit, so we can do the
work in-process without needing the separate exe.
* We still need to distribute dbghelp.dll and symsrv.dll, so these now
live alongside renderdoc.dll in the build/install folder with matching
bitness.
* At the same time fixed a bug I noticed where the 0-based module index
would return 0 for the first valid module and be treated as invalid.
* Truly, this is a sad day. But unfortunately many dependencies are just
not supported and it's increasingly difficult to stay on VS2010.
* In an ideal world, the IDE and compiler would be decoupled, but that's
not the case.
* Upstream stb_image.h uses __builtin_cpu_supports to detect if SSE2 is
available, but GCC versions from at least 5.4 and up to apparently
6.1.1 on Fedora 24 then give an error about a missing hidden symbol
__cpu_model when the resulting code is compiled into a DSO.
* Avoiding this by just assuming x64 gives SSE2 will fix 99% of cases,
and it's not a big loss for the tiny minority with SSE2 on x86 to miss
out. Thanks to @Anteru for this suggested fix!