2024-07-13 14:20 AEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000115mercuryBugpublic2015-11-30 16:50
Assigned Tojuliensf 
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
  • ? file icon test.m (98 bytes) 2009-11-05 21:50




wangp (developer)

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.


juliensf (administrator)

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.)


juliensf (administrator)

Fixed when we transitioned to Unicode.

-Issue History
Date Modified Username Field Change
2009-11-05 21:50 petdr New Issue
2009-11-05 21:50 petdr File Added: test.m
2009-12-03 11:19 wangp Note Added: 0000227
2010-06-29 18:27 juliensf Note Added: 0000270
2010-06-29 18:28 juliensf Status new => confirmed
2015-11-30 16:50 juliensf Note Added: 0000869
2015-11-30 16:50 juliensf Status confirmed => resolved
2015-11-30 16:50 juliensf Resolution open => fixed
2015-11-30 16:50 juliensf Assigned To => juliensf
+Issue History