From eb331446e3bee812d1df19cf59eb2d23d287ac74 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Mon, 7 Jan 2019 09:31:31 -0500 Subject: Feature/serialization debug info (#767) * Remove AppContext. Use StdChannels to hold writers, and TestToolUtil to hold test tool specific functionality. * StdChannels -> StdWriters * getStdOut -> getOut, getStdError -> getError * Renamed main.cpp files of tools to try and stop visual studio getting confused between files - such that clicking on an error takes editor to the right location. * Work in progress on being able to serialize debug information. * * Added MemoryStream * First pass converting to IRSerialData * Able to read and write IRSerialData with debug data * Start at reconstruting IR serialized data. * First pass of generation debug SourceLocs from debug data. Works for test set for line nos. * Bug fixes. Moved testing of serialization into IRSerialUtil * Work around problem with irModule = generateIRForTranslationUnit(translationUnit); two times in a row produces different output(!). Fix by just creating once. * Remove problem with use of ternary op in slang.cpp on gcc/clang. * Added -verify-debug-serial-ir option that makes IR modules go through full serialization with debug information and verification. * Add a test that does serial debug verification that is run by default on linux. --- source/core/slang-string-slice-pool.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source/core/slang-string-slice-pool.h') diff --git a/source/core/slang-string-slice-pool.h b/source/core/slang-string-slice-pool.h index c9c8b8db9..08cd819ab 100644 --- a/source/core/slang-string-slice-pool.h +++ b/source/core/slang-string-slice-pool.h @@ -50,6 +50,8 @@ public: /// Convert a handle to and index. (A handle is just an index!) static int asIndex(Handle handle) { return int(handle); } + /// Returns true if the handle is to a slice that contains characters (ie not null or empty) + static bool hasContents(Handle handle) { return int(handle) >= kNumDefaultHandles; } /// Ctor StringSlicePool(); -- cgit v1.2.3