1  /* Support for suggestions about missing #include directives.
       2     Copyright (C) 2017-2023 Free Software Foundation, Inc.
       3  
       4  This file is part of GCC.
       5  
       6  GCC is free software; you can redistribute it and/or modify it under
       7  the terms of the GNU General Public License as published by the Free
       8  Software Foundation; either version 3, or (at your option) any later
       9  version.
      10  
      11  GCC is distributed in the hope that it will be useful, but WITHOUT ANY
      12  WARRANTY; without even the implied warranty of MERCHANTABILITY or
      13  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
      14  for more details.
      15  
      16  You should have received a copy of the GNU General Public License
      17  along with GCC; see the file COPYING3.  If not see
      18  <http://www.gnu.org/licenses/>.  */
      19  
      20  #ifndef GCC_KNOWN_HEADERS_H
      21  #define GCC_KNOWN_HEADERS_H
      22  
      23  extern const char *get_c_stdlib_header_for_name (const char *name);
      24  extern const char *get_cp_stdlib_header_for_name (const char *name);
      25  
      26  extern const char *get_c_stdlib_header_for_string_macro_name (const char *n);
      27  extern const char *get_cp_stdlib_header_for_string_macro_name (const char *n);
      28  
      29  /* Subclass of deferred_diagnostic for suggesting to the user
      30     that they have missed a #include.  */
      31  
      32  class suggest_missing_header : public deferred_diagnostic
      33  {
      34   public:
      35    suggest_missing_header (location_t loc, const char *name,
      36  			  const char *header_hint);
      37    ~suggest_missing_header ();
      38  
      39   private:
      40    const char *m_name_str;
      41    const char *m_header_hint;
      42  };
      43  
      44  #endif /* GCC_KNOWN_HEADERS_H */