Re: [RFA/TESTSUITE] build schedlock.c on 64-bit platforms

Andreas Schwab
2003-04-10T16:12:00Z

Daniel Jacobowitz <drow@mvista.com> writes:

|> On Thu, Apr 10, 2003 at 05:16:05PM +0200, Andreas Schwab wrote:
|> > Andrew Cagney <ac131313@redhat.com> writes:
|> >
|> > |> > args[i] = 1;
|> > |> >> - res = pthread_create(&threads[i], NULL, thread_function, (void *)i);
|> > |> >>
|> > |>
|> > |> Try:
|> > |>
|> > |> (((char *) NULL) + i)
|> > |>
|> > |> and what ever the reverse of that is ....
|> >
|> > That is even less portable than the above.
|>
|> Really? What's non-portable about it?

NULL is not an object, and the C standard does not define any meaning for
the above expression. On the other hand, the effect of a cast from
integer to pointer is implementation-defined (although it might trap).

Andreas.

--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 NÃ¼rnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."