13.07.2015 Views

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

TASKING VX-toolset for ARM User Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Using the C++ CompilerR (Remarks)Remarks indicate something that is valid and probably intended, but which a careful programmer maywant to check. These diagnostics are not issued by default. Compilation continues and object code isgenerated (if no errors are detected). To enable remarks, enable the option Issue remarks on C++ codein the C/C++ Build » Settings » Tool Settings » C/C++ Compiler » Diagnostics page of the Project» Properties <strong>for</strong> menu (C++ compiler option --remarks).S (Internal errors)Internal compiler errors are caused by failed internal consistency checks and should never occur. However,if such a 'SYSTEM' error appears, please report the occurrence to Altium. Please include a small C++program causing the error.Message <strong>for</strong>matBy default, diagnostics are written in a <strong>for</strong>m like the following:cparm E0020: ["test.cc" 3] identifier "name" is undefinedWith the command line option --error-file=file you can redirect messages to a file instead of stderr.Note that the message identifies the file and line involved. Long messages are wrapped to additional lineswhen necessary.With the option C/C++ Build » Settings » Tool Settings » Global Options » Treat warnings as errors(option --warnings-as-errors) you can change the severity of warning messages to errors.With the command line option --diag you can see a list of all messages.For some messages, a list of entities is useful; they are listed following the initial error message:cparm E0308: ["test.cc" 4] more than one instance of overloadedfunction "f" matches the argument list:function "f(int)"function "f(float)"argument types are: (double)In some cases, some additional context in<strong>for</strong>mation is provided; specifically, such context in<strong>for</strong>mation isuseful when the C++ compiler issues a diagnostic while doing a template instantiation or while generatinga constructor, destructor, or assignment operator function. For example:cparm E0265: ["test.cc" 7] "A::A()" is inaccessibledetected during implicit generation of "B::B()" at line 7Without the context in<strong>for</strong>mation, it is very hard to figure out what the error refers to.Termination MessagesThe C++ compiler writes sign-off messages to stderr (the Problems view in Eclipse) if errors are detected.For example, one of the following <strong>for</strong>ms of message171

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!