[cfe-dev] [PATCH]: add support for FreeBSD

Roman Divacky rdivacky at freebsd.org
Tue Oct 14 23:35:10 PDT 2008


On Tue, Oct 14, 2008 at 10:51:20PM -0700, Chris Lattner wrote:
> 
> On Oct 14, 2008, at 12:20 AM, Roman Divacky wrote:
> 
> >>>+  Define(Defs, "__FreeBSD_cc_version", "800001");
> >>>
> >>>right?
> >>>
> >>>the problem is that the second number is defined only in an internal
> >>>freebsd
> >>>header file or can be obtained via "gcc -E -dM dummy_file.c", the
> >>>__FreeBSD_cc_version
> >>>does not correspond to anything in uname.
> >>
> >>Ok, but what *is* that number and how does it get used?  For example,
> >>we always currently hardcode these values:
> >>
> >> DefineBuiltinMacro(Buf, "__GNUC_MINOR__=2");
> >> DefineBuiltinMacro(Buf, "__GNUC_PATCHLEVEL__=1");
> >> DefineBuiltinMacro(Buf, "__GNUC__=4");
> >>
> >>this is us claiming to be 4.2.1.  In my mind, this is ok because code
> >>checking these is really almost always doing a feature check on some
> >>thing that 4.2.1 supports, and we plan to eventually support most of
> >>these.
> >>
> >>Is __FreeBSD_cc_version like this?  When does it change?  What other
> >>values has it been over time?  Is it always just '__FreeBSD__ +
> >>"00001"'?
> >
> >I think you are right.... the __FreeBSD_cc_version is used to denote
> >what gcc is used on a given FreeBSD. I believe we can easily pretend
> >it's always X00001 where X is the FreeBSD major number. do you like  
> >this
> >patch? I could not test it but it should be ok...
> 
> The patch looks great to me, can you please resend as an attachment?   
> It is coming through inline and I can't copy/paste it successfully,  
> thanks!

here it is.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: clang.patch
Type: text/x-diff
Size: 3270 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20081015/aa784f3c/attachment.patch>


More information about the cfe-dev mailing list