thanks for reply.<br>timespec is a POSIX.1b structure should be defined in time.h, but it seems newlib defines it in sys/types.h, but I don't know why, so super core included sys/types.h for this struct, I think we should use time.h instead of sys/types.h<br>
<br><br><div class="gmail_quote">On Sun, Jun 14, 2009 at 6:39 AM, Joel Sherrill <span dir="ltr"><<a href="mailto:joel.sherrill@oarcorp.com">joel.sherrill@oarcorp.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">Zhongjie wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
I don't know whether am I wrong, but I don't think it is right to uesd header files like stdlib.h sys/types.h in the score?<br>
logically, we should not use any c library in the score and bsp.<br>
could any one tell me why?<br>
<br>
</blockquote></div>
The compiler defines the fundamental C99 types.  Most of these appear to be<br>
are getting standard C99 types.  The obvious exceptions I see are<br>
<br>
+ super core time is now available as struct timespec so<br>
  there are includes for that.<br>
+ score/cpu/unix which is a port to a "synthetic" unix target<br>
  so is allowed to include anything.<br>
+Nothing in this set should include stdio.h.  I removed those.<br>
  Thanks for this one.<br>
+ region.h was including stddef.h which was already included<br>
  by system.h so I removed that one.<br>
<br>
But stdint.h, stdbool.h, sys/types.h are ok.    I wouldn't be surprised<br>
if they are not needed in .c files because they are already included in<br>
.h files though.<br>
<br>
If you have specific cases and a patch for unnecessary includes,<br>
we are happy to merge them. <br>
I am guessing that <stdio.h> anywhere is a hint that someone<br>
had a debug printf and it can likely be removed or the printf<br>
converted to a printk.  But each case would have to be examined.<div><div></div><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
here is a list of some of those files, there are more in bsp code.<br>
rtems/src/ratemonreportstatistics.c:#include <stdlib.h><br>
rtems/src/rtemsobjectgetclassinfo.c:#include <stdio.h><br>
rtems/include/rtems/rtems/types.h:#include <stdint.h><br>
rtems/include/rtems/rtems/object.h:#include <stdint.h><br>
rtems/include/rtems/rtems/region.h:#include <stddef.h><br>
score/cpu/sh/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/sh/rtems/score/types.h:#include <stdint.h><br>
score/cpu/c4x/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/c4x/rtems/score/types.h:#include <stdint.h><br>
score/cpu/arm/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/arm/rtems/score/types.h:#include <stdint.h><br>
score/cpu/avr/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/avr/rtems/score/types.h:#include <stdint.h><br>
score/cpu/bfin/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/bfin/rtems/score/types.h:#include <stdint.h><br>
score/cpu/i386/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/i386/rtems/score/types.h:#include <stdint.h><br>
score/cpu/m32c/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/m32c/rtems/score/types.h:#include <stdint.h><br>
score/cpu/m32c/context_init.c:#include <stdint.h><br>
score/cpu/m32r/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/m32r/rtems/score/types.h:#include <stdint.h><br>
score/cpu/m32r/context_init.c:#include <stdint.h><br>
score/cpu/m68k/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/m68k/rtems/score/types.h:#include <stdint.h><br>
score/cpu/lm32/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/lm32/rtems/score/types.h:#include <stdint.h><br>
score/cpu/mips/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/mips/rtems/score/types.h:#include <stdint.h><br>
score/cpu/unix/cpu.c:#include <stdio.h><br>
score/cpu/unix/cpu.c:#include <stdlib.h><br>
score/cpu/unix/cpu.c:#include <unistd.h><br>
score/cpu/unix/cpu.c:   * Avoid using the stdio section of the library.<br>
score/cpu/unix/cpu.c:         *  We avoid using the stdio section of the library.<br>
score/cpu/unix/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/unix/rtems/score/types.h:#include <stdint.h><br>
score/cpu/h8300/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/h8300/rtems/score/types.h:#include <stdint.h><br>
score/cpu/nios2/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/nios2/rtems/score/types.h:#include <stdint.h><br>
score/cpu/sparc/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/sparc/rtems/score/types.h:#include <stdint.h><br>
score/cpu/no_cpu/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/no_cpu/rtems/score/types.h:#include <stdint.h><br>
score/cpu/powerpc/rtems/score/types.h:#include <stdbool.h><br>
score/cpu/powerpc/rtems/score/types.h:#include <stdint.h><br>
score/cpu/powerpc/rtems/powerpc/registers.h:#include <stdint.h><br>
score/src/objectgetnameasstring.c:#include <stdlib.h><br>
score/src/objectgetnameasstring.c:#include <stdio.h><br>
score/src/timespecdivide.c:#include <stdio.h><br>
score/src/objectsetname.c:#include <stdlib.h><br>
score/src/objectsetname.c:#include <stdio.h><br>
score/src/heapwalk.c:#include <stdlib.h> /* abort */<br>
score/src/heapwalk.c:#include <stdio.h><br>
score/src/ts64divide.c:#include <stdio.h><br>
score/include/rtems/score/timespec.h:#include <stdint.h> /* uint32_t */<br>
score/include/rtems/system.h:#include <stddef.h><br>
score/include/rtems/system.h:#include <stdint.h><br>
sapi/src/posixapi.c:#include <sys/types.h><br>
sapi/src/itronapi.c:#include <sys/types.h><br>
sapi/include/confdefs.h:  #include <sys/types.h><br>
score/cpu/unix/cpu.c:#include <sys/types.h><br>
score/src/ts64lessthan.c:#include <sys/types.h><br>
score/src/timespectoticks.c:#include <sys/types.h><br>
score/src/timespecdivide.c:#include <sys/types.h><br>
score/src/timespecdividebyinteger.c:#include <sys/types.h><br>
score/src/ts64getseconds.c:#include <sys/types.h><br>
score/src/ts64getnanoseconds.c:#include <sys/types.h><br>
score/src/timespecgreaterthan.c:#include <sys/types.h><br>
score/src/timespecisvalid.c:#include <sys/types.h><br>
score/src/ts64equalto.c:#include <sys/types.h><br>
score/src/timespecsubtract.c:#include <sys/types.h><br>
score/src/ts64addto.c:#include <sys/types.h><br>
score/src/ts64set.c:#include <sys/types.h><br>
score/src/timespeclessthan.c:#include <sys/types.h><br>
score/src/timespecaddto.c:#include <sys/types.h><br>
score/src/ts64toticks.c:#include <sys/types.h><br>
score/src/ts64dividebyinteger.c:#include <sys/types.h><br>
score/src/ts64subtract.c:#include <sys/types.h><br>
score/src/ts64totimespec.c:#include <sys/types.h><br>
score/src/ts64divide.c:#include <sys/types.h><br>
score/src/ts64greaterthan.c:#include <sys/types.h><br>
score/src/ts64settozero.c:#include <sys/types.h><br>
<br>
BR.<br>
Zhongjie<br>
</blockquote>
<br>
</div></div></blockquote></div><br>