mirror of
https://github.com/ganelson/inform.git
synced 2024-06-28 21:14:57 +03:00
Fix for Jira bug I7-2099
This commit is contained in:
parent
37bf39de3f
commit
15062de9a5
|
@ -366,7 +366,6 @@ had the literal in question been expected to be real all along.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">Kinds::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_number</span><span class="plain-syntax">)) && (</span><span class="identifier-syntax">Kinds::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">to</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_real_number</span><span class="plain-syntax">))) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">value</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="function-syntax"><s-literal-real-number></span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">)) </span><span class="identifier-syntax">value</span><span class="plain-syntax"> = </span><span class="function-syntax"><<rp>></span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"can't parse integer as real"</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">promoting_reals</span><span class="plain-syntax"> = </span><span class="identifier-syntax">s</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">value</span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
100.0% in inform7 run
|
||||
70.5% in compilation to Inter
|
||||
50.1% in //Sequence::undertake_queued_tasks//
|
||||
71.4% in compilation to Inter
|
||||
51.0% in //Sequence::undertake_queued_tasks//
|
||||
4.6% in //MajorNodes::pre_pass//
|
||||
3.4% in //MajorNodes::pass_1//
|
||||
1.8% in //ImperativeDefinitions::assess_all//
|
||||
|
@ -16,18 +16,17 @@
|
|||
0.2% in //InferenceSubjects::emit_all//
|
||||
0.2% in //RTKindConstructors::compile_permissions//
|
||||
0.2% in //Task::make_built_in_kind_constructors//
|
||||
0.2% in //World::stages_II_and_III//
|
||||
2.6% not specifically accounted for
|
||||
26.7% in running Inter pipeline
|
||||
10.5% in step 14/15: generate inform6 -> auto.inf
|
||||
6.0% in step 6/15: make-synoptic-module
|
||||
3.0% not specifically accounted for
|
||||
25.9% in running Inter pipeline
|
||||
10.2% in step 14/15: generate inform6 -> auto.inf
|
||||
5.4% in step 5/15: load-binary-kits
|
||||
5.4% in step 6/15: make-synoptic-module
|
||||
1.4% in step 9/15: make-identifiers-unique
|
||||
0.4% in step 12/15: eliminate-redundant-operations
|
||||
0.4% in step 4/15: compile-splats
|
||||
0.4% in step 7/15: shorten-wiring
|
||||
0.4% in step 8/15: detect-indirect-calls
|
||||
0.2% in step 11/15: eliminate-redundant-labels
|
||||
0.2% in step 8/15: detect-indirect-calls
|
||||
1.6% not specifically accounted for
|
||||
1.7% not specifically accounted for
|
||||
2.2% in supervisor
|
||||
0.5% not specifically accounted for
|
||||
|
|
|
@ -242,7 +242,6 @@ parse_node *LiteralReals::promote_number_if_necessary(parse_node *value, kind *t
|
|||
if ((Kinds::eq(from, K_number)) && (Kinds::eq(to, K_real_number))) {
|
||||
wording W = Node::get_text(value);
|
||||
if (<s-literal-real-number>(W)) value = <<rp>>;
|
||||
else internal_error("can't parse integer as real");
|
||||
}
|
||||
promoting_reals = s;
|
||||
return value;
|
||||
|
|
Loading…
Reference in a new issue