* src/reader.c (copy_action): `buf' is not used.
(parse_skel_decl): Be static.
* src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
* src/options.h (create_long_option_table): Have a real prototype.
* lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
(hash_delete_at): Return const void *.
Adjust casts to preserve the const.
+2001-12-10 Akim Demaille <akim@epita.fr>
+
+ Clean up GCC warnings.
+
+ * src/reader.c (copy_action): `buf' is not used.
+ (parse_skel_decl): Be static.
+ * src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
+ * src/options.h (create_long_option_table): Have a real prototype.
+ * lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
+ (hash_delete_at): Return const void *.
+ Adjust casts to preserve the const.
+
2001-12-10 Akim Demaille <akim@epita.fr>
* configure.in: Require 2.52g.
2001-12-10 Akim Demaille <akim@epita.fr>
* configure.in: Require 2.52g.
/* hash.c -- hash table maintenance
/* hash.c -- hash table maintenance
- Copyright (C) 1995 Free Software Foundation, Inc.
+ Copyright 1995, 2001 Free Software Foundation, Inc.
Written by Greg McGary <gkm@gnu.ai.mit.edu>
This program is free software; you can redistribute it and/or modify
Written by Greg McGary <gkm@gnu.ai.mit.edu>
This program is free software; you can redistribute it and/or modify
return ((HASH_VACANT (*slot)) ? 0 : *slot);
}
return ((HASH_VACANT (*slot)) ? 0 : *slot);
}
hash_insert (struct hash_table* ht, void *item)
{
void **slot = hash_find_slot (ht, item);
return hash_insert_at (ht, item, slot);
}
hash_insert (struct hash_table* ht, void *item)
{
void **slot = hash_find_slot (ht, item);
return hash_insert_at (ht, item, slot);
}
hash_insert_at (struct hash_table* ht, void *item, void const *slot)
{
hash_insert_at (struct hash_table* ht, void *item, void const *slot)
{
- void *old_item = *(void **) slot;
+ const void *old_item = *(const void **) slot;
if (HASH_VACANT (old_item))
{
ht->ht_fill++;
if (HASH_VACANT (old_item))
{
ht->ht_fill++;
hash_delete (struct hash_table* ht, void const *item)
{
void **slot = hash_find_slot (ht, item);
return hash_delete_at (ht, slot);
}
hash_delete (struct hash_table* ht, void const *item)
{
void **slot = hash_find_slot (ht, item);
return hash_delete_at (ht, slot);
}
hash_delete_at (struct hash_table* ht, void const *slot)
{
hash_delete_at (struct hash_table* ht, void const *slot)
{
- void *item = *(void **) slot;
+ const void *item = *(const void **) slot;
if (!HASH_VACANT (item))
{
*(void const **) slot = hash_deleted_item;
if (!HASH_VACANT (item))
{
*(void const **) slot = hash_deleted_item;
/* hash.h -- decls for hash table
/* hash.h -- decls for hash table
- Copyright (C) 1995 Free Software Foundation, Inc.
+ Copyright 1995, 2001 Free Software Foundation, Inc.
Written by Greg McGary <gkm@gnu.ai.mit.edu>
This program is free software; you can redistribute it and/or modify
Written by Greg McGary <gkm@gnu.ai.mit.edu>
This program is free software; you can redistribute it and/or modify
unsigned long cardinality, unsigned long size));
void **hash_find_slot __P((struct hash_table *ht, void const *key));
void *hash_find_item __P((struct hash_table *ht, void const *key));
unsigned long cardinality, unsigned long size));
void **hash_find_slot __P((struct hash_table *ht, void const *key));
void *hash_find_item __P((struct hash_table *ht, void const *key));
-void *hash_insert __P((struct hash_table *ht, void *item));
-void *hash_insert_at __P((struct hash_table *ht, void *item, void const *slot));
-void *hash_delete __P((struct hash_table *ht, void const *item));
-void *hash_delete_at __P((struct hash_table *ht, void const *slot));
+const void *hash_insert __P((struct hash_table *ht, void *item));
+const void *hash_insert_at __P((struct hash_table *ht, void *item, void const *slot));
+const void *hash_delete __P((struct hash_table *ht, void const *item));
+const void *hash_delete_at __P((struct hash_table *ht, void const *slot));
void hash_delete_items __P((struct hash_table *ht));
void hash_free_items __P((struct hash_table *ht));
void hash_free __P((struct hash_table *ht, int free_items));
void hash_delete_items __P((struct hash_table *ht));
void hash_free_items __P((struct hash_table *ht));
void hash_free __P((struct hash_table *ht, int free_items));
void **hash_dump __P((struct hash_table *ht, void **vector_0, qsort_cmp_t compare));
extern void *hash_deleted_item;
void **hash_dump __P((struct hash_table *ht, void **vector_0, qsort_cmp_t compare));
extern void *hash_deleted_item;
-#define HASH_VACANT(item) ((item) == 0 || (void *) (item) == hash_deleted_item)
+#define HASH_VACANT(item) \
+ ((item) == 0 || (const void *) (item) == hash_deleted_item)
\f
/* hash and comparison macros for string keys. */
\f
/* hash and comparison macros for string keys. */
/* Macro table manager for Bison,
/* Macro table manager for Bison,
- Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
+ Copyright 2001 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler.
This file is part of Bison, the GNU Compiler Compiler.
static unsigned long
mhash1 (const void *item)
{
static unsigned long
mhash1 (const void *item)
{
- return_STRING_HASH_1 (((muscle_entry_t *) item)->key);
+ return_STRING_HASH_1 (((const muscle_entry_t *) item)->key);
}
static unsigned long
mhash2 (const void *item)
{
}
static unsigned long
mhash2 (const void *item)
{
- return_STRING_HASH_2 (((muscle_entry_t *) item)->key);
+ return_STRING_HASH_2 (((const muscle_entry_t *) item)->key);
}
static int
mcmp (const void *x, const void *y)
{
}
static int
mcmp (const void *x, const void *y)
{
- return strcmp (((muscle_entry_t*) x)->key, ((muscle_entry_t *) y)->key);
+ return strcmp (((const muscle_entry_t*) x)->key,
+ ((const muscle_entry_t *) y)->key);
muscle_insert ("name", "Parser");
}
muscle_insert ("name", "Parser");
}
muscle_insert (const char *key, const char *value)
{
muscle_entry_t *pair = XMALLOC (muscle_entry_t, 1);
muscle_insert (const char *key, const char *value)
{
muscle_entry_t *pair = XMALLOC (muscle_entry_t, 1);
extern const struct option_table_struct option_table[];
/* Set the longopts variable from option_table. */
extern const struct option_table_struct option_table[];
/* Set the longopts variable from option_table. */
-void create_long_option_table PARAMS (());
+void create_long_option_table PARAMS ((void));
/*---------------------------------.
/*---------------------------------.
-| Parse a double quoted parameter. |
+| Parse a double quoted parameter. |
`---------------------------------*/
static const char *
`---------------------------------*/
static const char *
obstack_1grow (¶m_obstack, '\0');
param = obstack_finish (¶m_obstack);
obstack_1grow (¶m_obstack, '\0');
param = obstack_finish (¶m_obstack);
| Parse what comes after %skeleton. |
`----------------------------------*/
| Parse what comes after %skeleton. |
`----------------------------------*/
parse_skel_decl (void)
{
skeleton = parse_dquoted_param ("%skeleton");
parse_skel_decl (void)
{
skeleton = parse_dquoted_param ("%skeleton");
/* offset is always 0 if parser has already popped the stack pointer */
if (semantic_parser)
/* offset is always 0 if parser has already popped the stack pointer */
if (semantic_parser)