diff packages/hal/common/current/src/hal_stub.c @ 163:0d2b193a635f

Merge from eCos master repository on 2001-06-22-17:38:39-BST
author jlarmour
date Fri, 22 Jun 2001 18:18:44 +0000
parents 2395031e7a66
children 9160a8005d76
line wrap: on
line diff
--- a/packages/hal/common/current/src/hal_stub.c
+++ b/packages/hal/common/current/src/hal_stub.c
@@ -721,6 +721,10 @@ static void
     unsigned short *short_dst;
     unsigned short *short_src;
 
+    // Zero memCount is not really an error, but the goto is necessary to
+    // keep some compilers from reordering stuff across the 'err' label.
+    if (memCount == 0) goto err;
+
     __mem_fault = 1;                      /* Defaults to 'fail'. Is cleared */
                                           /* when the copy loop completes.  */
     __mem_fault_handler = &&err;
@@ -798,6 +802,10 @@ static void
     unsigned short *short_dst;
     unsigned short *short_src;
 
+    // Zero memCount is not really an error, but the goto is necessary to
+    // keep some compilers from reordering stuff across the 'err' label.
+    if (memCount == 0) goto err;
+
     __mem_fault = 1;                      /* Defaults to 'fail'. Is cleared */
                                           /* when the copy loop completes.  */
     __mem_fault_handler = &&err;
@@ -848,6 +856,10 @@ static void
     unsigned short *short_dst;
     unsigned short *short_src;
 
+    // Zero memCount is not really an error, but the goto is necessary to
+    // keep some compilers from reordering stuff across the 'err' label.
+    if (memCount == 0)	goto err;
+
     __mem_fault = 1;                      /* Defaults to 'fail'. Is cleared */
                                           /* when the copy loop completes.  */
     __mem_fault_handler = &&err;