Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
properly protect our definitions of MIN/MAX (w/o using undef to please sonar)
[simgrid.git] / src / xbt / log.c
index 767f883..7853627 100644 (file)
@@ -1,6 +1,6 @@
 /* log - a generic logging facility in the spirit of log4j                  */
 
-/* Copyright (c) 2004-2017. The SimGrid Team.
+/* Copyright (c) 2004-2018. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
 #include "xbt/sysdep.h"
 #include "xbt/xbt_os_thread.h"
 
+#ifndef MIN
+#define MIN(a, b) ((a) < (b) ? (a) : (b))
+#endif
+#ifndef MAX
+#define MAX(a, b) ((a) > (b) ? (a) : (b))
+#endif
+
 int xbt_log_no_loc = 0; /* if set to true (with --log=no_loc), file localization will be omitted (for tesh tests) */
 static xbt_os_mutex_t log_cat_init_mutex = NULL;
 
@@ -92,181 +99,6 @@ void xbt_log_preinit(void)
   log_cat_init_mutex = xbt_os_mutex_init();
 }
 
-static void xbt_log_connect_categories(void)
-{
-  /* Connect our log channels: that must be done manually under windows */
-  /* Also permit that they are correctly listed by xbt_log_help_categories() */
-
-  /* xbt */
-  XBT_LOG_CONNECT(xbt);
-  XBT_LOG_CONNECT(log);
-  XBT_LOG_CONNECT(module);
-  XBT_LOG_CONNECT(replay);
-  XBT_LOG_CONNECT(xbt_cfg);
-  XBT_LOG_CONNECT(xbt_dict);
-  XBT_LOG_CONNECT(xbt_dict_cursor);
-  XBT_LOG_CONNECT(xbt_dict_elm);
-  XBT_LOG_CONNECT(xbt_dyn);
-  XBT_LOG_CONNECT(xbt_ex);
-  XBT_LOG_CONNECT(xbt_automaton);
-  XBT_LOG_CONNECT(xbt_backtrace);
-  XBT_LOG_CONNECT(xbt_exception);
-  XBT_LOG_CONNECT(xbt_graph);
-  XBT_LOG_CONNECT(xbt_mallocator);
-  XBT_LOG_CONNECT(xbt_memory_map);
-  XBT_LOG_CONNECT(xbt_parmap);
-  XBT_LOG_CONNECT(xbt_sync);
-  XBT_LOG_CONNECT(xbt_sync_os);
-
-#ifdef simgrid_EXPORTS
-  /* The following categories are only defined in libsimgrid */
-
-  /* bindings */
-#if SIMGRID_HAVE_LUA
-  XBT_LOG_CONNECT(lua);
-  XBT_LOG_CONNECT(lua_host);
-  XBT_LOG_CONNECT(lua_platf);
-  XBT_LOG_CONNECT(lua_debug);
-#endif
-
-  /* instr */
-  XBT_LOG_CONNECT(instr);
-  XBT_LOG_CONNECT(instr_api);
-  XBT_LOG_CONNECT(instr_config);
-  XBT_LOG_CONNECT(instr_msg);
-  XBT_LOG_CONNECT(instr_msg_process);
-  XBT_LOG_CONNECT(instr_paje_containers);
-  XBT_LOG_CONNECT(instr_paje_header);
-  XBT_LOG_CONNECT(instr_paje_trace);
-  XBT_LOG_CONNECT(instr_paje_types);
-  XBT_LOG_CONNECT(instr_paje_values);
-  XBT_LOG_CONNECT(instr_resource);
-  XBT_LOG_CONNECT(instr_routing);
-  XBT_LOG_CONNECT(instr_surf);
-
-  /* jedule */
-#if SIMGRID_HAVE_JEDULE
-  XBT_LOG_CONNECT(jedule);
-  XBT_LOG_CONNECT(jed_sd);
-#endif
-
-  /* mc */
-#if SIMGRID_HAVE_MC
-  XBT_LOG_CONNECT(mc);
-  XBT_LOG_CONNECT(mc_checkpoint);
-  XBT_LOG_CONNECT(mc_comm_determinism);
-  XBT_LOG_CONNECT(mc_compare);
-  XBT_LOG_CONNECT(mc_dwarf);
-  XBT_LOG_CONNECT(mc_hash);
-  XBT_LOG_CONNECT(mc_liveness);
-  XBT_LOG_CONNECT(mc_memory);
-  XBT_LOG_CONNECT(mc_page_snapshot);
-  XBT_LOG_CONNECT(mc_request);
-  XBT_LOG_CONNECT(mc_safety);
-  XBT_LOG_CONNECT(mc_VisitedState);
-  XBT_LOG_CONNECT(mc_client);
-  XBT_LOG_CONNECT(mc_client_api);
-  XBT_LOG_CONNECT(mc_comm_pattern);
-  XBT_LOG_CONNECT(mc_process);
-  XBT_LOG_CONNECT(mc_protocol);
-  XBT_LOG_CONNECT(mc_Channel);
-  XBT_LOG_CONNECT(mc_ModelChecker);
-  XBT_LOG_CONNECT(mc_RegionSnaphot);
-  XBT_LOG_CONNECT(mc_Session);
-  XBT_LOG_CONNECT(mc_state);
-#endif
-  XBT_LOG_CONNECT(mc_global);
-  XBT_LOG_CONNECT(mc_config);
-  XBT_LOG_CONNECT(mc_record);
-
-  /* msg */
-  XBT_LOG_CONNECT(msg);
-  XBT_LOG_CONNECT(msg_action);
-  XBT_LOG_CONNECT(msg_gos);
-  XBT_LOG_CONNECT(msg_io);
-  XBT_LOG_CONNECT(msg_kernel);
-  XBT_LOG_CONNECT(msg_mailbox);
-  XBT_LOG_CONNECT(msg_process);
-  XBT_LOG_CONNECT(msg_synchro);
-  XBT_LOG_CONNECT(msg_task);
-  XBT_LOG_CONNECT(msg_vm);
-
-  /* s4u */
-  XBT_LOG_CONNECT(s4u);
-  XBT_LOG_CONNECT(s4u_activity);
-  XBT_LOG_CONNECT(s4u_actor);
-  XBT_LOG_CONNECT(s4u_netzone);
-  XBT_LOG_CONNECT(s4u_channel);
-  XBT_LOG_CONNECT(s4u_comm);
-  XBT_LOG_CONNECT(s4u_file);
-  XBT_LOG_CONNECT(s4u_link);
-  XBT_LOG_CONNECT(s4u_vm);
-
-  /* sg */
-  XBT_LOG_CONNECT(sg_host);
-
-  /* simdag */
-  XBT_LOG_CONNECT(sd);
-  XBT_LOG_CONNECT(sd_daxparse);
-#if HAVE_GRAPHVIZ
-  XBT_LOG_CONNECT(sd_dotparse);
-#endif
-  XBT_LOG_CONNECT(sd_kernel);
-  XBT_LOG_CONNECT(sd_task);
-
-  /* simix */
-  XBT_LOG_CONNECT(simix);
-  XBT_LOG_CONNECT(simix_context);
-  XBT_LOG_CONNECT(simix_deployment);
-  XBT_LOG_CONNECT(simix_environment);
-  XBT_LOG_CONNECT(simix_host);
-  XBT_LOG_CONNECT(simix_io);
-  XBT_LOG_CONNECT(simix_kernel);
-  XBT_LOG_CONNECT(simix_mailbox);
-  XBT_LOG_CONNECT(simix_network);
-  XBT_LOG_CONNECT(simix_process);
-  XBT_LOG_CONNECT(simix_popping);
-  XBT_LOG_CONNECT(simix_synchro);
-
-  /* smpi */
-  /* SMPI categories are connected in smpi_global.c */
-
-  /* surf */
-  XBT_LOG_CONNECT(surf);
-  XBT_LOG_CONNECT(surf_config);
-  XBT_LOG_CONNECT(surf_cpu);
-  XBT_LOG_CONNECT(surf_cpu_cas);
-  XBT_LOG_CONNECT(surf_cpu_ti);
-  XBT_LOG_CONNECT(surf_energy);
-  XBT_LOG_CONNECT(surf_kernel);
-  XBT_LOG_CONNECT(surf_lagrange);
-  XBT_LOG_CONNECT(surf_lagrange_dichotomy);
-  XBT_LOG_CONNECT(surf_maxmin);
-  XBT_LOG_CONNECT(surf_network);
-#if SIMGRID_HAVE_NS3
-  XBT_LOG_CONNECT(ns3);
-#endif
-  XBT_LOG_CONNECT(surf_parse);
-  XBT_LOG_CONNECT(surf_plugin_load);
-  XBT_LOG_CONNECT(surf_route);
-  XBT_LOG_CONNECT(surf_routing_generic);
-  XBT_LOG_CONNECT(surf_route_cluster);
-  XBT_LOG_CONNECT(surf_route_cluster_torus);
-  XBT_LOG_CONNECT(surf_route_cluster_dragonfly);
-  XBT_LOG_CONNECT(surf_route_dijkstra);
-  XBT_LOG_CONNECT(surf_route_fat_tree);
-  XBT_LOG_CONNECT(surf_route_floyd);
-  XBT_LOG_CONNECT(surf_route_full);
-  XBT_LOG_CONNECT(surf_route_none);
-  XBT_LOG_CONNECT(surf_route_vivaldi);
-  XBT_LOG_CONNECT(surf_storage);
-  XBT_LOG_CONNECT(surf_trace);
-  XBT_LOG_CONNECT(surf_vm);
-  XBT_LOG_CONNECT(surf_host);
-
-#endif /* simgrid_EXPORTS */
-}
-
 static void xbt_log_help(void);
 static void xbt_log_help_categories(void);
 
@@ -837,7 +669,7 @@ static void xbt_log_help(void)
          "in 'l'etter)\n"
          "         -> %%L: line number where the log event was raised (LOG4J compatible)\n"
          "         -> %%M: function name (LOG4J compatible -- called method name here of course).\n"
-         "                 Defined only when using gcc because there is no __FUNCTION__ elsewhere.\n"
+         "                 Defined only when using gcc because there is no __func__ elsewhere.\n"
          "\n"
          "         -> %%b: full backtrace (Called %%throwable in LOG4J). Defined only under windows or when using the "
          "GNU libc because\n"