-
Notifications
You must be signed in to change notification settings - Fork 197
Sync with upstream (2025-12-01): 4d1bfc66f84de6b37b175a191cba8cdd552c4383 #4320
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
+95,407
−3,577
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
gcc/ChangeLog PR other/122243 * doc/invoke.texi (Option Summary) <Cygwin and MinGW Options>: Correct spelling of -mthreads and add missing options. (Cygwin and MinGW Options): Add @opindex for negative forms.
The Darwin target options documentation was a bit of a mess, with several undocumented options, some that were listed in the option summary or mentioned in discussion of other options but not actually documented, and a large number of options listed in darwin.opt as being obsolete. I've undocumented all the obsolete options to streamline things, plus a few others that seem to have been intentially undocumented or supplanted by other options. For the others that were probably supposed to documented, I did my best to guess what they're for by reading the code or just copying the documentation string in the .opt file, but it's certainly possible I screwed some up. gcc/ChangeLog PR other/122243 * config/darwin.opt (findirect-virtual-calls): Mark as Undocumented. (fterminated-vtables): Likewise. (multi_module): Likewise. (multiply_defined): Likewise. (multiply_defined_unused): Likewise. (no_dead_strip_inits_and_terms): Likewise. (noprefixbinding): Likewise. (nomultidefs): Likewise. (noprebind): Likewise. (noseglinkedit): Likewise. (ObjC, ObjC++): Add documentation strings. (object): Mark as Undocumented. (prebind): Likewise. (prebind_all_twolevel_modules): Likewise. (private_bundle): Likewise. (sectobjectsymbols): Likewise. (sectorder): Likewise. (seg_addr_table_filename): Likewise. (segcreate): Likewise. (seglinkedit): Likewise. (single_module): Likewise. (X): Likewise. (y): Likewise. (Mach): Likewise. * doc/invoke.texi (Option Summary) <Darwin Options>: Improve alphabetization of the list. Remove obsolete/undocumented options and add missing entries. (Darwin Options): Add documentation for -arch, -dependency-file, -fapple-kext, -matt-stubs, -fconstant-cfstrings, -mdynamic-no-pic, -asm_macosx_version_min, -msymbol-stubs, -mtarget-linker, -ObjC, -ObjC++, -Wnonportable-cfstrings. Update the list of options passed to the linker to remove obsolete options and add missing ones; also move the block of @opindex entries before the list items instead of putting it in the middle.
gcc/ChangeLog PR other/122243 * config/alpha/alpha.opt (mgas): Mark as Undocumented. * doc/invoke.texi (Option Summary) <DEC Alpha Options>: Add -mtls-kernel, -mtls-size=, -mlong-double-128, and -mlong-double-64. (DEC Alpha Options): Likewise.
gcc/ChangeLog PR other/122243 * doc/invoke.texi (Option Summary) <eBPF Options>: Fix formatting issues. Remove redundant entry for -mno-co-re. (eBPF Options): Add missing @opindex entries. Combine documentation for -mco-re and -mno-co-re.
gcc/ChangeLog PR other/122243 * doc/invoke.texi (FR30 Options): Add @opindex for -mno-small-model.
gcc/ChangeLog PR other/122243 * config/ft32/ft32.opt (mlra): Mark obsolete option as Undocumented. * doc/invoke.texi (Option Summary) <FT32 Options>: Remove -mlra. (FT32 Options): Likewise. Add @opindex entries for negative option forms.
frv.opt has a few options that have never been documented in the manual. In the initial commit of the FRV port (prior to the adoption of .opt files) they were marked as "Internal debug switch" so I have explicitly made them "Undocumented", consistently with other options similarly marked in the original port. The documentation changes all straightforward here, to bring this section into conformance with conventions being applied through this chapter of the manual. gcc/ChangeLog PR other/122243 * config/frv/frv.opt (mbranch-cost=): Mark as Undocumented. (mcond-exec-insns=): Likewise. (mcond-exec-tempss=): Likewise. * doc/invoke.texi (Option Summary) <FRV Options>: Remove duplicate positive/negative forms from the list. (FRV Options): Combine documentation of positive/negative forms where they were listed separately. Add @opindex entries for negative forms.
gcc/ChangeLog PR other/122243 * doc/invoke.texi: Document -mno-android.
The FRV and FT32 options were incorrectly alphabetized with respect to each other in the Options Summary, the menu for the Submodel Options section, and in the order of their respective subsections. Fixed thusly. gcc/ChangeLog * doc/invoke.texi (Options Summary): Switch ordering of FRV and FT32. (Submodel Options): Likewise in the menu and section ordering.
gcc/ChangeLog * common.opt.urls: Regenerated. * config/aarch64/aarch64.opt.urls: Regenerated. * config/alpha/alpha.opt.urls: Regenerated. * config/arm/arm.opt.urls: Regenerated. * config/avr/avr.opt.urls: Regenerated. * config/bpf/bpf.opt.urls: Regenerated. * config/c6x/c6x.opt.urls: Regenerated. * config/cris/cris.opt.urls: Regenerated. * config/cris/elf.opt.urls: Regenerated. * config/csky/csky.opt.urls: Regenerated. * config/darwin.opt.urls: Regenerated. * config/epiphany/epiphany.opt.urls: Regenerated. * config/frv/frv.opt.urls: Regenerated. * config/ft32/ft32.opt.urls: Regenerated. * config/gcn/gcn.opt.urls: Regenerated. * config/i386/i386.opt.urls: Regenerated. * config/ia64/ia64.opt.urls: Regenerated. * config/loongarch/loongarch.opt.urls: Regenerated. * config/m68k/m68k.opt.urls: Regenerated. * config/microblaze/microblaze.opt.urls: Regenerated. * config/mips/mips.opt.urls: Regenerated. * config/mmix/mmix.opt.urls: Regenerated. * config/or1k/or1k.opt.urls: Regenerated. * config/pa/pa.opt.urls: Regenerated. * config/pdp11/pdp11.opt.urls: Regenerated. * config/rs6000/rs6000.opt.urls: Regenerated. * config/s390/s390.opt.urls: Regenerated. * config/sparc/sparc.opt.urls: Regenerated. * config/v850/v850.opt.urls: Regenerated. * config/vax/vax.opt.urls: Regenerated. * config/visium/visium.opt.urls: Regenerated.
This bumps the libgcobol SONAME for GCC 16 since compared to GCC 15 there are removed symbols and key data structures have changed. PR cobol/122803 libgcobol/ * configure.ac (LIBGCOBOL_VERSION): Bump to 2:0:0. * configure: Re-generate.
The following bumps the libgo SONAME to prevent PR119098 from re-appearing for GCC 15/16. For PR go/122802
…ing_template_decl [PR122758]
The extra handling of jumps across vacuous inits for -std=c++26
or -ftrivial-auto-var-init={zero,pattern} added for P2795R5 is undesirable
when processing_template_decl, because it creates labels without DECL_NAME
and GOTO_EXPRs to those and those can't be tsubsted.
I was afraid the pop_labels and check_goto_1 and check_previous_goto_1
handling might not happen again during instantiation, but clearly it does
happen fully (and has to, because whether some declaration has vacuous
initialization or not can't be decided in some cases when parsing the
template, if dependent types are involved).
So, this patch just restricts the P2795R5 PR114457 r16-4212 changes
to !processing_template_decl and adds 2 copies of the erroneous2.C testcase,
one changing the function into a function template where nothing is
dependent and another one where most of the declarations are dependent.
2025-11-29 Jakub Jelinek <[email protected]>
PR c++/122758
* decl.cc (pop_labels): Don't call adjust_backward_gotos if
processing_template_decl.
(decl_instrument_init_bypass_p): Always return false if
processing_template_decl.
(check_goto_1): Don't push anything to direct_goto vector
if processing_template_decl.
* g++.dg/cpp26/erroneous5.C: New test.
* g++.dg/cpp26/erroneous6.C: New test.
PR c++/116952 gcc/cp/ChangeLog: * parser.cc (cp_parser_lambda_expression): Revert r11-8166-ge1666ebd9ad31d change prohibiting lambda in non-type parameter. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/lambda-uneval14.C: Revise incorrect test. * g++.dg/cpp2a/lambda-uneval29.C: New test. Co-authored-by: Jason Merrill <[email protected]>
…odules [PR119864] There were two issues preventing OpenMP reductions of UDTs from working in modules. Firstly, we were failing a number of checking asserts in the streaming logic because the declaration is a DECL_LOCAL_DECL_P but was not correctly added to the BLOCK of the function template. This is because cp_parser_omp_declare_reduction only called pushdecl when !processing_template_decl; correcting this fixed this issue. The second issue is that modules saw this as a function definition and so attempted to call allocate_struct_function on it, which crashes. Given that these reduction functions don't really behave like real function definitions in any other way, I think the cleanest solution is to just skip all the function definition post-processing in modules; this seems to work to get the test functioning correctly, from what I can see. PR c++/119864 gcc/cp/ChangeLog: * module.cc (trees_in::read_function_def): Don't call post_process on OpenMP UDT reductions. * parser.cc (cp_parser_omp_declare_reduction): Call push_decl for block_scope, even when processing_template_decl. gcc/testsuite/ChangeLog: * g++.dg/modules/omp-4_a.C: New test. * g++.dg/modules/omp-4_b.C: New test. Signed-off-by: Nathaniel Shead <[email protected]> Reviewed-by: Jakub Jelinek <[email protected]> Reviewed-by: Jason Merrill <[email protected]>
README contains a description of the front-end, and brief instructions for developers. At the moment the front-end doesn't define any custom tree node, as of yet. gcc/algol68/a68-tree.def is a placeholder where to have these node codes. a68-types.h and a68.h are the main header files used by the front-end. Together they provide data definitions and prototypes of functions defined in the .cc files. ga68.vw contains a revised-report like formal description of the language implemented by this compiler. This includes GNU extensions. Signed-off-by: Jose E. Marchesi <[email protected]> gcc/ChangeLog * algol68/README: New file. * algol68/a68-tree.def: Likewise. * algol68/a68-types.h: Likewise. * algol68/a68.h: Likewise. * algol68/ga68.vw: Likewise.
This commit adds the main sources for the ga68 compiler driver. Signed-off-by: Jose E. Marchesi <[email protected]> gcc/ChangeLog: * algol68/a68spec.cc: New file. * algol68/lang-specs.h: Likewise.
This commit adds the language hooks and the target hooks for the Algol 68 front-end, which implement the a681 compiler proper. Signed-off-by: Jose E. Marchesi <[email protected]> gcc/ChangeLog * algol68/a68-lang.cc: New file.
This commit adds several utility functions to deal with Unicode strings. These functions have been adapted from the libunistring gnulib module. gcc/ChangeLog * algol68/a68-unistr.c: New file.
This commit adds the diagnostics infrastructure for the Algol 68 front-end. Signed-off-by: Jose E. Marchesi <[email protected]> Co-authored-by: Marcel van der Veer <[email protected]> gcc/ChangeLog * algol68/a68-diagnostics.cc: New file.
This commit adds the code that handles the exports information for the module definitions in prelude packets. The exports info is generated in a section in the output object file. A precise description of the binary format in which the exports are encoded is expressed in an included GNU poke pickle ga68-exports.pk. Signed-off-by: Jose E. Marchesi <[email protected]> gcc/ChangeLog * algol68/a68-exports.cc: New file. * algol68/ga68-exports.pk: Likewise.
This patch adds support for importing module interfaces, read from object files, shared objects, archives or stand-alone files. Signed-off-by: Jose E. Marchesi <[email protected]> gcc/ChangeLog * algol68/a68-imports.cc: New file.
This commit adds the parsing support code and the entry point to the parser. Signed-off-by: Jose E. Marchesi <[email protected]> Co-authored-by: Marcel van der Veer <[email protected]>
Signed-off-by: Jose E. Marchesi <[email protected]> gcc/ChangeLog * algol68/a68-parser-attrs.def: New file.
Lexer for the Algol 68 front-end. Signed-off-by: Jose E. Marchesi <[email protected]> Co-authored-by: Marcel van der Veer <[email protected]>
This commit adds code to manage the table of keywords (bold words) in the Algol 68 front-end. Signed-off-by: Jose E. Marchesi <[email protected]> Co-authored-by: Marcel van der Veer <[email protected]>
Top-down parser for the Algol 68 front-end. Signed-off-by: Jose E. Marchesi <[email protected]> Co-authored-by: Marcel van der Veer <[email protected]>
This pass makes sure all brackets (parenthesis) are matched in the source program. Signed-off-by: Jose E. Marchesi <[email protected]> Co-authored-by: Marcel van der Veer <[email protected]>
Bottom-up parser for the Algol 68 front-end. Signed-off-by: Jose E. Marchesi <[email protected]> Co-authored-by: Marcel van der Veer <[email protected]>
This new workflow is used to send emails to the gcc-patches@ mailing list
after every merged PR.
For each merged PR:
- remove commits touching files not to-be-upstreamed (e.g. github
workflow, README.md, ...)
- send a mail series
Each mail contains explanation + links to commits on the github project.
Authors of commits will be put in Cc: of emails.
Configure it by setting the following secrets in github:
- PATCH_TO: the "To:" field for the emails
- PATCH_CC: optional "Cc:"
- SMTP_FROM, SMTP_PASSWORD, SMTP_PORT, SMTP_SERVER, STMP_USERNAME: self explanatory
ChangeLog:
* .github/workflows/send-emails.yml: New file.
Since f1982cc, we are using clang-format-16 instead of clang-format-10. This commit updates the clang-format version documented in CONTRIBUTING.md so that new contributors don't get tripped. ChangeLog: * CONTRIBUTING.md: Update clang-format version Signed-off-by: Ryo Yoshida <[email protected]>
Signed-off-by: Marc Poulhiès <[email protected]>
It's really getting in the way. It needs special care to be in sync with Iain's own rebased branch. Until it is easier to use, remove it from our CI. ChangeLog: * .github/workflows/ccpp.yml (build-and-check-clang-macos): Remove. Signed-off-by: Marc Poulhiès <[email protected]>
Only the password needs to be hidden. Makes the maitainance easier. ChangeLog: * .github/workflows/send-emails.yml: Change secrets to vars. Signed-off-by: Marc Poulhiès <[email protected]>
ChangeLog: * .github/workflows/commit-format.yml: adjust grep. Signed-off-by: Marc Poulhiès <[email protected]>
gcc/rust/ChangeLog: * expand/rust-expand-visitor.cc (builtin_derive_item): Collect derived nodes. (derive_item): Collect derived nodes. * util/rust-hir-map.cc (Mappings::add_derived_nodes): Add derived set to collect derived nodes. (Mappings::is_derived_node): Add derived set to collect derived nodes. * util/rust-hir-map.h: Add derived set to collect derived nodes. Signed-off-by: Ryutaro Okada <[email protected]>
ChangeLog: * README.md: Add Fedora WSL deps. Signed-off-by: Osama Albahrani <[email protected]>
Use github API through `gh` to get the related pull-request URL and add them in the comment section of the emails. ChangeLog: * .github/workflows/send-emails.yml<prepare patch series>: Add PR links. Signed-off-by: Marc Poulhiès <[email protected]>
Use dtolnay/rust-toolchain action to install rustc toolchain. Use a composite action for the various build/check on ubuntu. More cleanup possible (the 32/64bits builds could be simplified and only build 1 compiler and split the checks) ChangeLog: * .github/workflows/ccpp.yml: Refactor. * .github/actions/build-gcc/action.yml: New file. Signed-off-by: Marc Poulhiès <[email protected]>
gcc/rust/ChangeLog: * parse/rust-parse-impl.h (Parser::parse_items): Remove item parsing error. gcc/testsuite/ChangeLog: * rust/compile/braced_macro_arm.rs: Remove superfluous error message matching. * rust/compile/decl_macro6.rs: Likewise. * rust/compile/decl_macro7.rs: Likewise. * rust/compile/extern_type_item_missing_semi.rs: Likewise. * rust/compile/issue-2187.rs: Likewise. * rust/compile/issue-407-2.rs: Likewise. * rust/compile/issue-407.rs: Likewise. * rust/compile/issue-4162.rs: Likewise. * rust/compile/issue-867.rs: Likewise. * rust/compile/macros/mbe/macro-issue1053-2.rs: Likewise. * rust/compile/macros/mbe/macro-issue1395-2.rs: Likewise. * rust/compile/macros/mbe/macro-issue3608.rs: Likewise. * rust/compile/macros/mbe/macro27.rs: Likewise. * rust/compile/macros/mbe/macro28.rs: Likewise. * rust/compile/macros/mbe/macro29.rs: Likewise. * rust/compile/macros/mbe/macro30.rs: Likewise. * rust/compile/macros/mbe/macro31.rs: Likewise. * rust/compile/macros/mbe/macro33.rs: Likewise. * rust/compile/macros/mbe/macro35.rs: Likewise. * rust/compile/macros/mbe/macro37.rs: Likewise. * rust/compile/macros/mbe/macro38.rs: Likewise. * rust/compile/macros/mbe/macro39.rs: Likewise. * rust/compile/macros/mbe/macro48.rs: Likewise. * rust/compile/parse_invalid_specialization.rs: Likewise. * rust/compile/parse_simple_path_fail_1.rs: Likewise. * rust/compile/parse_simple_path_fail_2.rs: Likewise. * rust/compile/raw-string-loc.rs: Likewise. * rust/compile/raw-byte-string-loc.rs: Likewise. * rust/compile/self_const_ptr.rs: Likewise. * rust/compile/self_mut_ptr.rs: Likewise. * rust/compile/static_var1.rs: Likewise. * rust/compile/self_ptr.rs: Likewise. * rust/compile/torture/identifier-missing-impl-1.rs: Likewise. Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
Signed-off-by: Andrew V. Teylu <[email protected]>
gcc/rust/ChangeLog: * expand/rust-macro-expand.h: Fix typos in comment.
gcc/rust/ChangeLog: * backend/rust-constexpr.cc (eval_binary_expression): Set initial value equality value to false. Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
gcc/rust/ChangeLog: * parse/rust-parse-impl.h (Parser::parse_delim_token_tree): Remove error message. (Parser::parse_token_tree): Split error message. gcc/testsuite/ChangeLog: * rust/compile/macros/mbe/macro-issue3608.rs: Remove error. Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
gcc/rust/ChangeLog: * parse/rust-parse-impl.h (Parser::parse_function): Return a nullptr on error instead of a valid function. (Parser::parse_let_stmt): Remove non leaf error. (Parser::parse_if_expr): Likewise. (Parser::parse_loop_expr): Likewise. (Parser::parse_expr): Return error on null denotation error. gcc/testsuite/ChangeLog: * rust/compile/braced_macro_arm.rs: Remove parent errors. * rust/compile/issue-407-2.rs: Likewise. * rust/compile/issue-407.rs: Likewise. * rust/compile/issue-4162.rs: Likewise. * rust/compile/issue-867.rs: Likewise. * rust/compile/raw_ref_op_invalid.rs: Likewise. Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
gcc/rust/ChangeLog: * checks/errors/feature/rust-feature-gate.cc (FeatureGate::visit): Add check for lang_items. * checks/errors/feature/rust-feature-gate.h: Likewise. Signed-off-by: Raiki Tamura <[email protected]>
gcc/testsuite/ChangeLog: * rust/borrowck/reference.rs: Add attributes. * rust/borrowck/tmp.rs: Likewise. * rust/compile/additional-trait-bounds1.rs: Likewise. * rust/compile/additional-trait-bounds2.rs: Likewise. * rust/compile/additional-trait-bounds2nr2.rs: Likewise. * rust/compile/auto_traits1.rs: Likewise. * rust/compile/auto_traits2.rs: Likewise. * rust/compile/bad-rpit1.rs: Likewise. * rust/compile/black_box.rs: Likewise. * rust/compile/bounds1.rs: Likewise. * rust/compile/box_syntax_feature_gate.rs: Likewise. * rust/compile/bug-with-default-generic.rs: Likewise. * rust/compile/canonical_paths1.rs: Likewise. * rust/compile/cast_generics.rs: Likewise. * rust/compile/closure_no_type_anno.rs: Likewise. * rust/compile/cmp1.rs: Likewise. * rust/compile/complex_qualified_path_in_expr.rs: Likewise. * rust/compile/const-issue1440.rs: Likewise. * rust/compile/const_generics_1.rs: Likewise. * rust/compile/const_generics_10.rs: Likewise. * rust/compile/const_generics_11.rs: Likewise. * rust/compile/const_generics_12.rs: Likewise. * rust/compile/const_generics_13.rs: Likewise. * rust/compile/const_generics_14.rs: Likewise. * rust/compile/const_generics_15.rs: Likewise. * rust/compile/const_generics_16.rs: Likewise. * rust/compile/const_generics_18.rs: Likewise. * rust/compile/const_generics_19.rs: Likewise. * rust/compile/const_generics_3.rs: Likewise. * rust/compile/const_generics_8.rs: Likewise. * rust/compile/const_generics_9.rs: Likewise. * rust/compile/derive-debug1.rs: Likewise. * rust/compile/derive-default1.rs: Likewise. * rust/compile/derive-eq-invalid.rs: Likewise. * rust/compile/derive-hash1.rs: Likewise. * rust/compile/derive-partialeq1.rs: Likewise. * rust/compile/derive_clone_enum1.rs: Likewise. * rust/compile/derive_clone_enum2.rs: Likewise. * rust/compile/derive_clone_enum3.rs: Likewise. * rust/compile/derive_macro1.rs: Likewise. * rust/compile/derive_macro3.rs: Likewise. * rust/compile/derive_macro4.rs: Likewise. * rust/compile/derive_macro6.rs: Likewise. * rust/compile/derive_partial_ord1.rs: Likewise. * rust/compile/expand_macro_qual_path_in_type.rs: Likewise. * rust/compile/expected_type_args2.rs: Likewise. * rust/compile/expected_type_args3.rs: Likewise. * rust/compile/extern_generics.rs: Likewise. * rust/compile/for-loop1.rs: Likewise. * rust/compile/for-loop2.rs: Likewise. * rust/compile/format_args_basic_expansion.rs: Likewise. * rust/compile/format_args_concat.rs: Likewise. * rust/compile/format_args_extra_comma.rs: Likewise. * rust/compile/generics1.rs: Likewise. * rust/compile/generics11.rs: Likewise. * rust/compile/generics12.rs: Likewise. * rust/compile/generics2.rs: Likewise. * rust/compile/generics3.rs: Likewise. * rust/compile/generics4.rs: Likewise. * rust/compile/generics6.rs: Likewise. * rust/compile/generics7.rs: Likewise. * rust/compile/generics8.rs: Likewise. * rust/compile/if_let_expr.rs: Likewise. * rust/compile/impl_fnptr.rs: Likewise. * rust/compile/impl_trait_diag.rs: Likewise. * rust/compile/impl_trait_generic_arg.rs: Likewise. * rust/compile/issue-1005.rs: Likewise. * rust/compile/issue-1019.rs: Likewise. * rust/compile/issue-1031.rs: Likewise. * rust/compile/issue-1034.rs: Likewise. * rust/compile/issue-1128.rs: Likewise. * rust/compile/issue-1129-2.rs: Likewise. * rust/compile/issue-1130.rs: Likewise. * rust/compile/issue-1131.rs: Likewise. * rust/compile/issue-1165.rs: Likewise. * rust/compile/issue-1173.rs: Likewise. * rust/compile/issue-1235.rs: Likewise. * rust/compile/issue-1237.rs: Likewise. * rust/compile/issue-1289.rs: Likewise. * rust/compile/issue-1383.rs: Likewise. * rust/compile/issue-1447.rs: Likewise. * rust/compile/issue-1483.rs: Likewise. * rust/compile/issue-1485.rs: Likewise. * rust/compile/issue-1487.rs: Likewise. * rust/compile/issue-1589.rs: Likewise. * rust/compile/issue-1725-1.rs: Likewise. * rust/compile/issue-1725-2.rs: Likewise. * rust/compile/issue-1786.rs: Likewise. * rust/compile/issue-1893.rs: Likewise. * rust/compile/issue-1901.rs: Likewise. * rust/compile/issue-1930.rs: Likewise. * rust/compile/issue-1981.rs: Likewise. * rust/compile/issue-2015.rs: Likewise. * rust/compile/issue-2019-1.rs: Likewise. * rust/compile/issue-2019-2.rs: Likewise. * rust/compile/issue-2019-3.rs: Likewise. * rust/compile/issue-2036.rs: Likewise. * rust/compile/issue-2037.rs: Likewise. * rust/compile/issue-2070.rs: Likewise. * rust/compile/issue-2105.rs: Likewise. * rust/compile/issue-2106.rs: Likewise. * rust/compile/issue-2135.rs: Likewise. * rust/compile/issue-2136-1.rs: Likewise. * rust/compile/issue-2136-2.rs: Likewise. * rust/compile/issue-2139.rs: Likewise. * rust/compile/issue-2142.rs: Likewise. * rust/compile/issue-2165.rs: Likewise. * rust/compile/issue-2166.rs: Likewise. * rust/compile/issue-2190-1.rs: Likewise. * rust/compile/issue-2190-2.rs: Likewise. * rust/compile/issue-2195.rs: Likewise. * rust/compile/issue-2238.rs: Likewise. * rust/compile/issue-2304.rs: Likewise. * rust/compile/issue-2323.rs: Likewise. * rust/compile/issue-2330.rs: Likewise. * rust/compile/issue-2369.rs: Likewise. * rust/compile/issue-2375.rs: Likewise. * rust/compile/issue-2478.rs: Likewise. * rust/compile/issue-2499.rs: Likewise. * rust/compile/issue-2723-1.rs: Likewise. * rust/compile/issue-2723-2.rs: Likewise. * rust/compile/issue-2725.rs: Likewise. * rust/compile/issue-2747.rs: Likewise. * rust/compile/issue-2772-1.rs: Likewise. * rust/compile/issue-2772-2.rs: Likewise. * rust/compile/issue-2775.rs: Likewise. * rust/compile/issue-2782.rs: Likewise. * rust/compile/issue-2907.rs: Likewise. * rust/compile/issue-2951.rs: Likewise. * rust/compile/issue-2953-1.rs: Likewise. * rust/compile/issue-2953-2.rs: Likewise. * rust/compile/issue-2954.rs: Likewise. * rust/compile/issue-2987.rs: Likewise. * rust/compile/issue-3009.rs: Likewise. * rust/compile/issue-3022.rs: Likewise. * rust/compile/issue-3030.rs: Likewise. * rust/compile/issue-3032-1.rs: Likewise. * rust/compile/issue-3032-2.rs: Likewise. * rust/compile/issue-3033.rs: Likewise. * rust/compile/issue-3035.rs: Likewise. * rust/compile/issue-3036.rs: Likewise. * rust/compile/issue-3045-1.rs: Likewise. * rust/compile/issue-3045-2.rs: Likewise. * rust/compile/issue-3144.rs: Likewise. * rust/compile/issue-3242.rs: Likewise. * rust/compile/issue-3304.rs: Likewise. * rust/compile/issue-3382.rs: Likewise. * rust/compile/issue-3402-1.rs: Likewise. * rust/compile/issue-3402-2.rs: Likewise. * rust/compile/issue-3403.rs: Likewise. * rust/compile/issue-3454.rs: Likewise. * rust/compile/issue-3551.rs: Likewise. * rust/compile/issue-3554-2.rs: Likewise. * rust/compile/issue-3599.rs: Likewise. * rust/compile/issue-3642.rs: Likewise. * rust/compile/issue-3711.rs: Likewise. * rust/compile/issue-3836.rs: Likewise. * rust/compile/issue-3898.rs: Likewise. * rust/compile/issue-3915.rs: Likewise. * rust/compile/issue-3916.rs: Likewise. * rust/compile/issue-3969.rs: Likewise. * rust/compile/issue-402.rs: Likewise. * rust/compile/issue-4090-1.rs: Likewise. * rust/compile/issue-4090-2.rs: Likewise. * rust/compile/issue-850.rs: Likewise. * rust/compile/issue-855.rs: Likewise. * rust/compile/issue-925.rs: Likewise. * rust/compile/iterators1.rs: Likewise. * rust/compile/macros/builtin/option_env1.rs: Likewise. * rust/compile/macros/builtin/option_env2.rs: Likewise. * rust/compile/macros/builtin/option_env3.rs: Likewise. * rust/compile/macros/mbe/macro-issue1400.rs: Likewise. * rust/compile/macros/mbe/macro-issue3708.rs: Likewise. * rust/compile/macros/mbe/macro-issue3709-2.rs: Likewise. * rust/compile/macros/mbe/macro20.rs: Likewise. * rust/compile/macros/mbe/macro23.rs: Likewise. * rust/compile/macros/mbe/macro40.rs: Likewise. * rust/compile/macros/mbe/macro49.rs: Likewise. * rust/compile/macros/mbe/macro54.rs: Likewise. * rust/compile/multiple_bindings1.rs: Likewise. * rust/compile/name_resolution2.rs: Likewise. * rust/compile/name_resolution4.rs: Likewise. * rust/compile/nested_generic.rs: Likewise. * rust/compile/parse_associated_type_as_generic_arg.rs: Likewise. * rust/compile/parse_associated_type_as_generic_arg2.rs: Likewise. * rust/compile/parse_associated_type_as_generic_arg3.rs: Likewise. * rust/compile/parse_closure_bind.rs: Likewise. * rust/compile/parse_complex_generic_application.rs: Likewise. * rust/compile/parse_complex_generic_application2.rs: Likewise. * rust/compile/path_as_generic_arg.rs: Likewise. * rust/compile/privacy4.rs: Likewise. * rust/compile/privacy6.rs: Likewise. * rust/compile/silly-order-bug.rs: Likewise. * rust/compile/sizeof-stray-infer-var-bug.rs: Likewise. * rust/compile/stmt_with_block_dot.rs: Likewise. * rust/compile/structural-eq-peq.rs: Likewise. * rust/compile/torture/associated_types1.rs: Likewise. * rust/compile/torture/forward_decl_5.rs: Likewise. * rust/compile/torture/generics1.rs: Likewise. * rust/compile/torture/generics10.rs: Likewise. * rust/compile/torture/generics11.rs: Likewise. * rust/compile/torture/generics12.rs: Likewise. * rust/compile/torture/generics13.rs: Likewise. * rust/compile/torture/generics14.rs: Likewise. * rust/compile/torture/generics15.rs: Likewise. * rust/compile/torture/generics16.rs: Likewise. * rust/compile/torture/generics17.rs: Likewise. * rust/compile/torture/generics18.rs: Likewise. * rust/compile/torture/generics19.rs: Likewise. * rust/compile/torture/generics2.rs: Likewise. * rust/compile/torture/generics20.rs: Likewise. * rust/compile/torture/generics21.rs: Likewise. * rust/compile/torture/generics22.rs: Likewise. * rust/compile/torture/generics23.rs: Likewise. * rust/compile/torture/generics24.rs: Likewise. * rust/compile/torture/generics25.rs: Likewise. * rust/compile/torture/generics26.rs: Likewise. * rust/compile/torture/generics27.rs: Likewise. * rust/compile/torture/generics28.rs: Likewise. * rust/compile/torture/generics29.rs: Likewise. * rust/compile/torture/generics3.rs: Likewise. * rust/compile/torture/generics30.rs: Likewise. * rust/compile/torture/generics31.rs: Likewise. * rust/compile/torture/generics32.rs: Likewise. * rust/compile/torture/generics4.rs: Likewise. * rust/compile/torture/generics5.rs: Likewise. * rust/compile/torture/generics6.rs: Likewise. * rust/compile/torture/generics7.rs: Likewise. * rust/compile/torture/generics8.rs: Likewise. * rust/compile/torture/generics9.rs: Likewise. * rust/compile/torture/intrinsics-2.rs: Likewise. * rust/compile/torture/intrinsics-4.rs: Likewise. * rust/compile/torture/intrinsics-5.rs: Likewise. * rust/compile/torture/intrinsics-6.rs: Likewise. * rust/compile/torture/intrinsics-7.rs: Likewise. * rust/compile/torture/intrinsics-8.rs: Likewise. * rust/compile/torture/issue-1024.rs: Likewise. * rust/compile/torture/issue-1075.rs: Likewise. * rust/compile/torture/issue-1432.rs: Likewise. * rust/compile/torture/issue-1555.rs: Likewise. * rust/compile/torture/issue-368.rs: Likewise. * rust/compile/torture/issue-808.rs: Likewise. * rust/compile/torture/issue-862.rs: Likewise. * rust/compile/torture/issue-893-2.rs: Likewise. * rust/compile/torture/issue-893.rs: Likewise. * rust/compile/torture/must_use2.rs: Likewise. * rust/compile/torture/nested_fn2.rs: Likewise. * rust/compile/torture/phantom_data.rs: Likewise. * rust/compile/torture/range-lang-item1.rs: Likewise. * rust/compile/torture/traits1.rs: Likewise. * rust/compile/torture/traits10.rs: Likewise. * rust/compile/torture/traits11.rs: Likewise. * rust/compile/torture/traits12.rs: Likewise. * rust/compile/torture/traits13.rs: Likewise. * rust/compile/torture/traits14.rs: Likewise. * rust/compile/torture/traits15.rs: Likewise. * rust/compile/torture/traits16.rs: Likewise. * rust/compile/torture/traits17.rs: Likewise. * rust/compile/torture/traits18.rs: Likewise. * rust/compile/torture/traits19.rs: Likewise. * rust/compile/torture/traits2.rs: Likewise. * rust/compile/torture/traits3.rs: Likewise. * rust/compile/torture/traits4.rs: Likewise. * rust/compile/torture/traits5.rs: Likewise. * rust/compile/torture/traits6.rs: Likewise. * rust/compile/torture/traits7.rs: Likewise. * rust/compile/torture/traits8.rs: Likewise. * rust/compile/torture/traits9.rs: Likewise. * rust/compile/torture/transmute-size-check-1.rs: Likewise. * rust/compile/torture/transmute1.rs: Likewise. * rust/compile/torture/uninit-intrinsic-1.rs: Likewise. * rust/compile/torture/utf8_identifiers.rs: Likewise. * rust/compile/traits1.rs: Likewise. * rust/compile/traits10.rs: Likewise. * rust/compile/traits11.rs: Likewise. * rust/compile/traits12.rs: Likewise. * rust/compile/traits2.rs: Likewise. * rust/compile/traits3.rs: Likewise. * rust/compile/traits4.rs: Likewise. * rust/compile/traits5.rs: Likewise. * rust/compile/traits6.rs: Likewise. * rust/compile/traits7.rs: Likewise. * rust/compile/traits8.rs: Likewise. * rust/compile/traits9.rs: Likewise. * rust/compile/try-expr1.rs: Likewise. * rust/compile/try-trait.rs: Likewise. * rust/compile/try_block1.rs: Likewise. * rust/compile/type-bindings1.rs: Likewise. * rust/compile/unconstrained_type_param.rs: Likewise. * rust/compile/unify-errors1.rs: Likewise. * rust/compile/unsafe10.rs: Likewise. * rust/compile/v0-mangle1.rs: Likewise. * rust/compile/v0-mangle2.rs: Likewise. * rust/compile/while_let1.rs: Likewise. * rust/execute/black_box.rs: Likewise. * rust/execute/torture/atomic_load.rs: Likewise. * rust/execute/torture/atomic_store.rs: Likewise. * rust/execute/torture/basic_partial_ord1.rs: Likewise. * rust/execute/torture/basic_partial_ord2.rs: Likewise. * rust/execute/torture/builtin_macro_option_env.rs: Likewise. * rust/execute/torture/closure1.rs: Likewise. * rust/execute/torture/closure2.rs: Likewise. * rust/execute/torture/closure3.rs: Likewise. * rust/execute/torture/closure4.rs: Likewise. * rust/execute/torture/coercion1.rs: Likewise. * rust/execute/torture/coercion2.rs: Likewise. * rust/execute/torture/coercion3.rs: Likewise. * rust/execute/torture/const-generics-1.rs: Likewise. * rust/execute/torture/const-generics-2.rs: Likewise. * rust/execute/torture/const-generics-3.rs: Likewise. * rust/execute/torture/const-generics-4.rs: Likewise. * rust/execute/torture/const-generics-5.rs: Likewise. * rust/execute/torture/const-generics-6.rs: Likewise. * rust/execute/torture/const-generics-7.rs: Likewise. * rust/execute/torture/copy_nonoverlapping1.rs: Likewise. * rust/execute/torture/derive-default1.rs: Likewise. * rust/execute/torture/derive-partialeq1.rs: Likewise. * rust/execute/torture/derive-partialeq2.rs: Likewise. * rust/execute/torture/derive_clone_enum1.rs: Likewise. * rust/execute/torture/derive_macro1.rs: Likewise. * rust/execute/torture/derive_macro3.rs: Likewise. * rust/execute/torture/derive_macro4.rs: Likewise. * rust/execute/torture/enum_intrinsics1.rs: Likewise. * rust/execute/torture/enum_intrinsics2.rs: Likewise. * rust/execute/torture/for-loop1.rs: Likewise. * rust/execute/torture/for-loop2.rs: Likewise. * rust/execute/torture/gat1.rs: Likewise. * rust/execute/torture/impl_desugar-2.rs: Likewise. * rust/execute/torture/impl_desugar.rs: Likewise. * rust/execute/torture/impl_rpit1.rs: Likewise. * rust/execute/torture/impl_rpit2.rs: Likewise. * rust/execute/torture/impl_rpit3.rs: Likewise. * rust/execute/torture/impl_trait1.rs: Likewise. * rust/execute/torture/impl_trait2.rs: Likewise. * rust/execute/torture/impl_trait3.rs: Likewise. * rust/execute/torture/impl_trait4.rs: Likewise. * rust/execute/torture/index1.rs: Likewise. * rust/execute/torture/issue-1120.rs: Likewise. * rust/execute/torture/issue-1133.rs: Likewise. * rust/execute/torture/issue-1198.rs: Likewise. * rust/execute/torture/issue-1232.rs: Likewise. * rust/execute/torture/issue-1249.rs: Likewise. * rust/execute/torture/issue-1436.rs: Likewise. * rust/execute/torture/issue-1481.rs: Likewise. * rust/execute/torture/issue-1482.rs: Likewise. * rust/execute/torture/issue-1496.rs: Likewise. * rust/execute/torture/issue-1720-2.rs: Likewise. * rust/execute/torture/issue-1720.rs: Likewise. * rust/execute/torture/issue-2005.rs: Likewise. * rust/execute/torture/issue-2052.rs: Likewise. * rust/execute/torture/issue-2179.rs: Likewise. * rust/execute/torture/issue-2180.rs: Likewise. * rust/execute/torture/issue-2236.rs: Likewise. * rust/execute/torture/issue-2583.rs: Likewise. * rust/execute/torture/issue-3126.rs: Likewise. * rust/execute/torture/issue-3381.rs: Likewise. * rust/execute/torture/issue-3502.rs: Likewise. * rust/execute/torture/issue-3836.rs: Likewise. * rust/execute/torture/issue-647.rs: Likewise. * rust/execute/torture/issue-845.rs: Likewise. * rust/execute/torture/issue-851.rs: Likewise. * rust/execute/torture/issue-858.rs: Likewise. * rust/execute/torture/iter1.rs: Likewise. * rust/execute/torture/macros23.rs: Likewise. * rust/execute/torture/macros28.rs: Likewise. * rust/execute/torture/method2.rs: Likewise. * rust/execute/torture/method3.rs: Likewise. * rust/execute/torture/method4.rs: Likewise. * rust/execute/torture/min_specialization2.rs: Likewise. * rust/execute/torture/min_specialization3.rs: Likewise. * rust/execute/torture/operator_overload_1.rs: Likewise. * rust/execute/torture/operator_overload_10.rs: Likewise. * rust/execute/torture/operator_overload_11.rs: Likewise. * rust/execute/torture/operator_overload_12.rs: Likewise. * rust/execute/torture/operator_overload_2.rs: Likewise. * rust/execute/torture/operator_overload_3.rs: Likewise. * rust/execute/torture/operator_overload_4.rs: Likewise. * rust/execute/torture/operator_overload_5.rs: Likewise. * rust/execute/torture/operator_overload_6.rs: Likewise. * rust/execute/torture/operator_overload_7.rs: Likewise. * rust/execute/torture/operator_overload_8.rs: Likewise. * rust/execute/torture/operator_overload_9.rs: Likewise. * rust/execute/torture/partial-eq-1.rs: Likewise. * rust/execute/torture/partial-eq-2.rs: Likewise. * rust/execute/torture/partial-eq-3.rs: Likewise. * rust/execute/torture/partial-eq-4.rs: Likewise. * rust/execute/torture/partial-ord-1.rs: Likewise. * rust/execute/torture/partial-ord-2.rs: Likewise. * rust/execute/torture/partial-ord-3.rs: Likewise. * rust/execute/torture/partial-ord-4.rs: Likewise. * rust/execute/torture/partial-ord-5.rs: Likewise. * rust/execute/torture/partial-ord-6.rs: Likewise. * rust/execute/torture/prefetch_data.rs: Likewise. * rust/execute/torture/ref-pattern2.rs: Likewise. * rust/execute/torture/sip-hasher.rs: Likewise. * rust/execute/torture/slice-magic.rs: Likewise. * rust/execute/torture/slice-magic2.rs: Likewise. * rust/execute/torture/slice1.rs: Likewise. * rust/execute/torture/str-layout1.rs: Likewise. * rust/execute/torture/trait1.rs: Likewise. * rust/execute/torture/trait10.rs: Likewise. * rust/execute/torture/trait11.rs: Likewise. * rust/execute/torture/trait12.rs: Likewise. * rust/execute/torture/trait13.rs: Likewise. * rust/execute/torture/trait14.rs: Likewise. * rust/execute/torture/trait15.rs: Likewise. * rust/execute/torture/trait2.rs: Likewise. * rust/execute/torture/trait3.rs: Likewise. * rust/execute/torture/trait4.rs: Likewise. * rust/execute/torture/trait5.rs: Likewise. * rust/execute/torture/trait6.rs: Likewise. * rust/execute/torture/trait7.rs: Likewise. * rust/execute/torture/trait8.rs: Likewise. * rust/execute/torture/trait9.rs: Likewise. * rust/execute/torture/transmute1.rs: Likewise. * rust/execute/torture/wrapping_op1.rs: Likewise. * rust/execute/torture/wrapping_op2.rs: Likewise. * rust/link/generic_function_1.rs: Likewise. * rust/link/trait_import_1.rs: Likewise. Signed-off-by: Raiki Tamura <[email protected]>
This fixes a false positive with undefined features, improves the implementation of Feature::as_name, and configures the testsuite to check further stages of libcore compilation. gcc/rust/ChangeLog: * ast/rust-macro.h (MetaNameValueStr::get_name): New function. (MetaNameValueStr::get_value): Likewise. * checks/errors/feature/rust-feature-gate.cc (FeatureGate::visit): Tweak unknown feature detection. (FeatureGate::gate): Handle field rename. (FeatureGate::note_stability_attribute): New function definition. * checks/errors/feature/rust-feature-gate.h (FeatureGate::note_stability_attribute): New function declaration. (FeatureGate::Stability): New enum class. (FeatureGate::valid_features): Rename field to... (FeatureGate::valid_lang_features): ...here. (FeatureGate::valid_lib_features): New field. (FeatureGate::defined_lib_features): Likewise. * checks/errors/feature/rust-feature.cc (Feature::as_name): Improve implementation. gcc/testsuite/ChangeLog: * rust/core/core.exp: Change -frust-compile-until=astvalidation to -frust-compile-until=nameresolution. Signed-off-by: Owen Avery <[email protected]>
We recently modified all tests with lang items to add the lang feature gate switch but we did not introduce any test to check that a proper error message is printed when this switch is not used. gcc/testsuite/ChangeLog: * rust/compile/lang_feature_gate.rs: New test. Signed-off-by: Pierre-Emmanuel Patry <[email protected]>
Member
Author
for the new branch and current master. |
Member
Author
|
But I'll need to adjust for clang format, looks like upstream has changed some setting. |
Member
Author
|
Branch still has the same test results: |
Member
Author
|
Extra commit for reindent: 6c11e02 |
Reindent according to latest clang-format settings. No functional change. gcc/rust/ChangeLog: * lex/rust-lex.cc (rust_input_source_test): Reindent. Signed-off-by: Marc Poulhiès <[email protected]>
This branch has a no-op merge as the last commit: - one arm is the "current" development branch from github - the other arm is a rebased version of the "current" master branch onto a recent GCC's master The merge is obtained with "git merge --strategy=ours" to only keep the changes from second arm.
0171d32 to
cdf4d78
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a sync with upstream GCC:
upstream GCC revision: 4d1bfc6
gccrs github: 6538b15
-- gerris 🦀