OSDN Git Service

2008-07-31 Geert Bosch <bosch@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Jul 2008 10:27:20 +0000 (10:27 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 31 Jul 2008 10:27:20 +0000 (10:27 +0000)
commitdeff3b133c305c3355537bfd9ef1cfe7739992f3
tree1a6f7b4149003b503d7b9e36f8cf1dc1cd606d93
parent8667b0b2357d15dc50af1025a72559a51c043243
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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138384 138bc75d-0d04-0410-961f-82ee72b054a4
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