473,396 Members | 1,864 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Ignore include header files with Splint

I am currently working in Aisin-AW, in development of navigation
systems (embedded SW).
Since a few weeks, we are checking our source code with splint.

We encounter this problem. I hope this mailing-list can help us to
solve
it :

Our team is responsible of 1 module.
In our C files, we include Header files from others modules.
Those files contain splint errors/warnings, but we cannot modify them.

How can we use splint in order to parse those files (necessary for
definitions), but without getting any warning ?

For example, this is not working and we wonder why :
/*@ignore@*/
#include bad_file.h
/*@end@*/

warnings in "bad_file.h" are displayed, anyway.

thank you in advance !
Nov 14 '05 #1
9 5328
Henry Fr?d?ric wrote:
[snip]
How can we use splint in order to parse those files (necessary for
definitions), but without getting any warning ?

For example, this is not working and we wonder why :
/*@ignore@*/
#include bad_file.h
/*@end@*/

warnings in "bad_file.h" are displayed, anyway.


May I ask why you think the C language specifies how splint should work?
Nov 14 '05 #2
Henry Fr?d?ric wrote:
.... snip ...
How can we use splint in order to parse those files (necessary for
definitions), but without getting any warning ?


Specific compilers etc. are Off Topic in c.l.c. The subject is
limited to the portable C language, as specified in the standard.

Try the splint mailing list.

--
"I conclude that there are two ways of constructing a software
design: One way is to make it so simple that there are obviously
no deficiencies and the other way is to make it so complicated
that there are no obvious deficiencies." -- C. A. R. Hoare
Nov 14 '05 #3

In article <cd**************************@posting.google.com >, fr************@awtce.be (Henry Fr?d?ric) writes:
I am currently working in Aisin-AW, in development of navigation
systems (embedded SW).
Since a few weeks, we are checking our source code with splint.

We encounter this problem. I hope this mailing-list can help us to
solve it :


Splint and other lint tools, though they may be closely related to C,
are not covered by the C language specification; thus they are not,
in the opinion of most of the comp.lang.c regulars, topical here.
(There are arguments for and against this opinion which need not be
rehashed, as they are available to anyone with access to Google's
archives.) Please note that the comp.lang.c FAQ and other materials
for new readers explain what is, and is not, generally considered
topical (by most of the regulars).

While you may be lucky enough to have a Splint expert read your
question here and respond to it, I suspect you would do better to
ask the Splint developers, or consult the documentation. I am not
personally familiar with all of the documentation on the Splint
website (www.splint.org), but there does seem to be quite a lot of
it.

Incidentally, comp.lang.c is not a mailing list. It's a Usenet
newsgroup, which is quite a different thing. There are several
"introduction to the Internet" resources which can explain the
difference.

--
Michael Wojcik mi************@microfocus.com

Painful lark, labouring to rise!
The solemn mallet says:
In the grave's slot
he lies. We rot. -- Basil Bunting
Nov 14 '05 #4
Henry Fr?d?ric wrote:
I am currently working in Aisin-AW, in development of navigation
systems (embedded SW).
Since a few weeks, we are checking our source code with splint.

We encounter this problem. I hope this mailing-list can help us to
solve
it :

Our team is responsible of 1 module.
In our C files, we include Header files from others modules.
Those files contain splint errors/warnings, but we cannot modify them.

How can we use splint in order to parse those files (necessary for
definitions), but without getting any warning ?

For example, this is not working and we wonder why :
/*@ignore@*/
#include bad_file.h
/*@end@*/
<OT>
Read the manual on header file inclusion (somewhere in chapter 14 IIRC)
about system headers and similar; if that does not help, use
/*@ignore@*/ .... /*@end@*/ _within_ the header file. If this is not
applicable in your case, ask in the splint mailing list.
</OT>
warnings in "bad_file.h" are displayed, anyway.


Please note that this is not topical in comp.lang.c.
Try: http://www.splint.org/lists.html
Cheers
Michael
--
E-Mail: Mine is an /at/ gmx /dot/ de address.
Nov 14 '05 #5
"Henry Fr?d?ric" <fr************@awtce.be> wrote in message
I am currently working in Aisin-AW, in development of navigation
systems (embedded SW).
Since a few weeks, we are checking our source code with splint.

We encounter this problem. I hope this mailing-list can help us to
solve
it :

Our team is responsible of 1 module.
In our C files, we include Header files from others modules.
Those files contain splint errors/warnings, but we cannot modify them.

How can we use splint in order to parse those files (necessary for
definitions), but without getting any warning ?

For example, this is not working and we wonder why :
/*@ignore@*/
#include bad_file.h
/*@end@*/

warnings in "bad_file.h" are displayed, anyway.

Have you tried putting /*@ignore@*/... /*@end@*/ inside the <bad_file.h>
header file? If so, this sound as a splint bug, check their maillist and
buglist, before posting a bug report.

Regarding topicality of lint like tools here, it show that most C
programmers are too ignorant on using such tools. PvdL say:

