This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 08/14] -Wmissing-prototypes: The find_and_open_source hack.
$ make WERROR_CFLAGS="-Wmissing-prototypes" source.o psymtab.o 1>/dev/null
../../src/gdb/source.c:995:1: warning: no previous prototype for âfind_and_open_sourceâ [-Wmissing-prototypes]
Another case of a function declaration appearing in a module that uses
the function, instead of in a proper header.
2012-02-29 Pedro Alves <palves@redhat.com>
* psymtab.c (find_and_open_source): Delete declaration.
* source.c (find_and_open_source): Move comment ...
* source.h (find_and_open_source): ... to this new declaration.
---
gdb/psymtab.c | 4 ----
gdb/source.c | 20 --------------------
gdb/source.h | 23 +++++++++++++++++++++++
3 files changed, 23 insertions(+), 24 deletions(-)
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index e42545b..f894028 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -1131,10 +1131,6 @@ map_symbol_filenames_psymtab (struct objfile *objfile,
}
}
-int find_and_open_source (const char *filename,
- const char *dirname,
- char **fullname);
-
/* Finds the fullname that a partial_symtab represents.
If this functions finds the fullname, it will save it in ps->fullname
diff --git a/gdb/source.c b/gdb/source.c
index 909f252..cfdf81b 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -971,26 +971,6 @@ rewrite_source_path (const char *path)
return new_path;
}
-/* This function is capable of finding the absolute path to a
- source file, and opening it, provided you give it a FILENAME. Both the
- DIRNAME and FULLNAME are only added suggestions on where to find the file.
-
- FILENAME should be the filename to open.
- DIRNAME is the compilation directory of a particular source file.
- Only some debug formats provide this info.
- FULLNAME can be the last known absolute path to the file in question.
- Space for the path must have been malloc'd. If a path substitution
- is applied we free the old value and set a new one.
-
- On Success
- A valid file descriptor is returned (the return value is positive).
- FULLNAME is set to the absolute path to the file just opened.
- The caller is responsible for freeing FULLNAME.
-
- On Failure
- An invalid file descriptor is returned (the return value is negative).
- FULLNAME is set to NULL. */
-
int
find_and_open_source (const char *filename,
const char *dirname,
diff --git a/gdb/source.h b/gdb/source.h
index 3ee8e53..bf9a688 100644
--- a/gdb/source.h
+++ b/gdb/source.h
@@ -21,6 +21,29 @@
struct symtab;
+/* This function is capable of finding the absolute path to a
+ source file, and opening it, provided you give it a FILENAME. Both the
+ DIRNAME and FULLNAME are only added suggestions on where to find the file.
+
+ FILENAME should be the filename to open.
+ DIRNAME is the compilation directory of a particular source file.
+ Only some debug formats provide this info.
+ FULLNAME can be the last known absolute path to the file in question.
+ Space for the path must have been malloc'd. If a path substitution
+ is applied we free the old value and set a new one.
+
+ On Success
+ A valid file descriptor is returned (the return value is positive).
+ FULLNAME is set to the absolute path to the file just opened.
+ The caller is responsible for freeing FULLNAME.
+
+ On Failure
+ An invalid file descriptor is returned (the return value is negative).
+ FULLNAME is set to NULL. */
+extern int find_and_open_source (const char *filename,
+ const char *dirname,
+ char **fullname);
+
/* Open a source file given a symtab S. Returns a file descriptor or
negative number for error. */
extern int open_source_file (struct symtab *s);