Home | History | Annotate | Line # | Download | only in analyzer
      1      1.1  mrg /* Sets of function names.
      2  1.1.1.2  mrg    Copyright (C) 2019-2022 Free Software Foundation, Inc.
      3      1.1  mrg    Contributed by David Malcolm <dmalcolm (at) redhat.com>.
      4      1.1  mrg 
      5      1.1  mrg This file is part of GCC.
      6      1.1  mrg 
      7      1.1  mrg GCC is free software; you can redistribute it and/or modify it
      8      1.1  mrg under the terms of the GNU General Public License as published by
      9      1.1  mrg the Free Software Foundation; either version 3, or (at your option)
     10      1.1  mrg any later version.
     11      1.1  mrg 
     12      1.1  mrg GCC is distributed in the hope that it will be useful, but
     13      1.1  mrg WITHOUT ANY WARRANTY; without even the implied warranty of
     14      1.1  mrg MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     15      1.1  mrg General Public License for more details.
     16      1.1  mrg 
     17      1.1  mrg You should have received a copy of the GNU General Public License
     18      1.1  mrg along with GCC; see the file COPYING3.  If not see
     19      1.1  mrg <http://www.gnu.org/licenses/>.  */
     20      1.1  mrg 
     21      1.1  mrg #ifndef GCC_ANALYZER_FUNCTION_SET_H
     22      1.1  mrg #define GCC_ANALYZER_FUNCTION_SET_H
     23      1.1  mrg 
     24      1.1  mrg namespace ana {
     25      1.1  mrg 
     26      1.1  mrg /* A set of names.  */
     27      1.1  mrg 
     28      1.1  mrg class function_set
     29      1.1  mrg {
     30      1.1  mrg public:
     31      1.1  mrg   /* Construct from a sorted array NAMES of size COUNT.  */
     32      1.1  mrg   function_set (const char * const *names, size_t count)
     33      1.1  mrg   : m_names (names), m_count (count)
     34      1.1  mrg   {
     35      1.1  mrg   }
     36      1.1  mrg 
     37      1.1  mrg   bool contains_name_p (const char *name) const;
     38      1.1  mrg   bool contains_decl_p (tree fndecl) const;
     39      1.1  mrg 
     40      1.1  mrg   void assert_sorted () const;
     41      1.1  mrg   void assert_sane () const;
     42      1.1  mrg 
     43      1.1  mrg private:
     44      1.1  mrg   const char * const *m_names; // must be sorted
     45      1.1  mrg   size_t m_count;
     46      1.1  mrg };
     47      1.1  mrg 
     48      1.1  mrg } // namespace ana
     49      1.1  mrg 
     50      1.1  mrg #endif /* GCC_ANALYZER_FUNCTION_SET_H */
     51