On Sun, 11 Aug 2013 01:03:39 +0200 Roland Mainz wrote: > On Sat, Aug 10, 2013 at 11:41 PM, Roland Mainz <[email protected]> > wrote: > > On Sat, Aug 10, 2013 at 7:18 PM, Glenn Fowler <[email protected]> wrote: > [snip] > >> I'd be willing to add a build triggerred regression report that > >> lists missing/emulated functionality -- for starters it could be > >> a small C program that #ifndef's critical macros and lists them at the end > >> of the build > > > > Grumpf... the issue is that over time such a report would get very > > large and likely quickly ignored because it's not _fatal_ (first rule > > of management with IT people: Noone reads reports unless the managers > > do this with their staff at the meetings). > > > > The regression that O_PATH doesn't work crept in several alpha > > releases ago and ruined a couple of other things quite badly because > > they aren't tested properly anymore (while I thought they are tested > > because the assert guards against such mistakes from h*ll). > > > >> #ifdef __linux__ > >> #if !O_SEARCH > >> printf("package: panic: *** O_SEARCH should be defined in > >> <ast_fcntl.h>\n"); > >> #endif > >> #endif > > > > Well... we need to figure out the Linux version and make that an > > #error for Linux >= 3.0.0 ... otherwise it's IMO a waste of good code > > space... ;-(
> Here is a funny detail: If I compile ast-ksh.2013-08-07 with "clang" I get > this: > -- snip -- > $ grep -E 'O_(SEARCH|PATH)' > <arch/linux.i386-64/include/ast/ast_fcntl.h#ifdef O_PATH > #define O_SEARCH O_PATH > #define O_SEARCH 010000000 /* O_PATH */ > -- snip --. > This looks correct. > If I compile with $ gcc -std=gnu1x ... # or $ gcc -std=gnu99 ... # it > works, too. If I compile with $ gcc -std=gnu89 ... # it fails. It > seems the ISO C language version plays a role... and that can not be > set via cpp macros. > Best xxx@@@!!!-idea for tonight: Force C99 mode on Linux with > gcc>=3.x, e.g. if we use gcc >= 3.x on Linux and don't use ISO C >= > C99 then bail out with #error since AFAIK the Linux includes barely > work correctly for anything older than C99 ... good analysis I still don't understand the bailing someone explicity asking for C foo should get it no? this is unix after all how about this on the linux systems that provide O_PATH is its value always 010000000? _______________________________________________ ast-developers mailing list [email protected] http://lists.research.att.com/mailman/listinfo/ast-developers
