<p dir="auto"><code class="notranslate">go tool compile</code> hangs in karatsuba compiling the following program:</p>
<div class="highlight highlight-source-go notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="package a
var e = 1&lt;&lt;1p10000000&lt;&lt;3"><pre class="notranslate"><span class="pl-k">package</span> a
<span class="pl-k">var</span> <span class="pl-s1">e</span> <span class="pl-c1">=</span> <span class="pl-c1">1</span><span class="pl-c1">&lt;&lt;</span><span class="pl-c1">1</span><span class="pl-s1">p10000000</span><span class="pl-c1">&lt;&lt;</span><span class="pl-c1">3</span></pre></div>
<p dir="auto">Can we just break off hex exponents (p)? They are not supported by go/types-based frontends and so are non-portable.</p>
<p dir="auto">go version devel +514014c Thu Jun 18 15:54:35 2015 +0200 linux/amd64</p>
<p dir="auto">The following program takes 1+ hours to compile, aborted after that:</p>
<div class="highlight highlight-source-go notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="package a
var g = 1e81391777742999"><pre class="notranslate"><span class="pl-k">package</span> a
<span class="pl-k">var</span> <span class="pl-s1">g</span> <span class="pl-c1">=</span> <span class="pl-c1">1e81391777742999</span></pre></div>
<p dir="auto">Package should either analyze it in a reasonable amount of time (seconds) or give an error if it cannot chew it. Compiling a single line of code for hours does not make sense.</p>
<p dir="auto">on commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/golang/go/commit/af817890aa7b628234075a6cb01a3a435fb8317d/hovercard" href="https://github.com/golang/go/commit/af817890aa7b628234075a6cb01a3a435fb8317d"><tt>af81789</tt></a></p>