re PR fortran/36215 (Fortran bootstrap fails on _abs_c4.F90)
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Wed, 14 May 2008 14:23:01 +0000 (14:23 +0000)
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Wed, 14 May 2008 14:23:01 +0000 (14:23 +0000)
        PR fortran/36215

        * scanner.c (preprocessor_line): Allocate enough memory for a
        wide string.

        * gfortran.dg/include_3.f95: New test.

From-SVN: r135294

gcc/fortran/ChangeLog
gcc/fortran/scanner.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/include_3.f95 [new file with mode: 0644]

index 05563105cde45d93890efe9d99bef38c53c699b4..7ed34a61c0845ef52e7e7172fa65313642c62bd9 100644 (file)
@@ -1,3 +1,9 @@
+2008-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/36215
+       * scanner.c (preprocessor_line): Allocate enough memory for a
+       wide string.
+
 2008-05-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        PR fortran/36176
index 21b9311d12aef9c1b9c83d2826cf7aba5fdb1deb..13e0615528386bd90f8b6ae56bbcd63d65c3db4f 100644 (file)
@@ -1570,7 +1570,7 @@ preprocessor_line (gfc_char_t *c)
   if (unescape)
     {
       gfc_char_t *s = wide_filename;
-      gfc_char_t *d = gfc_getmem (c - wide_filename - unescape);
+      gfc_char_t *d = gfc_get_wide_string (c - wide_filename - unescape);
 
       wide_filename = d;
       while (*s)
index bd147b45a52cb9ac9e1d9a2c8ef72165ec7c2830..0ff79cc73b0f57dfa41288cc27f92cf9498cb7e5 100644 (file)
@@ -1,3 +1,8 @@
+2008-05-14  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR fortran/36215
+       * gfortran.dg/include_3.f95: New test.
+
 2008-05-14  Ira Rosen  <irar@il.ibm.com>
 
        PR tree-optimization/36098      
diff --git a/gcc/testsuite/gfortran.dg/include_3.f95 b/gcc/testsuite/gfortran.dg/include_3.f95
new file mode 100644 (file)
index 0000000..fba07cb
--- /dev/null
@@ -0,0 +1,26 @@
+# 1 "../../../trunk/libgfortran/generated/_abs_c4.F90"
+# 1 "C:\\msys\\1.0.10\\home\\FX\\ibin\\i586-pc-mingw32\\libgfortran//"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "../../../trunk/libgfortran/generated/_abs_c4.F90"
+!   Comment here
+
+# 1 "./config.h" 1
+
+# 37 "../../../trunk/libgfortran/generated/_abs_c4.F90" 2
+
+# 1 "./kinds.inc" 1
+# 38 "../../../trunk/libgfortran/generated/_abs_c4.F90" 2
+
+# 1 "./c99_protos.inc" 1
+# 39 "../../../trunk/libgfortran/generated/_abs_c4.F90" 2
+
+elemental function abs_c4 (parm)
+   complex (kind=4), intent (in) :: parm
+   real (kind=4) :: abs_c4
+
+   abs_c4 = abs (parm)
+end function
+
+! { dg-do compile }
+! { dg-options "-fpreprocessed -g3" }