Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
17 years ago

Problems with Outline window in Eclipse IDE

Hi! I am using Quartus/Nios2 tools version 9.0 and I am experiencing weird behaviour of 'Outlne' window pane in the IDE.

To make sure what I see is not related to some particular problem in my large project I was able to recreate the issue in the simple HelloWorld project based on the standard Cyclone board (full featured project: C:\altera\90\nios2eds\examples\vhdl\niosII_cycloneII_2c35\full_featured\NiosII_cycloneII_2c35_full_featured_sopc.ptf)

Can you please attempt to recreate the issue ans see if the same happens on your computer?

Here is the way to recreate the issue on your computer:

1. Create new HelloWorld project with a default name hello_world_0.

2. When asked, chose "full_featured" Cyclone board as the hardware platform

3. Create new system library called default name hello_world_0_syslib

function called main() is nicely visible now in the outline pane...

4. now enclose main(){} inbetween# ifdef NULL ....# endif

function called main() disappears from the outline pane...

The NULL symbol is defined in the stdio.h, which we are including...

Here is the fragment of the stdio.h file:

# ifndef NULL

# define NULL 0

# endif

5. change NULL in your# ifdef directive to be ALT_DEBUG

function main() reappears in the outline pane.

The difference is that ALT_DEBUG is defined in the IDE options for the preprocessor and not in the# include file.

So the outline pane is not reading preprocessor files listed after# include directive in search of defined symbols.

Is this as it works on your pc? Is it how it supposed to work??

For larger projects with multiple conditional compilations, large parts of the code can be removed or added conditionally on the definition of the preprocessor symbols. So if the outline pane is not reading such symbols BUT also removes parts of code enclosed between# ifdef ...# endif this makes outline pane much less usable, in some cases unusable at all...
No RepliesBe the first to reply