> If this is not satisfactory I'll have to think about updating DECL_ALIGN > after the function's attribute are processed and keep using it in > assemble_start_function. > > Come back later > Indeed, I found that resetting DECL_ALIGN in the arm_set_current_function hooks is much cleaner than my previous patch, and, as you said, preserve the case where DECL_USER_ALIGN is 1. First I thought it was weird to change a tree fndecl field in the targetm.set_current_function (fndecl) hook as I haven't seen in any other target and that only the restore_target_globals or cl_target_option_restore functions would switch the states between functions (like align_functions_log, target_flags) thanks to target_reinit. But it seems to be the less intrusive one line fix I found without touching the middle end parts. Other suggestions welcome though. I'm testing with the attached patch to replace the previous (2/2) one and I'll discuss it next week with the arm maintainers after more testing. sorry for the noise. thanks