mbed library sources

Dependents:   Nucleo_blink_led

Fork of mbed-src by mbed official

Files at this revision

API Documentation at this revision

Comitter:
mbed_official
Date:
Thu Feb 12 13:15:07 2015 +0000
Parent:
472:7bbab527289d
Child:
474:cfdbf9d61292
Commit message:
Synchronized with git revision e03fb2793ff58293c2d4619a917a23da7f28cf09

Full URL: https://github.com/mbedmicro/mbed/commit/e03fb2793ff58293c2d4619a917a23da7f28cf09/

Move exit() to retarget.cpp

Changed in this revision

common/exit.c Show diff for this revision Revisions of this file
common/retarget.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/common/exit.c	Thu Feb 12 13:00:07 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include "semihost_api.h"
-#include "mbed_interface.h"
-#if DEVICE_STDIO_MESSAGES
-#include <stdio.h>
-#endif
-
-#ifdef TOOLCHAIN_GCC_CW
-// TODO: Ideally, we would like to define directly "_ExitProcess"
-void mbed_exit(int return_code) {
-#elif defined TOOLCHAIN_GCC_ARM
-void _exit(int return_code) {
-#else
-void exit(int return_code) {
-#endif
-
-#if DEVICE_STDIO_MESSAGES
-    fflush(stdout);
-    fflush(stderr);
-#endif
-
-#if DEVICE_SEMIHOST
-    if (mbed_interface_connected()) {
-        semihost_exit();
-    }
-#endif
-    if (return_code) {
-        mbed_die();
-    }
-
-    while (1);
-}
--- a/common/retarget.cpp	Thu Feb 12 13:00:07 2015 +0000
+++ b/common/retarget.cpp	Thu Feb 12 13:15:07 2015 +0000
@@ -1,5 +1,5 @@
 /* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
+ * Copyright (c) 2006-2015 ARM Limited
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,6 +19,11 @@
 #include "FilePath.h"
 #include "serial_api.h"
 #include "toolchain.h"
+#include "semihost_api.h"
+#include "mbed_interface.h"
+#if DEVICE_STDIO_MESSAGES
+#include <stdio.h>
+#endif
 #include <errno.h>
 
 #if defined(__ARMCC_VERSION)
@@ -482,6 +487,33 @@
 #endif
 
 
+#ifdef TOOLCHAIN_GCC_CW
+// TODO: Ideally, we would like to define directly "_ExitProcess"
+extern "C" void mbed_exit(int return_code) {
+#elif defined TOOLCHAIN_GCC_ARM
+extern "C" void _exit(int return_code) {
+#else
+extern "C" void exit(int return_code) {
+#endif
+
+#if DEVICE_STDIO_MESSAGES
+    fflush(stdout);
+    fflush(stderr);
+#endif
+
+#if DEVICE_SEMIHOST
+    if (mbed_interface_connected()) {
+        semihost_exit();
+    }
+#endif
+    if (return_code) {
+        mbed_die();
+    }
+
+    while (1);
+}
+
+
 namespace mbed {
 
 void mbed_set_unbuffered_stream(FILE *_file) {
@@ -524,11 +556,3 @@
 }
 
 } // namespace mbed
-
-
-
-
-
-
-
-