Clean up more warnings with stricter warning levels

This commit is contained in:
Jason Turner
2015-01-15 14:24:39 -07:00
parent 41a45ce8b5
commit f95ca75aca
14 changed files with 71 additions and 48 deletions

View File

@@ -8,7 +8,10 @@
#include <list>
#include <regex>
#ifdef _MSC_VER
#define _CRT_SECURE_NO_WARNINGS
#endif
#include <chaiscript/chaiscript.hpp>
#ifdef READLINE_AVAILABLE
@@ -18,7 +21,7 @@
char *mystrdup (const char *s) {
size_t len = strlen(s); // Space for length plus nul
char *d = static_cast<char*>(malloc (len+1));
char *d = static_cast<char*>(malloc (len+1));
if (d == nullptr) return nullptr; // No memory
#ifdef CHAISCRIPT_MSVC
strcpy_s(d, len, s); // Copy the characters
@@ -152,10 +155,6 @@ void help(int n) {
}
}
void version(int){
std::cout << "chai: compiled " << __TIME__ << " " << __DATE__ << '\n';
}
bool throws_exception(const std::function<void ()> &f)
{
try {
@@ -214,11 +213,11 @@ std::string get_next_command() {
// We have to wrap exit with our own because Clang has a hard time with
// function pointers to functions with special attributes (system exit being marked NORETURN)
void myexit(int return_val) {
void myexit [[ noreturn ]] (int return_val) {
exit(return_val);
}
void interactive(chaiscript::ChaiScript& chai)
void interactive [[ noreturn ]] (chaiscript::ChaiScript& chai)
{
using_history();
@@ -287,7 +286,6 @@ int main(int argc, char *argv[])
chai.add(chaiscript::fun(&myexit), "exit");
chai.add(chaiscript::fun(&myexit), "quit");
chai.add(chaiscript::fun(&help), "help");
chai.add(chaiscript::fun(&version), "version");
chai.add(chaiscript::fun(&throws_exception), "throws_exception");
chai.add(chaiscript::fun(&get_eval_error), "get_eval_error");
@@ -317,7 +315,7 @@ int main(int argc, char *argv[])
arg += line + '\n' ;
}
} else if ( arg == "-v" || arg == "--version" ) {
arg = "version(0)" ;
arg = "version()" ;
} else if ( arg == "-h" || arg == "--help" ) {
arg = "help(-1)";
} else if ( arg == "-i" || arg == "--interactive" ) {
@@ -332,10 +330,14 @@ int main(int argc, char *argv[])
chaiscript::Boxed_Value val ;
try {
switch ( mode ) {
case eInteractive : interactive(chai); break;
case eCommand : val = chai.eval(arg); break;
case eFile : val = chai.eval_file(arg); break;
default : std::cout << "Unrecognized execution mode\n"; return EXIT_FAILURE;
case eInteractive:
// interactive never returns, no need for break;
interactive(chai);
case eCommand:
val = chai.eval(arg);
break;
case eFile:
val = chai.eval_file(arg);
}
}
catch (const chaiscript::exception::eval_error &ee) {