Intel® C++ Compiler
Support and discussions for creating C++ code that runs on platforms based on Intel® processors.
7650 Discussions

Intellisense problems with C99 code.

I briefly mentioned this issue in my other thread on anonymous structures, but now I'm seeing it more clearly so I thought I would start a separate thread about it. I'm using VS 2010 on Windows XP (32 bit). My program is plain C (not C++), but it does use C99 features. I'm compiling with /Qstd=c99 and it compiles without error. However, Visual Studio's intellisense is producing errors on certain C99 constructs. For example:

[cpp]static void elimination(
    int size, floating_type a[size][size], floating_type *b, int *error, int processor_count )
    floating_type temp_array[size];
In the declaration of parameter a[size][size] intellisense objects to the use of 'size' and says, "InteliSense: a parameter is not allowed." In the declaration of the local variable temp_array[size] intellisense objects again to the use of 'size' and says, "IntelliSense: expression must have a constant value." Apparently Intellisense does not understand C99 or does not recognize the significance of the /Qstd=c99 option.

I did not observe this behavior with the previous version of Parallel Studio with VS 2008.
0 Kudos
3 Replies
Hi Peter,

I can reproduce the lack of Intellisense support for the C99 code you gave, and I've submitted a feature request to our IDE integration team. I'll keep you up to date on their status here. Thanks!

Hi Peter,

So extending Intellisense for the Intel compiler integration is a lot of effort, as Visual Studio* doesn't allow for the language set used by Intellisense to be easily extended, so you'd have to create your own from scratch (including all C/C++ syntax). However, Microsoft Visual Studio 2013 is more C99 friendly, and these types of errors are not occurring with your test case now. I hope that helps, and if you have further questions/requests, let us know. Thanks!

Black Belt

If it compiles fine do not pay attention to Intellisense errors.I had few issues when Intellisense flagged as a error statements with overloaded operators.