aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/adaint.c
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-08-04 15:09:07 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-08-04 15:09:07 +0200
commitbc3c2eca1aa80b667f9e80773919755669d03e82 (patch)
treeae2f98b4910d7b8f2902562768bc811fce0e843d /gcc/ada/adaint.c
parent3daa26d0e9138bc554869f15d79d657c6a735828 (diff)
downloadgcc-bc3c2eca1aa80b667f9e80773919755669d03e82.zip
gcc-bc3c2eca1aa80b667f9e80773919755669d03e82.tar.gz
gcc-bc3c2eca1aa80b667f9e80773919755669d03e82.tar.bz2
[multiple changes]
2014-08-04 Robert Dewar <dewar@adacore.com> * einfo.ads, einfo.adb (Is_Standard_String_Type): New function. * exp_ch3.adb (Build_Array_Init_Proc): Use Is_Standard_String_Type. (Expand_Freeze_Array_Type): ditto. (Get_Simple_Init_Val): ditto. (Needs_Simple_Initialization): ditto. * sem_eval.adb (Eval_String_Literal): Use Is_Standard_String_Type. * sem_warn.adb (Is_Suspicious_Type): Use Is_Standard_String_Type. 2014-08-04 Pascal Obry <obry@adacore.com> * adaint.c (__gnat_try_lock): Use _tcscpy and _tcscat instead of _stprintf which insert garbage into the wfull_path buffer. 2014-08-04 Arnaud Charlet <charlet@adacore.com> * cal.c: Remove old VMS/nucleus code. Remove obsolete vxworks code. * fe.h: Minor reformatting. 2014-08-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * cstreams.c: (_LARGEFILE_SOURCE): Guard definition. 2014-08-04 Robert Dewar <dewar@adacore.com> * par-ch13.adb (Get_Aspect_Specifications): Improve error recovery, fixing a -gnatQ bomb. From-SVN: r213586
Diffstat (limited to 'gcc/ada/adaint.c')
-rw-r--r--gcc/ada/adaint.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 8a18418..02bce45 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -459,7 +459,20 @@ __gnat_try_lock (char *dir, char *file)
S2WSC (wdir, dir, GNAT_MAX_PATH_LEN);
S2WSC (wfile, file, GNAT_MAX_PATH_LEN);
+ /* ??? the code below crash on MingW64 for obscure reasons, a ticket
+ has been opened here:
+
+ https://sourceforge.net/p/mingw-w64/bugs/414/
+
+ As a workaround an equivalent set of code has been put in place below.
+
_stprintf (wfull_path, _T("%s%c%s"), wdir, _T(DIR_SEPARATOR), wfile);
+ */
+
+ _tcscpy (wfull_path, wdir);
+ _tcscat (wfull_path, L"\\");
+ _tcscat (wfull_path, wfile);
+
fd = _topen (wfull_path, O_CREAT | O_EXCL, 0600);
#else
char full_path[256];