diff options
Diffstat (limited to 'html/031address.cc.html')
-rw-r--r-- | html/031address.cc.html | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/html/031address.cc.html b/html/031address.cc.html index 5a58fc2f..cabdc541 100644 --- a/html/031address.cc.html +++ b/html/031address.cc.html @@ -96,6 +96,13 @@ void lookup_memory<span class="Delimiter">(</span>reagent& x<span class="Del drop_one_lookup<span class="Delimiter">(</span>x<span class="Delimiter">);</span> <span class="Delimiter">}</span> +<span class="Delimiter">:(scenario canonize_non_pointer_fails_without_crashing)</span> +<span class="Special">% Hide_errors = true;</span> +recipe foo [ + <span class="Constant">1</span>:address:number<span class="Special"> <- </span>get-address *p<span class="Delimiter">,</span> x:offset +] +<span class="Comment"># don't crash</span> + <span class="Delimiter">:(after "bool types_strictly_match(reagent lhs, reagent rhs)")</span> if <span class="Delimiter">(</span>!canonize_type<span class="Delimiter">(</span>lhs<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">false</span><span class="Delimiter">;</span> if <span class="Delimiter">(</span>!canonize_type<span class="Delimiter">(</span>rhs<span class="Delimiter">))</span> <span class="Identifier">return</span> <span class="Constant">false</span><span class="Delimiter">;</span> @@ -123,6 +130,10 @@ bool canonize_type<span class="Delimiter">(</span>reagent& r<span class="Del <span class="Delimiter">}</span> void drop_address_from_type<span class="Delimiter">(</span>reagent& r<span class="Delimiter">)</span> <span class="Delimiter">{</span> + if <span class="Delimiter">(</span>!r<span class="Delimiter">.</span>type<span class="Delimiter">)</span> <span class="Delimiter">{</span> + raise_error << <span class="Constant">"can't drop address from "</span> << debug_string<span class="Delimiter">(</span>r<span class="Delimiter">)</span> << <span class="cSpecial">'\n'</span> << end<span class="Delimiter">();</span> + <span class="Identifier">return</span><span class="Delimiter">;</span> + <span class="Delimiter">}</span> type_tree* tmp = r<span class="Delimiter">.</span>type<span class="Delimiter">;</span> r<span class="Delimiter">.</span>type = tmp<span class="Delimiter">-></span>right<span class="Delimiter">;</span> tmp<span class="Delimiter">-></span>right = <span class="Constant">NULL</span><span class="Delimiter">;</span> |