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.hol...@ericsson.com <mailto:mikael.hol...@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 > > <revi...@reviews.llvm.org <mailto:revi...@reviews.llvm.org> > <mailto:revi...@reviews.llvm.org <mailto:revi...@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 > > > > > > > _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits