-
- Downloads
d: Implement __traits(getTargetInfo, "objectFormat")
Following on from adding TARGET_D_REGISTER_OS_TARGET_INFO, this adds the required handlers to implement `__traits(getTargetInfo, "objectFormat")' for all platforms that have D support files. Some back-ends (i386, rs6000, and pa) have some awarenes of the what object format they are compiling for, so new getTargetInfo handlers have been have added both to those back-ends as well as platform-specific target files to override the default in the D front-end. gcc/ChangeLog: * config/darwin-d.c (darwin_d_handle_target_object_format): New function. (darwin_d_register_target_info): New function. (TARGET_D_REGISTER_OS_TARGET_INFO): Define. * config/dragonfly-d.c (dragonfly_d_handle_target_object_format): New function. (dragonfly_d_register_target_info): New function. (TARGET_D_REGISTER_OS_TARGET_INFO): Define. * config/freebsd-d.c (freebsd_d_handle_target_object_format): New function. (freebsd_d_register_target_info): New function. (TARGET_D_REGISTER_OS_TARGET_INFO): Define. * config/glibc-d.c (glibc_d_handle_target_object_format): New function. (glibc_d_register_target_info): New function. (TARGET_D_REGISTER_OS_TARGET_INFO): Define. * config/i386/i386-d.c (ix86_d_handle_target_object_format): New function. (ix86_d_register_target_info): Add ix86_d_handle_target_object_format as handler for objectFormat key. * config/i386/winnt-d.c (winnt_d_handle_target_object_format): New function. (winnt_d_register_target_info): New function. (TARGET_D_REGISTER_OS_TARGET_INFO): Define. * config/netbsd-d.c (netbsd_d_handle_target_object_format): New function. (netbsd_d_register_target_info): New function. (TARGET_D_REGISTER_OS_TARGET_INFO): Define. * config/openbsd-d.c (openbsd_d_handle_target_object_format): New function. (openbsd_d_register_target_info): New function. (TARGET_D_REGISTER_OS_TARGET_INFO): Define. * config/pa/pa-d.c (pa_d_handle_target_object_format): New function. (pa_d_register_target_info): Add pa_d_handle_target_object_format as handler for objectFormat key. * config/rs6000/rs6000-d.c (rs6000_d_handle_target_object_format): New function. (rs6000_d_register_target_info): Add rs6000_d_handle_target_object_format as handler for objectFormat key. * config/sol2-d.c (solaris_d_handle_target_object_format): New function. (solaris_d_register_target_info): New function. (TARGET_D_REGISTER_OS_TARGET_INFO): Define. gcc/d/ChangeLog: * d-target.cc (d_handle_target_object_format): New function. (d_language_target_info): Add d_handle_target_object_format as handler for objectFormat key. (Target::getTargetInfo): Continue if handler returned NULL_TREE.
Showing
- gcc/config/darwin-d.c 26 additions, 0 deletionsgcc/config/darwin-d.c
- gcc/config/dragonfly-d.c 26 additions, 0 deletionsgcc/config/dragonfly-d.c
- gcc/config/freebsd-d.c 26 additions, 0 deletionsgcc/config/freebsd-d.c
- gcc/config/glibc-d.c 26 additions, 0 deletionsgcc/config/glibc-d.c
- gcc/config/i386/i386-d.c 19 additions, 0 deletionsgcc/config/i386/i386-d.c
- gcc/config/i386/winnt-d.c 25 additions, 0 deletionsgcc/config/i386/winnt-d.c
- gcc/config/netbsd-d.c 28 additions, 0 deletionsgcc/config/netbsd-d.c
- gcc/config/openbsd-d.c 28 additions, 0 deletionsgcc/config/openbsd-d.c
- gcc/config/pa/pa-d.c 17 additions, 0 deletionsgcc/config/pa/pa-d.c
- gcc/config/rs6000/rs6000-d.c 21 additions, 0 deletionsgcc/config/rs6000/rs6000-d.c
- gcc/config/sol2-d.c 26 additions, 0 deletionsgcc/config/sol2-d.c
- gcc/d/d-target.cc 31 additions, 4 deletionsgcc/d/d-target.cc
Loading
Please register or sign in to comment