This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/66155] New: Macro not replaced after multi-line string constant


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66155

            Bug ID: 66155
           Summary: Macro not replaced after multi-line string constant
           Product: gcc
           Version: 4.8.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: elias.assmann at gmail dot com
  Target Milestone: ---

The following program

#define foo "x"
program test
  implicit none

  print*, 'bla&
       bla'//foo
end program test

yields the compiler error

$ gfortran try.F90 
try.F90:6.16:

       bla'//foo
                1
Error: Symbol 'foo' at (1) has no IMPLICIT type

So maybe this should be considered a cpp bug instead?  I am posting it here
because I do not know cpp too well, and the problem is definitely
Fortran-related.  In any case, the preprocessor prints

$ gfortran -E try.F90
# 1 "try.F90"
# 1 "<command-line>"
# 1 "try.F90"

program test
  implicit none

  print*, 'bla&
       bla'//foo
end program test

I find the same result with all of the following versions:

gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) 
gcc version 4.1.2 20080704 (Red Hat 4.1.2-52)
gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) 
gcc version 5.1.0 (GCC) 
g


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]