08-06-2015 02:58 AM
Hello...
The compiler (not the variable view) of CVI2013 supported the use of complex data types, see, e.g., here.
CVI2015 now gives an error: complex types are not supported - so the build fails...
What should I do? (the build option Build with C99 extensions is enabled)
Solved! Go to Solution.
08-12-2015 10:47 AM
Hi, Wolfgang
In which version of LabWindows/CVI did you start using the complex types C99 extension?
08-12-2015 10:55 AM
Hi Daniel,
I tried it in CVI2013, and at least in CVI2013 SP2 the following line compiles fine:
_Complex double z1;
In CVI2015 the very same line throws an error.
08-12-2015 11:09 AM
08-12-2015 11:19 AM
No, I am not using the AAL functions, but I was relying on the C99 support of clang and this document. The title of this document suggests that these extensions should also be available in CVI2015, CVI2017...
08-31-2015 05:28 AM
Daniel
Any update on this discrepancy between the documentation and the behaviour of CVI2015?
I think it is an important issue that should not just be allowed to drop off the front page of the CVI forum.
Cheers
S.
08-31-2015 11:29 AM - edited 08-31-2015 11:30 AM
Hi, SteveD123
We are currently investigating the extent to which the behavior of the extensions has changed between LabWindows/CVI 2013 and 2015. Regarding the complex extensions, the following is what we currently know:
LabWindows/CVI Version and Configuration | Complex Scalar | Complex Array |
---|---|---|
2013 SP2 Release Configuration | Application builds and runs without any run-time or build errors. | Application builds and runs without any run-time or build errors. |
2013 SP2 Debug Configuration with no Runtime checking | Application builds and runs without any run-time or build errors. | Application builds and runs without any run-time or build errors. |
2013 SP2 Debug Configuration with Standard Runtime Checking | Application builds and runs without any run-time or build errors. |
Application builds without error. General Protection fault at startup when debugging application which uses complex array defined in local function scope.
Workaround: Application doesn't crash when defining complex array in global scope.
void main() { _Complex double array[20]; // ... void main() { _Complex double array[20]; ... |
2015 Release and Debug Configurations | Build error: complex types are not supported | Build error: complex types are not supported |
In all of the cases in which the application that uses complex numbers builds and runs without crashing:
We are in the process of updating the KB that Wolfgang mentioned in his initial post to better reflect the state of support for extensions in LabWindows/CVI 2013 and 2015. We have opened bug reports for several issues we have found:
I will update this post when we have completed updating the KB with accurate information. If you have been affected by any of the previously listed bugs, please post that feedback here.
Thanks,
09-28-2015 03:56 PM
Hi All,
The KB Wolfgang mentions (What C Extensions Does LabWindows/CVI 2013 and 2015 Support?) has now been updated, verified, and tested. We have updated the document with a revised definition of "supported." When we say supported in the document, we mean that code using the listed extension will compile, and the extension works with the LabWindows/CVI environment, debugger, and so on. We have marked places where the support status has changed between 2013 and 2015 in red, and have listed the bug ID we have open to address the behavior change. We intend to address the incompatibilities in a future release.
Please reply to this thread if you are affected by one of the incompatibilities.
Warm regards,
09-29-2015 01:30 AM
Hi David,
I like the fact that the document has been updated and even been verified. Interestingly, the related link is on Clang 3.4 extensions (and actually pointing to Clang 3.8)
As you know, my suggested compensation for these incompatibilities are here
09-30-2015 08:18 AM