"Separating lint out from the compiler as an independent program was a
big mistake that people are only now coming to terms with."

A cool feature with splint, is that the tool also add security checks on
e.g. formatstrings and buffer overflow vulnerabilities. People here
complain about a "worse is better" xmalloc,

http://www.ai.mit.edu/docs/articles/...tion3.2.1.html

but don't wanna hear about exstensive program checking. lol
--
Tor <torust AT online DOT no>
"To this day, many C programmers believe that 'strong typing' just means
pounding extra hard on the keyboard". PvdL
Nov 14 '05 #6

In article <HL******************@news2.e.nsc.no>, "Tor Rustad" <to****@online.no.spam> writes:
"Henry Fr?d?ric" <fr************@awtce.be> wrote in message

In our C files, we include Header files from others modules.
Those files contain splint errors/warnings, but we cannot modify them.


Have you tried putting /*@ignore@*/... /*@end@*/ inside the <bad_file.h>
header file?


Presumably not, as the OP explicitly states that this is forbidden.

--
Michael Wojcik mi************@microfocus.com
Nov 14 '05 #7
mw*****@newsguy.com (Michael Wojcik) wrote in message news:<d1*********@news4.newsguy.com>...
In article <HL******************@news2.e.nsc.no>, "Tor Rustad" <to****@online.no.spam> writes:
"Henry Fr?d?ric" <fr************@awtce.be> wrote in message

In our C files, we include Header files from others modules.
Those files contain splint errors/warnings, but we cannot modify them.


Have you tried putting /*@ignore@*/... /*@end@*/ inside the <bad_file.h>
header file?


Presumably not, as the OP explicitly states that this is forbidden.


I can't proceed on this way because I can't modify the <bad_file.h>
Nov 14 '05 #8
Henry Fr?d?ric wrote:
mw*****@newsguy.com (Michael Wojcik) wrote in message
"Tor Rustad" <to****@online.no.spam> writes:
"Henry Fr?d?ric" <fr************@awtce.be> wrote in message

In our C files, we include Header files from others modules.
Those files contain splint errors/warnings, but we cannot
modify them.

Have you tried putting /*@ignore@*/... /*@end@*/ inside the
<bad_file.h> header file?


Presumably not, as the OP explicitly states that this is
forbidden.


I can't proceed on this way because I can't modify the
<bad_file.h>


I distinctly recall telling you how to intercept its use without
altering the actual file. I did this in some newsgroup where you
were not off-topic.

--
"If you want to post a followup via groups.google.com, don't use
the broken "Reply" link at the bottom of the article. Click on
"show options" at the top of the article, then click on the
"Reply" at the bottom of the article headers." - Keith Thompson
Nov 14 '05 #9
"Michael Wojcik" <mw*****@newsguy.com> wrote in message

In article <HL******************@news2.e.nsc.no>, "Tor Rustad"

<to****@online.no.spam> writes:
"Henry Fr?d?ric" <fr************@awtce.be> wrote in message

In our C files, we include Header files from others modules.
Those files contain splint errors/warnings, but we cannot modify
them.
Have you tried putting /*@ignore@*/... /*@end@*/ inside the <bad_file.h> header file?


Presumably not, as the OP explicitly states that this is forbidden.


Then make a copy of the header file... for splint analysis.

--
Tor <torust AT online DOT no>

Nov 14 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

28
by: Ramesh | last post by:
Hi, I am currently maintaining a legacy code with a very very large code base. I am facing problems with C/C++ files having a lot of un-necessary #includes. On an average every C/C++ file has...
44
by: Neil Cerutti | last post by:
In Rob Pike's style guide he urges the following: Simple rule: include files should never include include files. If instead they state (in comments or implicitly) what files they need...
12
by: Francois Grieu | last post by:
Can #include safely use a preprocessing token, as in #define HEADERFILE "stdio.h" #include HEADERFILE int main(void) {return printf("Hello, world\n")*0;} TIA, François Grieu
14
by: Pedro Graca | last post by:
Imagine I have a structure with a size_t member: /* foo.h */ struct foo { char const *bar; size_t barlen; }; void make_foo(struct foo *p);
14
by: Jon Rea | last post by:
I am currently cleaning up an application which was origainlly hashed together with speed of coding in mind and therefore contains quite a few "hacky" shortcuts. As part of this "revamping"...
5
by: ma740988 | last post by:
Consider the source: # include <iostream> # include <string> # include <fstream> # include <vector> # include <sstream> using namespace std;
9
by: chat | last post by:
Hi, every body. I have 3 files like this: -------------------------------------------------------- file name : header.h #ifndef TEST_H #define TEST_H int a=1; double b=0.5;
9
by: Justme | last post by:
Novice programmer needs help with using fgets to read and ignore the first two lines of a file. I've gone thru the previous posting regarding fgets, but none of them seems to help my situation. I...
8
by: The Cool Giraffe | last post by:
One thing i do know for sure. When one creates a CPP file, one needs to include the H file. Now, having said that, i wonder if there are some general hints, requirements or standard guide lines on...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.