|Re: [cdt-dev] Cycling pound includes check?|
Since CDT tells me right away if I have included header file that doesn't exist, could this circular check be added as well. From the high level it doesn't seem hard to do so, but things could be different down below.
No, it will not! The thing is that second file can't find things from the first one and gives strange errors along the way. Basically any cpp file including one of those directly or through some other header file will give you a very strange and not easy to trace error during the compilation. At least that is the case with code that I build for the VxWorks on the Linux platform.
On Fri, Jul 24, 2009 at 10:53 AM, Elena Laskavaia <elaskavaia@xxxxxxx> wrote:This is ok to do as long as your headers are guarded which is 99% of cases for c programming. If you create new header file using CDT it would be guarded by default.
Fedja Jeleskovic wrote:
I probably wasn't clear on what I was asking. Here is an example to make things more clear.
Compiler freaks about this and gives quite strange error, but this condition should be easy to spot just the way missing header files are spotted today.
Hope this is more clear.
cdt-dev@xxxxxxxxxxx <mailto:cdt-dev@xxxxxxxxxxx>On Fri, Jul 24, 2009 at 3:56 AM, Schorn, Markus <Markus.Schorn@xxxxxxxxxxxxx <mailto:Markus.Schorn@xxxxxxxxxxxxx>> wrote:
it is legal and quite normal to include the same file in a
translation unit mor than once. Issuing a warning about it
would not be the right thing to do.
Neither a compiler nor a parser has a reasonable way to check
whether a recursive inclusion is handled properly within the header. It just has to perform the inclusion and
typically aborts the process at a certain recursion depth.
<mailto:cdt-dev-bounces@xxxxxxxxxxx>] *On Behalf Of *Fedja
*Sent:* Thursday, July 23, 2009 8:20 PM
*To:* CDT General developers list.
*Subject:* [cdt-dev] Cycling pound includes check?
I have been hit several times lately with cycling pound
includes in the code and unfriendliness of the compiler
regarding the issues like that. The error shows up at the
strange place and it takes a while to trace it down just to
find out that someone included a header file that had it
already included before.
Since CDT tells me right away if I have included header file
that doesn't exist, could this circular check be added as
well. From the high level it doesn't seem hard to do so, but
things could be different down below.
Let me know!
cdt-dev mailing list
cdt-dev mailing list
Back to the top