diff options
author | Doug Evans <dje@google.com> | 2009-10-24 00:17:08 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2009-10-24 00:17:08 +0000 |
commit | 4c038a6101747075c53ad1de8d4eb8e79f8c8742 (patch) | |
tree | 47b3f66ed1972b0e9ba4e8290e7c0d354162b11b /include/cgen/bitset.h | |
parent | 060a658fe19b5506bcac41c4207ac92310b2dc8c (diff) | |
download | cygnal-4c038a6101747075c53ad1de8d4eb8e79f8c8742.tar.gz cygnal-4c038a6101747075c53ad1de8d4eb8e79f8c8742.tar.bz2 cygnal-4c038a6101747075c53ad1de8d4eb8e79f8c8742.zip |
cpu/
* m32c.opc (opc.h): cgen-types.h -> cgen/basic-modes.h.
cgen-ops.h -> cgen/basic-ops.h.
include/opcode/
* cgen-bitset.h: Delete, moved to ../cgen/bitset.h.
* cgen.h: Update. Improve multi-inclusion macro name.
include/cgen/
* basic-modes.h: New file. Moved here from opcodes/cgen-types.h.
* basic-ops.h: New file. Moved here from opcodes/cgen-ops.h.
* bitset.h: New file. Moved here from ../opcode/cgen-bitset.h.
Update license to GPL v3.
opcodes/
* cgen-ops.h: Delete, moved to ../include/cgen/basic-ops.h.
* cgen-types.h: Delete, moved to ../include/cgen/basic-modes.h.
* cgen-bitset.c: Update.
* fr30-desc.h: Regenerate.
* frv-desc.h: Regenerate.
* ip2k-desc.h: Regenerate.
* iq2000-desc.h: Regenerate.
* lm32-desc.h: Regenerate.
* m32c-desc.h: Regenerate.
* m32c-opc.h: Regenerate.
* m32r-desc.h: Regenerate.
* mep-desc.h: Regenerate.
* mt-desc.h: Regenerate.
* openrisc-desc.h: Regenerate.
* xc16x-desc.h: Regenerate.
* xstormy16-desc.h: Regenerate.
Diffstat (limited to 'include/cgen/bitset.h')
-rw-r--r-- | include/cgen/bitset.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/include/cgen/bitset.h b/include/cgen/bitset.h new file mode 100644 index 000000000..7a6a99304 --- /dev/null +++ b/include/cgen/bitset.h @@ -0,0 +1,56 @@ +/* Header file the type CGEN_BITSET. + Copyright 2002, 2005, 2009 Free Software Foundation, Inc. + + This file is part of the GNU opcodes library. + + This library 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 3, or (at your option) + any later version. + + It 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 library; see the file COPYING3. If not, write to the + Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA + 02110-1301, USA. */ + +#ifndef CGEN_BITSET_H +#define CGEN_BITSET_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* A bitmask represented as a string. + Each member of the set is represented as a bit + in the string. Bytes are indexed from left to right in the string and + bits from most significant to least within each byte. + + For example, the bit representing member number 6 is (set->bits[0] & 0x02). +*/ +typedef struct cgen_bitset +{ + unsigned length; + char *bits; +} CGEN_BITSET; + +extern CGEN_BITSET *cgen_bitset_create PARAMS ((unsigned)); +extern void cgen_bitset_init PARAMS ((CGEN_BITSET *, unsigned)); +extern void cgen_bitset_clear PARAMS ((CGEN_BITSET *)); +extern void cgen_bitset_add PARAMS ((CGEN_BITSET *, unsigned)); +extern void cgen_bitset_set PARAMS ((CGEN_BITSET *, unsigned)); +extern int cgen_bitset_compare PARAMS ((CGEN_BITSET *, CGEN_BITSET *)); +extern void cgen_bitset_union PARAMS ((CGEN_BITSET *, CGEN_BITSET *, CGEN_BITSET *)); +extern int cgen_bitset_intersect_p PARAMS ((CGEN_BITSET *, CGEN_BITSET *)); +extern int cgen_bitset_contains PARAMS ((CGEN_BITSET *, unsigned)); +extern CGEN_BITSET *cgen_bitset_copy PARAMS ((CGEN_BITSET *)); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif |