title: Assigning 128 bit integer in C
body: <p>When I try to assign an 128 bit integer in gcc 4.9.1, I get a <code>warning: integer constant is too large for its type</code>.</p>
  
  <h2>Example Code</h2>
  
  <pre><code>int main(void) {
    __uint128_t p = 47942806932686753431;
  
    return 0;
  }
  </code></pre>
  
  <h2>Output</h2>
  
  <p>I'm compiling with <code>gcc -std=c11 -o test test.c</code> and I get:</p>
  
  <pre><code>test.c: In function ‘main’:
  test.c:2:19: warning: integer constant is too large for its type
     __uint128_t p = 47942806932686753431;
                 ^
  </code></pre>
  
  <p>Am I doing something wrong or is this a bug in gcc?</p>