you are missing using System;
------------ Scott Doctor scott at scottdoctor.com ------------------ On 3/21/2016 5:21 PM, J Decker wrote: > So far I just see analysis tools fail for the same sorts of valid code... > > this is a bit of C# but the same idea causes the same warnings and > there's nothign tecniclally wrong with this. > > > > class test > { > struct large_struct { public int x; } > bool arbitrary_true_false = true; > void method() > { > bool initialized = false; > large_struct s; > if( arbitrary_true_false ) > { > initialized = true; > s.x = 1; > } > if( initialized ) > { > Console.WriteLine( "this fails(during compile) as > uninitialized: {0}", s.x ); > } > } > } > > On Mon, Mar 21, 2016 at 4:35 PM, James K. Lowden > <jklowden at schemamania.org> wrote: >> On Mon, 21 Mar 2016 13:48:06 -0700 >> Scott Perry <numist at apple.com> wrote: >> >>> Compilers allow you to choose your standard; --std=c11 means >>> something very specific (and unchanging) >> They do. And that covers what the standard covers. The standard also >> has limits. It includes constructs that are syntactically permitted >> but whose behavior is left undefined, known by the scarred as "UB" for >> "undefined behavior". An example from Clang's discussion is >> >> int i = 10 << 31; >> >> The standard says << is a shift operator. It places no limit on the >> number of bits to be shifted. If that number is so large that the >> product cannot be represented by the assigned variable, that is *not* >> an error. The standard allows the compiler to do anything or nothing >> with it. As you may imagine, the varieties of anything and nothing are >> many. >> >> Compiler writers are well aware that "nothing" is faster done than >> "something". Over time, they have gotten more aggressive in simply >> deleting UB code. As a consequence, programmers who thought they wrote >> standards-conforming code get burned when they upgrade/change >> compilers. Mysterious and sometimes subtle errors are introduced by >> the compiler for the user's benefit. >> >> Your googlefu will turn up lots of discussion. One I liked that wasn't >> on Page 1: >> >> >> http://blog.frama-c.com/index.php?post/2013/10/09/Overflow-float-integer >> >> --jkl >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users at mailinglists.sqlite.org >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ > sqlite-users mailing list > sqlite-users at mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > >