Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Stupid microsoft compiler not understanding the basic bases of C99
[simgrid.git] / src / xbt / ex.c
index 365c922..c93ea85 100644 (file)
@@ -29,7 +29,7 @@
 # define HAVE_BACKTRACE 1 /* Hello linux box */
 #endif
 
-#if defined(WIN32) && defined(_M_IX86)
+#if defined(WIN32) && defined(_M_IX86) && !defined(__GNUC__)
 # define HAVE_BACKTRACE 1 /* Hello x86 windows box */
 #endif 
    
@@ -56,19 +56,15 @@ ex_ctx_t *__xbt_ex_ctx_default(void) {
 /* Change raw libc symbols to file names and line numbers */
 void xbt_ex_setup_backtrace(xbt_ex_t *e);
 
-void xbt_backtrace_current(xbt_ex_t *e) {
-#ifdef HAVE_BACKTRACE
-  xbt_ex_setup_backtrace(e);
-#endif
-}
-
 void xbt_backtrace_display(xbt_ex_t *e) {
+  xbt_ex_setup_backtrace(e);
+   
 #ifdef HAVE_BACKTRACE
-  int i;
-
   if (e->used == 0) {
      fprintf(stderr,"(backtrace not set)\n");
   } else {     
+     int i;
+     
      fprintf(stderr,"Backtrace (displayed in thread %p):\n",
             (void*)xbt_thread_self());
      for (i=1; i<e->used; i++) /* no need to display "xbt_display_backtrace" */
@@ -94,7 +90,7 @@ void xbt_backtrace_display_current(void) {
 
 #if defined(HAVE_EXECINFO_H) && defined(HAVE_POPEN) && defined(ADDR2LINE)
 # include "backtrace_linux.c"
-#elif (defined(WIN32) && defined (_M_IX86))
+#elif (defined(WIN32) && defined (_M_IX86)) && !defined(__GNUC__)
 # include "backtrace_windows.c"
 #else
 # include "backtrace_dummy.c"