[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cfe-dev
Subject:    Re: [cfe-dev] Disable #error?
From:       Sean Silva <silvas () purdue ! edu>
Date:       2014-01-14 21:58:27
Message-ID: CAHnXoanjiYW_f6FQhkc8OHg+JsVhEfGa16VQOcRDRj1+xMLM4A () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Just do:

$ sed -i -e 's/#error.*//' **/*.h

Really, ignoring the semantics of the program being analyzed (i.e. that it
requests compilation to be aborted) is just as much of a hack as using sed
to modify the headers. In both cases, you are forcefully trampling the
source code's request.

-- Sean Silva


On Tue, Jan 14, 2014 at 2:37 PM, Jacob Carlborg <doob@me.com> wrote:

> On 2014-01-14 18:58, Alp Toker wrote:
>
>  This is an interesting idea. It's always a hard error right now.
>>
>> We've seen similar requests to 'downgrade' a few other errors like the
>> MS inline assembly missing-backend one and I suspect there's a pattern
>> developing here.
>>
>> Could you expand on your specific use-case a little?
>>
>
> I have a tool that translate C header files to D modules[1]. The tool is
> designed to translate header files one at the time. The problem is that in
> some C libraries some kind of umbrella headers are used. They only serve to
> include other sub header files. Some of these libraries enforce this by the
> sub header files checking for a preprocessor macro defined by the umbrella
> header. If this macro is not defined they halt the complication with the
> #error directive.
>
> I'm using libclang since the tool itself is written in D. D is ABI
> compatible with C.
>
> [1] https://github.com/jacob-carlborg/dstep
>
> --
> /Jacob Carlborg
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev@cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>

[Attachment #5 (text/html)]

<div dir="ltr">Just do:<div><br></div><div>$ sed -i -e &#39;s/#error.*//&#39; \
**/*.h<br></div><div><br></div><div>Really, ignoring the semantics of the program \
being analyzed (i.e. that it requests compilation to be aborted) is just as much of a \
hack as using sed to modify the headers. In both cases, you are forcefully trampling \
the source code&#39;s request.</div> <div><br></div><div>-- Sean Silva</div><div \
class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jan 14, 2014 at 2:37 PM, \
Jacob Carlborg <span dir="ltr">&lt;<a href="mailto:doob@me.com" \
target="_blank">doob@me.com</a>&gt;</span> wrote:<br> <blockquote class="gmail_quote" \
style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div \
class="im">On 2014-01-14 18:58, Alp Toker wrote:<br> <br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"> This is an interesting idea. It&#39;s always a hard error \
right now.<br> <br>
We&#39;ve seen similar requests to &#39;downgrade&#39; a few other errors like \
the<br> MS inline assembly missing-backend one and I suspect there&#39;s a \
pattern<br> developing here.<br>
<br>
Could you expand on your specific use-case a little?<br>
</blockquote>
<br></div>
I have a tool that translate C header files to D modules[1]. The tool is designed to \
translate header files one at the time. The problem is that in some C libraries some \
kind of umbrella headers are used. They only serve to include other sub header files. \
Some of these libraries enforce this by the sub header files checking for a \
preprocessor macro defined by the umbrella header. If this macro is not defined they \
halt the complication with the #error directive.<br>

<br>
I&#39;m using libclang since the tool itself is written in D. D is ABI compatible \
with C.<br> <br>
[1] <a href="https://github.com/jacob-carlborg/dstep" \
target="_blank">https://github.com/jacob-<u></u>carlborg/dstep</a><span \
class="HOEnZb"><font color="#888888"><br> <br>
-- <br>
/Jacob Carlborg</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" \
target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/cfe-dev</a><br> \
</div></div></blockquote></div><br></div></div>



_______________________________________________
cfe-dev mailing list
cfe-dev@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic