Archived:Why are Some Compiler Errors Returned as Warnings in LabWindows/CVI 2013?

Updated Apr 17, 2018

National Instruments does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Reported In

Software

  • LabWindows/CVI

Issue Details

A code error that produced a compiler error in LabWindows/CVI 2012 produces a compiler warning in LabWindows/CVI 2013. What caused this change?

Solution

LabWindows/CVI 2013 and later use the Clang compiler instead of the CVI compiler that is used in LabWindows/CVI 2012 and earlier. The Clang compiler in LabWindows/CVI 2013 and later reports some compiler errors as warnings that the CVI compiler reported as errors in earlier versions. Code modules with these errors will compile successfully, but may produce errors at run-time.

The following list contains code errors that produce a compiler error in LabWindows/CVI 2012 and earlier, and a compiler warning in LabWindows/CVI 2013 or later:

Passing an incompatible pointer as a parameter:
void foo (int *c)
{
  return;
}
void bar (void)
{
  char c;
  foo (&c);
}
Extraneous return value:
void foo( )
{
  return 0;
}

WAS THIS ARTICLE HELPFUL?

Not Helpful