<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.0.9">
</HEAD>
<BODY>
On Fri, 2003-11-14 at 10:52, Chris Lattner wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE><FONT COLOR="#301fe4"><I>> > While LLVM is slowly moving that direction, we are not yet considered to
> > be required by the "system".
>
> Yes they define as "system" headers files that declare interfaces to parts of
> the OS (cpp info, section Header Files). Of couse what is defined as OS is
> not mentioned anywhere so you can define that as you like. Personally I
> believe it is not just the kernel but also all packages installed in standard
> directories. So what they call "system" headers are basically installed
> headers and user headers are internal ones. In the context of llvm every
> header that is under inlcude is a "system" header (because when we write an
> install target it will end up in /usr/include/llvm) otherwise it is a user
> header.

I'm sorry, but at this point I don't see the value of making this change.
It would be a lot of work for no clear benefit.  Even if/when llvm headers
get installed into /usr/include/llvm, you can still use "" to get them.
For most practical purposes, all <> vs "" do is change the order of the
search path.  Am I missing something here, or is this just a matter of a
personal preference?

-Chris</I></FONT></PRE>
</BLOCKQUOTE>
No, you're not missing anything but it isn't just a matter of taste. Installed headers should be included<BR>
with <> because it is "slightly" more efficient (the local compilation directory is not searched first). Both<BR>
will work.  However, I think Alkis' point is exactly right. LLVM headers (most of them) should be considered<BR>
system headers and #included with <>.  LLVM also has some non-public headers. Those should be<BR>
#included with "". <BR>
<BR>
Let's not make the amount of work involved here the issue. I'd do the whole thing myself because the<BR>
value I see in doing it is that I can clearly identify from a #include line whether it is a public or private<BR>
header file that is being included (based on whether <> or "" is used).<BR>
<BR>
At the risk of being controversial, there is another topics in this area that I Would bring up:<BR>
<BR>
 I find the separation of header files into the $SRCDIR/include directory bothersome. It is a real<BR>
pain to switch between $SRCDIR/include/llvm/... and $SRCDIR/lib/...  What was the rationale in<BR>
doing this? Shouldn't the header files be located in the same directory as the .cpp files? The <BR>
install target can sort out where they go when the package is installed.<BR>
<BR>
Reid
</BODY>
</HTML>