<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"Comic Sans MS";
        panose-1:3 15 7 2 3 3 2 2 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:Consolas;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Arial","sans-serif";
        color:windowtext;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Arial","sans-serif";
        color:navy;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Comic Sans MS";
        color:navy;
        font-weight:normal;
        font-style:italic;
        text-decoration:none none;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:3.0cm 2.0cm 3.0cm 2.0cm;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=ES-AR link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><i><span lang=EN-US style='font-size:14.0pt;font-family:
"Comic Sans MS";color:navy'>Hi Ton, thanks! That&#8217;s what I was looking for
but couldn´t find in Kernigan-Ritchie or anywhere else: The ability to manage
flags in a straight forward way in standard C.<o:p></o:p></span></i></p>

<p class=MsoNormal><i><span lang=EN-US style='font-size:14.0pt;font-family:
"Comic Sans MS";color:navy'>When you declare a variable inside a structure with
:1 at the end it tells it´s a 1 bit variable?<o:p></o:p></span></i></p>

<p class=MsoNormal><i><span lang=EN-US style='font-size:14.0pt;font-family:
"Comic Sans MS";color:navy'>And your line<o:p></o:p></span></i></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>#define&nbsp;&nbsp;SETFLAG(x)&nbsp;&nbsp;&nbsp; (flag.(x)=1)<o:p></o:p></span></p>

<p class=MsoNormal><i><span lang=DA style='font-size:14.0pt;font-family:"Comic Sans MS";
color:navy'><o:p>&nbsp;</o:p></span></i></p>

