Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | jacobnavia <jacob@jacob.remcomp.fr> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Implementing static_assert |
| Date | 2015-05-06 22:55 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <midv1j$pin$1@dont-email.me> (permalink) |
| References | <midqsq$81d$1@dont-email.me> <876185lach.fsf@kst-u.example.com> |
Le 06/05/2015 22:28, Keith Thompson a écrit : > jacobnavia <jacob@jacob.remcomp.fr> writes: >> I have added this useful construct to the lcc-win compiler. >> >> Description: >> >> #include <assert.h> >> static_assert(boolean expression, message) > [snip] > > See my reply in comp.compilers.lcc (I happened to see that first). > > Quick summary: This is standard in C11. > Again, thanks a lot for this. A summary review of my implementation and the standard looks like they are the same... I have just not understood what the static assertion in a structure declaration should do, but I have to read more carefully the stuff in the new C11 that I haven't really read that much. Not specified is what to do when the expression is not a constant expression! In my implementation I just call a run time procedure that will print the same error messages if the assert expression fails and return without doing anything if the assert expression is OK (different from zero). Since the behavior of a non constant expression is not specified I suppose that this is OK. In a strict mode I will issue a warning. What a surprise really. Yesterday I was looking at some C++ code and saw that construct and told me: "Interesting construct", and not that difficult to implement, so I did it today. jacob
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Implementing static_assert jacobnavia <jacob@jacob.remcomp.fr> - 2015-05-06 21:44 +0200
Re: Implementing static_assert Keith Thompson <kst-u@mib.org> - 2015-05-06 13:28 -0700
Re: Implementing static_assert jacobnavia <jacob@jacob.remcomp.fr> - 2015-05-06 22:55 +0200
Re: Implementing static_assert Keith Thompson <kst-u@mib.org> - 2015-05-06 14:30 -0700
Re: Implementing static_assert Martin Shobe <martin.shobe@yahoo.com> - 2015-05-06 18:07 -0500
Re: Implementing static_assert Keith Thompson <kst-u@mib.org> - 2015-05-06 17:34 -0700
Re: Implementing static_assert David Brown <david.brown@hesbynett.no> - 2015-05-07 09:44 +0200
Re: Implementing static_assert Tim Rentsch <txr@alumni.caltech.edu> - 2015-05-07 12:37 -0700
Re: Implementing static_assert David Brown <david.brown@hesbynett.no> - 2015-05-07 10:11 +0200
Re: Implementing static_assert Ian Collins <ian-news@hotmail.com> - 2015-05-07 22:13 +1200
Re: Implementing static_assert jacobnavia <jacob@jacob.remcomp.fr> - 2015-05-07 12:24 +0200
Re: Implementing static_assert Ian Collins <ian-news@hotmail.com> - 2015-05-07 22:33 +1200
Re: Implementing static_assert David Brown <david.brown@hesbynett.no> - 2015-05-07 14:30 +0200
Re: Implementing static_assert Philip Lantz <prl@canterey.us> - 2015-05-07 03:53 -0700
Re: Implementing static_assert David Brown <david.brown@hesbynett.no> - 2015-05-07 14:21 +0200
Re: Implementing static_assert Keith Thompson <kst-u@mib.org> - 2015-05-07 09:11 -0700
Re: Implementing static_assert James Kuyper <jameskuyper@verizon.net> - 2015-05-07 12:30 -0400
Re: Implementing static_assert James Kuyper <jameskuyper@verizon.net> - 2015-05-07 12:55 -0400
Re: Implementing static_assert Keith Thompson <kst-u@mib.org> - 2015-05-07 09:06 -0700
Re: Implementing static_assert jacobnavia <jacob@jacob.remcomp.fr> - 2015-05-07 19:43 +0200
Re: Implementing static_assert Tim Rentsch <txr@alumni.caltech.edu> - 2015-05-07 16:10 -0700
csiph-web