I don't think that by default gcc does double alignment. It cannot for structs because that changes the binary interface, but I don't think it does for variables. At least I don't think it used to.