[Preprocessor] small cleanups

https://gcc.gnu.org/ml/gcc-patches/2019-08/msg01904.html
	* directives-only.c (_cpp_preprocess_dir_only): Use false, not
	zero for _cpp_handle_directive call.
	* directives.c (_cpp_handle_directive): Indented is bool.
	* files.c (struct _cpp_file): Make bools 1 bit bitfields.
	* internal.h (enum include_type): Reformat and comment.
	(struct cpp_buffer): Make flags 1 bit bitfields.
	(_cpp_handle_directive): Indented is bool.

From-SVN: r274999
This commit is contained in:
Nathan Sidwell 2019-08-28 18:43:37 +00:00 committed by Nathan Sidwell
parent fc4f90f0c8
commit a0be978a82
5 changed files with 36 additions and 16 deletions

View File

@ -1,3 +1,13 @@
2019-08-28 Nathan Sidwell <nathan@acm.org>
* directives-only.c (_cpp_preprocess_dir_only): Use false, not
zero for _cpp_handle_directive call.
* directives.c (_cpp_handle_directive): Indented is bool.
* files.c (struct _cpp_file): Make bools 1 bit bitfields.
* internal.h (enum include_type): Reformat and comment.
(struct cpp_buffer): Make flags 1 bit bitfields.
(_cpp_handle_directive): Indented is bool.
2019-07-09 Martin Sebor <msebor@redhat.com>
* include/line-map.h: Change class-key from class to struct and vice

View File

@ -101,7 +101,7 @@ _cpp_preprocess_dir_only (cpp_reader *pfile,
/* Ensure proper column numbering for generated error messages. */
buffer->line_base -= col - 1;
_cpp_handle_directive (pfile, 0 /* ignore indented */);
_cpp_handle_directive (pfile, false /* ignore indented */);
/* Sanitize the line settings. Duplicate #include's can mess
things up. */

View File

@ -406,13 +406,13 @@ directive_diagnostics (cpp_reader *pfile, const directive *dir, int indented)
}
}
/* Check if we have a known directive. INDENTED is nonzero if the
/* Check if we have a known directive. INDENTED is true if the
'#' of the directive was indented. This function is in this file
to save unnecessarily exporting dtable etc. to lex.c. Returns
nonzero if the line of tokens has been handled, zero if we should
continue processing the line. */
int
_cpp_handle_directive (cpp_reader *pfile, int indented)
_cpp_handle_directive (cpp_reader *pfile, bool indented)
{
const directive *dir = 0;
const cpp_token *dname;

View File

@ -98,19 +98,19 @@ struct _cpp_file
unsigned short stack_count;
/* If opened with #import or contains #pragma once. */
bool once_only;
bool once_only : 1;
/* If read() failed before. */
bool dont_read;
bool dont_read : 1;
/* If this file is the main file. */
bool main_file;
bool main_file : 1;
/* If BUFFER above contains the true contents of the file. */
bool buffer_valid;
bool buffer_valid : 1;
/* If this file is implicitly preincluded. */
bool implicit_preinclude;
bool implicit_preinclude : 1;
};
/* A singly-linked list for all searches for a given file name, with

View File

@ -113,7 +113,17 @@ extern unsigned char *_cpp_unaligned_alloc (cpp_reader *, size_t);
#define BUFF_LIMIT(BUFF) ((BUFF)->limit)
/* #include types. */
enum include_type {IT_INCLUDE, IT_INCLUDE_NEXT, IT_IMPORT, IT_CMDLINE, IT_DEFAULT};
enum include_type
{
/* Directive-based including mechanisms. */
IT_INCLUDE, /* #include */
IT_INCLUDE_NEXT, /* #include_next */
IT_IMPORT, /* #import */
/* Non-directive including mechanisms. */
IT_CMDLINE, /* -include */
IT_DEFAULT, /* forced header */
};
union utoken
{
@ -327,23 +337,23 @@ struct cpp_buffer
struct if_stack *if_stack;
/* True if we need to get the next clean line. */
bool need_line;
bool need_line : 1;
/* True if we have already warned about C++ comments in this file.
The warning happens only for C89 extended mode with -pedantic on,
or for -Wtraditional, and only once per file (otherwise it would
be far too noisy). */
unsigned int warned_cplusplus_comments : 1;
bool warned_cplusplus_comments : 1;
/* True if we don't process trigraphs and escaped newlines. True
for preprocessed input, command line directives, and _Pragma
buffers. */
unsigned int from_stage3 : 1;
bool from_stage3 : 1;
/* At EOF, a buffer is automatically popped. If RETURN_AT_EOF is
true, a CPP_EOF token is then returned. Otherwise, the next
token from the enclosing buffer is returned. */
unsigned int return_at_eof : 1;
bool return_at_eof : 1;
/* One for a system header, two for a C system header file that therefore
needs to be extern "C" protected in C++, and zero otherwise. */
@ -419,13 +429,13 @@ struct cpp_reader
/* This is the node representing the macro being expanded at
top-level. The value of this data member is valid iff
in_macro_expansion_p() returns TRUE. */
cpp_in_macro_expansion_p() returns TRUE. */
cpp_hashnode *top_most_macro_node;
/* Nonzero if we are about to expand a macro. Note that if we are
really expanding a macro, the function macro_of_context returns
the macro being expanded and this flag is set to false. Client
code should use the function in_macro_expansion_p to know if we
code should use the function cpp_in_macro_expansion_p to know if we
are either about to expand a macro, or are actually expanding
one. */
bool about_to_expand_macro_p;
@ -711,7 +721,7 @@ extern const char *cpp_named_operator2name (enum cpp_ttype type);
/* In directives.c */
extern int _cpp_test_assertion (cpp_reader *, unsigned int *);
extern int _cpp_handle_directive (cpp_reader *, int);
extern int _cpp_handle_directive (cpp_reader *, bool);
extern void _cpp_define_builtin (cpp_reader *, const char *);
extern char ** _cpp_save_pragma_names (cpp_reader *);
extern void _cpp_restore_pragma_names (cpp_reader *, char **);