[PATCH] D53651: [clangd] Use thread pool for background indexing.
Mikael Holmén via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 7 02:34:34 PST 2018
On 11/7/18 11:31 AM, Sam McCall wrote:
> I'll send a patch shortly to unbreak this.
>
> Is emitting a warning a problem for you? (i.e. do you build with -Werror)
Yes "unfortunately" we use -Werror.
> I'd like to do something like #ifdef SCHED_IDLE ... #else #warning "old
> libc?" #endif
> That way if this isn't actually working we'll break in linux
> configurations covered by -Werror bots, we'll notice.
>
I can always remove the #warning locally if you want to give a warning
about it but nicest for me would of course be if it was silent. :)
/Mikael
> On Wed, Nov 7, 2018 at 11:22 AM Mikael Holmén
> <mikael.holmen at ericsson.com <mailto:mikael.holmen at ericsson.com>> wrote:
>
> Hi,
>
> On 11/7/18 11:03 AM, Sam McCall wrote:
> > On Wed, Nov 7, 2018 at 10:32 AM Mikael Holmén via Phabricator
> > <reviews at reviews.llvm.org <mailto:reviews at reviews.llvm.org>
> <mailto:reviews at reviews.llvm.org <mailto:reviews at reviews.llvm.org>>>
> wrote:
> >
> > uabelho added a comment.
> >
> > Hi,
> >
> > I've got a post-review comment about the use of SCHED_IDLE vs the
> > needed gcc version.
> >
> >
> >
> > ================
> > Comment at: clang-tools-extra/trunk/clangd/Threading.cpp:110
> > + T.native_handle(),
> > + Priority == ThreadPriority::Low ? SCHED_IDLE :
> SCHED_OTHER,
> > &priority);
> > +#endif
> > ----------------
> > I noticed that when I compile this with gcc 5.4.0, I get a
> > compilation error about SCHED_IDLE not being defined.
> > Indeed, if I look in sched.h used with gcc 5.4.0, these are the
> > SCHED_* definitions:
> >
> > Sorry for the breakage here!
> >
> > sched.h comes from glibc, rather than GCC.
> > SCHED_IDLE was added in glibc 2.12, which is considerably older
> than any
> > supported compiler (2010, vs 2013 for gcc 4.8 and 2016 for gcc 5.4).
> >
> > I don't think there's a documented policy on libc versions...
> what does
> > this system look like? (e.g. glibc version, distribution?)
>
> Ok, we're apparently using glibc 2.11.3. A bit too old then :/
>
> We're cross-compiling llvm using rather old gcc and glibc versions so
> that it will work on a number of different machines with different OS
> versions that our users have.
>
> /Mikael
>
> >
> > (It seems like it would be OK to #ifdef SCHED_IDLE here and do
> nothing
> > the libc is just too old, but it may mask other problems we'd
> want to
> > know about).
> >
> > ```
> > /* Scheduling algorithms. */
> > #define SCHED_OTHER 0
> > #define SCHED_FIFO 1
> > #define SCHED_RR 2
> > #ifdef __USE_GNU
> > # define SCHED_BATCH 3
> > #endif
> > ```
> > I suppose SCHED_IDLE was added in some later version...
> >
> > On
> >
> https://llvm.org/docs/GettingStarted.html#host-c-toolchain-both-compiler-and-standard-library
> > it says that gcc 4.8 should work, but it doesn't now then?
> >
> >
> >
> > Repository:
> > rL LLVM
> >
> > https://reviews.llvm.org/D53651
> >
> >
> >
>
More information about the cfe-commits
mailing list