|
[ ghc-Bugs-886199 ] LINE pragma syntax and happy: msg#00002lang.haskell.glasgow.bugs
Bugs item #886199, was opened at 2004-01-28 13:20 Message generated for change (Comment added) made by simonmar You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=108032&aid=886199&group_id=8032 Category: Compiler (Parser) Group: 6.2 >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Nobody/Anonymous (nobody) >Assigned to: Simon Marlow (simonmar) Summary: LINE pragma syntax and happy Initial Comment: From: kh@xxxxxxxxxxxxxxxx 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 ---------------------------------------------------------------------- >Comment By: Simon Marlow (simonmar) Date: 2004-02-02 10:52 Message: Logged In: YES user_id=48280 GHC <= 4.08 generated LINE pragmas of the form {-# LINE "foo.hs" 43 -} (note the missing # in the closing sequence). Happy versions compiled with an old GHC might have pre-processed templates containing LINE pragmas like this, leading to difficulties because recent GHCs don't accept these LINE pragmas. I've changed GHC so that it'll accept these in the future, but for now the workaround is either (1) compile up a recent Happy, or (2) just go and edit the templates in your Happy installation to add the missing '#'. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=108032&aid=886199&group_id=8032
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ ghc-Bugs-886200 ] LINE Pragma syntax and happy, SourceForge.net |
|---|---|
| Next by Date: | [ ghc-Bugs-886205 ] Record syntax change, SourceForge.net |
| Previous by Thread: | [ ghc-Bugs-886200 ] LINE Pragma syntax and happy, SourceForge.net |
| Next by Thread: | [ ghc-Bugs-886205 ] Record syntax change, SourceForge.net |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |