Mercury Bugs - mercury
View Issue Details
0000455mercuryBugpublic2018-04-21 13:012018-04-21 21:16
Reporterwangp 
Assigned Tojuliensf 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000455: intermodule optimisation with fixed sized integer modules
DescriptionThe compiler crashes on the attached test case:

% mmc --intermod-opt -m mod_a
Making Mercury/cs/mod_a.c
Uncaught Mercury exception:
Software Error: check_hlds.simplify.simplify_goal_call: predicate `check_hlds.simplify.simplify_goal_call.simplify_make_binary_op_goal_expr'/8: Unexpected: cannot find unchecked_left_shift
TagsNo tags attached.
Attached Files? mod_a.m (389) 2018-04-21 13:01
https://bugs.mercurylang.org/file_download.php?file_id=281&type=bug
? mod_b.m (280) 2018-04-21 13:02
https://bugs.mercurylang.org/file_download.php?file_id=282&type=bug

Notes
(0000996)
juliensf   
2018-04-21 17:43   
The problem is that the simplification pass can introduce calls to unchecked_left_shift, but that
dead predicate elimination hasn't been updated correctly to tell it not to delete the clauses
for that predicate; I'll post a fix for this later this evening.
(0000997)
juliensf   
2018-04-21 21:16   
Fixed in commit bb55d65.

Issue History
2018-04-21 13:01wangpNew Issue
2018-04-21 13:01wangpFile Added: mod_a.m
2018-04-21 13:02wangpFile Added: mod_b.m
2018-04-21 17:43juliensfNote Added: 0000996
2018-04-21 17:44juliensfAssigned To => juliensf
2018-04-21 17:44juliensfStatusnew => assigned
2018-04-21 21:16juliensfStatusassigned => resolved
2018-04-21 21:16juliensfResolutionopen => fixed
2018-04-21 21:16juliensfNote Added: 0000997