http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50678
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |NEW
CC| |gingold at adacore dot com
--- Comment #72 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2013-02-05
17:48:16 UTC ---
> This patch works here in Darwin 12.2.1:
>
> === acats Summary ===
> # of expected passes 2320
> # of unexpected failures 0
>
> === gnat Summary ===
>
> # of expected passes 1158
> # of expected failures 17
> # of unsupported tests 5
Great!
> Especially considering that, I may have gone OTT in caching the determined
> version and/or separating the version determination into a new function.
Not at all, it's not forbidden to be clever.
> I haven't checked the returned values of the sysctl(3) calls or the length of
> the buffer required; what's policy? and what could be done if there was an
> error?
We should probably check the return value of sysctl and immediately return 0 if
there is a problem (it would be up to the caller to decide what to do with 0).
Then I don't think that we need to check the length.
Minor points:
1. This should be
static int
__darwin_major_version (void)
2. I think that you can pass NULL to strtol instead of dot_p.
3. Double space before star-slash at the end of comments.
4. No () for functions in comments.
> As an aside, what's the recommended technique for rebuilding and reinstalling
> just the RTS? ('cd gcc; make gnatlib' leaves the build in a state where 'make
> install' doesn't work).
rm $(target)/libada/stamp-libada gcc/stamp-gnatlib*
make all-target-libada
CCing Tristan who knows more about Darwin than me...