View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0000384 | mercury | Bug | public | 2015-03-31 11:22 | 2015-04-02 12:13 | ||||
Reporter | juliensf | ||||||||
Assigned To | zs | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0000384: Stage 1 compiler directory fails in hlc.gc grade with syntax errors in optimisation interfaces | ||||||||
Description | Build the current git HEAD with rotd-2015-03-30 in hlc.gc with -O5 --intermodule-optimization fails in the compiler directory due to: gmake[1]: Entering directory '/Users/jfischer/Mercury-Workspaces/mercury.local-4/compiler' /Users/jfischer/Mercury-Install/mercury-rotd-2015-03-30/bin//mmc --compile-to-c --grade hlc.gc -O5 --intermodule-optimization --flags COMP_FLAGS --no-common-struct analysis > analysis.err 2>&1 /var/folders/pd/5lypc6_j3vnf65q9x5y9s3p40000gn/T//mmake.MygSwR:1973876: recipe for target 'analysis.c_date' failed gmake[1]: *** [analysis.c_date] Error 1 gmake[1]: Leaving directory '/Users/jfischer/Mercury-Workspaces/mercury.local-4/compiler' The contents of analysis.err are: hlds.passes_aux.opt:003: Error: syntax error in inst body at bound/1. hlds.passes_aux.opt:004: Error: syntax error in inst body at bound/1. Looking at hlds.passes_aux.opt, the insts in question are: :- inst (hlds.passes_aux.par_proc_task) == bound((hlds.passes_aux).update_proc($typed_inst(pred(hlds.hlds_module.module_info, hlds.hlds_pred.proc_info, hlds.hlds_pred.proc_info), ((hlds.passes_aux).proc_task))) ; (hlds.passes_aux).update_proc_ids($typed_inst(pred(hlds.hlds_module.module_info, hlds.hlds_pred.pred_proc_id, hlds.hlds_pred.proc_info, hlds.hlds_pred.proc_info), ((hlds.passes_aux).proc_ids_task))) ; (hlds.passes_aux).update_proc_ids_pred($typed_inst(pred(hlds.hlds_module.module_info, hlds.hlds_pred.pred_proc_id, hlds.hlds_pred.pred_info, hlds.hlds_pred.proc_info, hlds.hlds_pred.proc_info), ((hlds.passes_aux).proc_ids_pred_task)))). :- inst (hlds.passes_aux.seq_proc_task) == bound((hlds.passes_aux).update_module($typed_inst(pred(hlds.hlds_pred.pred_proc_id, hlds.hlds_pred.proc_info, hlds.hlds_pred.proc_info, hlds.hlds_module.module_info, hlds.hlds_module.module_info), ((hlds.passes_aux).module_task))) ; (hlds.passes_aux).update_module_cookie($typed_inst(pred(hlds.hlds_pred.pred_proc_id, hlds.hlds_pred.proc_info, hlds.hlds_pred.proc_info, hlds.hlds_module.module_info, hlds.hlds_module.module_info, univ.univ, univ.univ), ((hlds.passes_aux).module_cookie_task)), ground) ; (hlds.passes_aux).update_module_pred($typed_inst(pred(hlds.hlds_pred.pred_proc_id, hlds.hlds_pred.pred_info, hlds.hlds_pred.proc_info, hlds.hlds_pred.proc_info, hlds.hlds_module.module_info, hlds.hlds_module.module_info), ((hlds.passes_aux).module_pred_task))) ; (hlds.passes_aux).update_module_pred_cookie($typed_inst(pred(hlds.hlds_pred.pred_proc_id, hlds.hlds_pred.pred_info, hlds.hlds_pred.proc_info, hlds.hlds_pred.proc_info, hlds.hlds_module.module_info, hlds.hlds_module.module_info, univ.univ, univ.univ), ((hlds.passes_aux).module_pred_cookie_task)), ground)). I would guess the issue here is the appearance of $typed_inst in the inst which isn't valid Mercury syntax. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files |
|
Notes | |
zs (developer) 2015-03-31 14:08 |
I am pretty sure the change that lead to this is the change I committed on march 5, which pre-propagated types into the insts of the inst table. However, the right fix is not to undo that, but to fix the code that outputs insts so that it doesn't output typed insts into interface files. (We do still want to output them for debugging.) I will fix this later today. |
zs (developer) 2015-04-02 12:13 |
Fix committed 2 april 2015. |
Issue History | |||
Date Modified | Username | Field | Change |
---|---|---|---|
2015-03-31 11:22 | juliensf | New Issue | |
2015-03-31 14:08 | zs | Note Added: 0000821 | |
2015-03-31 14:08 | zs | Assigned To | => zs |
2015-03-31 14:08 | zs | Status | new => assigned |
2015-04-02 12:13 | zs | Note Added: 0000822 | |
2015-04-02 12:13 | zs | Status | assigned => resolved |
2015-04-02 12:13 | zs | Resolution | open => fixed |