]> granicus.if.org Git - graphviz/commitdiff
sparse: unconditionally include 'graphviz_exit' from cgraph
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 9 Apr 2022 19:31:35 +0000 (12:31 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sun, 1 May 2022 04:48:16 +0000 (21:48 -0700)
This fixes a problem encountered in an upcoming commit, that other code cannot
include both this header and cgraph/exit.h if it is building in standalone mode.
cgraph/exit.h is header-only, so should be fine to use even in standalone mode.

lib/sparse/general.h

index 37be67e80b0089a2879ce65687f54b854452a657..b193bd707c871f8203d4a5cbc7a99e34e175c983 100644 (file)
 #include <math.h>
 #include <string.h>
 #include <assert.h>
+#include <cgraph/exit.h>
 /* Applications that do not use the common library can define STANDALONE
  * to get definitions/definitions that are normally provided there.
  * In particular, note that Verbose is declared but undefined.
  */
 #ifndef STANDALONE
 #include "cgraph.h"
-#include "exit.h"
 #include "globals.h"
 #include "logic.h"
 #include "arith.h"
@@ -66,26 +66,6 @@ __declspec(dllimport) extern unsigned char Verbose;
 extern unsigned char Verbose;
 #endif
 
-#ifdef __GNUC__
-// FIXME: use _Noreturn for all compilers when we move to C11
-#define NORETURN __attribute__((noreturn))
-#elif defined(_MSC_VER)
-#define NORETURN __declspec(noreturn)
-#else
-#define NORETURN /* nothing */
-#endif
-
-static inline NORETURN void graphviz_exit(int status) {
-#ifdef __MINGW32__
-  // workaround for https://gitlab.com/graphviz/graphviz/-/issues/2178
-  fflush(stdout);
-  fflush(stderr);
-#endif
-  exit(status);
-}
-
-#undef NORETURN
-
 #else  /* STANDALONE */
 #define CALLOC gcalloc
 #define MALLOC gmalloc