| Summary: | [Scanner Discovery] The build output parser adds include directories to the wrong files | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Jonathan Watt <jwatt> | ||||
| Component: | cdt-build | Assignee: | cdt-build-inbox <cdt-build-inbox> | ||||
| Status: | NEW --- | QA Contact: | Jonah Graham <jonah> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | cdtdoug, yevshif | ||||
| Version: | 7.0.2 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Mac OS X - Carbon (unsup.) | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Jonathan Watt
Do you use "per project" scanner discovery which is there by default? That is what it does. A quick note about comment 0 - there's a mismatch between the file name I talked about and the file name listed in the build output, but that was just a typo due to running multiple tests. I tested on the same file as the build output, so the comment is valid other than the typo.) It took me a little while to figure out what you mean by "per project scanner discovery", but I'm guessing you're asking what the "Discovery profile" field under |C/C++ Build > Discovery Options| is set to? I just left that as it was, with its default value of "Managed build system - per project scanner info profile". I have now tried changing the "Discovery profile" field to "GCC per file scanner info profile" instead, and repeated the steps in comment 0. This time the -I directories are added to *no* files at all. Not even the source file the build output snippet is for. (As an aside, I don't quite understand why the default is to merge all includes, since I can't see how that would ever be useful. Also, doesn't Eclipse know that this is *un*managed code in the project, so couldn't it make "GCC per file scanner info profile" the default in that case?) You are using "g++-4.2" as a command, that looks like something which could prevent parsing. Can you: 1. do "Clear" on "Discovery Options" page for each language separately 2. change the command to "gcc" in build output file and try to process it again? Also I see that the directories are represented by relative paths, I would try to change one to be absolute existing path to find out if it is able to parse the easy way. Created attachment 192265 [details]
build log for small subdirectory
I'm currently trying to get this working with the build output logged from building one of the small subdirectories. This is the log I'm using.
(In reply to comment #4) > Can you: > 1. do "Clear" on "Discovery Options" page for each language separately > 2. change the command to "gcc" in build output file and try to process it > again? I've now tried that, and I also tried with g++. I tried changing the paths to be absolute paths, build directory relative paths, and project relative paths. And I've tried a ton of other tweaking, and manual rebuilt the index over and over again each time. Unfortunately nothing seems to be working. Not even the defines from the log are showing up in the symbols list for nsSVGDocument.cpp, or in workspace/.metadata/.plugins/org.eclipse.cdt.make.core/test.sc I'm currently just stabbing around in the dark, so a way to get log output to help figure out exactly what's going on would be great. |