arit64.c: New file implementing __gnat_mulv64 signed integer multiplication with...
authorGeert Bosch <bosch@adacore.com>
Thu, 31 Jul 2008 10:27:20 +0000 (12:27 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 31 Jul 2008 10:27:20 +0000 (12:27 +0200)
commitb666e5681569d47b0d75b7bc5fecdcd513da4b88
tree1a6f7b4149003b503d7b9e36f8cf1dc1cd606d93
parentb2c6b35f24ba203e027caa8e5206810d3d6ae265
arit64.c: New file implementing __gnat_mulv64 signed integer multiplication with overflow...

2008-07-31  Geert Bosch  <bosch@adacore.com>

* arit64.c:
New file implementing __gnat_mulv64 signed integer multiplication with
overflow checking

* fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi

* gcc-interface/gigi.h:
(standard_types): Add ADT_mulv64_decl
(mulv64_decl): Define subprogram declaration for __gnat_mulv64

* gcc-interface/utils.c:
(init_gigi_decls): Add initialization of mulv64_decl

* gcc-interface/trans.c:
(build_unary_op_trapv): New function
(build_binary_op_trapv): New function
(gnat_to_gnu): Use the above functions instead of
build_{unary,binary}_op

* gcc-interface/Makefile.in
(LIBGNAT_SRCS): Add arit64.c
(LIBGNAT_OBJS): Add arit64.o

From-SVN: r138384
gcc/ada/arit64.c [new file with mode: 0644]
gcc/ada/fe.h
gcc/ada/gcc-interface/Makefile.in
gcc/ada/gcc-interface/gigi.h
gcc/ada/gcc-interface/trans.c
gcc/ada/gcc-interface/utils.c