/*
* This file is part of cparser.
- * Copyright (C) 2007-2009 Matthias Braun <matze@braunis.de>
- *
- * 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; either version 2
- * of the License, or (at your option) any later version.
- *
- * 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., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
+ * Copyright (C) 2012 Matthias Braun <matze@braunis.de>
*/
#include <config.h>
case ENTITY_NAMESPACE: return "namespace";
}
- panic("Invalid entity kind encountered in get_entity_kind_name");
+ panic("invalid entity kind");
}
/**
{
static const size_t sizes[] = {
[ENTITY_VARIABLE] = sizeof(variable_t),
- [ENTITY_PARAMETER] = sizeof(parameter_t),
+ [ENTITY_PARAMETER] = sizeof(variable_t),
[ENTITY_COMPOUND_MEMBER] = sizeof(compound_member_t),
[ENTITY_FUNCTION] = sizeof(function_t),
[ENTITY_TYPEDEF] = sizeof(typedef_t),
*
* @param kind the kind of the entity to allocate
*/
-entity_t *allocate_entity_zero(entity_kind_t const kind, entity_namespace_t const namespc, symbol_t *const symbol)
+entity_t *allocate_entity_zero(entity_kind_t const kind, entity_namespace_t const namespc, symbol_t *const symbol, position_t const *const pos)
{
- size_t size = get_entity_struct_size(kind);
- entity_t *entity = allocate_ast_zero(size);
- entity->kind = kind;
- entity->base.namespc = namespc;
- entity->base.symbol = symbol;
+ size_t const size = get_entity_struct_size(kind);
+ entity_t *const entity = allocate_ast_zero(size);
+ entity->kind = kind;
+ entity->base.namespc = namespc;
+ entity->base.symbol = symbol;
+ entity->base.pos = *pos;
return entity;
}