xdc-H08
diff --git a/README b/README
index 9f36959..57fa3d1 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
- xdc-H07 (corevers:16.0.2.0; B:200,G:200,R:200)
+ xdc-H08 (corevers:16.0.2.0; B:200,G:200,R:200)
eXpanDed C Tools (XDCtools)
@@ -64,28 +64,35 @@
CHANGES
-xdc.runtime Text.nameStatic was not used at all because we couldn't separate
- the case when a name wasn't given to an instance and the case when
- Text.charTab was not loaded. At the time the names are allocated
- to Text.charTab we already know that Text.charTab is not loaded so
- we don't bother adding instance names to Text.charTab. This change
- will separate the case where the name is NULL and Text.charTab is
- loaded, and that's when we know NULL means the instance does not
- have a name. The case when the name is NULL and Text.charTab is not
- loaded is still ambiguous. The message will say that the instance
- is static, which is true, but we can't tell if the name is given to
- the instance. Anything further than this would require a special
- value for the case of the name not being NULL, but Text.charTab is
- not loaded. However, this doesn't seem to be worthy of much
- attention because no one ever noticed that Text.nameStatic was not
- working at all.
+xdc.runtime for '$S' conversion doPrint() calls printfExtend(), which then
+ calls doPrint() again. The return value for doPrint() was the
+ number of characters that would be printed, and that's what not
+ we wanted to add to the number of printed character or to remove
+ from the size of the available buffer. Additionally, nothing was
+ subtracted from the size of the available buffer in doPrint() and
+ that caused a buffer overflow.
+ However, we can't support the requirement that the printf-like
+ functions that accept the buffer and the maximum number of
+ characters as parameters return the number of characters that
+ would be printed if the size of the buffer was large enough, if
+ extended formats were used. The extended formats call Text
+ functions that don't report how many characters would be printed.
- added FMEA document to docs
+ deleted declarations of unused functions from Core spec
-core Module_state section names for clang are changed to start with
- ".data:"
+ added validate function for Text, which reports an Error if
+ the buffer of managed strings grows over 32K.
-* more MISRA changes
-
+ Text_putMod was checking if Text is loaded when a module id
+ higher than 0x7FFF was found. However, if Text is not loaded such
+ ids are not generated, so the clause that would be executed when
+ Text is not loaded and an id is higher than 0x7FFF was dead code.
+
+ Text doc was claiming Text can accept 64K of strings, but only
+ 15 bits are used to address strings in charTab, which means only
+ about 32K can be addressed.
+
MRS
+XDCTOOLS-326 Recursive calls to System_doPrint lose track of maximum
+ length allowed
diff --git a/ident.c b/ident.c
index fdaec8b..6ddb47d 100644
--- a/ident.c
+++ b/ident.c
@@ -2,7 +2,7 @@
* ======== ident.c ========
*/
-#define _VERS_ "@(#)*** xdc-H07"
+#define _VERS_ "@(#)*** xdc-H08"
static char __NAME[] = _NAME_;
static char __DATE[] = _DATE_;