diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2019-07-17 10:26:37 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-07-17 10:26:37 -0400 |
| commit | 749634a2a6e03acf435c39f78b933a01b90a7440 (patch) | |
| tree | 950203d3fc29610428b0ca03eb756911b9b11f47 /source/core/slang-hex-dump-util.h | |
| parent | f52f5cd4a7b5b71617b949fc62a78abe8c4822b3 (diff) | |
Slang -> C++ -> SharedLibrary -> Test (#999)
* WIP: Adding support for C/C++ compilation to slang API.
* Removed BackEndType in test harness -> use SlangPassThrough to identify backends
Only require stage for targets that require it.
Detection of all different backends.
* Windows/Unix create temporary filename.
* WIP: Output CPU binaries.
* Added a pass-through c/c++ test.
* Compile C++/C and store in temporary file.
* Read the binary back into memory.
* Set debug info and optimization flags for C/C++.
Make the CPPCompiler debug/optimization levels match slangs.
* Handling of include paths and math precision.
* Dumping c++/c source and exe/shared library.
* Put hex dump into own util.
* End to end pass through c compilation test.
* WIP: Simple execute test working on Linux/Unix.
* Fix typo on linux.
* WIP: To compile slang to cpp shared library. Report backend compiler errors.
* Compiles slang -> cpp and loads as shared library.
* Fix problem on c-cross-compile test because prelude is now included with <> quotes.
* Run slang generated cpp code - using hard coded data.
* Added cpp-execute-simple, and test output.
* Fix warning that broke win32 build.
* Fix compilation problem on osx.
Diffstat (limited to 'source/core/slang-hex-dump-util.h')
| -rw-r--r-- | source/core/slang-hex-dump-util.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/source/core/slang-hex-dump-util.h b/source/core/slang-hex-dump-util.h new file mode 100644 index 000000000..580f5a120 --- /dev/null +++ b/source/core/slang-hex-dump-util.h @@ -0,0 +1,28 @@ +#ifndef SLANG_HEX_DUMP_UTIL_H +#define SLANG_HEX_DUMP_UTIL_H + +#include "slang-common.h" +#include "slang-string.h" + +#include "slang-list.h" +#include "../../slang.h" + +namespace Slang +{ + +struct HexDumpUtil +{ + /// Dump data to writer, with lines starting with hex data + static SlangResult dump(const List<uint8_t>& data, int numBytesPerLine, ISlangWriter* writer); + + static SlangResult dumpWithMarkers(const List<uint8_t>& data, int numBytesPerLine, ISlangWriter* writer); + + /// Parses lines formatted by dump, back into bytes + static SlangResult parse(const UnownedStringSlice& lines, List<uint8_t>& outBytes); + + static SlangResult parseWithMarkers(const UnownedStringSlice& lines, List<uint8_t>& outBytes); +}; + +} + +#endif |
