Community
Participate
Working Groups
References from C to assembly code and vice versa are not recognized by the CDT indexer. In addition, comments such as `TODO` and `FIXME` in assembly code are not listed in the Tasks view. Creating an indexer parser log results in an empty file, indicating that the CDT indexer seems to completely ignore assembly files. This issue is inconvenient for developers since it is not possible to directly navigate to referenced code. Due to the fact that there are many types of assembly languages, this request would probably be difficult to implement. However, the implementation of this feature would likely be feasible for includes as include directives may be easier to identify in a parsing process and they are also already referenced in the Outline view.
(In reply to Matthias Eckhart from comment #0) > However, the implementation of this feature would likely be > feasible for includes as include directives may be easier to identify in a > parsing process and they are also already referenced in the Outline view. Could you clarify what you mean by this? > In addition, comments such as `TODO` and `FIXME` in assembly > code are not listed in the Tasks view. It's probably worth filing a separate bug for this, as it might be a lot easier to implement than recognizing code references.
(In reply to Nathan Ridge from comment #1) > (In reply to Matthias Eckhart from comment #0) > > However, the implementation of this feature would likely be > > feasible for includes as include directives may be easier to identify in a > > parsing process and they are also already referenced in the Outline view. > > Could you clarify what you mean by this? If you include a header file in assembly code, it will be referenced in the Outline view. When you perform a double-click on this particular include in the Outline view, you will even jump right to it. However, this won't happen if you hold <Ctrl> and click on the file name of the include directive in assembly code. > > In addition, comments such as `TODO` and `FIXME` in assembly > > code are not listed in the Tasks view. > > It's probably worth filing a separate bug for this, as it might be a lot > easier to implement than recognizing code references. I created a separate bug for task tags support in assembly code. Please see Bug 507846.
(In reply to Matthias Eckhart from comment #2) > (In reply to Nathan Ridge from comment #1) > > (In reply to Matthias Eckhart from comment #0) > > > However, the implementation of this feature would likely be > > > feasible for includes as include directives may be easier to identify in a > > > parsing process and they are also already referenced in the Outline view. > > > > Could you clarify what you mean by this? > > If you include a header file in assembly code, it will be referenced in the > Outline view. When you perform a double-click on this particular include in > the Outline view, you will even jump right to it. However, this won't happen > if you hold <Ctrl> and click on the file name of the include directive in > assembly code. Thanks for clarifying! You're right that this shouldn't be too difficult to implement given that we already identify includes in assembly files for the Outline view. Let's use this bug to track that request; I changed the title to reflect this. For the more general request (Open Declaration on an identifier in an assembly file), could you kindly file a new bug, with an example pair of assembly and C/C++ files, and indicate from where to where should navigation work? Thanks in advance! > > > In addition, comments such as `TODO` and `FIXME` in assembly > > > code are not listed in the Tasks view. > > > > It's probably worth filing a separate bug for this, as it might be a lot > > easier to implement than recognizing code references. > > I created a separate bug for task tags support in assembly code. Please see > Bug 507846. Thanks!
(In reply to Nathan Ridge from comment #3) > (In reply to Matthias Eckhart from comment #2) > > (In reply to Nathan Ridge from comment #1) > > > (In reply to Matthias Eckhart from comment #0) > > > > However, the implementation of this feature would likely be > > > > feasible for includes as include directives may be easier to identify in a > > > > parsing process and they are also already referenced in the Outline view. > > > > > > Could you clarify what you mean by this? > > > > If you include a header file in assembly code, it will be referenced in the > > Outline view. When you perform a double-click on this particular include in > > the Outline view, you will even jump right to it. However, this won't happen > > if you hold <Ctrl> and click on the file name of the include directive in > > assembly code. > > Thanks for clarifying! You're right that this shouldn't be too difficult to > implement given that we already identify includes in assembly files for the > Outline view. > > Let's use this bug to track that request; I changed the title to reflect > this. > > For the more general request (Open Declaration on an identifier in an > assembly file), could you kindly file a new bug, with an example pair of > assembly and C/C++ files, and indicate from where to where should navigation > work? Thanks in advance! Please see Bug 507974.
(In reply to Nathan Ridge from comment #3) > > If you include a header file in assembly code, it will be referenced in the > > Outline view. When you perform a double-click on this particular include in > > the Outline view, you will even jump right to it. However, this won't happen > > if you hold <Ctrl> and click on the file name of the include directive in > > assembly code. > > Thanks for clarifying! You're right that this shouldn't be too difficult to > implement given that we already identify includes in assembly files for the > Outline view. It took a bit more plumbing than I anticipated, but I did get this working.
New Gerrit change created: https://git.eclipse.org/r/86683
New Gerrit change created: https://git.eclipse.org/r/86682
Gerrit change https://git.eclipse.org/r/86682 was merged to [master]. Commit: http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=5d0e9dc625503be8a171e2592c22b20c1a7df919
Gerrit change https://git.eclipse.org/r/86683 was merged to [master]. Commit: http://git.eclipse.org/c/cdt/org.eclipse.cdt.git/commit/?id=5b86da58ad14340d7062b5583c68227ef32a3a5c
Fixed for 9.3.
I just realized that what I implemented works for the F3 shortcut or the Open Declaration context menu action, but not for Ctrl+Click, which is what you actually asked about. Filed bug 509798 to track invoking it via Ctrl+Click.
I mentioned this, along with bug 507974, in the 9.3 N&N: https://wiki.eclipse.org/CDT/User/NewIn93#Open_Declaration_in_assembly_files