OSDN Git Service

1998-12-15 Zack Weinberg <zack@rabi.phys.columbia.edu>
authorbrolley <brolley@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Dec 1998 11:09:16 +0000 (11:09 +0000)
committerbrolley <brolley@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Dec 1998 11:09:16 +0000 (11:09 +0000)
commit69bcbfc6334f2ec547116352fd09d69f83a39880
tree8508da5ca527221e1e8d149486ecce4965c7bc0e
parent7e6b5a2a2e556581c915c8bf72323e88b8086193
1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
* cpphash.h (union hash_value): Remove `keydef' member, add a
          `struct hashnode *aschain' member for #assert.
  * cpplib.c (struct tokenlist_list, struct
          assertion_hashnode): Delete structure definitions.
          (assertion_install, assertion_lookup, delete_assertion,
          check_assertion, compare_token_lists, reverse_token_list,
          read_token_list, free_token_list): Delete functions.
          (parse_assertion): New function.
  (cpp_cleanup): Don't destroy the assertion_hashtable.
          (do_assert): Gut and rewrite.  #assert foo (bar) places
          entries for `#foo' and `#foo(bar)' in the macro hash table,
          type T_ASSERT.  The value union's `aschain' member is used
          to chain all answers for a given predicate together.
          (do_unassert): Also rewritten.  Take an un-asserted
          answer off the chain from its predicate and call
          delete_macro on the hashnode, or walk a predicate chain
          calling delete_macro on all the entries.
          (cpp_read_check_assertion): Simply call parse_assertion to
          get the canonical assertion name, and look that up in the
          hash table.
* cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
  Removed.
* cpphash.c (install): Use bcopy instead of an explicit loop
          to copy the macro name.
* cppexp.c (cpp_lex): Convert the result of
          cpp_read_check_assertion to a `struct operation' directly;
          don't go through parse_number.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24325 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/cppexp.c
gcc/cpphash.c
gcc/cpphash.h
gcc/cpplib.c
gcc/cpplib.h