moved it into a common variable, OPTIONAL_VARIABLE_ATTRIBUTES, also renamed GCC_ATTRIBUTES to FUNCTION_ATTRIBUTES as not only gcc supports them