diff options
author | spth <spth@4a8a32a2-be11-0410-ad9d-d568d2c75423> | 2022-09-04 09:34:41 +0000 |
---|---|---|
committer | spth <spth@4a8a32a2-be11-0410-ad9d-d568d2c75423> | 2022-09-04 09:34:41 +0000 |
commit | 795fc855af6f2d613af293d5a4dd884310af4f91 (patch) | |
tree | ea7cc71a59e96085f25047468b492930d3ca8c93 /support/cpp/gcc/stringpool.h | |
parent | 24afdd60d4d9994f8f90a25fabe0a030b4ac186e (diff) |
Merge cpp branch to trunk.
git-svn-id: http://svn.code.sourceforge.net/p/sdcc/code/trunk/sdcc@13690 4a8a32a2-be11-0410-ad9d-d568d2c75423
Diffstat (limited to 'support/cpp/gcc/stringpool.h')
-rw-r--r-- | support/cpp/gcc/stringpool.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/support/cpp/gcc/stringpool.h b/support/cpp/gcc/stringpool.h new file mode 100644 index 000000000..5e301c601 --- /dev/null +++ b/support/cpp/gcc/stringpool.h @@ -0,0 +1,43 @@ +/* Declarations and definitons for stringpool.cc. + Copyright (C) 2013-2022 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC 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. + +GCC 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 GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GCC_STRINGPOOL_H +#define GCC_STRINGPOOL_H + +/* Return the (unique) IDENTIFIER_NODE node for a given name. + The name is supplied as a char *. */ +extern tree get_identifier (const char *); + +/* If an identifier with the name TEXT (a null-terminated string) has + previously been referred to, return that node; otherwise return + NULL_TREE. */ +extern tree maybe_get_identifier (const char *); + +/* Identical to get_identifier, except that the length is assumed + known. */ +extern tree get_identifier_with_length (const char *, size_t); + +#if GCC_VERSION >= 3000 +#define get_identifier(str) \ + (__builtin_constant_p (str) \ + ? get_identifier_with_length ((str), strlen (str)) \ + : get_identifier (str)) +#endif + +#endif // GCC_STRINGPOOL_H |