From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gabriel Dos Reis To: Andreas Schwab Cc: Paul Koning , mark@codesourcery.com, aoliva@redhat.com, gcc@gcc.gnu.org Subject: Re: RFC: attribute "unpadded" Date: Mon, 26 Aug 2002 09:23:00 -0000 Message-id: References: <15719.62718.562215.782124@pkoning.akdesign.com> <3826305057.1030323488@[192.168.0.103]> <15722.12286.839917.979604@pkoning.dev.equallogic.com> X-SW-Source: 2002-08/msg01611.html Andreas Schwab writes: | Paul Koning writes: | | |> What I meant is: as far as I know, C has never had types that have | |> this sort of properties, so the new class is unlike normal C types. | |> And the restrictions are of a kind that a lot of C programmers would | |> probably find rather surprising. (It's not that they don't make sense | |> if you analyze what is going on. But C, nor for that matter any of | |> the half dozen or so languages I can think of, doesn't have any types | |> that aren't permitted as array elements.) | | C always had function types and incomplete types, both are not valid as | array elements. Yes, however an important distinction is that function types aren't object types and you can't create objects of incomplete types. Having a complete object type for which pointer arithmetic isn't allowed isn't something I'll say natural for C. | But the new types are neither functions nor incomplete, | so there is something new about them. Exactly. I think Paul has a point here that needs some consideration as far as the pertubations to the existing type system are concerned. Well, I won't repeat the arguments Mark himself made in the past regarding extensions 8-) -- Gaby