[Bug libstdc++/70694] 50 experimental/filesystem/* failures on x86_64-apple-darwin10
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70694 --- Comment #10 from Iain Sandoe --- (In reply to Eric Gallager from comment #9) > (In reply to Iain Sandoe from comment #8) > > Author: iains > > Date: Sat Aug 25 09:02:28 2018 > > New Revision: 263850 > > > > URL: https://gcc.gnu.org/viewcvs?rev=263850&root=gcc&view=rev > > Log: > > Don't force visibility to hidden for Darwin > 8. > > > > PR libstdc++/70694 > > * configure.host (OPT_LDFLAGS): Don't append > > -fvisibility-inlines-hidden for newer Darwin. > > > > > > > > Modified: > > trunk/libstdc++-v3/ChangeLog > > trunk/libstdc++-v3/configure.host > > Can this bug be closed now? not yet, I want to back port to 8 and 7 (will put on the list of requested 7 back ports before 7.4).
[Bug middle-end/65855] SCEV / SCCP missing optimization: triangular numbers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65855 Alexander Monakov changed: What|Removed |Added CC||giuliano.belinassi at usp dot br --- Comment #9 from Alexander Monakov --- *** Bug 88186 has been marked as a duplicate of this bug. ***
[Bug tree-optimization/88186] GCC Fails to optimize arithmetic progression
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88186 Alexander Monakov changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||amonakov at gcc dot gnu.org Resolution|--- |DUPLICATE --- Comment #1 from Alexander Monakov --- See PR 65855. *** This bug has been marked as a duplicate of bug 65855 ***
[Bug target/86735] [8/9 Regression] Bad wrong-code bug with "-march=skylake-avx512 -Ofast"
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86735 --- Comment #30 from janus at gcc dot gnu.org --- I have verified that the problem goes away when using the following as version: GNU assembler (GNU Binutils) 2.31.51.20181124
[Bug target/86735] [8/9 Regression] Bad wrong-code bug with "-march=skylake-avx512 -Ofast"
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86735 --- Comment #31 from H.J. Lu --- *** Bug 86828 has been marked as a duplicate of this bug. ***
[Bug target/86828] [7 Regression] wrong-code bug with "-march=knl -Ofast" (invalid memory reference)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86828 H.J. Lu changed: What|Removed |Added Status|WAITING |RESOLVED Resolution|--- |DUPLICATE --- Comment #17 from H.J. Lu --- Dup. *** This bug has been marked as a duplicate of bug 86735 ***
[Bug d/87866] gdc fails to compile minimal test
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87866 --- Comment #6 from ro at CeBiTec dot Uni-Bielefeld.DE --- > --- Comment #5 from Iain Buclaw --- > Based on what you described is the problem, I think this is done. I'm pretty certain it is. I've successfully been using the following similar patch for some time: diff --git a/gcc/d/d-system.h b/gcc/d/d-system.h --- a/gcc/d/d-system.h +++ b/gcc/d/d-system.h @@ -50,4 +50,8 @@ #undef tolower #define tolower(c) TOLOWER(c) +/* Use libiberty's lrealpath to avoid portability problems. */ +#undef realpath +#define realpath(a, b) lrealpath((a)) + #endif /* GCC_D_SYSTEM_H */ Thanks. Rainer
[Bug fortran/88190] New: compile_options.allow_std does not allow to distinguish between GFC_STD_GNU and GFC_STD_LEGACY
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88190 Bug ID: 88190 Summary: compile_options.allow_std does not allow to distinguish between GFC_STD_GNU and GFC_STD_LEGACY Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: dominiq at lps dot ens.fr Target Milestone: --- While playing with pr88052 I have found that the value of compile_options.allow_std passed to libgfortran is the same (4095) when compiling with -std=gnu or -std=legacy. I suspect this is the same at the frontend level. IMO the value should be 4095-64 (no backward compatibility) when the code is compiled with -std=gnu so that we can distinguish between -std=gnu and -std=legacy. Presently the only way to distinguish is through compile_options.warn_std set to 0 when the code is compiled with -std=legacy. Since compile_options.warn_std is non-zero if the code is compiled with -pedantic, the condition (compile_options.warn_std == 0) is false with -std=legacy -pedantic. This may be expected, but is surprising. Note that the gfortran manual says -pedantic Issue warnings for uses of extensions to Fortran. -pedantic also applies to C-language constructs where they occur in GNU Fortran source files, such as use of ‘\e’ in a character constant within a directive like #include. Valid Fortran programs should compile properly with or without this option. However, without this option, certain GNU extensions and traditional Fortran features are supported as well. With this option, many of them are rejected. Some users try to use -pedantic to check programs for conformance. They soon find that it does not do quite what they want—it finds some nonstandard practices, but not all. However, improvements to GNU Fortran in this area are welcome. This should be used in conjunction with -std=f95, -std=f2003, -std=f2008 or -std=f2018. The wording could probably be improved.
[Bug bootstrap/88157] [9 Regression] ICE when building libgo encoding/gob.lo starting with r266385
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88157 Matthias Klose changed: What|Removed |Added CC||doko at debian dot org --- Comment #9 from Matthias Klose --- *** Bug 88171 has been marked as a duplicate of this bug. ***
[Bug go/88171] [9 Regression] libgo bootstrap failure on x86_64-linux-gnu (32bit multilib): ICE: Maximum number of LRA assignment passes is achieved (30)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88171 Matthias Klose changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE --- Comment #2 from Matthias Klose --- duplicate of PR88157 *** This bug has been marked as a duplicate of bug 88157 ***
[Bug fortran/88073] [7/8 Regression] Internal compiler error compiling WHERE construct with -O or -O2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88073 --- Comment #4 from Thomas Koenig --- Author: tkoenig Date: Sun Nov 25 15:19:29 2018 New Revision: 266436 URL: https://gcc.gnu.org/viewcvs?rev=266436&root=gcc&view=rev Log: 2018-11-25 Thomas Koenig Backport from trunk PR fortran/88073 * frontend-passes.c (combine_array_constructor): Do not do anything if in a WHERE statement. 2018-11-25 Thomas Koenig Backport from trunk PR fortran/88073 * gfortran.dg/where_7.f90: New test. Added: branches/gcc-8-branch/gcc/testsuite/gfortran.dg/where_7.f90 Modified: branches/gcc-8-branch/gcc/fortran/ChangeLog branches/gcc-8-branch/gcc/fortran/frontend-passes.c branches/gcc-8-branch/gcc/testsuite/ChangeLog
[Bug fortran/88073] [7/8 Regression] Internal compiler error compiling WHERE construct with -O or -O2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88073 --- Comment #5 from Thomas Koenig --- Author: tkoenig Date: Sun Nov 25 15:23:18 2018 New Revision: 266437 URL: https://gcc.gnu.org/viewcvs?rev=266437&root=gcc&view=rev Log: 2018-11-25 Thomas Koenig Backport from trunk PR fortran/88073 * frontend-passes.c (combine_array_constructor): Do not do anything if in a WHERE statement. 2018-11-25 Thomas Koenig Backport from trunk PR fortran/88073 * gfortran.dg/where_7.f90: New test. Added: branches/gcc-7-branch/gcc/testsuite/gfortran.dg/where_7.f90 Modified: branches/gcc-7-branch/gcc/fortran/ChangeLog branches/gcc-7-branch/gcc/fortran/frontend-passes.c branches/gcc-7-branch/gcc/testsuite/ChangeLog
[Bug fortran/88073] [7/8 Regression] Internal compiler error compiling WHERE construct with -O or -O2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88073 Thomas Koenig changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #6 from Thomas Koenig --- Fixed on all open branches, closing. Thanks for the bug report!
[Bug ada/88191] New: [9 Regression] ada bootstrap failure on alpha-linux-gnu ("SIGSYS" not declared in "Linux")
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88191 Bug ID: 88191 Summary: [9 Regression] ada bootstrap failure on alpha-linux-gnu ("SIGSYS" not declared in "Linux") Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada Assignee: unassigned at gcc dot gnu.org Reporter: doko at debian dot org Target Milestone: --- seen with trunk 20181124, building a cross compiler targeting alpha-linux-gnu: s-osinte.ads:120:41: "SIGSYS" not declared in "Linux" make[9]: *** [../gcc-interface/Makefile:299: a-dispat.o] Error 1 make[9]: Leaving directory '/<>/gcc/build/gcc/ada/rts' make[8]: *** [gcc-interface/Makefile:669: gnatlib] Error 2
[Bug fortran/88052] Format contravening constraint C1002 permitted
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88052 Dominique d'Humieres changed: What|Removed |Added Summary|Format contravening f2008 |Format contravening |constraint C1002 permitted |constraint C1002 permitted --- Comment #8 from Dominique d'Humieres --- > The error I found is not just violating a constraint in f2008 or above. > The same constraint with different wording is in f2003, f95 and f90. Agreed, so I removed the reference to f2008 from the summary. While playing with the patch in comment 4, I saw the following problems: (1) The behaviors of the frontend and the library are no longer consistent: print "(AF9.6)", 'pi =',4*atan(1.0) is accepted at compile time, but gives an error at runtime. The error detection should probably be updated in the frontend. (2) The following tests fail FAIL: gfortran.dg/comma_format_extension_4.f -O* execution test FAIL: gfortran.dg/dollar_edit_descriptor_2.f -O* execution test FAIL: gfortran.dg/fmt_error_9.f -O* execution test FAIL: gfortran.dg/fmt_g0_5.f08 -O* execution test FAIL: gfortran.dg/fmt_t_2.f90 -*0 execution test I agree with the fixes at https://gcc.gnu.org/ml/fortran/2018-11/msg00123.html although I would have added a { dg-options "-std=legacy" } to fmt_t_2.f90. (3) If the code is compiled with -std=legacy -pedantic, the format is rejected at runtime (see pr88190). (4) It looks weird to use compile_options.warn_std instead of compile_options.allow_std (see pr88190 again). An alternative patch is - /* Assume a missing comma, this is a GNU extension */ - goto format_item_1; + if (compile_options.allow_std & GFC_STD_GNU) +/* Assume a missing comma, this is a GNU extension. */ +goto format_item_1; + format_error (dtp, tail, comma_missing); PRO (a) It does not change the behavior for -std=gnu or std=legacy. (b) It is a simple fix of the above problems that gives the expected errors with std=f*. AGAINST > If you want to allow any constraint violations I think that should be an > option, not the default. It does not fix that. However if this is deemed important by a majority (don't count me for it, but I won't fight), it would be quite easy to replace GFC_STD_GNU with GFC_STD_LEGACY where appropriate once pr88190 will be fixed.
[Bug fortran/88047] [9 Regression] ICE in gfc_find_vtab, at fortran/class.c:2843
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88047 --- Comment #4 from Dominique d'Humieres --- > Side note: In principle I would have preferred something like this: > ... I agree that the patch is more general than my ad hoc check that a particular pointer is not dereferenced. > But that ICEs on class_array_3.f03. Yes: f951: internal compiler error: gfc_variable_attr(): Bad array reference This comes from case AR_UNKNOWN: /* If any of start, end or stride is not integer, there will already have been an error issued. */ int errors; gfc_get_errors (NULL, &errors); if (errors == 0) gfc_internal_error ("gfc_variable_attr(): Bad array reference"); } and looks like a latent bug. Any chance for a quick fix?
[Bug fortran/88190] compile_options.allow_std does not allow to distinguish between GFC_STD_GNU and GFC_STD_LEGACY
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88190 kargl at gcc dot gnu.org changed: What|Removed |Added Priority|P3 |P5 CC||kargl at gcc dot gnu.org Severity|normal |enhancement --- Comment #1 from kargl at gcc dot gnu.org --- (In reply to Dominique d'Humieres from comment #0) > While playing with pr88052 I have found that the value of > compile_options.allow_std passed to libgfortran is the same (4095) when > compiling with -std=gnu or -std=legacy. > > I suspect this is the same at the frontend level. Good luck. ... static void set_default_std_flags (void) { gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL | GFC_STD_F2003 | GFC_STD_F2008 | GFC_STD_F95 | GFC_STD_F77 | GFC_STD_F2008_OBS | GFC_STD_GNU | GFC_STD_LEGACY | GFC_STD_F2018 | GFC_STD_F2018_DEL | GFC_STD_F2018_OBS; gfc_option.warn_std = GFC_STD_F2018_DEL | GFC_STD_F95_DEL | GFC_STD_LEGACY; } ... case OPT_std_gnu: set_default_std_flags (); break; case OPT_std_legacy: set_default_std_flags (); gfc_option.warn_std = 0; break;
[Bug fortran/88190] compile_options.allow_std does not allow to distinguish between GFC_STD_GNU and GFC_STD_LEGACY
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88190 Dominique d'Humieres changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2018-11-25 Ever confirmed|0 |1 --- Comment #2 from Dominique d'Humieres --- > Good luck. Thanks! Would something like ... static void set_default_std_flags (bool legacy) { gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL | GFC_STD_F2003 | GFC_STD_F2008 | GFC_STD_F95 | GFC_STD_F77 | GFC_STD_F2008_OBS | GFC_STD_GNU | GFC_STD_F2018 | GFC_STD_F2018_DEL | GFC_STD_F2018_OBS; if (legacy) gfc_option.allow_std |= GFC_STD_LEGACY gfc_option.warn_std = GFC_STD_F2018_DEL | GFC_STD_F95_DEL | GFC_STD_LEGACY; } ... case OPT_std_gnu: set_default_std_flags (false); break; case OPT_std_legacy: set_default_std_flags (true); gfc_option.warn_std = 0; break; make sense?
[Bug c++/88193] New: ICE on (invalid) C++ code: Segmentation fault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88193 Bug ID: 88193 Summary: ICE on (invalid) C++ code: Segmentation fault Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: su at cs dot ucdavis.edu Target Milestone: --- This appears to be a recent regression. $ g++tk -v Using built-in specs. COLLECT_GCC=g++tk COLLECT_LTO_WRAPPER=/home/su/software/tmp/gcc/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/9.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto --prefix=/home/su/software/tmp/gcc/gcc-trunk --disable-bootstrap Thread model: posix gcc version 9.0.0 20181125 (experimental) [trunk revision 266435] (GCC) $ $ g++tk tmp.cpp tmp.cpp:3:16: internal compiler error: Segmentation fault 3 | friend int : 8; |^ 0xfd21af crash_signal ../../gcc-source-trunk/gcc/toplev.c:326 0x85b5a5 grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*, decl_context, int, tree_node**) ../../gcc-source-trunk/gcc/cp/decl.c:12429 0x8661ac grokbitfield(cp_declarator const*, cp_decl_specifier_seq*, tree_node*, tree_node*, tree_node*) ../../gcc-source-trunk/gcc/cp/decl2.c:1015 0x91f6bc cp_parser_member_declaration ../../gcc-source-trunk/gcc/cp/parser.c:24232 0x90338f cp_parser_member_specification_opt ../../gcc-source-trunk/gcc/cp/parser.c:23860 0x90338f cp_parser_class_specifier_1 ../../gcc-source-trunk/gcc/cp/parser.c:23004 0x905759 cp_parser_class_specifier ../../gcc-source-trunk/gcc/cp/parser.c:23266 0x905759 cp_parser_type_specifier ../../gcc-source-trunk/gcc/cp/parser.c:17231 0x90f353 cp_parser_decl_specifier_seq ../../gcc-source-trunk/gcc/cp/parser.c:13965 0x91a801 cp_parser_simple_declaration ../../gcc-source-trunk/gcc/cp/parser.c:13271 0x923b90 cp_parser_declaration ../../gcc-source-trunk/gcc/cp/parser.c:13087 0x922b05 cp_parser_translation_unit ../../gcc-source-trunk/gcc/cp/parser.c:4674 0x922b05 c_parse_file() ../../gcc-source-trunk/gcc/cp/parser.c:40680 0xa7e34a c_common_parse_file() ../../gcc-source-trunk/gcc/c-family/c-opts.c:1151 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. $ --- struct A { friend int : 8; };
[Bug c++/88194] New: can
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88194 Bug ID: 88194 Summary: can Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: coypu at sdf dot org Target Milestone: ---
[Bug c++/88194] can
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88194 coypu changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from coypu --- sorry, clicked too many buttons:-)
[Bug target/88195] New: misleading error message for unsupported builtin
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88195 Bug ID: 88195 Summary: misleading error message for unsupported builtin Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: andi-gcc at firstfloor dot org Target Milestone: --- Target: x86_64 On x86, when using a builtin that is not supported by the target configuration, e.g. gcc -c -m32 -ptwrite t.c.c with t.c being void f(void) { __builtin_ia32_ptwrite64 (1); } I get t.c:4:2: error: '__builtin_ia32_ptwrite64' needs isa option -mx32 -mptwrite While technically correct, -mx32 would enable the 64bit builtin, I suspect for near all users they would like to use -m64, or better not specifying -m32. So it should mention that it is incompatible with -m32.
[Bug c++/88196] New: ICE on (invalid) C++ code when compiled with -std=c++2a: in convert_nontype_argument, at cp/pt.c:7137
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88196 Bug ID: 88196 Summary: ICE on (invalid) C++ code when compiled with -std=c++2a: in convert_nontype_argument, at cp/pt.c:7137 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: su at cs dot ucdavis.edu Target Milestone: --- This appears to be a recent regression. $ g++tk -v Using built-in specs. COLLECT_GCC=g++tk COLLECT_LTO_WRAPPER=/home/su/software/tmp/gcc/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/9.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-source-trunk/configure --enable-languages=c,c++,lto --prefix=/home/su/software/tmp/gcc/gcc-trunk --disable-bootstrap Thread model: posix gcc version 9.0.0 20181125 (experimental) [trunk revision 266435] (GCC) $ $ g++tk -std=c++2a tmp.cpp tmp.cpp:5:14: internal compiler error: in convert_nontype_argument, at cp/pt.c:7137 5 | B < C, &C::c > b; | ^ 0x962cb5 convert_nontype_argument ../../gcc-source-trunk/gcc/cp/pt.c:7136 0x976c80 convert_template_argument ../../gcc-source-trunk/gcc/cp/pt.c:8033 0x977b13 coerce_template_parms ../../gcc-source-trunk/gcc/cp/pt.c:8511 0x979d5a lookup_template_class_1 ../../gcc-source-trunk/gcc/cp/pt.c:9328 0x979d5a lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) ../../gcc-source-trunk/gcc/cp/pt.c:9685 0x9b7bcd finish_template_type(tree_node*, tree_node*, int) ../../gcc-source-trunk/gcc/cp/semantics.c:3249 0x90c057 cp_parser_template_id ../../gcc-source-trunk/gcc/cp/parser.c:16295 0x90c254 cp_parser_class_name ../../gcc-source-trunk/gcc/cp/parser.c:22861 0x90e411 cp_parser_qualifying_entity ../../gcc-source-trunk/gcc/cp/parser.c:6651 0x90e411 cp_parser_nested_name_specifier_opt ../../gcc-source-trunk/gcc/cp/parser.c:6335 0x90f40a cp_parser_constructor_declarator_p ../../gcc-source-trunk/gcc/cp/parser.c:27029 0x90f40a cp_parser_decl_specifier_seq ../../gcc-source-trunk/gcc/cp/parser.c:13950 0x91a801 cp_parser_simple_declaration ../../gcc-source-trunk/gcc/cp/parser.c:13271 0x923b90 cp_parser_declaration ../../gcc-source-trunk/gcc/cp/parser.c:13087 0x922b05 cp_parser_translation_unit ../../gcc-source-trunk/gcc/cp/parser.c:4674 0x922b05 c_parse_file() ../../gcc-source-trunk/gcc/cp/parser.c:40680 0xa7e34a c_common_parse_file() ../../gcc-source-trunk/gcc/c-family/c-opts.c:1151 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. $ -- template < class A, A > struct B {}; struct C { C *c; }; B < C, &C::c > b;
[Bug other/54265] Documentation of "preferred attribute syntax for Types" contradicts examples in info.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54265 --- Comment #4 from sandra at gcc dot gnu.org --- Author: sandra Date: Sun Nov 25 21:10:34 2018 New Revision: 266440 URL: https://gcc.gnu.org/viewcvs?rev=266440&root=gcc&view=rev Log: 2018-11-25 Sandra Loosemore PR other/54265 gcc/ * doc/extend.texi (Common Variable Attributes): Use preferred placement of type attributes in examples, plus whitespace fixes. (Type Attributes): Clarify why placement of attributes immediately after struct/union/enum keyword is preferred. (Common Type Attributes): Use preferred placement of type attributes in examples, plus more whitespace fixes. Modified: trunk/gcc/ChangeLog trunk/gcc/doc/extend.texi
[Bug other/54265] Documentation of "preferred attribute syntax for Types" contradicts examples in info.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54265 sandra at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #5 from sandra at gcc dot gnu.org --- Fixed on trunk.
[Bug fortran/88190] compile_options.allow_std does not allow to distinguish between GFC_STD_GNU and GFC_STD_LEGACY
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88190 --- Comment #3 from Dominique d'Humieres --- With the patch --- ../_clean/gcc/fortran/options.c 2018-11-21 09:27:43.0 +0100 +++ gcc/fortran/options.c 2018-11-25 21:29:39.0 +0100 @@ -38,12 +38,14 @@ gfc_option_t gfc_option; libgfortran/runtime/compile_options.c (init_compile_options). */ static void -set_default_std_flags (void) +set_default_std_flags (bool legacy) { gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL | GFC_STD_F2003 | GFC_STD_F2008 | GFC_STD_F95 | GFC_STD_F77 -| GFC_STD_F2008_OBS | GFC_STD_GNU | GFC_STD_LEGACY +| GFC_STD_F2008_OBS | GFC_STD_GNU | GFC_STD_F2018 | GFC_STD_F2018_DEL | GFC_STD_F2018_OBS; + if (legacy) +gfc_option.allow_std |= GFC_STD_LEGACY; gfc_option.warn_std = GFC_STD_F2018_DEL | GFC_STD_F95_DEL | GFC_STD_LEGACY; } @@ -129,7 +131,7 @@ gfc_init_options (unsigned int decoded_o set_dec_flags (0); - set_default_std_flags (); + set_default_std_flags (false); /* Initialize cpp-related options. */ gfc_cpp_init_options (decoded_options_count, decoded_options); @@ -742,11 +744,11 @@ gfc_handle_option (size_t scode, const c break; case OPT_std_gnu: - set_default_std_flags (); + set_default_std_flags (false); break; case OPT_std_legacy: - set_default_std_flags (); + set_default_std_flags (true); gfc_option.warn_std = 0; break; I see 683 new failures. Grepping the Fortran code for GFC_STD_LEGACY I get gcc/fortran/array.c: if (!gfc_notify_std (GFC_STD_LEGACY, "AC-IMPLIED-DO initial " gcc/fortran/array.c: if (!gfc_notify_std (GFC_STD_LEGACY, "AC-IMPLIED-DO final " gcc/fortran/array.c: if (!gfc_notify_std (GFC_STD_LEGACY, "AC-IMPLIED-DO step " gcc/fortran/decl.c: if (!gfc_notify_std (GFC_STD_LEGACY, "PARAMETER without '()' at %C")) gcc/fortran/decl.c: if (!gfc_notify_std (GFC_STD_LEGACY, "Blanket SAVE statement at %C " gcc/fortran/decl.c: if (!gfc_notify_std (GFC_STD_LEGACY, "SAVE statement at %C follows " gcc/fortran/error.c: else if (std & GFC_STD_LEGACY) gcc/fortran/gfortran.texi:(32), @code{GFC_STD_LEGACY} (64), @code{GFC_STD_F2008} (128), gcc/fortran/gfortran.texi:GFC_STD_F2018_OBS | GFC_STD_F2018_DEL | GFC_STD_GNU | GFC_STD_LEGACY}. gcc/fortran/gfortran.texi:standard error. Default: @code{GFC_STD_F95_DEL | GFC_STD_LEGACY}. gcc/fortran/intrinsic.c: if ((gfc_option.allow_std & GFC_STD_LEGACY) != 0) gcc/fortran/intrinsic.c: BT_INTEGER, gfc_integer_kinds[i].kind, GFC_STD_LEGACY); gcc/fortran/intrinsic.c: BT_REAL, gfc_real_kinds[i].kind, GFC_STD_LEGACY); gcc/fortran/intrinsic.c: BT_COMPLEX, gfc_real_kinds[i].kind, GFC_STD_LEGACY); gcc/fortran/intrinsic.c: gfc_default_character_kind, GFC_STD_LEGACY); gcc/fortran/intrinsic.c: BT_LOGICAL, gfc_logical_kinds[i].kind, GFC_STD_LEGACY); gcc/fortran/intrinsic.c: if ((gfc_option.allow_std & GFC_STD_LEGACY) != 0) gcc/fortran/intrinsic.c:BT_LOGICAL, gfc_logical_kinds[j].kind, GFC_STD_LEGACY); gcc/fortran/intrinsic.c:BT_INTEGER, gfc_integer_kinds[i].kind, GFC_STD_LEGACY); gcc/fortran/intrinsic.c:case GFC_STD_LEGACY: gcc/fortran/io.c: /* If rank is nonzero and type is not character, we allow it under GFC_STD_LEGACY. gcc/fortran/io.c: if (!gfc_notify_std (GFC_STD_LEGACY, "Non-character in FORMAT tag " gcc/fortran/io.c: && !gfc_notify_std (GFC_STD_LEGACY, "Comma before i/o item list at %L", gcc/fortran/libgfortran.h:#define GFC_STD_LEGACY(1<<6) /* Backward compatibility. */ gcc/fortran/match.c: if (!gfc_notify_std (GFC_STD_LEGACY, ".XOR. operator at %C")) gcc/fortran/options.c:gfc_option.allow_std |= GFC_STD_LEGACY; gcc/fortran/options.c: gfc_option.warn_std = GFC_STD_F2018_DEL | GFC_STD_F95_DEL | GFC_STD_LEGACY; gcc/fortran/options.c:| GFC_STD_GNU | GFC_STD_LEGACY; gcc/fortran/options.c: gfc_option.warn_std &= ~(GFC_STD_LEGACY | GFC_STD_F95_DEL); gcc/fortran/options.c: if (pedantic && (gfc_option.allow_std & GFC_STD_LEGACY) != 0) gcc/fortran/options.c:gfc_option.warn_std |= GFC_STD_F95_OBS | GFC_STD_F95_DEL | GFC_STD_LEGACY; gcc/fortran/primary.c: if (!gfc_notify_std (GFC_STD_LEGACY, "Hollerith constant at %C")) gcc/fortran/primary.c: if (!gfc_notify_std (GFC_STD_LEGACY, "%%LOC() as an rvalue at %C")) gcc/fortran/resolve.c:|| ((gfc_option.warn_std & GFC_STD_LEGACY) gcc/fortran/resolve.c:if (!gfc_notify_std (GFC_STD_LEGACY, "REAL array index at %L", gcc/fortran/resolve.c: gfc_notify_std (GFC_STD_LEGACY, "Label at %L is not in the same block " gcc/fortran/symbol.c: if (attr->automatic && !gfc_notify_std (GFC_STD_LEGACY, gcc/fortran/symbol.c: if (!gfc_notify_std (GFC_STD_LEGACY, gcc/fortran/symbol.c: if (!gfc_notify_std (GFC_STD_LEGACY, gcc/fortran/symbol.c: if (!gfc_notify_std (GFC_STD_LEGACY,
[Bug fortran/88052] Format contravening constraint C1002 permitted
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88052 --- Comment #9 from Jerry DeLisle --- (In reply to Dominique d'Humieres from comment #8) > > The error I found is not just violating a constraint in f2008 or above. > > The same constraint with different wording is in f2003, f95 and f90. > > Agreed, so I removed the reference to f2008 from the summary. > > While playing with the patch in comment 4, I saw the following problems: > > (1) The behaviors of the frontend and the library are no longer consistent: > print "(AF9.6)", 'pi =',4*atan(1.0) > is accepted at compile time, but gives an error at runtime. > The error detection should probably be updated in the frontend. > > (2) The following tests fail > > FAIL: gfortran.dg/comma_format_extension_4.f -O* execution test > FAIL: gfortran.dg/dollar_edit_descriptor_2.f -O* execution test > FAIL: gfortran.dg/fmt_error_9.f -O* execution test > FAIL: gfortran.dg/fmt_g0_5.f08 -O* execution test > FAIL: gfortran.dg/fmt_t_2.f90 -*0 execution test > > I agree with the fixes at > > https://gcc.gnu.org/ml/fortran/2018-11/msg00123.html Yes I fixed those test cases with the patch because they are not standard conforming. I tried to make sure we were still testing the relevant features. > > although I would have added a { dg-options "-std=legacy" } to fmt_t_2.f90. > > (3) If the code is compiled with -std=legacy -pedantic, the format is > rejected at runtime (see pr88190). > > (4) It looks weird to use compile_options.warn_std instead of > compile_options.allow_std (see pr88190 again). > > An alternative patch is > > - /* Assume a missing comma, this is a GNU extension */ > - goto format_item_1; > + if (compile_options.allow_std & GFC_STD_GNU) > +/* Assume a missing comma, this is a GNU extension. */ > +goto format_item_1; > + format_error (dtp, tail, comma_missing); > > PRO > > (a) It does not change the behavior for -std=gnu or std=legacy. I presumed we did not want to allow the missing comma by default and since we cant currently do it with allow_std I opted for the warn_std as I did with pr78351. > (b) It is a simple fix of the above problems that gives the expected errors > with std=f*. > > AGAINST > > > If you want to allow any constraint violations I think that should be an > > option, not the default. > > It does not fix that. However if this is deemed important by a majority > (don't count me for it, but I won't fight), it would be quite easy to > replace GFC_STD_GNU with GFC_STD_LEGACY where appropriate once pr88190 will > be fixed. Yes easy to replace one way or the other. By the way, the behaviors between frontend and runtime have been around a long time. I opened a PR way back on this because it seemed so counterintuitive. If we really want to fix that issue flagged in your PR88190 we probably ought to write down for ourselves a description of the behaviors we want to see and document it and fix it once and for all. Even the -pedantic flag is a bit obtuse in my mind.
[Bug c++/87947] Symbol Does Not Appear in Object File
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87947 --- Comment #3 from comm+gnu at squotd dot net --- Does this result in an exception to the answer you gave here about gcc being able to link c++14 and c++17 object files together? (Or am I missing something?) https://stackoverflow.com/questions/46746878/is-it-safe-to-link-c17-c14-and-c11-objects?answertab=active#tab-top
[Bug fortran/88190] compile_options.allow_std does not allow to distinguish between GFC_STD_GNU and GFC_STD_LEGACY
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88190 Jerry DeLisle changed: What|Removed |Added CC||jvdelisle at gcc dot gnu.org --- Comment #4 from Jerry DeLisle --- Also related, how we handle 78351, 87233, 61180, 30929, and 77900. The last one listed I closed because I was not going to fix it. Further evaluation needed.
[Bug fortran/88190] compile_options.allow_std does not allow to distinguish between GFC_STD_GNU and GFC_STD_LEGACY
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88190 --- Comment #5 from kargl at gcc dot gnu.org --- (In reply to Dominique d'Humieres from comment #3) > With the patch > > --- ../_clean/gcc/fortran/options.c 2018-11-21 09:27:43.0 +0100 > +++ gcc/fortran/options.c 2018-11-25 21:29:39.0 +0100 > @@ -38,12 +38,14 @@ gfc_option_t gfc_option; > libgfortran/runtime/compile_options.c (init_compile_options). */ > > static void > -set_default_std_flags (void) > +set_default_std_flags (bool legacy) > { >gfc_option.allow_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL > | GFC_STD_F2003 | GFC_STD_F2008 | GFC_STD_F95 | GFC_STD_F77 > -| GFC_STD_F2008_OBS | GFC_STD_GNU | GFC_STD_LEGACY > +| GFC_STD_F2008_OBS | GFC_STD_GNU > | GFC_STD_F2018 | GFC_STD_F2018_DEL | GFC_STD_F2018_OBS; > + if (legacy) > +gfc_option.allow_std |= GFC_STD_LEGACY; >gfc_option.warn_std = GFC_STD_F2018_DEL | GFC_STD_F95_DEL | > GFC_STD_LEGACY; > } > > @@ -129,7 +131,7 @@ gfc_init_options (unsigned int decoded_o > >set_dec_flags (0); > > - set_default_std_flags (); > + set_default_std_flags (false); > >/* Initialize cpp-related options. */ >gfc_cpp_init_options (decoded_options_count, decoded_options); > @@ -742,11 +744,11 @@ gfc_handle_option (size_t scode, const c >break; > > case OPT_std_gnu: > - set_default_std_flags (); > + set_default_std_flags (false); >break; > > case OPT_std_legacy: > - set_default_std_flags (); > + set_default_std_flags (true); >gfc_option.warn_std = 0; >break; > > > I see 683 new failures. Grepping the Fortran code for GFC_STD_LEGACY I get > > gcc/fortran/array.c:if (!gfc_notify_std (GFC_STD_LEGACY, > "AC-IMPLIED-DO initial " > gcc/fortran/array.c:if (!gfc_notify_std (GFC_STD_LEGACY, > "AC-IMPLIED-DO final " > gcc/fortran/array.c:if (!gfc_notify_std (GFC_STD_LEGACY, > "AC-IMPLIED-DO step " > gcc/fortran/decl.c: if (!gfc_notify_std (GFC_STD_LEGACY, "PARAMETER > without '()' at %C")) > gcc/fortran/decl.c: if (!gfc_notify_std (GFC_STD_LEGACY, "Blanket SAVE > statement at %C " > gcc/fortran/decl.c: if (!gfc_notify_std (GFC_STD_LEGACY, "SAVE > statement at %C follows " > gcc/fortran/error.c: else if (std & GFC_STD_LEGACY) > gcc/fortran/gfortran.texi:(32), @code{GFC_STD_LEGACY} (64), > @code{GFC_STD_F2008} (128), > gcc/fortran/gfortran.texi:GFC_STD_F2018_OBS | GFC_STD_F2018_DEL | > GFC_STD_GNU | GFC_STD_LEGACY}. > gcc/fortran/gfortran.texi:standard error. Default: @code{GFC_STD_F95_DEL | > GFC_STD_LEGACY}. > gcc/fortran/intrinsic.c: if ((gfc_option.allow_std & GFC_STD_LEGACY) != 0) > gcc/fortran/intrinsic.c:BT_INTEGER, gfc_integer_kinds[i].kind, > GFC_STD_LEGACY); > gcc/fortran/intrinsic.c:BT_REAL, gfc_real_kinds[i].kind, > GFC_STD_LEGACY); > gcc/fortran/intrinsic.c:BT_COMPLEX, gfc_real_kinds[i].kind, > GFC_STD_LEGACY); > gcc/fortran/intrinsic.c:gfc_default_character_kind, > GFC_STD_LEGACY); > gcc/fortran/intrinsic.c:BT_LOGICAL, gfc_logical_kinds[i].kind, > GFC_STD_LEGACY); > gcc/fortran/intrinsic.c: if ((gfc_option.allow_std & GFC_STD_LEGACY) != 0) > gcc/fortran/intrinsic.c: BT_LOGICAL, > gfc_logical_kinds[j].kind, > GFC_STD_LEGACY); > gcc/fortran/intrinsic.c: BT_INTEGER, > gfc_integer_kinds[i].kind, > GFC_STD_LEGACY); > gcc/fortran/intrinsic.c:case GFC_STD_LEGACY: > gcc/fortran/io.c: /* If rank is nonzero and type is not character, we allow > it under GFC_STD_LEGACY. > gcc/fortran/io.c: if (!gfc_notify_std (GFC_STD_LEGACY, "Non-character > in FORMAT tag " > gcc/fortran/io.c: && !gfc_notify_std (GFC_STD_LEGACY, "Comma before i/o > item list at %L", > gcc/fortran/libgfortran.h:#define GFC_STD_LEGACY (1<<6) /* > Backward > compatibility. */ > gcc/fortran/match.c: if (!gfc_notify_std (GFC_STD_LEGACY, > ".XOR. operator at %C")) > gcc/fortran/options.c:gfc_option.allow_std |= GFC_STD_LEGACY; > gcc/fortran/options.c: gfc_option.warn_std = GFC_STD_F2018_DEL | > GFC_STD_F95_DEL | GFC_STD_LEGACY; > gcc/fortran/options.c:| GFC_STD_GNU | GFC_STD_LEGACY; > gcc/fortran/options.c: gfc_option.warn_std &= ~(GFC_STD_LEGACY | > GFC_STD_F95_DEL); > gcc/fortran/options.c: if (pedantic && (gfc_option.allow_std & > GFC_STD_LEGACY) != 0) > gcc/fortran/options.c:gfc_option.warn_std |= GFC_STD_F95_OBS | > GFC_STD_F95_DEL | GFC_STD_LEGACY; > gcc/fortran/primary.c: if (!gfc_notify_std (GFC_STD_LEGACY, "Hollerith > constant at %C")) > gcc/fortran/primary.c: if (!gfc_notify_std (GFC_STD_LEGACY, "%%LOC() as > an rvalue at %C")) > gcc/fortran/resolve.c: || ((gfc_option.warn_std & GFC_STD_LEGACY) > gcc/fortran/resolve.c:if (!gfc_notify_std (GFC_STD_LEGACY, "REAL array > index at %L", > gcc/fortran/resolve.c: gfc_notify_std (GFC_STD_LEGACY, "Label at %L is not > in t
[Bug web/79738] Documentation for __attribute__((const)) slightly misleading
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79738 --- Comment #4 from sandra at gcc dot gnu.org --- Author: sandra Date: Mon Nov 26 01:38:00 2018 New Revision: 266445 URL: https://gcc.gnu.org/viewcvs?rev=266445&root=gcc&view=rev Log: 2018-11-25 Sandra Loosemore PR web/79738 gcc/ * doc/extend.texi (Common Function Attributes): Clarify that functions with "const" attribute can read const global variables. Modified: trunk/gcc/ChangeLog trunk/gcc/doc/extend.texi
[Bug web/79738] Documentation for __attribute__((const)) slightly misleading
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79738 sandra at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #5 from sandra at gcc dot gnu.org --- Fixed on trunk.
[Bug sanitizer/56682] -fsanitize documentation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56682 sandra at gcc dot gnu.org changed: What|Removed |Added CC||dodji at gcc dot gnu.org, ||dvyukov at gcc dot gnu.org, ||jakub at gcc dot gnu.org, ||kcc at gcc dot gnu.org, ||marxin at gcc dot gnu.org, ||sandra at gcc dot gnu.org Component|c |sanitizer --- Comment #2 from sandra at gcc dot gnu.org --- This issue is 5+ years old and I think there have been a lot of improvements to the sanitizers meanwhile. Can the maintainers please comment on what additional options are currently required/recommended?
[Bug tree-optimization/88182] [9 Regression] ICE in vectorizable_reduction, at tree-vect-loop.c:6465
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88182 --- Comment #1 from Arseny Solokha --- Eric, this PR is not about a vectorizer missed optimization, so I doubt it should block the corresponding meta-bug.
[Bug c/57166] Manual no longer documents -Wmissing-noreturn alias for -Wsuggest-attribute=noreturn
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57166 --- Comment #2 from sandra at gcc dot gnu.org --- Author: sandra Date: Mon Nov 26 03:44:38 2018 New Revision: 266446 URL: https://gcc.gnu.org/viewcvs?rev=266446&root=gcc&view=rev Log: 2018-11-25 Sandra Loosemore PR c/57166 gcc/ * doc/invoke.texi (Option Summary): Add -Wmissing-noreturn. (Warning Options): Likewise. Modified: trunk/gcc/ChangeLog trunk/gcc/doc/invoke.texi
[Bug c/57166] Manual no longer documents -Wmissing-noreturn alias for -Wsuggest-attribute=noreturn
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57166 sandra at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED CC||sandra at gcc dot gnu.org Resolution|--- |FIXED --- Comment #3 from sandra at gcc dot gnu.org --- Fixed on trunk.
[Bug target/68834] ICE: in decompose_normal_address, at rtlanal.c:6086 with -O2 -fPIC --param=sched-autopref-queue-depth=1
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68834 Arseny Solokha changed: What|Removed |Added CC||asolokha at gmx dot com --- Comment #3 from Arseny Solokha --- I believe this PR can be closed as the issue is fixed on all active branches.
[Bug target/88197] New: ICE in decompose_normal_address, at rtlanal.c:6381
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88197 Bug ID: 88197 Summary: ICE in decompose_normal_address, at rtlanal.c:6381 Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: powerpc-*-linux-gnu, powerpcspe-*-linux-gnu gcc-9.0.0-alpha20181125 snapshot (r266441) ICEs when compiling gcc/testsuite/gcc.target/i386/pr67265.c at any optimization level and w/ -fgcse -fstack-protector-all: % powerpc-e300c3-linux-gnu-gcc-9.0.0-alpha20181125 -O1 -fgcse -fstack-protector-all -c gcc/testsuite/gcc.target/i386/pr67265.c during RTL pass: reload gcc/testsuite/gcc.target/i386/pr67265.c: In function 'foo': gcc/testsuite/gcc.target/i386/pr67265.c:13:1: internal compiler error: in decompose_normal_address, at rtlanal.c:6381 13 | } | ^ 0x639fde decompose_normal_address /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181125/work/gcc-9-20181125/gcc/rtlanal.c:6381 0x639fde decompose_address(address_info*, rtx_def**, machine_mode, unsigned char, rtx_code) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181125/work/gcc-9-20181125/gcc/rtlanal.c:6458 0xb973d9 process_address_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181125/work/gcc-9-20181125/gcc/lra-constraints.c:3294 0xb994e2 process_address /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181125/work/gcc-9-20181125/gcc/lra-constraints.c:3565 0xb994e2 curr_insn_transform /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181125/work/gcc-9-20181125/gcc/lra-constraints.c:3880 0xb9c721 lra_constraints(bool) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181125/work/gcc-9-20181125/gcc/lra-constraints.c:4921 0xb83d68 lra(_IO_FILE*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181125/work/gcc-9-20181125/gcc/lra.c:2446 0xb39ef4 do_reload /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181125/work/gcc-9-20181125/gcc/ira.c:5469 0xb39ef4 execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20181125/work/gcc-9-20181125/gcc/ira.c:5653