dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] [SCM] DotGNU Portable.NET Just In Time compiler (l


From: Klaus Treichel
Subject: [dotgnu-pnet-commits] [SCM] DotGNU Portable.NET Just In Time compiler (libjit) branch, master, updated. fa18fbd799c103c456c05c9a66d6996dfc7f701c
Date: Sat, 15 May 2010 17:32:50 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "DotGNU Portable.NET Just In Time compiler (libjit)".

The branch, master has been updated
       via  fa18fbd799c103c456c05c9a66d6996dfc7f701c (commit)
      from  91aedc2f633de28d306b2b3f7cb71e2cd7c4e370 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/libjit.git/commit/?id=fa18fbd799c103c456c05c9a66d6996dfc7f701c

commit fa18fbd799c103c456c05c9a66d6996dfc7f701c
Author: Klaus Treichel <address@hidden>
Date:   Sat May 15 19:32:36 2010 +0200

    Fix strict-alias-rules in return struct tests.

diff --git a/ChangeLog b/ChangeLog
index 0293a49..ed0e7cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -22,7 +22,9 @@
        constant conversions.
 
        * jit/jit-block.c (jit_block_get_next_label): Fix comment for texinfo.
-  
+
+       * tools/gen-apply.c: Fix strict-alias-rules in returning struct tests.
+
 2010-05-08  Klaus Treichel  <address@hidden>
 
        * jit/jit-block.c (_jit_block_clean_cfg): Don't merge an empty block
diff --git a/tools/gen-apply.c b/tools/gen-apply.c
index 2151200..2951802 100644
--- a/tools/gen-apply.c
+++ b/tools/gen-apply.c
@@ -954,6 +954,11 @@ void detect_float_return(void)
        { \
                jit_sbyte value[(n)]; \
        }; \
+       union detect_un_##n \
+       { \
+               struct detect_##n d; \
+               jit_nint value[64 / sizeof(jit_nint)]; \
+       }; \
        struct detect_##n detect_struct_##n(void) \
        { \
                struct detect_##n d; \
@@ -964,23 +969,23 @@ void detect_float_return(void)
        { \
                jit_nint *args; \
                volatile jit_nint stack[1]; \
-               jit_nint buffer[64 / sizeof(jit_nint)]; \
+               union detect_un_##n buffer; \
                void *apply_return; \
                jit_builtin_apply_args(jit_nint *, args); \
                args[0] = (jit_nint)stack; \
-               stack[0] = (jit_nint)buffer; \
+               stack[0] = (jit_nint)&buffer; \
                if(struct_return_special_reg || num_word_regs > 0) \
                { \
-                       args[1] = (jit_nint)buffer; \
+                       args[1] = (jit_nint)&buffer; \
                        if(struct_reg_overlaps_word_reg) \
                        { \
-                               args[2] = (jit_nint)buffer; \
+                               args[2] = (jit_nint)&buffer; \
                        } \
                } \
-               mem_set(buffer, 0, sizeof(buffer)); \
+               mem_set(&buffer, 0, sizeof(buffer)); \
                jit_builtin_apply(detect_struct_##n, args, \
                                                  sizeof(jit_nint), 0, 
apply_return); \
-               if(((struct detect_##n *)buffer)->value[0] == 0x00) \
+               if(buffer.d.value[0] == 0x00) \
                { \
                        struct_return_in_reg[(n) - 1] = 1; \
                } \

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog         |    4 +++-
 tools/gen-apply.c |   17 +++++++++++------
 2 files changed, 14 insertions(+), 7 deletions(-)


hooks/post-receive
-- 
DotGNU Portable.NET Just In Time compiler (libjit)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]