preprocessor: Random cleanups
This fixes a bunch of poorly formatted decls, marks some getters as PURE, deletes some C-relevant bool hackery, and finally uses a passed-in location rather than deducing a closely-related but not necessarily the same location. * include/cpplib.h (cpp_get_otions, cpp_get_callbacks) (cpp_get_deps): Mark as PURE. * include/line-map.h (get_combined_adhoc_loc) (get_location_from_adhoc_loc, get_pure_location): Reformat decls. * internal.h (struct lexer_state): Clarify comment. * system.h: Remove now-unneeded bool hackery. * files.c (_cpp_find_file): Store LOC not highest_location.
This commit is contained in:
parent
98452668d3
commit
7cf3f604fb
@ -1,5 +1,13 @@
|
||||
2020-05-18 Nathan Sidwell <nathan@acm.org>
|
||||
|
||||
* include/cpplib.h (cpp_get_otions, cpp_get_callbacks)
|
||||
(cpp_get_deps): Mark as PURE.
|
||||
* include/line-map.h (get_combined_adhoc_loc)
|
||||
(get_location_from_adhoc_loc, get_pure_location): Reformat decls.
|
||||
* internal.h (struct lexer_state): Clarify comment.
|
||||
* system.h: Remove now-unneeded bool hackery.
|
||||
* files.c (_cpp_find_file): Store LOC not highest_location.
|
||||
|
||||
PR preprocessor/95149
|
||||
* lex.c (struct lit_accum): New.
|
||||
(bufring_append): Replace by lit_accum::append.
|
||||
|
@ -635,7 +635,7 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir,
|
||||
entry = new_file_hash_entry (pfile);
|
||||
entry->next = (struct cpp_file_hash_entry *) *hash_slot;
|
||||
entry->start_dir = start_dir;
|
||||
entry->location = pfile->line_table->highest_location;
|
||||
entry->location = loc;
|
||||
entry->u.file = file;
|
||||
*hash_slot = (void *) entry;
|
||||
|
||||
@ -648,7 +648,7 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir,
|
||||
entry = new_file_hash_entry (pfile);
|
||||
entry->next = (struct cpp_file_hash_entry *) *hash_slot;
|
||||
entry->start_dir = pfile->bracket_include;
|
||||
entry->location = pfile->line_table->highest_location;
|
||||
entry->location = loc;
|
||||
entry->u.file = file;
|
||||
*hash_slot = (void *) entry;
|
||||
}
|
||||
@ -659,7 +659,7 @@ _cpp_find_file (cpp_reader *pfile, const char *fname, cpp_dir *start_dir,
|
||||
entry = new_file_hash_entry (pfile);
|
||||
entry->next = (struct cpp_file_hash_entry *) *hash_slot;
|
||||
entry->start_dir = pfile->quote_include;
|
||||
entry->location = pfile->line_table->highest_location;
|
||||
entry->location = loc;
|
||||
entry->u.file = file;
|
||||
*hash_slot = (void *) entry;
|
||||
}
|
||||
|
@ -969,10 +969,10 @@ extern void cpp_set_include_chains (cpp_reader *, cpp_dir *, cpp_dir *, int);
|
||||
call cpp_finish on that reader. You can either edit the callbacks
|
||||
through the pointer returned from cpp_get_callbacks, or set them
|
||||
with cpp_set_callbacks. */
|
||||
extern cpp_options *cpp_get_options (cpp_reader *);
|
||||
extern cpp_callbacks *cpp_get_callbacks (cpp_reader *);
|
||||
extern cpp_options *cpp_get_options (cpp_reader *) ATTRIBUTE_PURE;
|
||||
extern cpp_callbacks *cpp_get_callbacks (cpp_reader *) ATTRIBUTE_PURE;
|
||||
extern void cpp_set_callbacks (cpp_reader *, cpp_callbacks *);
|
||||
extern class mkdeps *cpp_get_deps (cpp_reader *);
|
||||
extern class mkdeps *cpp_get_deps (cpp_reader *) ATTRIBUTE_PURE;
|
||||
|
||||
/* This function reads the file, but does not start preprocessing. It
|
||||
returns the name of the original file; this is the same as the
|
||||
|
@ -1024,13 +1024,11 @@ LINEMAPS_LAST_ALLOCATED_MACRO_MAP (const line_maps *set)
|
||||
return (line_map_macro *)LINEMAPS_LAST_ALLOCATED_MAP (set, true);
|
||||
}
|
||||
|
||||
extern location_t get_combined_adhoc_loc (class line_maps *,
|
||||
location_t,
|
||||
source_range,
|
||||
void *);
|
||||
extern location_t get_combined_adhoc_loc (line_maps *, location_t,
|
||||
source_range, void *);
|
||||
extern void *get_data_from_adhoc_loc (const line_maps *, location_t);
|
||||
extern location_t get_location_from_adhoc_loc (const line_maps *,
|
||||
location_t);
|
||||
location_t);
|
||||
|
||||
extern source_range get_range_from_loc (line_maps *set, location_t loc);
|
||||
|
||||
@ -1043,8 +1041,7 @@ pure_location_p (line_maps *set, location_t loc);
|
||||
/* Given location LOC within SET, strip away any packed range information
|
||||
or ad-hoc information. */
|
||||
|
||||
extern location_t get_pure_location (line_maps *set,
|
||||
location_t loc);
|
||||
extern location_t get_pure_location (line_maps *set, location_t loc);
|
||||
|
||||
/* Combine LOC and BLOCK, giving a combined adhoc location. */
|
||||
|
||||
|
@ -275,7 +275,7 @@ struct lexer_state
|
||||
/* Nonzero to skip evaluating part of an expression. */
|
||||
unsigned int skip_eval;
|
||||
|
||||
/* Nonzero when handling a deferred pragma. */
|
||||
/* Nonzero when tokenizing a deferred pragma. */
|
||||
unsigned char in_deferred_pragma;
|
||||
|
||||
/* Nonzero if the deferred pragma being handled allows macro expansion. */
|
||||
|
@ -422,26 +422,6 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
|
||||
#define gcc_checking_assert(EXPR) ((void)(0 && (EXPR)))
|
||||
#endif
|
||||
|
||||
/* Provide a fake boolean type. We make no attempt to use the
|
||||
C99 _Bool, as it may not be available in the bootstrap compiler,
|
||||
and even if it is, it is liable to be buggy.
|
||||
This must be after all inclusion of system headers, as some of
|
||||
them will mess us up. */
|
||||
#undef bool
|
||||
#undef true
|
||||
#undef false
|
||||
#undef TRUE
|
||||
#undef FALSE
|
||||
|
||||
#ifndef __cplusplus
|
||||
#define bool unsigned char
|
||||
#endif
|
||||
#define true 1
|
||||
#define false 0
|
||||
|
||||
/* Some compilers do not allow the use of unsigned char in bitfields. */
|
||||
#define BOOL_BITFIELD unsigned int
|
||||
|
||||
/* Poison identifiers we do not want to use. */
|
||||
#if (GCC_VERSION >= 3000)
|
||||
#undef calloc
|
||||
|
Loading…
Reference in New Issue
Block a user