コード例 #1
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_missing_close_block(void)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "{} block not closed" );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #2
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void warn_symbol_different(char *name, char *used)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "symbol '%s' used as '%s'", name, used );
	do_error( ErrWarn, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #3
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_syntax(void)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "syntax error" );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #4
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_no_src_file(void)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "source filename missing" );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #5
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_illegal_src_filename(char *filename)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "illegal source filename '%s'", filename );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #6
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_not_lib_file(char *filename)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "file '%s' not a library file", filename );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #7
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_include_recursion(char *filename)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "cannot include file '%s' recursively", filename );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #8
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_symbol_redefined(char *symbol)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "symbol '%s' already defined", symbol );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #9
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_symbol_redefined_module(char *symbol, char *module)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "symbol '%s' already defined in module '%s'", symbol, module );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #10
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_illegal_ident(void)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "illegal identifier" );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #11
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_jr_not_local(void)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "relative jump address must be local" );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #12
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_not_defined(char *name)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "symbol '%s' not defined", name );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #13
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_unbalanced_struct(void)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "unbalanced control structure" );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #14
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_unbalanced_struct_at(char *filename, int line_nr)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "unbalanced control structure started at file '%s' line %d", filename, line_nr );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #15
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void warn_org_ignored(char *filename, char *section_name)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "--relocatable ignores ORG at file '%s', section '%s'", filename, section_name );
	do_error( ErrWarn, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #16
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_symbol_decl_local(char *symbol)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "symbol '%s' already declared local", symbol );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #17
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_env_not_defined(char *var)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "environment variable '%s' not defined", var );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #18
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_symbol_redecl(char *symbol)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "re-declaration of '%s' not allowed", symbol );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #19
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_int_range(long value)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "integer '%ld' out of range", value );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #20
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_max_codesize(long size)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "max. code size of %ld bytes reached", size );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #21
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void warn_option_deprecated(char *option)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "option '%s' is deprecated", option );
	do_error( ErrWarn, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #22
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_module_redefined(void)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "module name already defined" );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #23
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_illegal_option(char *option)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "illegal option '%s'", option );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #24
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_write_file(char *filename)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "cannot write file '%s'", filename );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #25
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void info_total_errors(void)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "%d errors occurred during assembly", get_num_errors() );
	do_error( ErrInfo, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #26
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_org_redefined(void)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "ORG redefined" );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #27
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void warn_deprecated(char *old_stmt, char *new_stmt)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "'%s' is deprecated, use '%s' instead", old_stmt, new_stmt );
	do_error( ErrWarn, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #28
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_invalid_org_option(char *org_hex)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "invalid ORG option '%s'", org_hex );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}
コード例 #29
0
ファイル: errors.c プロジェクト: meesokim/z88dk
/*-----------------------------------------------------------------------------
*   Output error message
*----------------------------------------------------------------------------*/
static void do_error( enum ErrType err_type, char *message )
{
	STR_DEFINE(msg, STR_SIZE);
    size_t len_at, len_prefix;

    init_module();

    /* init empty message */
    str_clear( msg );

    /* Information messages have no prefix */
    if ( err_type != ErrInfo )
    {
        str_append( msg, err_type == ErrWarn ? "Warning" : "Error" );

        /* prepare to remove " at" if no prefix */
        len_at = str_len(msg);
        str_append( msg, " at" );
        len_prefix = str_len(msg);

        /* output filename */
        if ( errors.filename && *errors.filename )
            str_append_sprintf( msg, " file '%s'", errors.filename );

        /* output module */
        if ( errors.module != NULL && *errors.module )
            str_append_sprintf( msg, " module '%s'", errors.module );

        /* output line number */
        if ( errors.line > 0 )
            str_append_sprintf( msg, " line %d", errors.line );

        /* remove at if no prefix */
        if ( len_prefix == str_len(msg) )	/* no prefix loaded to string */
        {
            str_data(msg)[ len_at ] = '\0';	/* go back 3 chars to before at */
            str_sync_len( msg );
        }

        str_append( msg, ": " );
    }

    /* output error message */
    str_append( msg, message );
    str_append_char( msg, '\n' );

    /* CH_0001 : Assembly error messages should appear on stderr */
    fputs( str_data(msg), stderr );

    /* send to error file */
    puts_error_file( str_data(msg) );

    if ( err_type == ErrError )
        errors.count++;		/* count number of errors */

	STR_DELETE(msg);
}
コード例 #30
0
ファイル: error_func.c プロジェクト: bitfixer/bitfixer
void error_divide_by_zero(void)
{
	STR_DEFINE(msg, STR_SIZE);

	str_append_sprintf( msg, "division by zero" );
	do_error( ErrError, str_data(msg) );
	
	STR_DELETE(msg);
}