diff options
Diffstat (limited to 'gdb/macrotab.c')
-rw-r--r-- | gdb/macrotab.c | 332 |
1 files changed, 166 insertions, 166 deletions
diff --git a/gdb/macrotab.c b/gdb/macrotab.c index 9ada436..4a28925 100644 --- a/gdb/macrotab.c +++ b/gdb/macrotab.c @@ -213,7 +213,7 @@ inclusion_depth (struct macro_source_file *file) their places. */ static int compare_locations (struct macro_source_file *file1, int line1, - struct macro_source_file *file2, int line2) + struct macro_source_file *file2, int line2) { /* We want to treat positions in an #included file as coming *after* the line containing the #include, but *before* the line after the @@ -229,9 +229,9 @@ compare_locations (struct macro_source_file *file1, int line1, if (! file1) { if (! file2) - return 0; + return 0; else - return 1; + return 1; } else if (! file2) return -1; @@ -241,66 +241,66 @@ compare_locations (struct macro_source_file *file1, int line1, if (file1 != file2) { /* If one file is deeper than the other, walk up the #inclusion - chain until the two files are at least at the same *depth*. - Then, walk up both files in synchrony until they're the same - file. That file is the common ancestor. */ + chain until the two files are at least at the same *depth*. + Then, walk up both files in synchrony until they're the same + file. That file is the common ancestor. */ int depth1 = inclusion_depth (file1); int depth2 = inclusion_depth (file2); /* Only one of these while loops will ever execute in any given - case. */ + case. */ while (depth1 > depth2) - { - line1 = file1->included_at_line; - file1 = file1->included_by; - included1 = 1; - depth1--; - } + { + line1 = file1->included_at_line; + file1 = file1->included_by; + included1 = 1; + depth1--; + } while (depth2 > depth1) - { - line2 = file2->included_at_line; - file2 = file2->included_by; - included2 = 1; - depth2--; - } + { + line2 = file2->included_at_line; + file2 = file2->included_by; + included2 = 1; + depth2--; + } /* Now both file1 and file2 are at the same depth. Walk toward - the root of the tree until we find where the branches meet. */ + the root of the tree until we find where the branches meet. */ while (file1 != file2) - { - line1 = file1->included_at_line; - file1 = file1->included_by; - /* At this point, we know that the case the includedX flags - are trying to deal with won't come up, but we'll just - maintain them anyway. */ - included1 = 1; - - line2 = file2->included_at_line; - file2 = file2->included_by; - included2 = 1; - - /* Sanity check. If file1 and file2 are really from the - same compilation unit, then they should both be part of - the same tree, and this shouldn't happen. */ - gdb_assert (file1 && file2); - } + { + line1 = file1->included_at_line; + file1 = file1->included_by; + /* At this point, we know that the case the includedX flags + are trying to deal with won't come up, but we'll just + maintain them anyway. */ + included1 = 1; + + line2 = file2->included_at_line; + file2 = file2->included_by; + included2 = 1; + + /* Sanity check. If file1 and file2 are really from the + same compilation unit, then they should both be part of + the same tree, and this shouldn't happen. */ + gdb_assert (file1 && file2); + } } /* Now we've got two line numbers in the same file. */ if (line1 == line2) { /* They can't both be from #included files. Then we shouldn't - have walked up this far. */ + have walked up this far. */ gdb_assert (! included1 || ! included2); /* Any #included position comes after a non-#included position - with the same line number in the #including file. */ + with the same line number in the #including file. */ if (included1) - return 1; + return 1; else if (included2) - return -1; + return -1; else - return 0; + return 0; } else return line1 - line2; @@ -318,7 +318,7 @@ compare_locations (struct macro_source_file *file1, int line1, after NAME, FILE, and LINE. */ static int key_compare (struct macro_key *key, - const char *name, struct macro_source_file *file, int line) + const char *name, struct macro_source_file *file, int line) { int names = strcmp (key->name, name); @@ -326,7 +326,7 @@ key_compare (struct macro_key *key, return names; return compare_locations (key->start_file, key->start_line, - file, line); + file, line); } @@ -334,7 +334,7 @@ key_compare (struct macro_key *key, library's happiness. */ static int macro_tree_compare (splay_tree_key untyped_key1, - splay_tree_key untyped_key2) + splay_tree_key untyped_key2) { struct macro_key *key1 = (struct macro_key *) untyped_key1; struct macro_key *key2 = (struct macro_key *) untyped_key2; @@ -348,9 +348,9 @@ macro_tree_compare (splay_tree_key untyped_key1, the bcache. */ static struct macro_key * new_macro_key (struct macro_table *t, - const char *name, - struct macro_source_file *file, - int line) + const char *name, + struct macro_source_file *file, + int line) { struct macro_key *k = (struct macro_key *) macro_alloc (sizeof (*k), t); @@ -382,7 +382,7 @@ macro_tree_delete_key (void *untyped_key) /* Allocate and initialize a new source file structure. */ static struct macro_source_file * new_source_file (struct macro_table *t, - const char *filename) + const char *filename) { /* Get space for the source file structure itself. */ struct macro_source_file *f @@ -417,7 +417,7 @@ free_macro_source_file (struct macro_source_file *src) struct macro_source_file * macro_set_main (struct macro_table *t, - const char *filename) + const char *filename) { /* You can't change a table's main source file. What would that do to the tree? */ @@ -448,8 +448,8 @@ macro_allow_redefinitions (struct macro_table *t) struct macro_source_file * macro_include (struct macro_source_file *source, - int line, - const char *included) + int line, + const char *included) { struct macro_source_file *newobj; struct macro_source_file **link; @@ -467,12 +467,12 @@ macro_include (struct macro_source_file *source, if (*link && line == (*link)->included_at_line) { /* This means the compiler is emitting bogus debug info. (GCC - circa March 2002 did this.) It also means that the splay - tree ordering function, macro_tree_compare, will abort, - because it can't tell which #inclusion came first. But GDB - should tolerate bad debug info. So: + circa March 2002 did this.) It also means that the splay + tree ordering function, macro_tree_compare, will abort, + because it can't tell which #inclusion came first. But GDB + should tolerate bad debug info. So: - First, squawk. */ + First, squawk. */ std::string link_fullname = macro_source_fullname (*link); std::string source_fullname = macro_source_fullname (source); @@ -481,13 +481,13 @@ macro_include (struct macro_source_file *source, line); /* Now, choose a new, unoccupied line number for this - #inclusion, after the alleged #inclusion line. */ + #inclusion, after the alleged #inclusion line. */ while (*link && line == (*link)->included_at_line) - { - /* This line number is taken, so try the next line. */ - line++; - link = &(*link)->next_included; - } + { + /* This line number is taken, so try the next line. */ + line++; + link = &(*link)->next_included; + } } /* At this point, we know that LINE is an unused line number, and @@ -518,19 +518,19 @@ macro_lookup_inclusion (struct macro_source_file *source, const char *name) for (child = source->includes; child; child = child->next_included) { - struct macro_source_file *result - = macro_lookup_inclusion (child, name); - - if (result) - { - int result_depth = inclusion_depth (result); - - if (! best || result_depth < best_depth) - { - best = result; - best_depth = result_depth; - } - } + struct macro_source_file *result + = macro_lookup_inclusion (child, name); + + if (result) + { + int result_depth = inclusion_depth (result); + + if (! best || result_depth < best_depth) + { + best = result; + best_depth = result_depth; + } + } } return best; @@ -546,9 +546,9 @@ macro_lookup_inclusion (struct macro_source_file *source, const char *name) and the macro_definition structure itself, in T's bcache. */ static struct macro_definition * new_macro_definition (struct macro_table *t, - enum macro_kind kind, - int argc, const char **argv, - const char *replacement) + enum macro_kind kind, + int argc, const char **argv, + const char *replacement) { struct macro_definition *d = (struct macro_definition *) macro_alloc (sizeof (*d), t); @@ -568,7 +568,7 @@ new_macro_definition (struct macro_table *t, /* Bcache all the arguments. */ cached_argv = (const char **) alloca (cached_argv_size); for (i = 0; i < argc; i++) - cached_argv[i] = macro_bcache_str (t, argv[i]); + cached_argv[i] = macro_bcache_str (t, argv[i]); /* Now bcache the array of argument pointers itself. */ d->argv = ((const char * const *) @@ -608,7 +608,7 @@ macro_tree_delete_value (void *untyped_definition) int i; for (i = 0; i < d->argc; i++) - macro_bcache_free (t, (char *) d->argv[i]); + macro_bcache_free (t, (char *) d->argv[i]); macro_bcache_free (t, (char **) d->argv); } @@ -621,8 +621,8 @@ macro_tree_delete_value (void *untyped_definition) SOURCE, or zero if there is none. */ static splay_tree_node find_definition (const char *name, - struct macro_source_file *file, - int line) + struct macro_source_file *file, + int line) { struct macro_table *t = file->table; splay_tree_node n; @@ -639,23 +639,23 @@ find_definition (const char *name, if (! n) { /* It's okay for us to do two queries like this: the real work - of the searching is done when we splay, and splaying the tree - a second time at the same key is a constant time operation. - If this still bugs you, you could always just extend the - splay tree library with a predecessor-or-equal operation, and - use that. */ + of the searching is done when we splay, and splaying the tree + a second time at the same key is a constant time operation. + If this still bugs you, you could always just extend the + splay tree library with a predecessor-or-equal operation, and + use that. */ splay_tree_node pred = splay_tree_predecessor (t->definitions, - (splay_tree_key) &query); + (splay_tree_key) &query); if (pred) - { - /* Make sure this predecessor actually has the right name. - We just want to search within a given name's definitions. */ - struct macro_key *found = (struct macro_key *) pred->key; - - if (strcmp (found->name, name) == 0) - n = pred; - } + { + /* Make sure this predecessor actually has the right name. + We just want to search within a given name's definitions. */ + struct macro_key *found = (struct macro_key *) pred->key; + + if (strcmp (found->name, name) == 0) + n = pred; + } } if (n) @@ -663,12 +663,12 @@ find_definition (const char *name, struct macro_key *found = (struct macro_key *) n->key; /* Okay, so this definition has the right name, and its scope - begins before the given source location. But does its scope - end after the given source location? */ + begins before the given source location. But does its scope + end after the given source location? */ if (compare_locations (file, line, found->end_file, found->end_line) < 0) - return n; + return n; else - return 0; + return 0; } else return 0; @@ -682,9 +682,9 @@ find_definition (const char *name, is `macro_function_like'.) */ static struct macro_key * check_for_redefinition (struct macro_source_file *source, int line, - const char *name, enum macro_kind kind, - int argc, const char **argv, - const char *replacement) + const char *name, enum macro_kind kind, + int argc, const char **argv, + const char *replacement) { splay_tree_node n = find_definition (name, source, line); @@ -692,36 +692,36 @@ check_for_redefinition (struct macro_source_file *source, int line, { struct macro_key *found_key = (struct macro_key *) n->key; struct macro_definition *found_def - = (struct macro_definition *) n->value; + = (struct macro_definition *) n->value; int same = 1; /* Is this definition the same as the existing one? - According to the standard, this comparison needs to be done - on lists of tokens, not byte-by-byte, as we do here. But - that's too hard for us at the moment, and comparing - byte-by-byte will only yield false negatives (i.e., extra - warning messages), not false positives (i.e., unnoticed - definition changes). */ + According to the standard, this comparison needs to be done + on lists of tokens, not byte-by-byte, as we do here. But + that's too hard for us at the moment, and comparing + byte-by-byte will only yield false negatives (i.e., extra + warning messages), not false positives (i.e., unnoticed + definition changes). */ if (kind != found_def->kind) - same = 0; + same = 0; else if (strcmp (replacement, found_def->replacement)) - same = 0; + same = 0; else if (kind == macro_function_like) - { - if (argc != found_def->argc) - same = 0; - else - { - int i; - - for (i = 0; i < argc; i++) - if (strcmp (argv[i], found_def->argv[i])) - same = 0; - } - } + { + if (argc != found_def->argc) + same = 0; + else + { + int i; + + for (i = 0; i < argc; i++) + if (strcmp (argv[i], found_def->argv[i])) + same = 0; + } + } if (! same) - { + { std::string source_fullname = macro_source_fullname (source); std::string found_key_fullname = macro_source_fullname (found_key->start_file); @@ -730,7 +730,7 @@ check_for_redefinition (struct macro_source_file *source, int line, name, source_fullname.c_str (), line, found_key_fullname.c_str (), found_key->start_line); - } + } return found_key; } @@ -746,9 +746,9 @@ check_for_redefinition (struct macro_source_file *source, int line, static void macro_define_internal (struct macro_source_file *source, int line, - const char *name, enum macro_kind kind, + const char *name, enum macro_kind kind, int argc, const char **argv, - const char *replacement) + const char *replacement) { struct macro_table *t = source->table; struct macro_key *k = NULL; @@ -812,8 +812,8 @@ macro_define_special (struct macro_table *table) void macro_define_function (struct macro_source_file *source, int line, - const char *name, int argc, const char **argv, - const char *replacement) + const char *name, int argc, const char **argv, + const char *replacement) { macro_define_internal (source, line, name, macro_function_like, @@ -823,7 +823,7 @@ macro_define_function (struct macro_source_file *source, int line, void macro_undef (struct macro_source_file *source, int line, - const char *name) + const char *name) { splay_tree_node n = find_definition (name, source, line); @@ -832,43 +832,43 @@ macro_undef (struct macro_source_file *source, int line, struct macro_key *key = (struct macro_key *) n->key; /* If we're removing a definition at exactly the same point that - we defined it, then just delete the entry altogether. GCC - 4.1.2 will generate DWARF that says to do this if you pass it - arguments like '-DFOO -UFOO -DFOO=2'. */ + we defined it, then just delete the entry altogether. GCC + 4.1.2 will generate DWARF that says to do this if you pass it + arguments like '-DFOO -UFOO -DFOO=2'. */ if (source == key->start_file - && line == key->start_line) - splay_tree_remove (source->table->definitions, n->key); + && line == key->start_line) + splay_tree_remove (source->table->definitions, n->key); else - { - /* This function is the only place a macro's end-of-scope - location gets set to anything other than "end of the - compilation unit" (i.e., end_file is zero). So if this - macro already has its end-of-scope set, then we're - probably seeing a second #undefinition for the same - #definition. */ - if (key->end_file) - { + { + /* This function is the only place a macro's end-of-scope + location gets set to anything other than "end of the + compilation unit" (i.e., end_file is zero). So if this + macro already has its end-of-scope set, then we're + probably seeing a second #undefinition for the same + #definition. */ + if (key->end_file) + { std::string source_fullname = macro_source_fullname (source); std::string key_fullname = macro_source_fullname (key->end_file); - complaint (_("macro '%s' is #undefined twice," - " at %s:%d and %s:%d"), + complaint (_("macro '%s' is #undefined twice," + " at %s:%d and %s:%d"), name, source_fullname.c_str (), line, key_fullname.c_str (), key->end_line); - } + } - /* Whether or not we've seen a prior #undefinition, wipe out - the old ending point, and make this the ending point. */ - key->end_file = source; - key->end_line = line; - } + /* Whether or not we've seen a prior #undefinition, wipe out + the old ending point, and make this the ending point. */ + key->end_file = source; + key->end_line = line; + } } else { /* According to the ISO C standard, an #undef for a symbol that - has no macro definition in scope is ignored. So we should - ignore it too. */ + has no macro definition in scope is ignored. So we should + ignore it too. */ #if 0 complaint (_("no definition for macro `%s' in scope to #undef at %s:%d"), name, source->filename, line); @@ -903,7 +903,7 @@ fixup_definition (const char *filename, int line, struct macro_definition *def) struct macro_definition * macro_lookup_definition (struct macro_source_file *source, - int line, const char *name) + int line, const char *name) { splay_tree_node n = find_definition (name, source, line); @@ -920,9 +920,9 @@ macro_lookup_definition (struct macro_source_file *source, struct macro_source_file * macro_definition_location (struct macro_source_file *source, - int line, - const char *name, - int *definition_line) + int line, + const char *name, + int *definition_line) { splay_tree_node n = find_definition (name, source, line); @@ -1037,12 +1037,12 @@ new_macro_table (struct obstack *obstack, gdb::bcache *b, t->compunit_symtab = cust; t->redef_ok = 0; t->definitions = (splay_tree_new_with_allocator - (macro_tree_compare, - ((splay_tree_delete_key_fn) macro_tree_delete_key), - ((splay_tree_delete_value_fn) macro_tree_delete_value), - ((splay_tree_allocate_fn) macro_alloc), - ((splay_tree_deallocate_fn) macro_free), - t)); + (macro_tree_compare, + ((splay_tree_delete_key_fn) macro_tree_delete_key), + ((splay_tree_delete_value_fn) macro_tree_delete_value), + ((splay_tree_allocate_fn) macro_alloc), + ((splay_tree_deallocate_fn) macro_free), + t)); return t; } |