--- src/attributes.c-old 2006-09-05 18:52:23.000000000 +0200 +++ src/attributes.c 2006-09-05 19:40:23.000000000 +0200 @@ -69,9 +69,6 @@ return cval_cast(arg, size_t_type); else error("requested alignment is not a power of 2"); - else - error("requested alignment is not a constant"); - return cval_top; } @@ -146,13 +143,10 @@ { cval arg = get_alignment(attr); - if (cval_isinteger(arg)) - { - if (ddecl->kind == decl_variable || ddecl->kind == decl_typedef) - ddecl->type = align_type(ddecl->type, arg); - else - ignored_gcc_attribute(attr); - } + if (cval_isinteger(arg) && (ddecl->kind == decl_variable || ddecl->kind == decl_typedef)) + ddecl->type = align_type(ddecl->type, arg); + else + ignored_gcc_attribute(attr); } else if (is_attr_name(name, "mode")) {