Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <hr> <p><strong>sdcc 29.7/ucSim/Z80</strong></p> <pre><code>We like to think that: ..09a minus shifts backwards but '(t=-1,(15&lt;&lt;t)==7)' is false. ..19-2 short&lt;int but 'sizeof(short)&lt;sizeof(int)' is false. ..22 floating point is always IEEE but 'STDC_IEC_559_is_defined' is false. ..25 pointer arithmetic works outside arrays but '(diff=&amp;var.int2-&amp;var.int1, &amp;var.int1+diff==&amp;var.int2)' is false. From what I can say with my puny test cases, you are Stop at 0x0013f3: (106) Invalid instruction 0x00dd </code></pre> <p><strong>printf crashes. "O_O"</strong></p> <hr> <p><strong>gcc 4.4@x86_64-suse-linux</strong></p> <pre><code>We like to think that: ..05 int has the size of pointers but 'sizeof(int)==sizeof(void*)' is false. ..08 overshifting is okay but '(1&lt;&lt;bits_per_int)==0' is false. ..09a minus shifts backwards but '(t=-1,(15&lt;&lt;t)==7)' is false. ..14 i++ is strictly left to right but '(i=0,a[i++]=i,a[0]==1)' is false. ..15 structs are packed but 'sizeof(char_int)==(sizeof(char)+sizeof(int))' is false. ..17 size_t is unsigned int but 'sizeof(size_t)==sizeof(unsigned int)' is false. ..26 sizeof() does not evaluate its arguments but '(i=10,sizeof(char[((i=20),10)]),i==10)' is false. From what I can say with my puny test cases, you are 79% mainstream </code></pre> <hr> <p><strong>gcc 4.4@x86_64-suse-linux(-O2)</strong></p> <pre><code>We like to think that: ..05 int has the size of pointers but 'sizeof(int)==sizeof(void*)' is false. ..08 overshifting is okay but '(1&lt;&lt;bits_per_int)==0' is false. ..14 i++ is strictly left to right but '(i=0,a[i++]=i,a[0]==1)' is false. ..15 structs are packed but 'sizeof(char_int)==(sizeof(char)+sizeof(int))' is false. ..17 size_t is unsigned int but 'sizeof(size_t)==sizeof(unsigned int)' is false. ..26 sizeof() does not evaluate its arguments but '(i=10,sizeof(char[((i=20),10)]),i==10)' is false. From what I can say with my puny test cases, you are 82% mainstream </code></pre> <hr> <p><strong>clang 2.7@x86_64-suse-linux</strong></p> <pre><code>We like to think that: ..05 int has the size of pointers but 'sizeof(int)==sizeof(void*)' is false. ..08 overshifting is okay but '(1&lt;&lt;bits_per_int)==0' is false. ..09a minus shifts backwards but '(t=-1,(15&lt;&lt;t)==7)' is false. ..14 i++ is strictly left to right but '(i=0,a[i++]=i,a[0]==1)' is false. ..15 structs are packed but 'sizeof(char_int)==(sizeof(char)+sizeof(int))' is false. ..17 size_t is unsigned int but 'sizeof(size_t)==sizeof(unsigned int)' is false. ..21a Function Arguments are evaluated right to left but '(gobble_args(0,ltr_fun(1),ltr_fun(2),ltr_fun(3),ltr_fun(4)),ltr_result==4321)' is false. ltr_result is 1234 in this case ..25a pointer arithmetic works outside arrays but '(diff=&amp;p1-&amp;p2, &amp;p2+diff==&amp;p1)' is false. ..26 sizeof() does not evaluate its arguments but '(i=10,sizeof(char[((i=20),10)]),i==10)' is false. From what I can say with my puny test cases, you are 72% mainstream </code></pre> <hr> <p><strong>open64 4.2.3@x86_64-suse-linux</strong></p> <pre><code>We like to think that: ..05 int has the size of pointers but 'sizeof(int)==sizeof(void*)' is false. ..08 overshifting is okay but '(1&lt;&lt;bits_per_int)==0' is false. ..09a minus shifts backwards but '(t=-1,(15&lt;&lt;t)==7)' is false. ..15 structs are packed but 'sizeof(char_int)==(sizeof(char)+sizeof(int))' is false. ..17 size_t is unsigned int but 'sizeof(size_t)==sizeof(unsigned int)' is false. ..21a Function Arguments are evaluated right to left but '(gobble_args(0,ltr_fun(1),ltr_fun(2),ltr_fun(3),ltr_fun(4)),ltr_result==4321)' is false. ltr_result is 1234 in this case ..25a pointer arithmetic works outside arrays but '(diff=&amp;p1-&amp;p2, &amp;p2+diff==&amp;p1)' is false. ..26 sizeof() does not evaluate its arguments but '(i=10,sizeof(char[((i=20),10)]),i==10)' is false. From what I can say with my puny test cases, you are 75% mainstream </code></pre> <hr> <p><strong>intel 11.1@x86_64-suse-linux</strong></p> <pre><code>We like to think that: ..05 int has the size of pointers but 'sizeof(int)==sizeof(void*)' is false. ..08 overshifting is okay but '(1&lt;&lt;bits_per_int)==0' is false. ..09a minus shifts backwards but '(t=-1,(15&lt;&lt;t)==7)' is false. ..14 i++ is strictly left to right but '(i=0,a[i++]=i,a[0]==1)' is false. ..15 structs are packed but 'sizeof(char_int)==(sizeof(char)+sizeof(int))' is false. ..17 size_t is unsigned int but 'sizeof(size_t)==sizeof(unsigned int)' is false. ..21a Function Arguments are evaluated right to left but '(gobble_args(0,ltr_fun(1),ltr_fun(2),ltr_fun(3),ltr_fun(4)),ltr_result==4321)' is false. ltr_result is 1234 in this case ..26 sizeof() does not evaluate its arguments but '(i=10,sizeof(char[((i=20),10)]),i==10)' is false. From what I can say with my puny test cases, you are 75% mainstream </code></pre> <hr> <p><strong>Turbo C++/DOS/Small Memory</strong></p> <pre><code>We like to think that: ..09a minus shifts backwards but '(t=-1,(15&lt;&lt;t)==7)' is false. ..16 malloc()=NULL means out of memory but '(malloc(0)!=NULL)' is false. ..19-2 short&lt;int but 'sizeof(short)&lt;sizeof(int)' is false. ..22 floating point is always IEEE but 'STDC_IEC_559_is_defined' is false. ..25 pointer arithmetic works outside arrays but '(diff=&amp;var.int2-&amp;var.int1, &amp;var.int1+diff==&amp;var.int2)' is false. ..25a pointer arithmetic works outside arrays but '(diff=&amp;p1-&amp;p2, &amp;p2+diff==&amp;p1)' is false. From what I can say with my puny test cases, you are 81% mainstream </code></pre> <hr> <p><strong>Turbo C++/DOS/Medium Memory</strong></p> <pre><code>We like to think that: ..09a minus shifts backwards but '(t=-1,(15&lt;&lt;t)==7)' is false. ..10 void* can store function pointers but 'sizeof(void*)&gt;=sizeof(void(*)())' is false. ..16 malloc()=NULL means out of memory but '(malloc(0)!=NULL)' is false. ..19-2 short&lt;int but 'sizeof(short)&lt;sizeof(int)' is false. ..22 floating point is always IEEE but 'STDC_IEC_559_is_defined' is false. ..25 pointer arithmetic works outside arrays but '(diff=&amp;var.int2-&amp;var.int1, &amp;var.int1+diff==&amp;var.int2)' is false. ..25a pointer arithmetic works outside arrays but '(diff=&amp;p1-&amp;p2, &amp;p2+diff==&amp;p1)' is false. From what I can say with my puny test cases, you are 78% mainstream </code></pre> <hr> <p><strong>Turbo C++/DOS/Compact Memory</strong></p> <pre><code>We like to think that: ..05 int has the size of pointers but 'sizeof(int)==sizeof(void*)' is false. ..09a minus shifts backwards but '(t=-1,(15&lt;&lt;t)==7)' is false. ..16 malloc()=NULL means out of memory but '(malloc(0)!=NULL)' is false. ..19-2 short&lt;int but 'sizeof(short)&lt;sizeof(int)' is false. ..20 ptrdiff_t and size_t have the same size but '(sizeof(ptrdiff_t)==sizeof(size_t))' is false. ..22 floating point is always IEEE but 'STDC_IEC_559_is_defined' is false. ..25 pointer arithmetic works outside arrays but '(diff=&amp;var.int2-&amp;var.int1, &amp;var.int1+diff==&amp;var.int2)' is false. ..25a pointer arithmetic works outside arrays but '(diff=&amp;p1-&amp;p2, &amp;p2+diff==&amp;p1)' is false. From what I can say with my puny test cases, you are 75% mainstream </code></pre> <hr> <p><strong>cl65@Commodore PET (vice emulator)</strong></p> <p><a href="http://i34.tinypic.com/2hh0zmc.png" rel="noreferrer">alt text http://i34.tinypic.com/2hh0zmc.png</a></p> <hr> <p><strong>I'll be updating these later:</strong></p> <hr> <p><strong>Borland C++ Builder 6.0 on Windows XP</strong></p> <pre><code>..04 a char is signed but 'CHAR_MIN==SCHAR_MIN' is false. ..08 overshifting is okay but '(1&lt;&lt;bits_per_int)==0' is false. ..09 overshifting is *always* okay but '(1&lt;&lt;BITS_PER_INT)==0' is false. ..09a minus shifts backwards but '(t=-1,(15&lt;&lt;t)==7)' is false. ..15 structs are packed but 'sizeof(char_int)==(sizeof(char)+sizeof(int))' is false. ..16 malloc()=NULL means out of memory but '(malloc(0)!=NULL)' is false. ..19-3 int&lt;long but 'sizeof(int)&lt;sizeof(long)' is false. ..22 floating point is always IEEE but 'STDC_IEC_559_is_defined' is false. From what I can say with my puny test cases, you are 71% mainstream </code></pre> <hr> <p><strong>Visual Studio Express 2010 C++ CLR, Windows 7 64bit</strong></p> <p>(must be compiled as C++ because the CLR compiler does not support pure C)</p> <pre><code>We like to think that: ..08 overshifting is okay but '(1&lt;&lt;bits_per_int)==0' is false. ..09a minus shifts backwards but '(t=-1,(15&lt;&lt;t)==7)' is false. ..14 i++ is structly left to right but '(i=0,a[i++]=i,a[0]==1)' is false. ..15 structs are packed but 'sizeof(char_int)==(sizeof(char)+sizeof(int))' is false. ..19-3 int&lt;long but 'sizeof(int)&lt;sizeof(long)' is false. ..22 floating point is always IEEE but 'STDC_IEC_559_is_defined' is false. From what I can say with my puny test cases, you are 78% mainstream </code></pre> <hr> <p><strong>MINGW64 (gcc-4.5.2 prerelase)</strong></p> <p>-- <a href="http://mingw-w64.sourceforge.net/" rel="noreferrer">http://mingw-w64.sourceforge.net/</a></p> <pre><code>We like to think that: ..05 int has the size of pointers but 'sizeof(int)==sizeof(void*)' is false. ..05a long has at least the size of pointers but 'sizeof(long)&gt;=sizeof(void*)' is false. ..08 overshifting is okay but '(1&lt;&lt;bits_per_int)==0' is false. ..09a minus shifts backwards but '(t=-1,(15&lt;&lt;t)==7)' is false. ..14 i++ is structly left to right but '(i=0,a[i++]=i,a[0]==1)' is false. ..15 structs are packed but 'sizeof(char_int)==(sizeof(char)+sizeof(int))' is false. ..17 size_t is unsigned int but 'sizeof(size_t)==sizeof(unsigned int)' is false. ..19-3 int&lt;long but 'sizeof(int)&lt;sizeof(long)' is false. ..22 floating point is always IEEE but 'STDC_IEC_559_is_defined' is false. From what I can say with my puny test cases, you are 67% mainstream </code></pre> <p>64 bit Windows uses the LLP64 model: Both <code>int</code> and <code>long</code> are defined as 32-bit, which means that neither is long enough for a pointer.</p> <hr> <p><strong>avr-gcc 4.3.2 / ATmega168 (Arduino Diecimila)</strong></p> <p>The failed assumptions are:</p> <pre><code>..14 i++ is structly left to right ..16 malloc()=NULL means out of memory ..19-2 short&lt;int ..21 Evaluation is left to right ..22 floating point is always IEEE </code></pre> <p>The Atmega168 has a 16 bit PC, but code and data are in separate address spaces. Larger Atmegas have a 22 bit PC!.</p> <hr> <p><strong>gcc 4.2.1 on MacOSX 10.6, compiled with -arch ppc</strong></p> <pre><code>We like to think that: ..09a minus shifts backwards but '(t=-1,(15&lt;&lt;t)==7)' is false. ..13 The smallest bits come always first but '(t=0x1234,0x34==*(char*)&amp;t)' is false. ..14 i++ is structly left to right but '(i=0,a[i++]=i,a[0]==1)' is false. ..15 structs are packed but 'sizeof(char_int)==(sizeof(char)+sizeof(int))' is false. ..19-3 int&lt;long but 'sizeof(int)&lt;sizeof(long)' is false. ..22 floating point is always IEEE but 'STDC_IEC_559_is_defined' is false. From what I can say with my puny test cases, you are 78% mainstream </code></pre> <hr>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload