packet structs containing vectors

Hi!

I have the following problem. I have a struct, e.g.
#pragma pack(1)
    struct Foo
    {
        float3 bar;
    };
    #pragma pack()

sizeof(Foo) is 16 instead of 12. I would think this is a bug.
clang should internally break up the float3 into three floats inside a packed
struct. What do you think?
(I'm using the 2.8 branch)

-Jochen