<p class=MsoNormal><i><span lang=EN-US style='font-size:14.0pt;font-family:
"Comic Sans MS";color:navy'>I had to remove the() around x as it kept telling
me about an error of a ( found, as the macro replaces (x) with (FLAG1) instead
of FLAG1<o:p></o:p></span></i></p>

<p class=MsoNormal><i><span lang=EN-US style='font-size:14.0pt;font-family:
"Comic Sans MS";color:navy'>Finally, the code compiled ok:<o:p></o:p></span></i></p>

<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Courier New";color:black'>typedef</span></b><span lang=EN-US style='font-size:
10.0pt;font-family:"Courier New";color:black'> <b>struct</b><br>
{<br>
 <b>unsigned</b> FLAG1:1;<br>
 <b>unsigned</b> FLAG2:1;<br>
 <b>unsigned</b> FLAG3:1;<br>
 <b>unsigned</b> FLAG4:1;<br>
 <b>unsigned</b> FLAG5:1;<br>
 <b>unsigned</b> FLAG6:1;<br>
 <b>unsigned</b> FLAG7:1;<br>
 <b>unsigned</b> FLAG8:1;<br>
 <b>unsigned</b> FLAG9:1;<br>
 <b>unsigned</b> FLAG10:1;<br>
 <b>unsigned</b> FLAG11:1;<br>
 <b>unsigned</b> FLAG12:1;<br>
 <b>unsigned</b> FLAG13:1;<br>
 <b>unsigned</b> FLAG14:1;<br>
 <b>unsigned</b> FLAG15:1;<br>
}flag_t;<br>
<br>
#define SET(x)  (flag.x=1)<br>
#define CLEAR(x) (flag.x=0)<br>
#define TOGGLE(x) (flag.x=~flag.x)<br>
#define TEST(x) (flag.x)<br>
<br>
flag_t flag;<br>
<b>signed</b> <b>char</b> scfoo;<br>
<br>
<b>void</b> main(<b>void</b>)<br>
{<br>
 SET(FLAG1);<br>
 SET(FLAG9);<br>
 SET(FLAG11);<br>
<br>
 <br>
 CLEAR(FLAG1);<br>
 CLEAR(FLAG9);<br>
 CLEAR(FLAG11);<br>
 </span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:green'>/*<br>
<br>
   */</span><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:black'><br>
<br>
 TOGGLE(FLAG1);<br>
 TOGGLE(FLAG9);<br>
 TOGGLE(FLAG11);<br>
 TOGGLE(FLAG3);<br>
   <br>
 <b>if</b>(TEST(FLAG1))<br>
   scfoo++;<br>
 <b>else</b><br>
   scfoo--; <br>
   <br>
 TOGGLE(FLAG1);<br>
                        <br>
                                                            }</span><span
lang=EN-US style='font-size:10.0pt;font-family:"Arial","sans-serif";color:blue'><o:p></o:p></span></p>

<p class=MsoNormal><i><span lang=EN-US style='font-size:14.0pt;font-family:
"Comic Sans MS";color:navy'> </span></i><i><span lang=DA style='font-size:14.0pt;
font-family:"Comic Sans MS";color:navy'>But I found that what before it
compiled using 2% of code space, now it told device is 4%full :S <o:p></o:p></span></i></p>

<p class=MsoNormal><i><span lang=DA style='font-size:14.0pt;font-family:"Comic Sans MS";
color:navy'>Another drawback is that when simulating the application with
studio I couldn&#8217;t see the members of  a structure and cannot place a
watch on the flags.<o:p></o:p></span></i></p>

<p class=MsoNormal><i><span lang=DA style='font-size:14.0pt;font-family:"Comic Sans MS";
color:navy'>abner<o:p></o:p></span></i></p>

<p class=MsoNormal><i><span lang=EN-US style='font-size:14.0pt;font-family:
"Comic Sans MS";color:navy'><o:p>&nbsp;</o:p></span></i></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'> icc-avr-bounces@imagecraft.com
[mailto:icc-avr-bounces@imagecraft.com] <b>On Behalf Of </b>Jaspers, Ton<br>
<b>Sent:</b> Viernes, 06 de Julio de 2007 04:40 a.m.<br>
<b>To:</b> Discussion list for ICCAVR and ICCtiny Users. You do NOT need to
subscribe to icc-announce if you are a member of this.<br>
<b>Subject:</b> RE: [Icc-avr] check for adequately nr. of bits<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>Steven,</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>What I would do is avoid the problem all together and leave it to
the compiler:</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>typedef struct</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>{</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;aflag:1;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;anotherflag:1; <o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;brflag:1; <o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;cflag:1;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;dflag:1;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;eflag:1;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;fflag:1;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;gflag:1;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;hflag:1;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;iflag:1;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;jflag:1;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;kflag:1;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;lflag:1;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;mflag:1;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;nflag:1;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;oflag:1;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>unsigned&nbsp;pflag:1;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>} flag_t ;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='color:black'>&nbsp;</span><span
lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";color:blue'> <o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>#define&nbsp;&nbsp;SETFLAG(x)&nbsp;&nbsp;&nbsp; (flag.(x)=1)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>#define&nbsp; CLRFLAG(x)&nbsp;&nbsp;&nbsp; (flag.(x)=0)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>#define&nbsp; TSTFLAG(x)&nbsp;&nbsp; &nbsp; (flag.(x))<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>flag_t flag ;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>.....</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>SETFLAG(aflag) ;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>....</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>if ( TSTFLAG(aflag) )</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>.....</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>The compiler should optimise this in to the best solution, bytes or
words or what ever. </span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>Cheers,</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:blue'>Ton</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA><br>
&nbsp;<o:p></o:p></span></p>

<blockquote style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt;
margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt'>

<div class=MsoNormal align=center style='text-align:center'><span lang=EN-US>

<hr size=2 width="100%" align=center>

</span></div>

<p class=MsoNormal style='margin-bottom:12.0pt'><b><span lang=EN-US
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
icc-avr-bounces@imagecraft.com [mailto:icc-avr-bounces@imagecraft.com] <b>On
Behalf Of </b>Steven Lose<br>
<b>Sent:</b> donderdag 5 juli 2007 23:08<br>
<b>To:</b> Discussion list for ICCAVR and ICCtiny Users. You do NOT need
tosubscribeto icc-announce if you are a member of this.<br>
<b>Subject:</b> SV: [Icc-avr] check for adequately nr. of bits</span><span
lang=EN-US><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:navy'>Hi Ton.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:navy'>It does not check the actual value defined; only one define against
another define.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:navy'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif";
color:navy'>Cheers<o:p></o:p></span></p>

<div>

<p><span lang=DA style='color:navy'>Med venlig hilsen / Best regards / mit
freundlichen Grüßen<o:p></o:p></span></p>

<p><b><span lang=DA style='color:navy'>EC POWER A/S</span></b><span lang=DA
style='color:navy'><o:p></o:p></span></p>

<p><b><span lang=DA style='color:navy'>Steven Lose</span></b><span lang=DA
style='color:navy'><o:p></o:p></span></p>

<p><span lang=DA style='color:navy'>Software Ingeniør<o:p></o:p></span></p>

<p><span lang=DA style='color:navy'>Tlf.: +45 87434100<o:p></o:p></span></p>

<p><span lang=DA style='color:navy'>Direkte tlf. +45 58286608<o:p></o:p></span></p>

<p><span lang=DA style='color:navy'>Email: <a
href="blocked::mailto:bsl@ecpower.dk">sl@ecpower.dk</a><o:p></o:p></span></p>

<p><span lang=DA style='color:navy'><a href="http://www.ecpower.dk">www.ecpower.dk</a></span><span
lang=DA><o:p></o:p></span></p>

</div>

<div>

<div class=MsoNormal align=center style='text-align:center'><span lang=DA>

<hr size=2 width="100%" align=center>

</span></div>

<p class=MsoNormal><b><span lang=DA style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Fra:</span></b><span
lang=DA style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
icc-avr-bounces@imagecraft.com [mailto:icc-avr-bounces@imagecraft.com] <b>På
vegne af </b>Jaspers, Ton<br>
<b>Sendt:</b> 5. juli 2007 14:45<br>
<b>Til:</b> Discussion list for ICCAVR and ICCtiny Users. You do NOT need to
subscribeto icc-announce if you are a member of this.<br>
<b>Emne:</b> RE: [Icc-avr] check for adequately nr. of bits</span><span
lang=DA><o:p></o:p></span></p>

</div>

<p class=MsoNormal><span lang=DA><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif"'>I
don't think it is a linker issue. It is a coding issue. You could try to use
teh pre-processor with something like this:</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif"'>&nbsp;&nbsp;&nbsp;
#include &lt;limits.h&gt;</span><span lang=DA><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'>&nbsp;&nbsp;&nbsp;
#define NROFFLAGS 17<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif"'>&nbsp;&nbsp;&nbsp;
#if&nbsp;&nbsp;(1&lt;&lt;(NROFFLAGS-1)) &gt;&nbsp; UINT_MAX</span><span
lang=DA><o:p></o:p></span></p>

<div>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ERROR
&#8220;VALUE TO SMALL&#8221;&nbsp;&nbsp;&nbsp; </span><span lang=DA><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif"'>&nbsp;&nbsp;&nbsp;
#endif</span><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=DA><br>
</span><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Mind
you, I have not tried it.</span><span lang=DA><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Cheers,</span><span
lang=DA><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Ton</span><span
lang=DA><o:p></o:p></span></p>

</div>

<div>

<p class=MsoNormal><span lang=DA>&nbsp;<o:p></o:p></span></p>

</div>

<blockquote style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt;
margin-left:3.75pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt'>

<div class=MsoNormal align=center style='text-align:center'><span lang=EN-US>

<hr size=2 width="100%" align=center>

</span></div>

<p class=MsoNormal style='margin-bottom:12.0pt'><b><span lang=EN-US
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
icc-avr-bounces@imagecraft.com [mailto:icc-avr-bounces@imagecraft.com] <b>On
Behalf Of </b>Steven Lose<br>
<b>Sent:</b> donderdag 5 juli 2007 12:59<br>
<b>To:</b> Discussion list for ICCAVR and ICCtiny Users. You do NOT need
tosubscribeto icc-announce if you are a member of this.<br>
<b>Subject:</b> [Icc-avr] check for adequately nr. of bits</span><span
lang=EN-US><o:p></o:p></span></p>

<p class=MsoNormal><a name=""><span lang=DA style='font-size:10.0pt;font-family:
"Arial","sans-serif"'>Hi.</span></a><span lang=DA style='font-size:10.0pt;
font-family:"Arial","sans-serif"'><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'>I
want to make the linker check that a variable is defined big enough, but
don&#8217;t know how.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Basically
I need something that tells me how many bits there is in a variable so I can
check it up against a defined value.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'>#define
NROFFLAGS 17<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Unsigned
int uiFlags;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'>#if
NROFFLAGS &gt; NROFBITS(uiFlags)<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'>&nbsp;ERROR
&#8220;VALUE TO SMALL&#8221;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'>#endif<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Is
it possible to do so? (if it had been in code I would just use
(sizeof(uiFlags)*8) )<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'>And
if yes, what is the right way to do it?<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-GB style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p>&nbsp;</o:p></span></p>

<p><span lang=DA>Med venlig hilsen / Best regards / mit freundlichen Grüßen<o:p></o:p></span></p>

<p><b><span lang=DA style='color:navy'>EC POWER A/S</span></b><span lang=DA><o:p></o:p></span></p>

<p><b><span lang=DA style='color:navy'>Steven Lose</span></b><span lang=DA><o:p></o:p></span></p>

<p><span lang=DA>Software Ingeniør<o:p></o:p></span></p>

<p><span lang=DA>Tlf.: +45 87434100<o:p></o:p></span></p>

<p><span lang=DA>Direkte tlf. +45 58286608<o:p></o:p></span></p>

<p><span lang=DA>Email: <a href="blocked::mailto:bsl@ecpower.dk">sl@ecpower.dk</a><o:p></o:p></span></p>

<p><span lang=DA><a href="http://www.ecpower.dk">www.ecpower.dk</a><o:p></o:p></span></p>

<p class=MsoNormal><span lang=DA><o:p>&nbsp;</o:p></span></p>

</blockquote>

</blockquote>

</div>

</body>

</html>