Opened 4 years ago

Closed 4 years ago

#4207 closed bug (fixed)

compile failure: *** ParseCmm: <interno>:0:1: lexical error

Reported by: slyfox Owned by:
Priority: high Milestone: 7.0.1
Component: Compiler Version: 6.12.3
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Building GHC failed Difficulty:
Test Case: Blocked By:
Blocking: Related Tickets:

Description

When ghc is compiled in LANGUAGE=es LANG=es_ES.UTF-8

Cmm lexer fails badly:

$ ghc-6.12.3:LANGUAGE=es LC_ALL=es_ES.UTF-8 "inplace/bin/ghc-stage1" -v -keep-tmp-files -H64m -O0 -fasm -w    -package-name integer-gmp-0.2.0.1 -hide-all-packages -i -ilibraries/integer-gmp/. -ilibraries/integer-gmp/dist-install/build -ilibraries/integer-gmp/dist-install/build/autogen -Ilibraries/integer-gmp/dist-install/build -Ilibraries/integer-gmp/dist-install/build/autogen -Ilibraries/integer-gmp/.    -optP-include -optPlibraries/integer-gmp/dist-install/build/autogen/cabal_macros.h -package ghc-prim-0.2.0.0  -package-name integer-gmp -XCPP -XMagicHash -XUnboxedTuples -XNoImplicitPrelude -XForeignFunctionInterface -XUnliftedFFITypes -O0 -fasm -fno-warn-deprecated-flags     -c libraries/integer-gmp/cbits/gmp-wrappers.cmm -o libraries/integer-gmp/dist-install/build/cbits/gmp-wrappers.o
...
COMPILER_PATH=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.4.4/:/usr/libexec/gcc/x86_64-pc-linux-gnu/4.4.4/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/libexec/gcc/x86_64-pc-linux-gnu/4.4.4/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/../../../../x86_64-pc-linux-gnu/bin/
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.4/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-E' '-v' '-I' 'libraries/integer-gmp/dist-install/build' '-I' 'libraries/integer-gmp/dist-install/build/autogen' '-I' 'libraries/integer-gmp/.' '-I' '/home/slyfox/portage/gentoo-haskell/dev-lang/ghc/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/libraries/base/include' '-I' '/home/slyfox/portage/gentoo-haskell/dev-lang/ghc/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/includes' '-I' '/home/slyfox/portage/gentoo-haskell/dev-lang/ghc/tmp/portage/dev-lang/ghc-6.12.3/work/ghc-6.12.3/libffi/dist-install/build' '-D__HASKELL1__=5' '-D__GLASGOW_HASKELL__=612' '-D__HASKELL98__' '-D__CONCURRENT_HASKELL__' '-include' 'libraries/integer-gmp/dist-install/build/autogen/cabal_macros.h' '-DTABLES_NEXT_TO_CODE' '-Dlinux_BUILD_OS=1' '-Dx86_64_BUILD_ARCH=1' '-Dlinux_HOST_OS=1' '-Dx86_64_HOST_ARCH=1' '-o' '/tmp/ghc13043_0/ghc13043_0.cmmcpp' '-mtune=generic'
*** ParseCmm:

<interno>:0:1: lexical error

Attached english and spain versions of same file fed to cmm.
The difference is very small.
en head:

# 1 "libraries/integer-gmp/cbits/gmp-wrappers.cmm"
# 1 "<built-in>"
# 1 "<command-line>"

es head (evil non-ascii):

# 1 "libraries/integer-gmp/cbits/gmp-wrappers.cmm"
# 1 "<interno>"
# 1 "<línea-de-orden>"

We plan to workaround it with LC_ALL=C when build ghc.

Attachments (2)

en.cmmcpp (24.8 KB) - added by slyfox 4 years ago.
english
es.cmmcpp (24.8 KB) - added by slyfox 4 years ago.
spain

Download all attachments as: .zip

Change History (5)

Changed 4 years ago by slyfox

english

Changed 4 years ago by slyfox

spain

comment:2 Changed 4 years ago by igloo

  • Milestone set to 6.14.1
  • Priority changed from normal to high

Thanks for the report

comment:3 Changed 4 years ago by igloo

  • Resolution set to fixed
  • Status changed from new to closed

Fixed:

Thu Aug  5 06:50:11 PDT 2010  Ian Lynagh <igloo@earth.li>
  * Don't restrict filenames in line pragmas to printable characters; fixes #4207
  "printable" is ASCII-only, whereas in other locales we can get things like
  # 1 "<l[_\c3_][_\ad_]nea-de-orden>"
Note: See TracTickets for help on using tickets.