From ffec8e81da21c8fd1726d4e5dbf4800aa0fe9e88 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Fri, 17 Apr 2009 11:51:08 +0200 Subject: [multiple changes] 2009-04-17 Eric Botcazou * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os. 2009-04-17 Pascal Obry * 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 * atree.adb, atree.ads: Remove dead code. From-SVN: r146235 --- gcc/ada/initialize.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'gcc/ada/initialize.c') diff --git a/gcc/ada/initialize.c b/gcc/ada/initialize.c index 5e7b2ff..ef51f70 100644 --- a/gcc/ada/initialize.c +++ b/gcc/ada/initialize.c @@ -81,6 +81,22 @@ __gnat_initialize (void *eh) given that we have set Max_Digits etc with this in mind */ __gnat_init_float (); +#ifdef GNAT_UNICODE_SUPPORT + /* Set current code page for filenames handling. */ + { + char *codepage = getenv ("GNAT_CODE_PAGE"); + + /* Default code page is UTF-8. */ + CurrentCodePage = CP_UTF8; + + if (codepage != NULL) + if (strcmp (codepage, "CP_ACP") == 0) + CurrentCodePage = CP_ACP; + else if (strcmp (codepage, "CP_UTF8") == 0) + CurrentCodePage = CP_UTF8; + } +#endif + /* Adjust gnat_argv to support Unicode characters. */ { char arg_utf8[MAX_PATH]; @@ -97,7 +113,7 @@ __gnat_initialize (void *eh) for (k=0; k