[Lldb-commits] [PATCH] D97586: [mlir][lldb] Fix several gcc warnings in mlir and lldb
Stella Stamenova via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Mar 1 13:43:21 PST 2021
stella.stamenova added inline comments.
================
Comment at: lldb/source/Commands/CommandObjectTrace.cpp:119
lldb::TraceSP trace_sp = traceOrErr.get();
- if (m_options.m_verbose)
+ if (m_options.m_verbose && trace_sp)
result.AppendMessageWithFormat("loading trace with plugin %s\n",
----------------
teemperor wrote:
> Do you still have that GCC warning around (or the GCC version that produced that warning)? I'm kinda curious what GCC is assuming here. The interface never returns a "null" shared_ptr, the shared_ptr either contains a valid object or llvm::Error is returned. IIRC the Expected<ptr> return is the "new" version of how the Plugin interface should work (the old was just a ptr with `nullptr` being an error), so if some GCC version doesn't understand the Expected<ptr> pattern then we should maybe have some more centralized workaround instead of adding all the unnecessary nullptr checks.
>
> But that shouldn't block this patch, so feel free to land.
The gcc version is:
`gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0`
The warning is:
```
/mnt/_work/9/s/llvm-project/lldb/source/Commands/CommandObjectTrace.cpp: In member function ‘virtual bool CommandObjectTraceLoad::DoExecute(lldb_private::Args&, lldb_private::CommandReturnObject&)’:
/mnt/_work/9/s/llvm-project/lldb/source/Commands/CommandObjectTrace.cpp:120:39: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
120 | result.AppendMessageWithFormat("loading trace with plugin %s\n",
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
121 | trace_sp->GetPluginName().AsCString());
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/_work/9/s/llvm-project/lldb/source/Commands/CommandObjectTrace.cpp:120:39: error: ‘%s’ directive argument is null [-Werror=format-overflow=]
```
Interestingly, this is the only place in all of llvm (well, llvm, lld, clang and lldb) that produces this warning.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97586/new/
https://reviews.llvm.org/D97586
More information about the lldb-commits
mailing list