Mercury Bugs - mercury
View Issue Details
0000115mercuryBugpublic2009-11-05 21:502015-11-30 16:50
Assigned Tojuliensf 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000115: segfault for predicate names containing multibyte utf8 char
DescriptionIf you don't quote a predicate name which contains a multibyte utf8 character the compiler segfaults.

  :- pred dèja(int::int) is semidet.
seg faults while
  :- pred 'dèja'(int::int) is semidet.

compiles fine.
TagsNo tags attached.
Attached Files? test.m (98) 2009-11-05 21:50

2009-12-03 11:19   
This is "only" a problem on 64-bit machines installing from the generated .c files targeted at 32-bit architectures. It has something to do with the number of tag bits. A stage2 compiler does not crash.
2010-06-29 18:27   
Building the source distribution with --no-smart-indexing makes this problem go away.
I strongly suspect that some of the code generation approaches we use for switches
are not respecting the --cross-compiling option. (Most probably, it is the ones that
call int.bits_per_int/0 somewhere along the way.)
2015-11-30 16:50   
Fixed when we transitioned to Unicode.

Issue History
2009-11-05 21:50petdrNew Issue
2009-11-05 21:50petdrFile Added: test.m
2009-12-03 11:19wangpNote Added: 0000227
2010-06-29 18:27juliensfNote Added: 0000270
2010-06-29 18:28juliensfStatusnew => confirmed
2015-11-30 16:50juliensfNote Added: 0000869
2015-11-30 16:50juliensfStatusconfirmed => resolved
2015-11-30 16:50juliensfResolutionopen => fixed
2015-11-30 16:50juliensfAssigned To => juliensf