Skip to content

LINE pragma syntax and happy

From: kh@dcs.st-and.ac.uk

The LINE pragma syntax seems to have changed with ghc 6
-- happy-generated code now fails with an incomprehensible
error.

Upgrading happy may not be an option (system balance
is very delicate)!

Kevin


System: MacOS X.3 (Panther)
Machine: Apple Powerbook G4, 15.2", 1.25GHz, 512MB
GHC: 6.2
happy: 1.9

(but apparently other OSes and happy versions).

$ ghc -c foo.hs
GenericTemplate.hs:0: lexical error
$ cat foo.hs
module HumeParse where
{-# LINE 1 "GenericTemplate.hs" -}
$ ghc -c -v foo.hs
Glasgow Haskell Compiler, Version 6.2, for Haskell 98, 
compiled by GHC version 6.2
Using package config file: /usr/local/lib/ghc-6.2/
package.conf
==================== Packages 
====================
Package
   {name = "data",
    auto = False,
    import_dirs = ["/usr/local/lib/ghc-6.2/hslibs-imports/
data"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSdata"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["haskell98", "lang", "util"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "rts",
    auto = False,
    import_dirs = [],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSrts"],
    extra_libraries = ["m"],
    include_dirs = ["/usr/local/lib/ghc-6.2/include"],
    c_includes = ["Stg.h"],
    package_deps = [],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts =
      ["-u",
       "_GHCziBase_Izh_static_info",
       "-u",
       "_GHCziBase_Czh_static_info",
       "-u",
       "_GHCziFloat_Fzh_static_info",
       "-u",
       "_GHCziFloat_Dzh_static_info",
       "-u",
       "_GHCziPtr_Ptr_static_info",
       "-u",
       "_GHCziWord_Wzh_static_info",
       "-u",
       "_GHCziInt_I8zh_static_info",
       "-u",
       "_GHCziInt_I16zh_static_info",
       "-u",
       "_GHCziInt_I32zh_static_info",
       "-u",
       "_GHCziInt_I64zh_static_info",
       "-u",
       "_GHCziWord_W8zh_static_info",
       "-u",
       "_GHCziWord_W16zh_static_info",
       "-u",
       "_GHCziWord_W32zh_static_info",
       "-u",
       "_GHCziWord_W64zh_static_info",
       "-u",
       "_GHCziStable_StablePtr_static_info",
       "-u",
       "_GHCziBase_Izh_con_info",
       "-u",
       "_GHCziBase_Czh_con_info",
       "-u",
       "_GHCziFloat_Fzh_con_info",
       "-u",
       "_GHCziFloat_Dzh_con_info",
       "-u",
       "_GHCziPtr_Ptr_con_info",
       "-u",
       "_GHCziPtr_FunPtr_con_info",
       "-u",
       "_GHCziStable_StablePtr_con_info",
       "-u",
       "_GHCziBase_False_closure",
       "-u",
       "_GHCziBase_True_closure",
       "-u",
       "_GHCziPack_unpackCString_closure",
       "-u",
       "_GHCziIOBase_stackOverflow_closure",
       "-u",
       "_GHCziIOBase_heapOverflow_closure",
       "-u",
       "_GHCziIOBase_NonTermination_closure",
       "-u",
       "_GHCziIOBase_BlockedOnDeadMVar_closure",
       "-u",
       "_GHCziIOBase_Deadlock_closure",
       "-u",
       "_GHCziWeak_runFinalizzerBatch_closure",
       "-u",
       "___stginit_Prelude"],
    framework_dirs = [],
    extra_frameworks = ["HaskellSupport"]}
Package
   {name = "base",
    auto = True,
    import_dirs = ["/usr/local/lib/ghc-6.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSbase"],
    extra_libraries = ["HSbase_cbits"],
    include_dirs = [],
    c_includes = ["HsBase.h"],
    package_deps = ["rts"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "haskell98",
    auto = True,
    import_dirs = ["/usr/local/lib/ghc-6.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HShaskell98"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "haskell-src",
    auto = True,
    import_dirs = ["/usr/local/lib/ghc-6.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HShaskell-src"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["base", "haskell98"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "network",
    auto = True,
    import_dirs = ["/usr/local/lib/ghc-6.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSnetwork"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = ["HsNet.h"],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "parsec",
    auto = True,
    import_dirs = ["/usr/local/lib/ghc-6.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSparsec"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "QuickCheck",
    auto = True,
    import_dirs = ["/usr/local/lib/ghc-6.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSQuickCheck"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "readline",
    auto = True,
    import_dirs = ["/usr/local/lib/ghc-6.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSreadline"],
    extra_libraries = ["readline", "ncurses"],
    include_dirs = [],
    c_includes = ["HsReadline.h"],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "OpenGL",
    auto = True,
    import_dirs = ["/usr/local/lib/ghc-6.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSOpenGL"],
    extra_libraries = ["HSOpenGL_cbits"],
    include_dirs = [],
    c_includes = ["HsOpenGL.h"],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = ["OpenGL"]}
Package
   {name = "GLUT",
    auto = True,
    import_dirs = ["/usr/local/lib/ghc-6.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSGLUT"],
    extra_libraries = ["HSGLUT_cbits", "objc"],
    include_dirs = [],
    c_includes = ["HsGLUT.h"],
    package_deps = ["base", "OpenGL"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = ["GLUT"]}
Package
   {name = "unix",
    auto = True,
    import_dirs = ["/usr/local/lib/ghc-6.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSunix"],
    extra_libraries = ["HSunix_cbits"],
    include_dirs = [],
    c_includes = ["HsUnix.h"],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "lang",
    auto = False,
    import_dirs = ["/usr/local/lib/ghc-6.2/hslibs-imports/
lang"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSlang"],
    extra_libraries = ["HSlang_cbits"],
    include_dirs = [],
    c_includes = ["HsLang.h"],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "concurrent",
    auto = False,
    import_dirs = ["/usr/local/lib/ghc-6.2/hslibs-imports/
concurrent"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSconcurrent"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "posix",
    auto = False,
    import_dirs = ["/usr/local/lib/ghc-6.2/hslibs-imports/
posix"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSposix"],
    extra_libraries = ["HSposix_cbits"],
    include_dirs = [],
    c_includes = ["HsPosix.h"],
    package_deps = ["lang", "unix"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "util",
    auto = False,
    import_dirs = ["/usr/local/lib/ghc-6.2/hslibs-imports/
util"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSutil"],
    extra_libraries = ["HSutil_cbits"],
    include_dirs = [],
    c_includes = ["HsUtil.h"],
    package_deps =
      ["lang", "concurrent", "QuickCheck", "readline", 
"posix"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "text",
    auto = False,
    import_dirs = ["/usr/local/lib/ghc-6.2/hslibs-imports/
text"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HStext"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["lang", "parsec"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "net",
    auto = False,
    import_dirs = ["/usr/local/lib/ghc-6.2/hslibs-imports/
net"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HSnet"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["network"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "hssource",
    auto = False,
    import_dirs = ["/usr/local/lib/ghc-6.2/hslibs-imports/
hssource"],
    source_dirs = [],
    library_dirs = ["/usr/local/lib/ghc-6.2"],
    hs_libraries = ["HShssource"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["haskell-src"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}


Hsc static flags: -static
*** Checking old interface for HumeParse:
*** Parser:
GenericTemplate.hs:0: lexical error
*** Deleting temp files
Deleting: /tmp/ghc18750.s
Warning: deleting non-existent /tmp/ghc18750.s

Trac metadata
Trac field Value
Version 6.2
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution ResolvedFixed
Component Compiler (Parser)
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information