1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
3 <!--Converted with LaTeX2HTML 99.1 release (March 30, 1999)
4 original version by: Nikos Drakos, CBLU, University of Leeds
5 * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
6 * with significant contributions from:
7 Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
10 <TITLE>4.6 ANSI-Compliance</TITLE>
11 <META NAME="description" CONTENT="4.6 ANSI-Compliance">
12 <META NAME="keywords" CONTENT="sdccman">
13 <META NAME="resource-type" CONTENT="document">
14 <META NAME="distribution" CONTENT="global">
16 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
17 <META NAME="Generator" CONTENT="LaTeX2HTML v99.1 release">
18 <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
20 <LINK REL="STYLESHEET" HREF="sdccman.css">
22 <LINK REL="next" HREF="node45.html">
23 <LINK REL="previous" HREF="node43.html">
24 <LINK REL="up" HREF="node38.html">
25 <LINK REL="next" HREF="node45.html">
29 <!--Navigation Panel-->
32 <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A>
35 <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A>
38 <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>
41 <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A>
44 <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A>
46 <B> Next:</B> <A NAME="tex2html926"
47 HREF="node45.html">4.7 Cyclomatic Complexity</A>
48 <B> Up:</B> <A NAME="tex2html920"
49 HREF="node38.html">4. SDCC Technical Data</A>
50 <B> Previous:</B> <A NAME="tex2html914"
51 HREF="node43.html">4.5 External Stack</A>
52   <B> <A NAME="tex2html922"
53 HREF="node1.html">Contents</A></B>
54   <B> <A NAME="tex2html924"
55 HREF="node61.html">Index</A></B>
58 <!--End of Navigation Panel-->
60 <H2><A NAME="SECTION00056000000000000000">
61 4.6 ANSI-Compliance</A>
65 Deviations from the compliancy.
70 <LI>functions are not always reentrant.</LI>
71 <LI>structures cannot be assigned values directly, cannot be passed as
72 function parameters or assigned to each other and cannot be a return
73 value from a function, e.g.:
76 <TT>struct s { ... }; </TT>
78 <TT>struct s s1, s2; </TT>
84 <TT> ... </TT>
86 <TT> s1 = s2 ; /* is invalid in SDCC although allowed
87 in ANSI */ </TT>
89 <TT> ... </TT>
93 <TT>struct s foo1 (struct s parms) /* is invalid in SDCC although
94 allowed in ANSI */ </TT>
98 <TT> struct s rets; </TT>
100 <TT> ... </TT>
102 <TT> return rets;/* is invalid in SDCC although allowed
103 in ANSI */ </TT>
106 <LI>'long long' (64 bit integers) not supported.</LI>
107 <LI>'double' precision floating point not supported.</LI>
108 <LI>No support for setjmp and longjmp (for now).</LI>
109 <LI>Old K&R style function declarations are NOT allowed.
112 <TT>foo(i,j) /* this old style of function declarations */
115 <TT>int i,j; /* are valid in ANSI but not valid in SDCC */
120 <TT> ... </TT>
123 <LI>functions declared as pointers must be dereferenced during the call.
126 <TT>int (*foo)();</TT>
130 <TT>/* has to be called like this */ </TT>
132 <TT>(*foo)(); /* ansi standard allows calls to be made like
138 <!--Navigation Panel-->
139 <A NAME="tex2html925"
141 <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A>
142 <A NAME="tex2html919"
144 <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A>
145 <A NAME="tex2html913"
147 <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A>
148 <A NAME="tex2html921"
150 <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A>
151 <A NAME="tex2html923"
153 <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A>
155 <B> Next:</B> <A NAME="tex2html926"
156 HREF="node45.html">4.7 Cyclomatic Complexity</A>
157 <B> Up:</B> <A NAME="tex2html920"
158 HREF="node38.html">4. SDCC Technical Data</A>
159 <B> Previous:</B> <A NAME="tex2html914"
160 HREF="node43.html">4.5 External Stack</A>
161   <B> <A NAME="tex2html922"
162 HREF="node1.html">Contents</A></B>
163   <B> <A NAME="tex2html924"
164 HREF="node61.html">Index</A></B>
165 <!--End of Navigation Panel-->
168 <BR><I>2001-07-13</I>