On Sun, Nov 04, 2001 at 08:41:34PM +0100, Tim Jansen wrote:
> On Sunday 04 November 2001 20:24, Jakob Østergaard wrote:
> > Does this work ? Yes of course. But what if I ported my program to
> > a 64 bit arch... The program still compiles. It also runs. But the
> > values are no longer correct. Now *that* is hell.
>
> Actually I worry more about those programs that are already compiled and will
> break when the kernel changes. But even if you recompile the code, how can
> you be sure that the programmer uses longs instead of ints for those 64 bit
> types? The C compiler allows the implicit conversion without warning. If you
> change the type the program has to be changed, no matter what you do.
int get(result_t * result);
u32 a;
get(&a);
This will fail at compile time if result_t is 64 bits.
In C++ you could even do overloading where conversion is possible and
still have compile time errors when it's not possible.
>
> > I want type information.
>
> BTW nobody says to one-value-files can not have types (see my earlier posts
> in this thread).
I don't dislike one-value-files - please tell me how you get type information
-- ................................................................ : jakob@unthought.net : And I see the elder races, : :.........................: putrid forms of man : : Jakob Østergaard : See him rise and claim the earth, : : OZ9ABN : his downfall is at hand. : :.........................:............{Konkhra}...............: - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Nov 07 2001 - 21:00:23 EST