Wolfgang Thallergcc16 merge934c3885 months agoHistory
9004 lines · 320.9 KB · Text
RawDownload
2026-04-30  Release Manager 	* GCC 16.1.0 released. 2026-04-21  Marek Polacek  <polacek@redhat.com> 	PR preprocessor/124930	* charset.cc (_cpp_destroy_iconv): Correct two calls to	iconv_close. 2026-03-19  Nathaniel Shead  <nathanieloshead@gmail.com> 	PR c++/124466	* line-map.cc (linemap_location_from_module_p): Resolve loc in	case it's a macro location. 2026-03-13  Jakub Jelinek  <jakub@redhat.com> 	PR preprocessor/105412	* files.cc (_cpp_stack_file): Call deps_add_dep even on	empty file path.	* mkdeps.cc (class mkdeps): Add first_phony_dep member.	(mkdeps::mkdeps ()): Initialize it to 1.	(deps_add_dep): When called first with "" argument, decrease	d->first_phony_dep to 0.	(make_write): For -MP iterate from d->first_phony_dep	rather than 1. 2026-02-22  Nathaniel Shead  <nathanieloshead@gmail.com> 	PR c++/124153	* lex.cc (cpp_maybe_module_directive): Set in_deferred_pragma	and eol when we see an unexpected CPP_PRAGMA_EOL. 2026-02-22  Nathaniel Shead  <nathanieloshead@gmail.com> 	PR c++/119756	* files.cc (search_path_head): Also treat empty string (stdin)	as an absolute path. 2026-01-30  Jakub Jelinek  <jakub@redhat.com> 	PR preprocessor/123273	* lex.cc (cpp_directive_only_process): Only go to done_comment	for '/' if star is true and esc is false.  When seeing '\\' with	esc set to true, clear esc as well as star instead of keeping esc	set. 2026-01-15  Marek Polacek  <polacek@redhat.com>	    Jakub Jelinek  <jakub@redhat.com> 	PR c++/120775	PR c++/123081	PR c++/122634	* charset.cc (_cpp_destroy_iconv): Destroy narrow_cset_desc and	utf8_cset_desc.	(cpp_translate_string): New.	(cpp_valid_identifier): New.	* include/cpplib.h: Add OPEN_SPLICE, CLOSE_SPLICE, and REFLECT_OP to	TTYPE_TABLE.	(cpp_translate_string): Declare.	(cpp_valid_identifier): Declare.	* internal.h (struct cpp_reader): Add reverse_narrow_cset_desc and	reverse_utf8_cset_desc fields.	* lex.cc (_cpp_lex_direct): Emit CPP_CLOSE_SPLICE, CPP_REFLECT_OP,	and CPP_OPEN_SPLICE tokens. 2026-01-09  Ben Boeckel  <ben.boeckel@kitware.com> 	* configure: Regenerate.	* configure.ac: Replace gcc-bugs@ with bug reporting link. 2025-12-10  Jason Merrill  <jason@redhat.com> 	* include/cpplib.h (struct cpp_callbacks): Replace 'path' parameter	with file, angle_brackets, and alternate name.	(cpp_get_name): Declare.	* files.cc (cpp_get_name): New.	(_cpp_stack_include, _cpp_post_stack_file, _cpp_stack_file)	(_cpp_stack_translated_file): Refactor, try alternate file. 2025-12-07  Jason Merrill  <jason@redhat.com> 	* include/cpplib.h (cpp_get_path, cpp_get_dir): Remove.	(_cpp_get_file_path, _cpp_get_file_name, _cpp_get_file_stat)	(_cpp_get_file_dir): Move prototypes from...	* internal.h: ...here.	* files.cc (_cpp_get_file_path): Rename from...	(cpp_get_path): ...this.	(cpp_get_dir): Remove. 2025-11-10  Jakub Jelinek  <jakub@redhat.com> 	* directives.cc: Implement CWG3053.	(do_undef): Don't pedwarn or warn about #undef likely or #undef	unlikely. 2025-11-10  Lewis Hyatt  <lhyatt@gmail.com> 	PR preprocessor/105608	* include/line-map.h: Add new member CMDLINE_LOCATION.	* lex.cc (get_location_for_byte_range_in_cur_line): Do not expand	the token location to include range information if token location	override was requested.	(warn_about_normalization): Likewise.	(_cpp_lex_direct): Likewise.	* pch.cc (struct saved_macro): New local struct.	(struct save_macro_data): Change DEFNS vector to hold saved_macro	rather than uchar*.	(save_macros): Adapt to remember the location information for each	saved macro in addition to the definition.	(cpp_prepare_state): Likewise.	(cpp_read_state): Use the saved location information to generate	proper locations for the restored macros. 2025-10-13  Pierre Marie de Rodat  <derodat@adacore.com> 	* init.cc (read_original_directory): Attempt to decode escape	sequences with cpp_interpret_string_notranslate. 2025-10-08  Jakub Jelinek  <jakub@redhat.com> 	* makeucnid.cc (write_copyright): Adjust copyright year.	* makeuname2c.cc (generated_ranges): Adjust end points for a couple	of ranges based on UnicodeData.txt Last changes and add a whole new	CJK UNIFIED IDEOGRAPH- entry.  None of these changes are in the 4-8	table, but clearly it has just been forgotten.	(write_copyright): Adjust copyright year.	(write_dict): Fix up condition when to print semicolon.	* generated_cpp_wcwidth.h: Regenerate.	* ucnid.h: Regenerate.	* uname2c.h: Regenerate. 2025-09-23  David Malcolm  <dmalcolm@redhat.com> 	PR diagnostics/121986	* include/rich-location.h (fixit_hint::deletion_p): New accessor.	(fixit_hint::replacement_p): New accessor. 2025-09-18  David Malcolm  <dmalcolm@redhat.com> 	* include/line-map.h (enum location_aspect): Convert to...	(enum class location_aspect): ...this.	* line-map.cc: Update for conversion of location_aspect to enum	class. 2025-09-01  Jakub Jelinek  <jakub@redhat.com> 	* macro.cc: Implement C2Y N3457 - The __COUNTER__ predefined macro.	(_cpp_builtin_macro_text): Diagnose if __COUNTER__ reaches	2147483648 value. 2025-08-15  Jakub Jelinek  <jakub@redhat.com> 	PR preprocessor/120778	PR target/121520	* include/cpplib.h (struct cpp_options): Add	suppress_builtin_macro_warnings member.	(cpp_warn): New inline functions.	* init.cc (cpp_create_reader): Clear suppress_builtin_macro_warnings.	(cpp_init_builtins): Call cpp_warn on __cplusplus, __STDC__,	__STDC_VERSION__, __STDC_MB_MIGHT_NEQ_WC__ and	__STDCPP_STRICT_POINTER_SAFETY__ when appropriate.	* directives.cc (do_undef): Warn on undefining NODE_WARN macros if	not cpp_keyword_p.  Don't emit any NODE_WARN related diagnostics	if CPP_OPTION (pfile, suppress_builtin_macro_warnings).	(cpp_define, _cpp_define_builtin, cpp_undef): Temporarily set	CPP_OPTION (pfile, suppress_builtin_macro_warnings) around	run_directive calls.	* macro.cc (_cpp_create_definition): Warn on defining NODE_WARN	macros if they weren't previously defined and not cpp_keyword_p.	Ignore NODE_WARN for diagnostics if	CPP_OPTION (pfile, suppress_builtin_macro_warnings). 2025-08-10  H.J. Lu  <hjl.tools@gmail.com> 	* configure: Regenerated. 2025-08-07  Jakub Jelinek  <jakub@redhat.com> 	PR preprocessor/120778	* include/cpplib.h (struct cpp_options): Add cpp_warn_keyword_macro.	(enum cpp_warning_reason): Add CPP_W_KEYWORD_MACRO enumerator.	(cpp_keyword_p): New inline function.	* directives.cc (do_undef): Support -Wkeyword-macro diagnostics.	* macro.cc (warn_of_redefinition): Ignore NODE_WARN flag on nodes	registered for -Wkeyword-macro.	(_cpp_create_definition): Support -Wkeyword-macro diagnostics.	Formatting fixes. 2025-08-05  Jakub Jelinek  <jakub@redhat.com> 	PR preprocessor/120778	* macro.cc (paste_tokens): Use %< and %> instead of \" in	diagnostics around %.*s. 2025-08-04  Jakub Jelinek  <jakub@redhat.com> 	PR preprocessor/120778	* macro.cc (stringify_arg): For C++26 emit a pedarn instead of warning	for \ at the end of stringification. 2025-08-03  Jakub Jelinek  <jakub@redhat.com> 	PR c++/120845	* lex.cc (cpp_maybe_module_directive): Move eol variable declaration	to the start of the function, initialize to false and only set it to	peek->type == CPP_PRAGMA_EOL in the not_module case.  Formatting fix. 2025-07-30  Jakub Jelinek  <jakub@redhat.com> 	PR c++/120778	* internal.h (struct lexer_state): Add comma_ok member.	* expr.cc (_cpp_parse_expr): Initialize it to 0, increment on	CPP_OPEN_PAREN and CPP_QUERY, decrement on CPP_CLOSE_PAREN	and CPP_COLON.	(num_binary_op): For C++ pedwarn on comma operator if	pfile->state.comma_ok is 0 instead of !c99 or skip_eval. 2025-07-25  David Malcolm  <dmalcolm@redhat.com> 	* charset.cc: Update comment for file rename. 2025-07-25  David Malcolm  <dmalcolm@redhat.com> 	* internal.h: Update comment for diagnostic_t becoming	enum class diagnostics::kind. 2025-07-25  David Malcolm  <dmalcolm@redhat.com> 	* include/cpplib.h: Update for moves to "source-printing".	* include/rich-location.h (class label_effects): Move to...	(class diagnostics::label_effects): ...here. 2025-07-25  David Malcolm  <dmalcolm@redhat.com> 	* include/rich-location.h: Replace diagnostic_path with	diagnostics::paths::path. 2025-06-17  Jason Merrill  <jason@redhat.com> 	* line-map.cc (linemap_location_from_module_p): Add.	* include/line-map.h: Declare it. 2025-06-11  David Malcolm  <dmalcolm@redhat.com> 	PR other/116792	* include/line-map.h (typedef expanded_location): Convert to...	(struct expanded_location): ...this.	(operator==): New decl, for expanded_location.	(operator!=): Likewise.	* line-map.cc (operator==): New decl, for expanded_location. 2025-05-07  Jakub Jelinek  <jakub@redhat.com> 	PR preprocessor/108900	PR preprocessor/116047	PR preprocessor/120061	* files.cc (_cpp_stack_file): Revert 2025-03-28 change.	* line-map.cc (linemap_add): Use	SOURCE_LINE (from, linemap_included_from (map - 1)) + 1; instead of	SOURCE_LINE (from, from[1].start_location); to compute to_line	for LC_LEAVE.  For LC_ENTER included_from computation, look at	map[-2] or even lower if map[-1] has the same start_location as	map[0]. 2025-04-28  Lewis Hyatt  <lhyatt@gmail.com> 	PR c/118838	* errors.cc (cpp_get_diagnostic_override_loc): New function.	* include/cpplib.h (cpp_get_diagnostic_override_loc): Declare. 2025-04-24  Jakub Jelinek  <jakub@redhat.com> 	PR c++/110343	* lex.cc (lex_raw_string): For C allow $@` in raw string delimiters	if CPP_OPTION (pfile, low_ucns) i.e. for C23 and later. 2025-04-09  Jakub Jelinek  <jakub@redhat.com> 	PR preprocessor/118674	* macro.cc (parse_params) <case CPP_ELLIPSIS>: If _cpp_save_parameter	failed for __VA_ARGS__, goto out. 2025-04-04  Jakub Jelinek  <jakub@redhat.com> 	PR preprocessor/119391	* expr.cc (num_lshift): Add pfile argument.  Don't set num.overflow	for !num.unsignedp in C++20 or later unless n >= precision.  For	C++11 to C++17 set it if orig >> (precision - 1 - n) as logical	shift results in value > 1.	(num_binary_op): Pass pfile to num_lshift.	(num_div_op): Likewise. 2025-03-28  Jeremy Bettis  <jbettis@google.com> 	PR preprocessor/108900	* files.cc (_cpp_stack_file): Do not decrement highest_location	across distinct maps. 2025-03-27  Roland McGrath  <mcgrathr@google.com> 	* configure.ac: Check for setlocale.	* configure, config.in: Regenerated. 2025-03-12  Jakub Jelinek  <jakub@redhat.com> 	PR preprocessor/119202	* charset.cc (convert_oct): Fix up typo in diagnostics about \o	not followed by {. 2025-02-28  Jakub Jelinek  <jakub@redhat.com> 	* include/cpplib.h (enum cpp_warning_reason): Add	CPP_W_CXX26_EXTENSIONS enumerator.	* init.cc (lang_defaults): Set embed for GNUCXX26 and CXX26.	* directives.cc (do_embed): Adjust pedwarn wording for embed in C++,	use cpp_pedwarning instead of cpp_error and add CPP_W_C11_C23_COMPAT	warning of cpp_pedwarning hasn't diagnosed anything. 2024-12-24  Lewis Hyatt  <lhyatt@gmail.com> 	* macro.cc (tokens_buff_new): Fix length argument to XNEWVEC. 2024-12-08  Lewis Hyatt  <lhyatt@gmail.com> 	* include/cpplib.h (struct cpp_token): Adjust comment about the	struct size.	* include/line-map.h (location_t): Change typedef from 32-bit to 64-bit	integer.	(LINE_MAP_MAX_COLUMN_NUMBER): Increase size to be appropriate for	64-bit location_t.	(LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): Likewise.	(LINE_MAP_MAX_LOCATION_WITH_COLS): Likewise.	(LINE_MAP_MAX_LOCATION): Likewise.	(MAX_LOCATION_T): Likewise.	(line_map_suggested_range_bits): Likewise.	(struct line_map): Adjust comment about the struct size.	(struct line_map_macro): Likewise.	(struct line_map_ordinary): Likewise. Rearrange fields to optimize	padding. 2024-12-06  Jakub Jelinek  <jakub@redhat.com> 	* files.cc (finish_embed): Use CPP_EMBED even for C++. 2024-12-03  Joseph Myers  <josmyers@redhat.com> 	PR c/117162	* include/cpplib.h (struct cpp_options): Add low_ucns.	* init.cc (struct lang_flags, lang_defaults): Add low_ucns.	(cpp_set_lang): Set low_ucns	* charset.cc (_cpp_valid_ucn): For C, allow UCNs below 0xa0	outside identifiers, with a pedwarn if pedantic before C23 or a	warning with -Wc11-c23-compat.  Do not allow \u0024 in identifiers	for C23. 2024-11-28  David Malcolm  <dmalcolm@redhat.com> 	PR c/104896	* pch.cc (cpp_valid_state): Replace "%<%s%>" with "%qs" in message	wording. 2024-11-27  Jason Merrill  <jason@redhat.com> 	* files.cc (_cpp_stack_file): Handle -include of header unit more	specially. 2024-11-23  Lewis Hyatt  <lhyatt@gmail.com> 	PR preprocessor/117118	* lex.cc (lex_raw_string): Treat an unterminated raw string the same	way for a deferred pragma as is done for other directives. 2024-11-23  Lewis Hyatt  <lhyatt@gmail.com> 	* lex.cc (_cpp_commit_buff): Make sure that the buffer is properly	aligned for the next allocation.	* internal.h (struct dummy): Make sure alignment is large enough for	a location_t, just in case. 2024-11-23  Lewis Hyatt  <lhyatt@gmail.com> 	* include/line-map.h (line_map_uint_t): New typedef, the same type	as location_t.	(location_diff_t): New typedef.	(line_map_suggested_range_bits): New constant.	(struct maps_info_ordinary): Change member types from "unsigned int"	to "line_map_uint_t".	(struct maps_info_macro): Likewise.	(struct location_adhoc_data_map): Likewise.	(LINEMAPS_ALLOCATED): Change return type from "unsigned int" to	"line_map_uint_t".	(LINEMAPS_ORDINARY_ALLOCATED): Likewise.	(LINEMAPS_MACRO_ALLOCATED): Likewise.	(LINEMAPS_USED): Likewise.	(LINEMAPS_ORDINARY_USED): Likewise.	(LINEMAPS_MACRO_USED): Likewise.	(linemap_lookup_macro_index): Likewise.	(LINEMAPS_MAP_AT): Change argument type from "unsigned int" to	"line_map_uint_t".	(LINEMAPS_ORDINARY_MAP_AT): Likewise.	(LINEMAPS_MACRO_MAP_AT): Likewise.	(line_map_new_raw): Likewise.	(linemap_module_restore): Likewise.	(linemap_dump): Likewise.	(line_table_dump): Likewise.	(LINEMAPS_LAST_MAP): Add a linemap_assert() for safety.	(SOURCE_COLUMN): Use a cast to ensure correctness if location_t	becomes a 64-bit type.	* line-map.cc (location_adhoc_data_hash): Don't truncate to 32-bit	prematurely when hashing.	(line_maps::get_or_create_combined_loc): Adapt types to support	potentially 64-bit location_t. Use MAX_LOCATION_T rather than a	hard-coded constant.	(line_maps::get_range_from_loc): Adapt types and constants to	support potentially 64-bit location_t.	(line_maps::pure_location_p): Likewise.	(line_maps::get_pure_location): Likewise.	(line_map_new_raw): Likewise.	(LAST_SOURCE_LINE_LOCATION): Likewise.	(linemap_add): Likewise.	(linemap_module_restore): Likewise.	(linemap_line_start): Likewise.	(linemap_position_for_column): Likewise.	(linemap_position_for_line_and_column): Likewise.	(linemap_position_for_loc_and_offset): Likewise.	(linemap_ordinary_map_lookup): Likewise.	(linemap_lookup_macro_index): Likewise.	(linemap_dump): Likewise.	(linemap_dump_location): Likewise.	(linemap_get_file_highest_location): Likewise.	(line_table_dump): Likewise.	(linemap_compare_locations): Avoid signed int overflow in the result.	* macro.cc (num_expanded_macros_counter): Change type of global	variable from "unsigned int" to "line_map_uint_t".	(num_macro_tokens_counter): Likewise. 2024-11-18  Jason Merrill  <jason@redhat.com> 	* internal.h (_cpp_get_file_dir): Declare.	* files.cc (_cpp_get_file_dir): New fn.	* mkdeps.cc (make_write): Use it. 2024-11-17  Jason Merrill  <jason@redhat.com> 	* internal.h (search_path_head): Declare.	* files.cc (search_path_head): No longer static.	* init.cc (cpp_read_main_file): Use it. 2024-11-15  Jakub Jelinek  <jakub@redhat.com> 	* expr.cc (interpret_float_suffix): Handle d64x and D64x	suffixes, adjust comment. 2024-11-13  Jakub Jelinek  <jakub@redhat.com> 	* expr.cc (interpret_float_suffix): Handle d32 and D32 suffixes	for C like df, d64 and D64 like dd and d128 and D128 like	dl. 2024-11-13  Jakub Jelinek  <jakub@redhat.com> 	PR c/117029	* include/cpplib.h (struct cpp_options): Add imaginary_constants	member.	* init.cc (struct lang_flags): Add imaginary_constants bitfield.	(lang_defaults): Add column for imaginary_constants.	(cpp_set_lang): Copy over imaginary_constants.	* expr.cc (cpp_classify_number): Diagnose CPP_N_IMAGINARY	non-CPP_N_FLOATING constants differently for C. 2024-11-01  Jakub Jelinek  <jakub@redhat.com> 	PR c++/114461	* include/cpplib.h: Implement C++26 P3034R1	- Module Declarations Shouldn’t be Macros (or more precisely	its expected intent).	(NO_DOT_COLON): Define.	* internal.h (struct cpp_reader): Add diagnose_dot_colon_from_macro_p	member.	* lex.cc (cpp_maybe_module_directive): For pp-module, if	module keyword is followed by CPP_NAME, ensure all CPP_NAME	tokens possibly matching module name and module partition	syntax aren't expanded and aren't defined as object-like macros.	Verify first token after that doesn't start with open paren.	If the next token after module name/partition is CPP_NAME defined	as macro, set NO_DOT_COLON flag on it.	* macro.cc (cpp_get_token_1): Set	pfile->diagnose_dot_colon_from_macro_p if token to be expanded has	NO_DOT_COLON bit set in flags.  Before returning, if	pfile->diagnose_dot_colon_from_macro_p is true and not returning	CPP_PADDING or CPP_COMMENT and not during macro expansion preparation,	set pfile->diagnose_dot_colon_from_macro_p to false and diagnose	if returning CPP_DOT or CPP_COLON. 2024-10-25  Jakub Jelinek  <jakub@redhat.com> 	* directives.cc: Remove trailing whitespace.	* mkdeps.cc: Likewise.

Lines 1–500 of 9004.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t