Unimplemented features moved to their own exception (#1361)

Unimplemented features moved to their own exception

InternalCompilerError is an exception that really should be reserved for
actual internal errors of the compiler.  Unimplemented features can now
use either solUnimplemented( ) or, if it should be conditional, then
solUnimplementedAssert( ).

* Revert some unimplemented exceptions, add handlers

The jsonCompiler and CommandLineInterface needed handlers for the
new UnimplementedFeatureException, and some cases I had moved on to
the new exception were better treated as real internal compiler
errors.

* Standardize on "Unimplemented feature" message
This commit is contained in:
Rhett Aultman
2016-11-14 20:41:58 +00:00
committed by Alex Beregszaszi
parent 3f74c3c236
commit 58e75c7a48
9 changed files with 34 additions and 17 deletions
+4
View File
@@ -189,6 +189,10 @@ string compile(StringMap const& _sources, bool _optimize, CStyleReadFileCallback
{
errors.append(formatError(exception, "Internal compiler error", scannerFromSourceName));
}
catch (UnimplementedFeatureError const& exception)
{
errors.append(formatError(exception, "Unimplemented feature", scannerFromSourceName));
}
catch (Exception const& exception)
{
errors.append("Exception during compilation: " + boost::diagnostic_information(exception));