c62b004438
- because uiuc_warning_error always called exit(-1), it can be marked no return, so Clang realises that when it’s used in the ‘else’ side of a parsing test, uninitialised variables in the enclosing call site are safe. (Requires Simgear update to define SG_NO_RETURN helper)
126 lines
3.7 KiB
C++
126 lines
3.7 KiB
C++
/**********************************************************************
|
|
|
|
FILENAME: uiuc_warnings_errors.cpp
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
DESCRIPTION:
|
|
|
|
Prints to screen the follow:
|
|
|
|
- Error Code (errorCode)
|
|
|
|
- Message indicating the problem. This message should be preceded by
|
|
"Warning", "Error" or "Note". Warnings are non-fatal and the code
|
|
will pause. Errors are fatal and will stop the code. Notes are
|
|
only for information.
|
|
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
STATUS: alpha version
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
REFERENCES: based on "menu reader" format of Michael Selig
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
HISTORY: 01/29/2000 initial release
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
AUTHOR(S): Bipin Sehgal <bsehgal@uiuc.edu>
|
|
Jeff Scott <jscott@mail.com>
|
|
Michael Selig <m-selig@uiuc.edu>
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
VARIABLES:
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
INPUTS: -error code
|
|
-input line
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
OUTPUTS: -warning/error message to screen
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
CALLED BY: uiuc_menu.cpp
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
CALLS TO: none
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
COPYRIGHT: (C) 2000 by Michael Selig
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
**********************************************************************/
|
|
|
|
#include <iostream>
|
|
|
|
#include "uiuc_warnings_errors.h"
|
|
|
|
using std::cerr;
|
|
using std::endl;
|
|
|
|
#ifndef _MSC_VER
|
|
using std::exit;
|
|
#endif
|
|
|
|
void uiuc_warnings_errors(int errorCode, std::string line)
|
|
{
|
|
switch (errorCode)
|
|
{
|
|
case 1:
|
|
cerr << "UIUC ERROR 1: The value of the coefficient in \"" << line << "\" should be of type float" << endl;
|
|
exit(-1);
|
|
break;
|
|
case 2:
|
|
cerr << "UIUC ERROR 2: Unknown identifier in \"" << line << "\" (check uiuc_map_*.cpp)" << endl;
|
|
exit(-1);
|
|
break;
|
|
case 3:
|
|
cerr << "UIUC ERROR 3: Slipstream effects only work w/ the engine simpleSingleModel line: \"" << line << endl;
|
|
exit(-1);
|
|
break;
|
|
case 4:
|
|
cerr << "UIUC ERROR 4: Downwash mode does not exist: \"" << line << endl;
|
|
exit(-1);
|
|
break;
|
|
case 5:
|
|
cerr << "UIUC ERROR 5: Must use dyn_on_speed not equal to zero: \"" << line << endl;
|
|
exit(-1);
|
|
break;
|
|
case 6:
|
|
cerr << "UIUC ERROR 6: Table lookup data exceeds 99 point limit: \"" << endl;
|
|
exit(-1);
|
|
break;
|
|
case 7:
|
|
cerr << "UIUC ERROR 7: Need to download data file for the ornithopter. Go to http://www.aae.uiuc.edu/m-selig/apasim/Aircraft-uiuc.html " << endl;
|
|
exit(-1);
|
|
break;
|
|
}
|
|
|
|
cerr << "UIUC UNKNOWN ERROR" << endl;
|
|
exit(-1);
|
|
}
|
|
|
|
// end uiuc_warnings_errors.cpp
|