summaryrefslogtreecommitdiff
path: root/gcc/ada/mingw32.h
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-17 09:51:08 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-17 09:51:08 +0000
commitf60cc57dd8b8f3fdb555b23fcc2b5aeba03e5c01 (patch)
tree764f35cd7165193222fc6482634c43fce750c1af /gcc/ada/mingw32.h
parent8fea528f6f6da82d9922dacf9c69646a54a3701a (diff)
downloadgcc-f60cc57dd8b8f3fdb555b23fcc2b5aeba03e5c01.tar.gz
2009-04-17 Eric Botcazou <ebotcazou@adacore.com>
* exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os. 2009-04-17 Pascal Obry <obry@adacore.com> * mingw32.h: Add S2WSC and WS2SC macros to convert to/from CurrentCodePage. * adaint.h: Encoding_Unspecified is now defined. Corresponds to the value when no encoding form paramter is set on Text_IO services. * adaint.c: CurrentCodePage new variable on Windows. Use new macros S2WSC and WS2SC instead of the UTF-8 oriented ones. * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented ones. * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE environment variable value. Default is UTF-8. * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type. fopen and freopen encoding parameter is now set to Unspecified. The default value is in this case UTF-8 (as it was before) but use the new macros that convert to/from the code page set at runtime (CurrentCodePage). * s-fileio.adb: When no encoding specified use Unspecified value. 2009-04-17 Ed Schonberg <schonberg@adacore.com> * atree.adb, atree.ads: Remove dead code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146235 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/mingw32.h')
-rw-r--r--gcc/ada/mingw32.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ada/mingw32.h b/gcc/ada/mingw32.h
index 46e271dcbca..c4034c0033d 100644
--- a/gcc/ada/mingw32.h
+++ b/gcc/ada/mingw32.h
@@ -62,6 +62,7 @@
#endif
#include <tchar.h>
+#include <windows.h>
/* After including this file it is possible to use the character t as prefix
to routines. If GNAT_UNICODE_SUPPORT is defined then the unicode enabled
@@ -71,10 +72,22 @@
the proper translations using the UTF-8 encoding. */
#ifdef GNAT_UNICODE_SUPPORT
+
+extern UINT CurrentCodePage;
+
+/* Macros to convert to/from the code page speficied in CurrentCodePage. */
+#define S2WSC(wstr,str,len) \
+ MultiByteToWideChar (CurrentCodePage,0,str,-1,wstr,len)
+#define WS2SC(str,wstr,len) \
+ WideCharToMultiByte (CurrentCodePage,0,wstr,-1,str,len,NULL,NULL)
+
+/* Macros to convert to/from UTF-8 code page. */
#define S2WSU(wstr,str,len) \
MultiByteToWideChar (CP_UTF8,0,str,-1,wstr,len)
#define WS2SU(str,wstr,len) \
WideCharToMultiByte (CP_UTF8,0,wstr,-1,str,len,NULL,NULL)
+
+/* Macros to convert to/from Windows default code page. */
#define S2WS(wstr,str,len) \
MultiByteToWideChar (CP_ACP,0,str,-1,wstr,len)
#define WS2S(str,wstr,len) \