+2014-07-18 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document that Wchar_T_Size and Word_Size are
+ static attributes.
+
+2014-07-18 Arnaud Charlet <charlet@adacore.com>
+
+ * a-witeio.adb, initialize.c: Update comments. Minor clean ups.
+
+2014-07-18 Pascal Obry <obry@adacore.com>
+
+ * adaint.c: Do not include wchar.h on VxWorks.
+ * mingw32.h: Remove obsolete definition.
+
2014-07-18 Pascal Obry <obry@adacore.com>
* a-textio.adb, a-witeio.adb, a-ztexio.adb: Use C_Streams Default_Text.
(File : File_Type;
Item : Wide_Character)
is
- wide_text_translation_required : Boolean;
- for wide_text_translation_required'Size use Character'Size;
- pragma Import (C, wide_text_translation_required,
- "__gnat_wide_text_translation_required");
+ wide_text_translation_required : Integer;
+ pragma Import
+ (C, wide_text_translation_required,
+ "__gnat_wide_text_translation_required");
-- Text translation is required on Windows only. This means that the
-- console is doing translation and we do not want to do any encoding
- -- here. If this boolean is set we just output the character as-is.
+ -- here. If this variable is not 0 we output the character via fputwc.
procedure Out_Char (C : Character);
-- Procedure to output one character of a wide character sequence
begin
FIO.Check_Write_Status (AP (File));
- if wide_text_translation_required
+ if wide_text_translation_required /= 0
or else File.Text_Encoding /= Default_Text
then
set_mode (fileno (File.Stream), File.Text_Encoding);
#else
#include <utime.h>
+#if ! defined (__vxworks)
#include <wchar.h>
#endif
+#endif
#if defined (_WIN32)
#include <process.h>
@code{Standard'Wchar_T_Size} (@code{Standard} is the only permissible
prefix) provides the size in bits of the C @code{wchar_t} type
primarily for constructing the definition of this type in
-package @code{Interfaces.C}.
+package @code{Interfaces.C}. The result is a static constant.
@node Attribute Word_Size
@unnumberedsec Attribute Word_Size
@findex Word_Size
@code{Standard'Word_Size} (@code{Standard} is the only permissible
-prefix) provides the value @code{System.Word_Size}.
+prefix) provides the value @code{System.Word_Size}. The result is
+a static constant.
@node Standard and Implementation Defined Restrictions
@chapter Standard and Implementation Defined Restrictions
/* __gnat_initialize (NT-mingw32 Version) */
/******************************************/
-char __gnat_wide_text_translation_required = 0;
-// wide text translation, 0=none, 1=activated
+int __gnat_wide_text_translation_required = 0;
+/* wide text translation, 0=none, 1=activated */
#if defined (__MINGW32__)
#include "mingw32.h"
extern UINT CurrentCodePage;
extern UINT CurrentCCSEncoding;
-extern char __gnat_wide_text_translation_required;
/* Macros to convert to/from the code page specified in CurrentCodePage. */
#define S2WSC(wstr,str,len) \