- **Breaking**: Graphviz headers no longer (re-)define the C constants `INT_MIN`
and `INT_MAX`. Replacements can be found in the C standard library’s limits.h.
- **Breaking**: Graphviz headers no longer define the constant `_DUMMY_ELEM`.
+- **Breaking**: The `-m` memory test option to Graphviz command-line programs
+ has been deprecated. Tools such as
+ [Leak Sanitizer](https://clang.llvm.org/docs/LeakSanitizer.html) are a more
+ effective modern way of diagnosing memory safety issues.
- The Ming plugin that produced Shockwave files has been removed. This format
was EOLed by Adobe in April 2019. #2160
- CentOS 7 packages now include libmingle and the `mingle` program.
#endif
#endif
-static graph_t *create_test_graph(void)
-{
-#define NUMNODES 5
-
- Agnode_t *node[NUMNODES];
- Agedge_t *e;
- Agraph_t *g;
- Agraph_t *sg;
- int j, k;
- char name[10];
-
- /* Create a new graph */
- g = agopen("new_graph", Agdirected,NULL);
-
- /* Add nodes */
- for (j = 0; j < NUMNODES; j++) {
- snprintf(name, sizeof(name), "%d", j);
- node[j] = agnode(g, name, 1);
- agbindrec(node[j], "Agnodeinfo_t", sizeof(Agnodeinfo_t), true); //node custom data
- }
-
- /* Connect nodes */
- for (j = 0; j < NUMNODES; j++) {
- for (k = j + 1; k < NUMNODES; k++) {
- e = agedge(g, node[j], node[k], NULL, 1);
- agbindrec(e, "Agedgeinfo_t", sizeof(Agedgeinfo_t), true); //edge custom data
- }
- }
- sg = agsubg (g, "cluster1", 1);
- agsubnode (sg, node[0], 1);
-
- return g;
-}
-
int main(int argc, char **argv)
{
graph_t *prev = NULL;
#endif
if (MemTest) {
- while (MemTest--) {
- /* Create a test graph */
- G = create_test_graph();
-
- /* Perform layout and cleanup */
- gvLayoutJobs(Gvc, G); /* take layout engine from command line */
- gvFreeLayout(Gvc, G);
- agclose (G);
- }
+ // TODO: fully remove `MemTest` and associated `-m` parsing in future
+ fprintf(stderr, "The -m command-line option is no longer supported.\n");
}
else if ((G = gvPluginsGraph(Gvc))) {
gvLayoutJobs(Gvc, G); /* take layout engine from command line */