summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChih-Hung Hsieh <chh@google.com>2015-10-21 15:44:56 -0700
committerMark Wielaard <mjw@redhat.com>2015-11-03 23:33:10 +0100
commit3148f5cd3dafdce78a30b609901fc9b27cceb983 (patch)
treed4f84d9709ab88889cf34e9717aea75ecf687c5d
parentae09ca9af1eefdbc17ed1d2e95c0c244ea27a798 (diff)
downloadelfutils-3148f5cd3dafdce78a30b609901fc9b27cceb983.tar.gz
Move nested functions in dwfl_module_getsrc_file.c.
* Nested functions in this file are moved to file scope to compile with clang. Extra parameters are added to pass local variables. Signed-off-by: Chih-Hung Hsieh <chh@google.com> Signed-off-by: Mark Wielaard <mjw@redhat.com>
-rw-r--r--libdwfl/ChangeLog8
-rw-r--r--libdwfl/dwfl_module_getsrc_file.c35
2 files changed, 28 insertions, 15 deletions
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index e7c373e1..27250a95 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,4 +1,12 @@
2015-10-21 Chih-Hung Hsieh <chh@google.com>
+ Mark Wielaard <mjw@redhat.com>
+
+ * dwfl_module_getsrc_file.c (dwfl_module_getsrc_file): Move nested
+ functions 'dwarf_line_file', 'dwfl_line', and 'dwfl_line_file' to
+ file scope. Rename dwarf_line_file to dwfl_dwarf_line_file. Don't
+ use INTUSE.
+
+2015-10-21 Chih-Hung Hsieh <chh@google.com>
* frame_unwind.c (expr_eval): Move nested function 'push' and 'pop'
to file scope. Pass used local variables in struct eval_stack.
diff --git a/libdwfl/dwfl_module_getsrc_file.c b/libdwfl/dwfl_module_getsrc_file.c
index 20aa8a5f..21a59159 100644
--- a/libdwfl/dwfl_module_getsrc_file.c
+++ b/libdwfl/dwfl_module_getsrc_file.c
@@ -30,6 +30,24 @@
#include "../libdw/libdwP.h"
+static inline const char *
+dwfl_dwarf_line_file (const Dwarf_Line *line)
+{
+ return line->files->info[line->file].name;
+}
+
+static inline Dwarf_Line *
+dwfl_line (const Dwfl_Line *line)
+{
+ return &dwfl_linecu (line)->die.cu->lines->info[line->idx];
+}
+
+static inline const char *
+dwfl_line_file (const Dwfl_Line *line)
+{
+ return dwfl_dwarf_line_file (dwfl_line (line));
+}
+
int
dwfl_module_getsrc_file (Dwfl_Module *mod,
const char *fname, int lineno, int column,
@@ -58,19 +76,6 @@ dwfl_module_getsrc_file (Dwfl_Module *mod,
&& cu != NULL
&& (error = __libdwfl_cu_getsrclines (cu)) == DWFL_E_NOERROR)
{
- inline const char *INTUSE(dwarf_line_file) (const Dwarf_Line *line)
- {
- return line->files->info[line->file].name;
- }
- inline Dwarf_Line *dwfl_line (const Dwfl_Line *line)
- {
- return &dwfl_linecu (line)->die.cu->lines->info[line->idx];
- }
- inline const char *dwfl_line_file (const Dwfl_Line *line)
- {
- return INTUSE(dwarf_line_file) (dwfl_line (line));
- }
-
/* Search through all the line number records for a matching
file and line/column number. If any of the numbers is zero,
no match is performed. */
@@ -87,7 +92,7 @@ dwfl_module_getsrc_file (Dwfl_Module *mod,
}
else
{
- const char *file = INTUSE(dwarf_line_file) (line);
+ const char *file = dwfl_dwarf_line_file (line);
if (file != lastfile)
{
/* Match the name with the name the user provided. */
@@ -110,7 +115,7 @@ dwfl_module_getsrc_file (Dwfl_Module *mod,
size_t inner;
for (inner = 0; inner < cur_match; ++inner)
if (dwfl_line_file (match[inner])
- == INTUSE(dwarf_line_file) (line))
+ == dwfl_dwarf_line_file (line))
break;
if (inner < cur_match
&& (dwfl_line (match[inner])->line != line->line