On 07/16/2011 10:37 AM, Dodji Seketeli wrote:
+#define ONE_M ONE_K * ONE_K

Parenthesize this so that users don't need to.

+  macro_maps_used_size =
+    LINEMAPS_MACRO_USED (set) * sizeof (struct line_map)
+    + macro_maps_locations_size;

It seems odd to add in the locations size here since it's also printed separately.

+  fprintf (stderr, "Total allocated maps size:           %5lu%c\n",
+          SCALE (s.total_allocated_map_size),
+          STAT_LABEL (s.total_allocated_map_size));
+  fprintf (stderr, "Total used maps size:                %5lu%c\n",
+          SCALE (s.total_used_map_size),
+          STAT_LABEL (s.total_used_map_size));
+  fprintf (stderr, "Ordinary map used size:              %5lu%c\n",
+          SCALE (s.ordinary_maps_used_size),
+          STAT_LABEL (s.ordinary_maps_used_size));
+  fprintf (stderr, "Macro maps used size:                %5lu%c\n",
+          SCALE (s.macro_maps_used_size),
+          STAT_LABEL (s.macro_maps_used_size));
+  fprintf (stderr, "Number of ordinary maps allocated:   %5lu%c\n",
+          SCALE (s.num_ordinary_maps_allocated),
+          STAT_LABEL (s.num_ordinary_maps_allocated));
+  fprintf (stderr, "Number of ordinary maps used:        %5lu%c\n",
+          SCALE (s.num_ordinary_maps_used),
+          STAT_LABEL (s.num_ordinary_maps_used));
+  fprintf (stderr, "Number of macro maps used:           %5lu%c\n",
+          SCALE (s.num_macro_maps_used),
+          STAT_LABEL (s.num_macro_maps_used));
+  fprintf (stderr, "Ordinary maps allocated size:        %5lu%c\n",
+          SCALE (s.ordinary_maps_allocated_size),
+          STAT_LABEL (s.ordinary_maps_allocated_size));
+  fprintf (stderr, "Macro maps locations size:           %5lu%c\n",
+          SCALE (s.macro_maps_locations_size),
+          STAT_LABEL (s.macro_maps_locations_size));
+  fprintf (stderr, "Duplicated maps locations size:      %5lu%c\n",
+          SCALE (s.duplicated_macro_maps_locations_size),
+          STAT_LABEL (s.duplicated_macro_maps_locations_size));

This seems oddly sorted. And why the difference between ordinary and macro maps in terms of what is printed?

+/* Counters defined in libcpp's macro.c.  */
+extern unsigned num_expanded_macros_counter;
+extern unsigned num_macro_tokens_counter;

These should be part of struct linemap_stats.

Jason

Reply via email to