[PATCH] [DbgHelp]: correctly returning flags in SYMBOL_INFO structure for local variables stored in a register

Eric Pouech eric.pouech at orange.fr
Mon Jan 2 14:28:04 CST 2012




A+
---

 dlls/dbghelp/symbol.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)


diff --git a/dlls/dbghelp/symbol.c b/dlls/dbghelp/symbol.c
index 7d51d9c..73d7267 100644
--- a/dlls/dbghelp/symbol.c
+++ b/dlls/dbghelp/symbol.c
@@ -680,6 +680,7 @@ static void symt_fill_sym_info(struct module_pair* pair,
                 sym_info->Flags |= SYMFLAG_PARAMETER;
                 /* fall through */
             case DataIsLocal:
+                sym_info->Flags |= SYMFLAG_LOCAL;
                 {
                     struct location loc = data->u.var;
 
@@ -702,7 +703,6 @@ static void symt_fill_sym_info(struct module_pair* pair,
                     {
                     case loc_error:
                         /* for now we report error cases as a negative register number */
-                        sym_info->Flags |= SYMFLAG_LOCAL;
                         /* fall through */
                     case loc_register:
                         sym_info->Flags |= SYMFLAG_REGISTER;
@@ -710,7 +710,7 @@ static void symt_fill_sym_info(struct module_pair* pair,
                         sym_info->Address = 0;
                         break;
                     case loc_regrel:
-                        sym_info->Flags |= SYMFLAG_LOCAL | SYMFLAG_REGREL;
+                        sym_info->Flags |= SYMFLAG_REGREL;
                         sym_info->Register = loc.reg;
                         if (loc.reg == CV_REG_NONE || (int)loc.reg < 0 /* error */)
                             FIXME("suspicious register value %x\n", loc.reg);




More information about the wine-patches mailing list