summaryrefslogtreecommitdiffstats
path: root/c/src/exec/rtems
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1996-12-02 22:50:33 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1996-12-02 22:50:33 +0000
commitffe316d5267c5e7ce99685be45efc9308b041dc6 (patch)
tree35cf4feefc6218fed328a2d13346ecbf1792245c /c/src/exec/rtems
parentChanges to reflect new revision of erc32 per Jiri Gaisler's suggestions. (diff)
downloadrtems-ffe316d5267c5e7ce99685be45efc9308b041dc6.tar.bz2
Suggested changes from Mark Jordan which eliminate warnings and errors
he received using the Microtec C++ compiler. Most of these are either missing casts from/to (void *), heavy handed use of enumerated types, or simply assumed conversions. There is at least one actual bug in an error path in thread.c in which the wrong argument was passed to _Thread_Stack_Free and was not being caught by gcc.
Diffstat (limited to 'c/src/exec/rtems')
-rw-r--r--c/src/exec/rtems/headers/status.h5
-rw-r--r--c/src/exec/rtems/include/rtems/rtems/status.h5
-rw-r--r--c/src/exec/rtems/src/eventmp.c2
-rw-r--r--c/src/exec/rtems/src/intr.c2
-rw-r--r--c/src/exec/rtems/src/msg.c2
-rw-r--r--c/src/exec/rtems/src/msgmp.c16
-rw-r--r--c/src/exec/rtems/src/region.c4
-rw-r--r--c/src/exec/rtems/src/regionmp.c2
8 files changed, 22 insertions, 16 deletions
diff --git a/c/src/exec/rtems/headers/status.h b/c/src/exec/rtems/headers/status.h
index ac9b9d1046..876cfc5fc6 100644
--- a/c/src/exec/rtems/headers/status.h
+++ b/c/src/exec/rtems/headers/status.h
@@ -52,11 +52,12 @@ typedef enum {
RTEMS_NOT_OWNER_OF_RESOURCE = 23, /* not owner of resource */
RTEMS_NOT_IMPLEMENTED = 24, /* directive not implemented */
RTEMS_INTERNAL_ERROR = 25, /* RTEMS inconsistency detected */
- RTEMS_NO_MEMORY = 26 /* could not get enough memory */
+ RTEMS_NO_MEMORY = 26, /* could not get enough memory */
+ RTEMS_PROXY_BLOCKING = 27 /* internal error only */
} rtems_status_code;
#define RTEMS_STATUS_CODES_FIRST RTEMS_SUCCESSFUL
-#define RTEMS_STATUS_CODES_LAST RTEMS_NO_MEMORY
+#define RTEMS_STATUS_CODES_LAST RTEMS_PROXY_BLOCKING
extern rtems_status_code _Status_Object_name_errors_to_status[];
diff --git a/c/src/exec/rtems/include/rtems/rtems/status.h b/c/src/exec/rtems/include/rtems/rtems/status.h
index ac9b9d1046..876cfc5fc6 100644
--- a/c/src/exec/rtems/include/rtems/rtems/status.h
+++ b/c/src/exec/rtems/include/rtems/rtems/status.h
@@ -52,11 +52,12 @@ typedef enum {
RTEMS_NOT_OWNER_OF_RESOURCE = 23, /* not owner of resource */
RTEMS_NOT_IMPLEMENTED = 24, /* directive not implemented */
RTEMS_INTERNAL_ERROR = 25, /* RTEMS inconsistency detected */
- RTEMS_NO_MEMORY = 26 /* could not get enough memory */
+ RTEMS_NO_MEMORY = 26, /* could not get enough memory */
+ RTEMS_PROXY_BLOCKING = 27 /* internal error only */
} rtems_status_code;
#define RTEMS_STATUS_CODES_FIRST RTEMS_SUCCESSFUL
-#define RTEMS_STATUS_CODES_LAST RTEMS_NO_MEMORY
+#define RTEMS_STATUS_CODES_LAST RTEMS_PROXY_BLOCKING
extern rtems_status_code _Status_Object_name_errors_to_status[];
diff --git a/c/src/exec/rtems/src/eventmp.c b/c/src/exec/rtems/src/eventmp.c
index 30cd1166c6..7d0996f6f6 100644
--- a/c/src/exec/rtems/src/eventmp.c
+++ b/c/src/exec/rtems/src/eventmp.c
@@ -58,7 +58,7 @@ rtems_status_code _Event_MP_Send_request_packet (
the_packet->Prefix.id = event_id;
the_packet->event_in = event_in;
- return
+ return (rtems_status_code)
_MPCI_Send_request_packet(
rtems_get_node( event_id ),
&the_packet->Prefix,
diff --git a/c/src/exec/rtems/src/intr.c b/c/src/exec/rtems/src/intr.c
index 8ec880ee99..c2da423986 100644
--- a/c/src/exec/rtems/src/intr.c
+++ b/c/src/exec/rtems/src/intr.c
@@ -55,7 +55,7 @@ rtems_status_code rtems_interrupt_catch(
if ( !_ISR_Is_vector_number_valid( vector ) )
return RTEMS_INVALID_NUMBER;
- if ( !_ISR_Is_valid_user_handler( new_isr_handler ) )
+ if ( !_ISR_Is_valid_user_handler( (void *) new_isr_handler ) )
return RTEMS_INVALID_ADDRESS;
_ISR_Install_vector(
diff --git a/c/src/exec/rtems/src/msg.c b/c/src/exec/rtems/src/msg.c
index 7d7c6e3025..7082a59367 100644
--- a/c/src/exec/rtems/src/msg.c
+++ b/c/src/exec/rtems/src/msg.c
@@ -678,7 +678,7 @@ rtems_status_code _Message_queue_Translate_core_message_queue_return_code (
case CORE_MESSAGE_QUEUE_STATUS_TIMEOUT:
return RTEMS_TIMEOUT;
case THREAD_STATUS_PROXY_BLOCKING:
- return THREAD_STATUS_PROXY_BLOCKING;
+ return RTEMS_PROXY_BLOCKING;
}
_Internal_error_Occurred( /* XXX */
INTERNAL_ERROR_RTEMS_API,
diff --git a/c/src/exec/rtems/src/msgmp.c b/c/src/exec/rtems/src/msgmp.c
index e43fc28aef..596aabdd71 100644
--- a/c/src/exec/rtems/src/msgmp.c
+++ b/c/src/exec/rtems/src/msgmp.c
@@ -140,9 +140,11 @@ rtems_status_code _Message_queue_MP_Send_request_packet (
);
}
- return _MPCI_Send_request_packet(rtems_get_node(message_queue_id),
- &the_packet->Prefix,
- STATES_WAITING_FOR_MESSAGE);
+ return (rtems_status_code) _MPCI_Send_request_packet(
+ rtems_get_node(message_queue_id),
+ &the_packet->Prefix,
+ STATES_WAITING_FOR_MESSAGE
+ );
break;
case MESSAGE_QUEUE_MP_RECEIVE_REQUEST:
@@ -163,9 +165,11 @@ rtems_status_code _Message_queue_MP_Send_request_packet (
_Thread_Executing->Wait.return_argument = (unsigned32 *)buffer;
_Thread_Executing->Wait.return_argument_1 = size_p;
- return _MPCI_Send_request_packet(rtems_get_node(message_queue_id),
- &the_packet->Prefix,
- STATES_WAITING_FOR_MESSAGE);
+ return (rtems_status_code) _MPCI_Send_request_packet(
+ rtems_get_node(message_queue_id),
+ &the_packet->Prefix,
+ STATES_WAITING_FOR_MESSAGE
+ );
break;
case MESSAGE_QUEUE_MP_ANNOUNCE_CREATE:
diff --git a/c/src/exec/rtems/src/region.c b/c/src/exec/rtems/src/region.c
index 5a8ad26797..f9e2dd39b4 100644
--- a/c/src/exec/rtems/src/region.c
+++ b/c/src/exec/rtems/src/region.c
@@ -360,7 +360,7 @@ rtems_status_code rtems_region_get_segment(
_Thread_queue_Enqueue( &the_region->Wait_queue, timeout );
_Thread_Enable_dispatch();
- return( executing->Wait.return_code );
+ return (rtems_status_code) executing->Wait.return_code;
}
return RTEMS_INTERNAL_ERROR; /* unreached - only to remove warnings */
@@ -464,7 +464,7 @@ rtems_status_code rtems_region_return_segment(
if ( the_thread == NULL )
break;
- the_segment = _Region_Allocate_segment(
+ the_segment = (void **) _Region_Allocate_segment(
the_region,
the_thread->Wait.count
);
diff --git a/c/src/exec/rtems/src/regionmp.c b/c/src/exec/rtems/src/regionmp.c
index 57f307f826..8c2eb73985 100644
--- a/c/src/exec/rtems/src/regionmp.c
+++ b/c/src/exec/rtems/src/regionmp.c
@@ -105,7 +105,7 @@ rtems_status_code _Region_MP_Send_request_packet (
the_packet->size = size;
the_packet->option_set = option_set;
- return _MPCI_Send_request_packet(
+ return (rtems_status_code) _MPCI_Send_request_packet(
rtems_get_node( region_id ),
&the_packet->Prefix,
STATES_READY /* Not used */