aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2023-03-12 21:43:31 +0100
committerIain Buclaw <ibuclaw@gdcproject.org>2023-03-13 21:57:03 +0100
commit499b07700f0e679a490c2e3b80ca7c382dd737ab (patch)
treee7c4275262cf9c28ee167e917ebf00b0a949fddd /libgcc
parent6360bf9a2d08f08c151464c77c0da53cd702ff25 (diff)
downloadgcc-499b07700f0e679a490c2e3b80ca7c382dd737ab.zip
gcc-499b07700f0e679a490c2e3b80ca7c382dd737ab.tar.gz
gcc-499b07700f0e679a490c2e3b80ca7c382dd737ab.tar.bz2
d: Refactor DECL_ARGUMENT and DECL_RESULT generation to own function
When looking into PR109108, the reason why things go awry is because of the logic around functions with thunks - they have their definitions generated even when they are external. This subsequently then relied on the detection of whether a function receiving codegen really is extern or not, and this check ultimately prunes too much. This is a first step to both removing the call to `build_decl_tree' from `make_thunk' and the pruning of symbols within the `build_decl_tree' visitor method for functions. Move the generation of DECL_ARGUMENT and DECL_RESULT out of `build_decl_tree' and into their own functions. gcc/d/ChangeLog: * decl.cc (get_fndecl_result): New function. (get_fndecl_arguments): New function. (DeclVisitor::visit (FuncDeclaration *)): Adjust to call get_fndecl_arguments. (make_thunk): Adjust to call get_fndecl_arguments and get_fndecl_result. (start_function): Adjust to call get_fndecl_result.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions