[#9722] Kernel#system broken inside Dir.chdir(&block) if system command doesn't have shell characters — <noreply@...>

Bugs item #7278, was opened at 2006-12-14 13:59

8 messages 2006/12/14

[#9749] System V IPC in standard library? — Steven Jenkins <steven.jenkins@...>

Back in August, I needed a semaphore to serialize access to an external

14 messages 2006/12/19

[#9753] CVS freeze — SASADA Koichi <ko1@...>

Hi,

20 messages 2006/12/20
[#9755] Re: [ruby-dev:30039] CVS freeze — SASADA Koichi <ko1@...> 2006/12/20

Hi,

[#9757] Re: [ruby-dev:30040] Re: CVS freeze — SASADA Koichi <ko1@...> 2006/12/20

Hi,

Re: System V IPC in standard library?

From: Nobuyoshi Nakada <nobu@...>
Date: 2006-12-22 13:54:59 UTC
List: ruby-core #9773
Hi,

At Thu, 21 Dec 2006 10:36:52 +0900,
Steven Jenkins wrote in [ruby-core:09769]:
> > The current test is:
> > 
> >   typedef #{type} conftest_type;
> >   static conftest_type conftestval[sizeof(conftest_type)?1:-1];
> 
> Whether or not any particular compiler actually does so, wouldn't it be
> possible to optimize this away as well? It has no side effects. To be
> sure, it seems to me you'd have to do something that the compiler can't
> eliminate, like:
> 
>    typedef #{type} conftest_type;
>    printf("%u\n", sizeof(conftest_type));

What about:

  typedef #{type} conftest_type;
  int conftestval[sizeof(conftest_type)?1:-1];
  int main() {return 0;}
  int t() {return conftestval[0];}

Though it may be enough just by removing static of conftestval.

> Beyond optimization, however, there's a deeper problem, at least in
> principle. The C standard specifies only how a conforming implementation
> must behave when presented with a conforming input. Such an
> implementation is not required to diagnose errors or fail when presented
> with a non-conforming input. Given that, it seems problematic to detect
> a missing type by generating a compile-time error. I can't think of
> another way, unfortunately.

You're right, but I can't imagine such compiler to be useful.
The current assumption would be enough until somebody complains
about it actually.

-- 
Nobu Nakada

In This Thread