Update queue push front/back code generation
This commit is contained in:
parent
24be13d825
commit
50b45dac7b
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001-2014 Stephen Williams (steve@icarus.com)
|
* Copyright (c) 2001-2015 Stephen Williams (steve@icarus.com)
|
||||||
*
|
*
|
||||||
* This source code is free software; you can redistribute it
|
* This source code is free software; you can redistribute it
|
||||||
* and/or modify it in source code form under the terms of the GNU
|
* and/or modify it in source code form under the terms of the GNU
|
||||||
|
|
@ -21,6 +21,7 @@
|
||||||
# include <string.h>
|
# include <string.h>
|
||||||
# include <assert.h>
|
# include <assert.h>
|
||||||
# include <stdlib.h>
|
# include <stdlib.h>
|
||||||
|
# include <stdbool.h>
|
||||||
|
|
||||||
#ifdef __MINGW32__ /* MinGW has inconsistent %p output. */
|
#ifdef __MINGW32__ /* MinGW has inconsistent %p output. */
|
||||||
#define snprintf _snprintf
|
#define snprintf _snprintf
|
||||||
|
|
@ -1708,19 +1709,16 @@ static int show_delete_method(ivl_statement_t net)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int show_push_frontback_method(ivl_statement_t net)
|
static int show_push_frontback_method(ivl_statement_t net, bool is_front)
|
||||||
{
|
{
|
||||||
const char*stmt_name = ivl_stmt_name(net);
|
const char*type_code;
|
||||||
|
if (is_front) {
|
||||||
show_stmt_file_line(net, "queue: push_back");
|
show_stmt_file_line(net, "queue: push_front");
|
||||||
|
|
||||||
const char*type_code = "?";
|
|
||||||
if (strcmp(stmt_name,"$ivl_queue_method$push_front") == 0)
|
|
||||||
type_code = "qf";
|
type_code = "qf";
|
||||||
else if (strcmp(stmt_name,"$ivl_queue_method$push_back") == 0)
|
} else {
|
||||||
|
show_stmt_file_line(net, "queue: push_back");
|
||||||
type_code = "qb";
|
type_code = "qb";
|
||||||
else
|
}
|
||||||
type_code = "??";
|
|
||||||
|
|
||||||
unsigned parm_count = ivl_stmt_parm_count(net);
|
unsigned parm_count = ivl_stmt_parm_count(net);
|
||||||
if (parm_count != 2)
|
if (parm_count != 2)
|
||||||
|
|
@ -1762,10 +1760,10 @@ static int show_system_task_call(ivl_statement_t net)
|
||||||
return show_delete_method(net);
|
return show_delete_method(net);
|
||||||
|
|
||||||
if (strcmp(stmt_name,"$ivl_queue_method$push_front") == 0)
|
if (strcmp(stmt_name,"$ivl_queue_method$push_front") == 0)
|
||||||
return show_push_frontback_method(net);
|
return show_push_frontback_method(net, true);
|
||||||
|
|
||||||
if (strcmp(stmt_name,"$ivl_queue_method$push_back") == 0)
|
if (strcmp(stmt_name,"$ivl_queue_method$push_back") == 0)
|
||||||
return show_push_frontback_method(net);
|
return show_push_frontback_method(net, false);
|
||||||
|
|
||||||
show_stmt_file_line(net, "System task call.");
|
show_stmt_file_line(net, "System task call.");
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue