gdb.rocm/hip-builtin-completions: consider multi choices for completions - #284
Conversation
dee67b7 to
d0094b6
Compare
| # Look for completion of "threadId" into "threadIdx". | ||
| # Unlike the above tests, this one is narrower, becasue it can | ||
| # collide with libLLVM's parallel::threadIndex | ||
| # (llvm/lib/Support/Parallel.cpp). |
There was a problem hiding this comment.
Didn't we discuss having the test check that print threadIdx was one of the proposed completion (and implicitly accept having other symbols show up)?
Also, it is really not clear to someone without context why libLLVM would come here. Might be worth mentionning that this is a rocr -> comgr -> libllvm dependency.
There was a problem hiding this comment.
becasue -> because
I don't think we should mention the build/llvm bug here. We're just protecting ourselves from potential deviations from symbol availability.
There was a problem hiding this comment.
I don't think we should mention the build/llvm bug here. We're just protecting ourselves from potential deviations from symbol availability.
With this "solution", the bug is the sole reason of this change. We're not protecting ourselves from future issues this way. "Narrow"ing down is not the way to go. What if tomorrow there's another variable added, this time called threadIdintity!?
We did, UPDATE: Now it is done as we've discussed. |
d0094b6 to
1cbc00b
Compare
|
1cbc00b to
b42e30f
Compare
Current implementation of the test assumes one "suggestion" per
completion. This can go awry if there are symbols that have
commonality in their names with the symbols that the test cares
about, like "threadIdx" and "threadIndex" [1].
This change adjust the checks as such to look for the desired
symbol name in the output of "complete" command, assuming that
there can be one or more entries.
[1]
Due to the missing step of stripping ".symtab" from libLLVM.so, a
"threadIndex" variable comes into GDB's scope. This collides with
the expected tab-completion of "threadI" to become "threadIdx".
The symbol from libLLVM.so is loaded through these shared objects
dependencies:
test
libamdhip64.so
libamd_comgr.so
libclang-cpp.so
libLLVM.so
Bug: LCOMPILER-2585
b42e30f to
bd29607
Compare
|
@amd-shahab has this been CP'ed to develop ? |
No. It needs cherry-picking to amd-staging-rocgdb-* first then a rocgdb bump to reach TheRock main. |
Uh oh!
There was an error while loading. Please reload this page.