[Bug c/93577] [8/9/10 Regression] internal compiler error: tree check: expected integer_cst, have non_lvalue_expr in get_len, at tree.h:5902
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93577 --- Comment #5 from Joseph S. Myers --- Fixed so far for GCC 10. Will wait until after 9.3 release for backporting.
[Bug c/94225] C18 conformance for structure implicit initialization
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94225 Joseph S. Myers changed: What|Removed |Added Resolution|--- |DUPLICATE Status|NEW |RESOLVED --- Comment #2 from Joseph S. Myers --- Already filed in Bugzilla. *** This bug has been marked as a duplicate of bug 63944 ***
[Bug c/63944] [DR413] Partial overriding of nonconstant struct/union initializers with designated initializers
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63944 Joseph S. Myers changed: What|Removed |Added CC||dje at gcc dot gnu.org --- Comment #9 from Joseph S. Myers --- *** Bug 94225 has been marked as a duplicate of this bug. ***
[Bug middle-end/94526] New: [10 Regression] cselib ICE building glibc sigpause for m68k and microblaze
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94526 Bug ID: 94526 Summary: [10 Regression] cselib ICE building glibc sigpause for m68k and microblaze Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org CC: jakub at gcc dot gnu.org Target Milestone: --- Target: m68k-*-* microblaze*-*-* Created attachment 48235 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48235&action=edit preprocessed source The following ICE appears building glibc for m68k-linux-gnu, introduced by commit 8662d0593438ecd498ab7591ad0d2810886eb6da ("cselib: Fix endless cselib loop on (plus:P (reg) (const_int 0))"). This also appears for microblaze, though I haven't bisected there to confirm the same commit introduces it. Preprocessed source attached. Compile with -g -O2. during RTL pass: vartrack ../sysdeps/posix/sigpause.c: In function '__default_sigpause': ../sysdeps/posix/sigpause.c:57:1: internal compiler error: in new_elt_loc_list, at cselib.c:300 0x7cfe6b new_elt_loc_list /scratch/jmyers/glibc/many10/src/gcc/gcc/cselib.c:298 0x7d2c54 cselib_lookup_1 /scratch/jmyers/glibc/many10/src/gcc/gcc/cselib.c:2301 0x7d2c54 cselib_lookup(rtx_def*, machine_mode, int, machine_mode) /scratch/jmyers/glibc/many10/src/gcc/gcc/cselib.c:2330 0xfaa4b8 use_type /scratch/jmyers/glibc/many10/src/gcc/gcc/var-tracking.c:5517 0xfab397 add_uses /scratch/jmyers/glibc/many10/src/gcc/gcc/var-tracking.c:5678 0xfab397 add_uses_1 /scratch/jmyers/glibc/many10/src/gcc/gcc/var-tracking.c:5832 0xfa8abc add_with_sets /scratch/jmyers/glibc/many10/src/gcc/gcc/var-tracking.c:6589 0x7d5c6f cselib_record_sets /scratch/jmyers/glibc/many10/src/gcc/gcc/cselib.c:2835 0x7d71ca cselib_process_insn(rtx_insn*) /scratch/jmyers/glibc/many10/src/gcc/gcc/cselib.c:2997 0xfb097d vt_initialize /scratch/jmyers/glibc/many10/src/gcc/gcc/var-tracking.c:10228 0xfbdc57 variable_tracking_main_1 /scratch/jmyers/glibc/many10/src/gcc/gcc/var-tracking.c:10457 0xfbdc57 variable_tracking_main() /scratch/jmyers/glibc/many10/src/gcc/gcc/var-tracking.c:10510 0xfbdc57 execute /scratch/jmyers/glibc/many10/src/gcc/gcc/var-tracking.c:10547 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.
[Bug c/94558] Designated initializer inside _Generic is misinterpreted
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94558 Joseph S. Myers changed: What|Removed |Added Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED --- Comment #1 from Joseph S. Myers --- This is not a bug. First, note that all expressions inside _Generic must satisfy all syntactic and compile-time constraints and must not involve any compile-time undefined behavior, just like an expression inside "if (0)"; it's simply that only one of the expressions ends up being evaluated at runtime when the _Generic expression is executed. So one of the compound literals tries to use an object of type A to initialize element b of the union, which results in the given error. Next, the error refers to initializing the field _ (i.e. .b._) with an incompatible type rather than to initializing .b with an incompatible type because the rule for initializing subaggregates and contained unions, in the absence of braces, is that an initializer with the correct structure or union type initializes the whole of a contained subaggregate or union, but otherwise the initializer goes down into nested subobjects. So when the initializer doesn't match the type of the field named by the designator, or the first field of that field (where an aggregate or union), or the first field of that, recursively, it ends up being interpreted as an initializer for the scalar at the start of that object; that is, the int at the start of .b. So the error message refers to the type int.
[Bug testsuite/94725] New: Tests with proprietary license notices
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94725 Bug ID: 94725 Summary: Tests with proprietary license notices Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org Target Milestone: --- The tests gfortran.dg/dtio_5.f90 and gfortran.dg/pdt_5.f03 have proprietary license notices that do not permit redistribution. This is contrary to the principles described at https://gcc.gnu.org/legacy-ml/gcc/2000-01/msg00593.html for what can go in the testsuite, so those tests should be removed from master and all active release branches.
[Bug tree-optimization/94963] New: [11 Regression] Spurious uninitialized warning for static variable building glibc
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94963 Bug ID: 94963 Summary: [11 Regression] Spurious uninitialized warning for static variable building glibc Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org Target Milestone: --- r11-39-gf9e1ea10e657af9fb02fafecf1a600740fd34409 ("tree-optimization/39612 - avoid issueing loads in SM when possible") introduces a spurious warning building the following code (reduced from glibc) with -O2 -Wall (for aarch64-linux-gnu at least, probably for other targets. The warning is obviously bogus because it relates to a field of a static variable, which is always initialized. uninit.c: In function 'f': uninit.c:30:6: warning: 'var_field_lsm.8' may be used uninitialized in this function [-Wmaybe-uninitialized] 30 | if (var.field != 0) | ^ Reduced testcase: typedef struct { int p1; int p2; int p3; } P; struct S { int field; }; extern int v2; extern void foo (struct S *map); static struct S var; const P *pv; int ps; void f (void) { if (pv != 0) for (const P *ph = pv; ph < &pv[ps]; ++ph) switch (ph->p1) { case 1: v2 = ph->p2; break; case 2: var.field = ph->p3; break; } if (var.field != 0) foo (&var); }
[Bug tree-optimization/96369] [8/9/10/11 Regression] Wrong evaluation order of || operator
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96369 Joseph S. Myers changed: What|Removed |Added Component|c |tree-optimization Summary|Wrong evaluation order of |[8/9/10/11 Regression] ||| operator |Wrong evaluation order of |||| operator --- Comment #2 from Joseph S. Myers --- Actually it appears the wrong code is being introduced somewhere in fold_range_test (I didn't trace it further than that); the only front-end involvement is that the front end does folding as part of conversions at various points. Testing with old compilers suggests this appeared between 4.8.1 and 4.8.3 (quite possibly through some backported change perturbing the exact sequence of calls to folding functions rather than the actual underlying cause being introduced in whatever backport).
[Bug c/96571] New: Bad "set but not used" warning with _Generic
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96571 Bug ID: 96571 Summary: Bad "set but not used" warning with _Generic Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org Target Milestone: --- Compile the following with -Wall: enum E { V }; int f (void) { enum E v; return _Generic (v, enum E : 0); } This produces a warning: t.c: In function 'f': t.c:6:10: warning: variable 'v' set but not used [-Wunused-but-set-variable] 6 | enum E v; | ^ It's arguable whether the variable is "used" when it's only referenced in the controlling expression of _Generic (so never actually evaluated), but it's certainly not set.
[Bug middle-end/97078] New: [11 Regression] ICE in set_rtl building glibc tests with -ffloat-store
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97078 Bug ID: 97078 Summary: [11 Regression] ICE in set_rtl building glibc tests with -ffloat-store Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org CC: ebotcazou at gcc dot gnu.org Target Milestone: --- Target: alpha*-*-* s390*-*-* sparc*-*-* Created attachment 49230 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49230&action=edit preprocessed source Compile the attached test (from the glibc testsuite) for alpha-linux-gnu with -S -O2 -ffloat-store (you may need -mlong-double-128 as well depending on the configuration of your cross compiler). The following ICE was introduced by commit a7d8dcdf2f3cf9a801e655f2eec3967a3a3ba666, "Fix dangling references in thunks at -O0" (bisection done and preprocessed source generated for alpha; the same ICE also appears building the glibc testsuite for s390 and 32-bit sparc, likely with the same cause). during RTL pass: expand In file included from /scratch/jmyers/glibc/many11/build/glibcs/alpha-linux-gnu/glibc/math/libm-test-support-ldouble.c:2: ./libm-test-support.c: In function 'print_float': ./libm-test-support.c:259:1: internal compiler error: in set_rtl, at cfgexpand.c:199 0x734169 set_rtl /scratch/jmyers/glibc/many11/src/gcc/gcc/cfgexpand.c:178 0x73a239 set_parm_rtl(tree_node*, rtx_def*) /scratch/jmyers/glibc/many11/src/gcc/gcc/cfgexpand.c:1312 0x8ce172 assign_parm_setup_reg /scratch/jmyers/glibc/many11/src/gcc/gcc/function.c:3379 0x8d1846 assign_parms /scratch/jmyers/glibc/many11/src/gcc/gcc/function.c:3685 0x8d1846 expand_function_start(tree_node*) /scratch/jmyers/glibc/many11/src/gcc/gcc/function.c:5129 0x74728f execute /scratch/jmyers/glibc/many11/src/gcc/gcc/cfgexpand.c:6464 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.
[Bug c++/92521] New: [[deprecated(("string-literal"))]] accepted with extra parentheses
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92521 Bug ID: 92521 Summary: [[deprecated(("string-literal"))]] accepted with extra parentheses Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: accepts-invalid Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org Target Milestone: --- The C++ standard says the only valid attribute-argument-clause for the "deprecated" attribute is (string-literal). In particular, redundantly parenthesized string literals are not permitted. However, the C++ front end accepts invalid code such as: int a [[deprecated""]];
[Bug c++/91182] deprecated attribute string-literal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91182 Joseph S. Myers changed: What|Removed |Added Keywords||diagnostic Status|UNCONFIRMED |NEW Last reconfirmed||2019-11-14 CC||jsm28 at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Joseph S. Myers --- I rediscovered this bug (and found bug 92521) while implementing support for [[deprecated]] for C. While it's filed as a C++ bug, it's actually a bug in language-independent code for this warning in tree.c, so applies to both C and C++.
[Bug c/91985] Unsupported DFP not diagnosed with constants or built-in functions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91985 --- Comment #2 from Joseph S. Myers --- Author: jsm28 Date: Mon Nov 25 13:45:42 2019 New Revision: 278684 URL: https://gcc.gnu.org/viewcvs?rev=278684&root=gcc&view=rev Log: Prevent all uses of DFP when unsupported (PR c/91985). Code that directly uses _Decimal* types on architectures not supporting DFP is properly diagnosed ("error: decimal floating-point not supported for this target"), via a call to targetm.decimal_float_supported_p, if the _Decimal32, _Decimal64 or _Decimal128 keywords are used to access it. Use via mode attributes is also diagnosed ("unable to emulate 'SD'"); so is use of the FLOAT_CONST_DECIMAL64 pragma. However, it is possible to access those types via typeof applied to constants or built-in functions without such an error. I expect that there are ways to get an ICE from this; certainly it uses a completely undefined ABI. This patch arranges for the types not to exist in the compiler at all when DFP is not supported. As is done with unsupported _FloatN / _FloatNx types, the global tree nodes are left as NULL_TREE, and the built-in function machinery is made to use error_mark_node for them in that case in builtin-types.def, so that the built-in functions are unavailable. Code handling constants is adjusted to give an error, and other code that might not work with the global tree nodes being NULL_TREE is also updated. Bootstrapped with no regressions for x86_64-pc-linux-gnu. Also tested with no regressions for cross to aarch64-linux-gnu, as a configuration without DFP support. PR c/91985 gcc: * builtin-types.def (BT_DFLOAT32, BT_DFLOAT64, BT_DFLOAT128) (BT_DFLOAT32_PTR, BT_DFLOAT64_PTR, BT_DFLOAT128_PTR): Define to error_mark_node if corresponding global tree node is NULL. * tree.c (build_common_tree_nodes): Do not initialize dfloat32_type_node, dfloat64_type_node or dfloat128_type_node if decimal floating-point not supported. gcc/c: * c-decl.c (finish_declspecs): Use int instead of decimal floating-point types if decimal floating-point not supported. gcc/c-family: * c-common.c (c_common_type_for_mode): Handle decimal floating-point types being NULL_TREE. * c-format.c (get_format_for_type_1): Handle specified types being NULL_TREE. * c-lex.c (interpret_float): Give an error for decimal floating-point constants when decimal floating-point not supported. gcc/lto: * lto-lang.c (lto_type_for_mode): Handle decimal floating-point types being NULL_TREE. gcc/testsuite: * gcc.dg/c2x-no-dfp-1.c, gcc.dg/gnu2x-builtins-no-dfp-1.c: New tests. * gcc.dg/fltconst-pedantic-dfp.c: Expect errors when decimal floating-point not supported. Added: trunk/gcc/testsuite/gcc.dg/c2x-no-dfp-1.c trunk/gcc/testsuite/gcc.dg/gnu2x-builtins-no-dfp-1.c Modified: trunk/gcc/ChangeLog trunk/gcc/builtin-types.def trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c-common.c trunk/gcc/c-family/c-format.c trunk/gcc/c-family/c-lex.c trunk/gcc/c/ChangeLog trunk/gcc/c/c-decl.c trunk/gcc/lto/ChangeLog trunk/gcc/lto/lto-lang.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/fltconst-pedantic-dfp.c trunk/gcc/tree.c
[Bug c/91985] Unsupported DFP not diagnosed with constants or built-in functions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91985 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Target Milestone|--- |10.0 --- Comment #3 from Joseph S. Myers --- Fixed for GCC 10.
[Bug target/92694] Can't build powerpc-eabi cross compiler: : fatal error: internal error: builtin function ‘__builtin_ddedpd’ had an unexpected return type ‘DD’
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92694 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE --- Comment #1 from Joseph S. Myers --- Duplicate. *** This bug has been marked as a duplicate of bug 92661 ***
[Bug bootstrap/92661] [10 Regression] Bootstrap failure with builtin-types.def change
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92661 Joseph S. Myers changed: What|Removed |Added CC||green at redhat dot com --- Comment #7 from Joseph S. Myers --- *** Bug 92694 has been marked as a duplicate of this bug. ***
[Bug c/88704] Accepts invalid program with [*] outside function prototype scope.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88704 --- Comment #4 from Joseph S. Myers --- Author: jsm28 Date: Tue Dec 3 01:27:43 2019 New Revision: 278917 URL: https://gcc.gnu.org/viewcvs?rev=278917&root=gcc&view=rev Log: Diagnose use of [*] in old-style parameter definitions (PR c/88704). GCC wrongly accepts [*] in old-style parameter definitions because because parm_flag is set on the scope used for those definitions and, unlike the case of a prototype in a function definition, there is no subsequent check to disallow this invalid usage. This patch adds such a check. (At this point we don't have location information for the [*], so the diagnostic location isn't ideal.) Bootstrapped with no regressions for x86_64-pc-linux-gnu. PR c/88704 gcc/c: * c-decl.c (store_parm_decls_oldstyle): Diagnose use of [*] in old-style parameter definitions. gcc/testsuite: * gcc.dg/vla-25.c: New test. Added: trunk/gcc/testsuite/gcc.dg/vla-25.c Modified: trunk/gcc/c/ChangeLog trunk/gcc/c/c-decl.c trunk/gcc/testsuite/ChangeLog
[Bug c/88704] Accepts invalid program with [*] outside function prototype scope.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88704 Joseph S. Myers changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |10.0 --- Comment #5 from Joseph S. Myers --- Fixed for GCC 10.
[Bug c/36941] gcc does not reject invalid cast
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36941 --- Comment #9 from Joseph S. Myers --- Author: jsm28 Date: Wed Dec 4 23:26:10 2019 New Revision: 278976 URL: https://gcc.gnu.org/viewcvs?rev=278976&root=gcc&view=rev Log: Fix C handling of use of lvalues of incomplete types (PR c/36941, PR c/88827). Bug 88827 points out that GCC should not be rejecting C code that dereferences a pointer to an incomplete type in the case that uses &* to take the address of the resulting lvalue, because no constraint is violated in that case (other than for C90 when the incomplete type is unqualified void, which we already handle correctly) and as the lvalue never gets converted to an rvalue there is no undefined behavior either. This means that the diagnostic for such a dereference is bogus and should be removed; if the lvalue gets converted to an rvalue, there should be an appropriate error later for the use of the incomplete type. In most cases, there is, but bug 36941 points out the lack of a diagnostic when the incomplete (non-void) type gets cast to void (where a diagnostic seems appropriate for this undefined behavior as a matter of quality of implementation). This patch removes the bogus diagnostic (and C_TYPE_ERROR_REPORTED which was only used in the code that is removed - only that one, bogus diagnostic had this duplicate suppression, not any of the other, more legitimate diagnostics for use of incomplete types) and makes convert_lvalue_to_rvalue call require_complete_type for arguments not of void types, so that all relevant code paths (possibly except some for ObjC) get incomplete types diagnosed. It's possible that this makes some other checks for incomplete types obsolete, but no attempt is made to remove any such checks. Bootstrapped with no regressions for x86_64-pc-linux-gnu. PR c/36941 PR c/88827 gcc/c: * c-typeck.c (convert_lvalue_to_rvalue): Call require_complete_type for arguments not of void types. (build_indirect_ref): Do not diagnose dereferencing pointers to incomplete types. * c-tree.h (C_TYPE_ERROR_REPORTED): Remove. gcc/testsuite: * gcc.dg/lvalue-9.c, gcc.dg/lvalue-10.c: New tests. * gcc.dg/array-8.c, gcc.dg/enum-incomplete-1.c, gcc.dg/enum-incomplete-3.c, gcc.dg/noncompile/incomplete-3.c, gcc.dg/pr48552-1.c, gcc.dg/pr48552-2.c, gcc.dg/pr63543.c, gcc.dg/pr69796.c: Update expected diagnostics. Added: trunk/gcc/testsuite/gcc.dg/lvalue-10.c trunk/gcc/testsuite/gcc.dg/lvalue-9.c Modified: trunk/gcc/c/ChangeLog trunk/gcc/c/c-tree.h trunk/gcc/c/c-typeck.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/array-8.c trunk/gcc/testsuite/gcc.dg/enum-incomplete-1.c trunk/gcc/testsuite/gcc.dg/enum-incomplete-3.c trunk/gcc/testsuite/gcc.dg/noncompile/incomplete-3.c trunk/gcc/testsuite/gcc.dg/pr48552-1.c trunk/gcc/testsuite/gcc.dg/pr48552-2.c trunk/gcc/testsuite/gcc.dg/pr63543.c trunk/gcc/testsuite/gcc.dg/pr69796.c
[Bug c/88827] Rejects valid program using &* operator combination.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88827 --- Comment #1 from Joseph S. Myers --- Author: jsm28 Date: Wed Dec 4 23:26:10 2019 New Revision: 278976 URL: https://gcc.gnu.org/viewcvs?rev=278976&root=gcc&view=rev Log: Fix C handling of use of lvalues of incomplete types (PR c/36941, PR c/88827). Bug 88827 points out that GCC should not be rejecting C code that dereferences a pointer to an incomplete type in the case that uses &* to take the address of the resulting lvalue, because no constraint is violated in that case (other than for C90 when the incomplete type is unqualified void, which we already handle correctly) and as the lvalue never gets converted to an rvalue there is no undefined behavior either. This means that the diagnostic for such a dereference is bogus and should be removed; if the lvalue gets converted to an rvalue, there should be an appropriate error later for the use of the incomplete type. In most cases, there is, but bug 36941 points out the lack of a diagnostic when the incomplete (non-void) type gets cast to void (where a diagnostic seems appropriate for this undefined behavior as a matter of quality of implementation). This patch removes the bogus diagnostic (and C_TYPE_ERROR_REPORTED which was only used in the code that is removed - only that one, bogus diagnostic had this duplicate suppression, not any of the other, more legitimate diagnostics for use of incomplete types) and makes convert_lvalue_to_rvalue call require_complete_type for arguments not of void types, so that all relevant code paths (possibly except some for ObjC) get incomplete types diagnosed. It's possible that this makes some other checks for incomplete types obsolete, but no attempt is made to remove any such checks. Bootstrapped with no regressions for x86_64-pc-linux-gnu. PR c/36941 PR c/88827 gcc/c: * c-typeck.c (convert_lvalue_to_rvalue): Call require_complete_type for arguments not of void types. (build_indirect_ref): Do not diagnose dereferencing pointers to incomplete types. * c-tree.h (C_TYPE_ERROR_REPORTED): Remove. gcc/testsuite: * gcc.dg/lvalue-9.c, gcc.dg/lvalue-10.c: New tests. * gcc.dg/array-8.c, gcc.dg/enum-incomplete-1.c, gcc.dg/enum-incomplete-3.c, gcc.dg/noncompile/incomplete-3.c, gcc.dg/pr48552-1.c, gcc.dg/pr48552-2.c, gcc.dg/pr63543.c, gcc.dg/pr69796.c: Update expected diagnostics. Added: trunk/gcc/testsuite/gcc.dg/lvalue-10.c trunk/gcc/testsuite/gcc.dg/lvalue-9.c Modified: trunk/gcc/c/ChangeLog trunk/gcc/c/c-tree.h trunk/gcc/c/c-typeck.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/array-8.c trunk/gcc/testsuite/gcc.dg/enum-incomplete-1.c trunk/gcc/testsuite/gcc.dg/enum-incomplete-3.c trunk/gcc/testsuite/gcc.dg/noncompile/incomplete-3.c trunk/gcc/testsuite/gcc.dg/pr48552-1.c trunk/gcc/testsuite/gcc.dg/pr48552-2.c trunk/gcc/testsuite/gcc.dg/pr63543.c trunk/gcc/testsuite/gcc.dg/pr69796.c
[Bug c/36941] gcc does not reject invalid cast
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36941 Joseph S. Myers changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |10.0 --- Comment #10 from Joseph S. Myers --- Fixed for GCC 10.
[Bug c/88827] Rejects valid program using &* operator combination.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88827 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Target Milestone|--- |10.0 --- Comment #2 from Joseph S. Myers --- Fixed for GCC 10.
[Bug middle-end/91226] wrong propagation of non-canonical _Decimal64 and _Decimal128 constant (BID only)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91226 --- Comment #3 from Joseph S. Myers --- Author: jsm28 Date: Mon Dec 9 13:59:24 2019 New Revision: 279129 URL: https://gcc.gnu.org/viewcvs?rev=279129&root=gcc&view=rev Log: Fix libdecnumber handling of non-canonical BID significands (PR middle-end/91226). As reported in bug 91226, the libdecnumber code used on the host to interpret DFP values in the BID encoding fails, for _Decimal64 and _Decimal128, to check for the case where a significand is too large and so specified in IEEE 754 to be a non-canonical encoding of the zero significand. This patch adds the required handling of that case, together with tests both using -O2 (testing this host code) and -O0 (testing libgcc code, which already worked before the patch); the tests also cover _Decimal32, which already had the required check. In the _Decimal128 case, where the code previously completely ignored the case where the first four bits of the combination field are 1100, 1101 or 1110, the logic for determining the correct quantum exponent in that case is also newly added by this patch, so tests are added for that as well (again, libgcc already handled it correctly when the conversion was done at runtime rather than at compile time). Bootstrapped with no regressions for x86_64-pc-linux-gnu. PR middle-end/91226 libdecnumber: * bid/bid2dpd_dpd2bid.c (_bid_to_dpd64): Handle non-canonical significands. (_bid_to_dpd128): Likewise. Check for case where combination field starts 1100, 1101 or 1110. gcc/testsuite: * gcc.dg/dfp/bid-non-canonical-d128-1.c, gcc.dg/dfp/bid-non-canonical-d128-2.c, gcc.dg/dfp/bid-non-canonical-d128-3.c, gcc.dg/dfp/bid-non-canonical-d128-4.c, gcc.dg/dfp/bid-non-canonical-d32-1.c, gcc.dg/dfp/bid-non-canonical-d32-2.c, gcc.dg/dfp/bid-non-canonical-d64-1.c, gcc.dg/dfp/bid-non-canonical-d64-2.c: New tests. Added: trunk/gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d128-1.c trunk/gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d128-2.c trunk/gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d128-3.c trunk/gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d128-4.c trunk/gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d32-1.c trunk/gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d32-2.c trunk/gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d64-1.c trunk/gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d64-2.c Modified: trunk/gcc/testsuite/ChangeLog trunk/libdecnumber/ChangeLog trunk/libdecnumber/bid/bid2dpd_dpd2bid.c
[Bug middle-end/91226] wrong propagation of non-canonical _Decimal64 and _Decimal128 constant (BID only)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91226 --- Comment #4 from Joseph S. Myers --- Fixed for GCC 10. Leaving open for now for possible backports to GCC 9 and 8 branches as a wrong-code fix.
[Bug target/93174] New: [10 Regression] ICE building glibc __sha512_process_block for i686
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93174 Bug ID: 93174 Summary: [10 Regression] ICE building glibc __sha512_process_block for i686 Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org Target Milestone: --- Target: i686-* Created attachment 47597 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47597&action=edit Preprocessed source The following ICE appears building glibc for i686-gnu with GCC trunk (tested with r279905). For some reason it doesn't appear building i686-pc-linux-gnu glibc (in my bot's testing) although I can reproduce the same ICE building the preprocessed source with an x86_64-linux-gnu compiler with -m32. Compile with -O2, and -m32 if using a 86-bit compiler. Based on my bot's results, this is a recent regression on trunk (but I haven't tested using fixed testcase sources and variable compiler). In file included from sha512.c:238: ./sha512-block.c: In function '__sha512_process_block': ./sha512-block.c:105:1: error: unrecognizable insn: (insn 735 734 49 2 (parallel [ (set (reg:CCC 17 flags) (compare:CCC (zero_extend:DI (plus:SI (plus:SI (ltu:SI (reg:CC 17 flags) (const_int 0 [0])) (mem/j:SI (plus:SI (reg:SI 5 di [277]) (const_int 68 [0x44])) [12 ctx_90(D)->D.4378.total+4 S4 A32])) (reg:SI 1 dx [ lolen+4 ]))) (plus:DI (zero_extend:DI (reg:SI 1 dx [ lolen+4 ])) (ltu:DI (reg:CC 17 flags) (const_int 0 [0]) (set (mem/j:SI (plus:SI (reg:SI 5 di [277]) (const_int 68 [0x44])) [12 ctx_90(D)->D.4378.total+4 S4 A32]) (plus:SI (plus:SI (ltu:SI (reg:CC 17 flags) (const_int 0 [0])) (mem/j:SI (plus:SI (reg:SI 5 di [277]) (const_int 68 [0x44])) [12 ctx_90(D)->D.4378.total+4 S4 A32])) (reg:SI 1 dx [ lolen+4 ]))) ]) "./sha512-block.c":26:36 -1 (nil)) during RTL pass: split2 ./sha512-block.c:105:1: internal compiler error: in extract_insn, at recog.c:2294 0x5a6f14 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /scratch/jmyers/glibc/many10/src/gcc/gcc/rtl-error.c:108 0x5a6f30 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) /scratch/jmyers/glibc/many10/src/gcc/gcc/rtl-error.c:116 0xc3a4a3 extract_insn(rtx_insn*) /scratch/jmyers/glibc/many10/src/gcc/gcc/recog.c:2294 0xc3a511 extract_insn_cached(rtx_insn*) /scratch/jmyers/glibc/many10/src/gcc/gcc/recog.c:2183 0x93c699 cleanup_subreg_operands(rtx_insn*) /scratch/jmyers/glibc/many10/src/gcc/gcc/final.c:3312 0xc3881f split_insn /scratch/jmyers/glibc/many10/src/gcc/gcc/recog.c:2920 0xc3c93e split_all_insns() /scratch/jmyers/glibc/many10/src/gcc/gcc/recog.c:2988 0xc3ca78 rest_of_handle_split_before_sched2 /scratch/jmyers/glibc/many10/src/gcc/gcc/recog.c:4015 0xc3ca78 execute /scratch/jmyers/glibc/many10/src/gcc/gcc/recog.c:4054 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.
[Bug target/93174] [10 Regression] ICE building glibc __sha512_process_block for i686
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93174 Joseph S. Myers changed: What|Removed |Added CC||jakub at gcc dot gnu.org Target Milestone|--- |10.0 --- Comment #1 from Joseph S. Myers --- Introduced by r279887.
[Bug c/93218] New: Test bug for testing git email integration
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93218 Bug ID: 93218 Summary: Test bug for testing git email integration Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org Target Milestone: --- This is for testing email integration from GCC git hooks, not a real bug.
[Bug c/93218] Test bug for testing git email integration
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93218 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #2 from Joseph S. Myers --- Test done.
[Bug c/93241] [8/9/10 Regression] _Bool casts in dead branches of integer constant expressions cause undesirable warnings under -pedantic iff the dead branch contains overflow
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93241 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2020-01-13 Ever confirmed|0 |1 --- Comment #5 from Joseph S. Myers --- Fixed for GCC 10, will backport to GCC 9 and GCC 8.
[Bug middle-end/91226] wrong propagation of non-canonical _Decimal64 and _Decimal128 constant (BID only)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91226 Joseph S. Myers changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |8.4 --- Comment #7 from Joseph S. Myers --- Fixed for GCC 8.4, GCC 9.3, GCC 10.
[Bug c/93241] [8/9/10 Regression] _Bool casts in dead branches of integer constant expressions cause undesirable warnings under -pedantic iff the dead branch contains overflow
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93241 Joseph S. Myers changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #8 from Joseph S. Myers --- Fixed for GCC 8.4, GCC 9.3, GCC 10.
[Bug c/93072] [8/9/10 Regression] ICE: gimplifier segfault with undefined nested function
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93072 --- Comment #3 from Joseph S. Myers --- This is not actually a nested function; it's another case of a non-nested function (a valid declaration at block scope) wrongly being interpreted as nested. Working on a patch.
[Bug c/93072] [8/9/10 Regression] ICE: gimplifier segfault with undefined nested function
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93072 Joseph S. Myers changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #7 from Joseph S. Myers --- Fixed for GCC 8.4, GCC 9.3, GCC 10.
[Bug c/92833] ice for broken C code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92833 Joseph S. Myers changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED Target Milestone|--- |10.0 --- Comment #8 from Joseph S. Myers --- Fix committed, thanks.
[Bug c/93348] [8/9 Regression] ICE in gimplify_expr, at gimplify.c:14378
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93348 Joseph S. Myers changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #8 from Joseph S. Myers --- Fixed for GCC 8.4, GCC 9.3, GCC 10.
[Bug c++/93406] No argument checking for wchar_t variants of print-like functions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93406 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE --- Comment #1 from Joseph S. Myers --- Duplicate. *** This bug has been marked as a duplicate of bug 38308 ***
[Bug c/38308] -Wformat does not work for wide strings
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38308 Joseph S. Myers changed: What|Removed |Added CC||jerome.hamm@planete-science ||s.org --- Comment #5 from Joseph S. Myers --- *** Bug 93406 has been marked as a duplicate of this bug. ***
[Bug c++/93406] No argument checking for wchar_t variants of print-like functions
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93406 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE --- Comment #3 from Joseph S. Myers --- As a duplicate, if you have questions they should be raised in the main bug report; don't reopen a duplicate one unless you have an argument for it not being a duplicate. The question is how best to *cleanly* support format checking for wide string formats, when narrow format strings can be tricky mixtures of bytes and multibyte characters. I think the answer involves implementing some general set of accessors (not accessors restricted to the case of format checking) for accessing bytes / multibyte characters / wide characters in string constants (nowadays, that would probably be a fairly simple C++ class abstracting access to target strings in some way). Such accessors could then incrementally be used elsewhere in the compiler when elements of strings need to be accessed. *** This bug has been marked as a duplicate of bug 38308 ***
[Bug c/38308] -Wformat does not work for wide strings
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38308 --- Comment #6 from Joseph S. Myers --- *** Bug 93406 has been marked as a duplicate of this bug. ***
[Bug target/56214] [4.8 Regression] FAIL: gcc.c-torture/execute/20050121-1.c compilation, ICE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56214 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P2
[Bug libstdc++/56267] [4.7/4.8 Regression] unordered containers require Assignable hash function
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56267 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P2
[Bug tree-optimization/56321] [4.8 Regression] ICE:segfault in midend for -funsafe-math-optimizations -O3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56321 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P2
[Bug tree-optimization/57245] New: Floating-point constant truncation ignores -frounding-math
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57245 Bug ID: 57245 Summary: Floating-point constant truncation ignores -frounding-math Product: gcc Version: 4.9.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org Blocks: 16989 When a floating-point constant is converted to a narrower floating-point type, this conversion is meant to respect the current rounding direction, but GCC does the conversion at compile time even with -frounding-math. Example (tested x86_64 and ARM): float f; void func (void) { f = 1.3L; } fold_convert_const_real_from_real or its caller should avoid such conversions if -frounding-math, unless the conversion is exact.
[Bug c/54454] gcc violates c99 specification w.r.t. flexible arrays
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54454 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #3 from Joseph S. Myers 2012-09-02 12:20:39 UTC --- All the text you are quoting changed in TC2 following DR 282.
[Bug c/54103] ICE at gimplify.c:7790 on current trunk
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54103 --- Comment #1 from Joseph S. Myers 2012-09-14 16:59:21 UTC --- Author: jsm28 Date: Fri Sep 14 16:59:10 2012 New Revision: 191304 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191304 Log: c: PR c/54103 * c-typeck.c (build_unary_op): Pass original argument of TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove any C_MAYBE_CONST_EXPR, if it has integer operands. (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR to c_objc_common_truthvalue_conversion, then remove any C_MAYBE_CONST_EXPR, if they have integer operands. Use c_objc_common_truthvalue_conversion not c_common_truthvalue_conversion. (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and call note_integer_operands for arguments with integer operands that are not integer constants. testsuite: * gcc.c-torture/compile/pr54103-1.c, gcc.c-torture/compile/pr54103-2.c, gcc.c-torture/compile/pr54103-3.c, gcc.c-torture/compile/pr54103-4.c, gcc.c-torture/compile/pr54103-5.c, gcc.c-torture/compile/pr54103-6.c: New tests. * gcc.dg/c90-const-expr-8.c: Update expected column number. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr54103-1.c trunk/gcc/testsuite/gcc.c-torture/compile/pr54103-2.c trunk/gcc/testsuite/gcc.c-torture/compile/pr54103-3.c trunk/gcc/testsuite/gcc.c-torture/compile/pr54103-4.c trunk/gcc/testsuite/gcc.c-torture/compile/pr54103-5.c trunk/gcc/testsuite/gcc.c-torture/compile/pr54103-6.c Modified: trunk/gcc/c/ChangeLog trunk/gcc/c/c-typeck.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/c90-const-expr-8.c
[Bug c/54103] [4.6/4.7 Regression] ICE at gimplify.c:7790 on current trunk
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54103 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2012-09-14 Target Milestone|--- |4.7.2 Summary|ICE at gimplify.c:7790 on |[4.6/4.7 Regression] ICE at |current trunk |gimplify.c:7790 on current ||trunk Ever Confirmed|0 |1 --- Comment #2 from Joseph S. Myers 2012-09-14 17:02:00 UTC --- Fixed so far for trunk, pending testing fix for 4.7 and 4.6.
[Bug c/54552] [4.6/4.7/4.8 Regression] Cast to pointer to VLA crash the compiler
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54552 --- Comment #3 from Joseph S. Myers 2012-09-14 21:17:00 UTC --- Author: jsm28 Date: Fri Sep 14 21:16:56 2012 New Revision: 191313 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191313 Log: c: PR c/54552 * c-typeck.c (c_cast_expr): When casting to a type requiring C_MAYBE_CONST_EXPR to be created, pass the inner expression to c_fully_fold first. testsuite: * gcc.c-torture/compile/pr54552-1.c: New test. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr54552-1.c Modified: trunk/gcc/c/ChangeLog trunk/gcc/c/c-typeck.c trunk/gcc/testsuite/ChangeLog
[Bug c/54552] [4.6/4.7 Regression] Cast to pointer to VLA crash the compiler
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54552 Joseph S. Myers changed: What|Removed |Added Summary|[4.6/4.7/4.8 Regression]|[4.6/4.7 Regression] Cast |Cast to pointer to VLA |to pointer to VLA crash the |crash the compiler |compiler --- Comment #4 from Joseph S. Myers 2012-09-14 21:18:35 UTC --- Fixed so far for trunk, pending testing fix for 4.7 and 4.6.
[Bug c/54103] [4.6/4.7 Regression] ICE at gimplify.c:7790 on current trunk
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54103 --- Comment #3 from Joseph S. Myers 2012-09-15 00:28:08 UTC --- Author: jsm28 Date: Sat Sep 15 00:28:05 2012 New Revision: 191336 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191336 Log: PR c/54103 * c-typeck.c (build_unary_op): Pass original argument of TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove any C_MAYBE_CONST_EXPR, if it has integer operands. (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR to c_objc_common_truthvalue_conversion, then remove any C_MAYBE_CONST_EXPR, if they have integer operands. Use c_objc_common_truthvalue_conversion not c_common_truthvalue_conversion. (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and call note_integer_operands for arguments with integer operands that are not integer constants. testsuite: * gcc.c-torture/compile/pr54103-1.c, gcc.c-torture/compile/pr54103-2.c, gcc.c-torture/compile/pr54103-3.c, gcc.c-torture/compile/pr54103-4.c, gcc.c-torture/compile/pr54103-5.c, gcc.c-torture/compile/pr54103-6.c: New tests. * gcc.dg/c90-const-expr-8.c: Update expected column number. Added: branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/compile/pr54103-1.c branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/compile/pr54103-2.c branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/compile/pr54103-3.c branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/compile/pr54103-4.c branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/compile/pr54103-5.c branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/compile/pr54103-6.c Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/c-typeck.c branches/gcc-4_6-branch/gcc/testsuite/ChangeLog branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/c90-const-expr-8.c
[Bug c/54552] [4.6/4.7 Regression] Cast to pointer to VLA crash the compiler
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54552 --- Comment #5 from Joseph S. Myers 2012-09-15 00:29:31 UTC --- Author: jsm28 Date: Sat Sep 15 00:29:28 2012 New Revision: 191337 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191337 Log: PR c/54552 * c-typeck.c (c_cast_expr): When casting to a type requiring C_MAYBE_CONST_EXPR to be created, pass the inner expression to c_fully_fold first. testsuite: * gcc.c-torture/compile/pr54552-1.c: New test. Added: branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/compile/pr54552-1.c Modified: branches/gcc-4_6-branch/gcc/ChangeLog branches/gcc-4_6-branch/gcc/c-typeck.c branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
[Bug c/54103] [4.7 Regression] ICE at gimplify.c:7790 on current trunk
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54103 Joseph S. Myers changed: What|Removed |Added Summary|[4.6/4.7 Regression] ICE at |[4.7 Regression] ICE at |gimplify.c:7790 on current |gimplify.c:7790 on current |trunk |trunk --- Comment #4 from Joseph S. Myers 2012-09-15 00:30:51 UTC --- Fixed for 4.6.4, 4.7 branch fix to follow after 4.7.2 is released.
[Bug c/54552] [4.6/4.7 Regression] Cast to pointer to VLA crash the compiler
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54552 Joseph S. Myers changed: What|Removed |Added Target Milestone|4.6.4 |4.7.2 --- Comment #6 from Joseph S. Myers 2012-09-15 00:31:49 UTC --- Fixed for 4.6.4, 4.7 branch fix to follow after 4.7.2 is released.
[Bug c/54103] [4.7 Regression] ICE at gimplify.c:7790 on current trunk
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54103 --- Comment #6 from Joseph S. Myers 2012-09-20 20:49:10 UTC --- Author: jsm28 Date: Thu Sep 20 20:49:06 2012 New Revision: 191589 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191589 Log: PR c/54103 * c-typeck.c (build_unary_op): Pass original argument of TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove any C_MAYBE_CONST_EXPR, if it has integer operands. (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR to c_objc_common_truthvalue_conversion, then remove any C_MAYBE_CONST_EXPR, if they have integer operands. Use c_objc_common_truthvalue_conversion not c_common_truthvalue_conversion. (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and call note_integer_operands for arguments with integer operands that are not integer constants. testsuite: * gcc.c-torture/compile/pr54103-1.c, gcc.c-torture/compile/pr54103-2.c, gcc.c-torture/compile/pr54103-3.c, gcc.c-torture/compile/pr54103-4.c, gcc.c-torture/compile/pr54103-5.c, gcc.c-torture/compile/pr54103-6.c: New tests. * gcc.dg/c90-const-expr-8.c: Update expected column number. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/compile/pr54103-1.c branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/compile/pr54103-2.c branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/compile/pr54103-3.c branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/compile/pr54103-4.c branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/compile/pr54103-5.c branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/compile/pr54103-6.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/c-typeck.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/c90-const-expr-8.c
[Bug c/54552] [4.6/4.7 Regression] Cast to pointer to VLA crash the compiler
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54552 --- Comment #8 from Joseph S. Myers 2012-09-20 20:50:27 UTC --- Author: jsm28 Date: Thu Sep 20 20:50:17 2012 New Revision: 191591 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191591 Log: PR c/54552 * c-typeck.c (c_cast_expr): When casting to a type requiring C_MAYBE_CONST_EXPR to be created, pass the inner expression to c_fully_fold first. testsuite: * gcc.c-torture/compile/pr54552-1.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.c-torture/compile/pr54552-1.c Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/c-typeck.c branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug c/54103] [4.7 Regression] ICE at gimplify.c:7790 on current trunk
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54103 Joseph S. Myers changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|4.7.3 |4.6.4 --- Comment #7 from Joseph S. Myers 2012-09-20 20:54:35 UTC --- Fixed for 4.6.4, 4.7.3, 4.8.0.
[Bug c/54552] [4.6/4.7 Regression] Cast to pointer to VLA crash the compiler
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54552 Joseph S. Myers changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|4.7.3 |4.6.4 --- Comment #9 from Joseph S. Myers 2012-09-20 20:55:24 UTC --- Fixed for 4.6.4, 4.7.3, 4.8.0.
[Bug c/47102] error message "duplicate member" in error ?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47102 --- Comment #1 from Joseph S. Myers 2010-12-29 11:43:20 UTC --- The diagnostic is correct; the code is invalid; C1X requires this to be diagnosed; it is ambiguous whether "page" refers to an element directly in the struct or one accessed via the anonymous union therein. See bug 4784.
[Bug c/47102] error message "duplicate member" in error ?
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47102 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #2 from Joseph S. Myers 2010-12-29 11:44:07 UTC --- Not a bug.
[Bug c/46889] Missing diagnosis on duplicate struct member with anonymous union
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46889 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2010.12.30 16:29:54 AssignedTo|unassigned at gcc dot |jsm28 at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Joseph S. Myers 2010-12-30 16:29:54 UTC --- Testing a patch.
[Bug c/46889] Missing diagnosis on duplicate struct member with anonymous union
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46889 --- Comment #2 from Joseph S. Myers 2010-12-30 18:24:07 UTC --- Author: jsm28 Date: Thu Dec 30 18:24:03 2010 New Revision: 168348 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168348 Log: PR c/46889 * c-decl.c (detect_field_duplicates): Ensure hash is used for finding duplicates when first field is anonymous. testsuite: * gcc.dg/anon-struct-15.c: New test. Added: trunk/gcc/testsuite/gcc.dg/anon-struct-15.c Modified: trunk/gcc/ChangeLog trunk/gcc/c-decl.c trunk/gcc/testsuite/ChangeLog
[Bug c/46889] Missing diagnosis on duplicate struct member with anonymous union
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46889 Joseph S. Myers changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to work||4.6.0 Resolution||FIXED Target Milestone|--- |4.6.0 --- Comment #3 from Joseph S. Myers 2010-12-30 18:26:50 UTC --- Fixed for 4.6.
[Bug c/47143] warning about const multidimensional array as function parameter
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47143 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #1 from Joseph S. Myers 2011-01-01 12:02:28 UTC --- Not a bug. The function parameters are of type "pointer to array[4] of const double" because const on an array type applies to the element type, recursively, and then the outermost array type, only, of a parameter of array type decays to a pointer, and the arguments passed are of type "pointer to array[4] of double" after array-to-pointer decay, and the only case where qualifiers are permitted to be added in assignment, argument passing etc. is qualifiers on the immediate pointer target, not those nested more deeply.
[Bug c/47143] warning about const multidimensional array as function parameter
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47143 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #4 from Joseph S. Myers 2011-01-01 15:06:34 UTC --- If you want to use const here only on the callee side then you will need to use casts. I meant what I said: you are passing "pointer to array[4] of double", with no const in there, to a function expecting "pointer to array[4] of const double", and this is not a case permitted by C99 6.5.16.1#1. C does not have a type "pointer to const array[4] of double".
[Bug libstdc++/47145] [4.6 Regression] cross-compilation fails with "cannot check for file existence when cross compiling"
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47145 Joseph S. Myers changed: What|Removed |Added Target Milestone|--- |4.6.0 Summary|cross-compilation fails |[4.6 Regression] |with "cannot check for file |cross-compilation fails |existence when cross|with "cannot check for file |compiling" |existence when cross ||compiling" --- Comment #1 from Joseph S. Myers 2011-01-02 00:32:34 UTC --- I'd like to remind libstdc++ maintainers that they need to be very cautious about any substantial changes (such as this rework of documentation build and configuration) at this development stage.
[Bug driver/47236] Spaces introduced in option processing
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47236 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED CC||jsm28 at gcc dot gnu.org Resolution||INVALID --- Comment #1 from Joseph S. Myers 2011-01-10 00:32:29 UTC --- This has nothing to do with the specs language. Rather, the canonical form of an option accepting both joined and separate arguments is the form with a separate argument, all option processing in both the driver and the core compilers now uses common logic to process options into logical cl_decoded_option structures, and all subsequent processing now uses those structures - and if it needs to regenerate an option for specs processing, uses the canonical form of the option (meaning specs no longer need to handle noncanonical options if they are noncanonical in a way indicated in the .opt files, e.g. through being aliases or through using joined arguments where separate arguments are also accepted). -D options certainly appear to be passed in canonical (separate) form to subprocesses (e.g. by gcc -E) to me. If an option accepts a separate argument and it is passed down to subprocesses by specs, those subprocesses must accept the form with the separate argument.
[Bug tree-optimization/26854] Inordinate compile times on large routines
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26854 Joseph S. Myers changed: What|Removed |Added CC||iant at google dot com --- Comment #126 from Joseph S. Myers 2011-01-24 22:53:09 UTC --- Ian added decl_jump_unsafe though I've no idea if the performance is actually worse or better than with my previous implementation (that he rewrote in order to add various -Wc++-compat cases).
[Bug c/47376] Duplicate member through anonymous unions not reported
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47376 Joseph S. Myers changed: What|Removed |Added Target Milestone|--- |4.6.0 --- Comment #1 from Joseph S. Myers 2011-02-07 01:59:50 UTC --- Fixed in 4.6.
[Bug c/47376] Duplicate member through anonymous unions not reported
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47376 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||DUPLICATE --- Comment #2 from Joseph S. Myers 2011-02-07 02:00:15 UTC --- Fixed in 4.6. *** This bug has been marked as a duplicate of bug 4784 ***
[Bug c/4784] Anonymous structs issues
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4784 Joseph S. Myers changed: What|Removed |Added CC||jengelh at medozas dot de --- Comment #9 from Joseph S. Myers 2011-02-07 02:00:15 UTC --- *** Bug 47376 has been marked as a duplicate of this bug. ***
[Bug driver/47678] [4.6 regression] missing error message for -I
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47678 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011.02.10 18:43:22 AssignedTo|unassigned at gcc dot |jsm28 at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #2 from Joseph S. Myers 2011-02-10 18:43:22 UTC --- Testing a patch.
[Bug driver/47678] [4.6 regression] missing error message for -I
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47678 --- Comment #3 from Joseph S. Myers 2011-02-11 18:13:15 UTC --- Author: jsm28 Date: Fri Feb 11 18:13:11 2011 New Revision: 170056 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170056 Log: PR driver/47678 * gcc.c (main): Do not compile inputs if there were errors in option handling. * opts-common.c (read_cmdline_option): Check for wrong language after other error checks. testsuite: * gcc.dg/opts-6.c: New test. Added: trunk/gcc/testsuite/gcc.dg/opts-6.c Modified: trunk/gcc/ChangeLog trunk/gcc/gcc.c trunk/gcc/opts-common.c trunk/gcc/testsuite/ChangeLog
[Bug driver/47678] [4.6 regression] missing error message for -I
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47678 Joseph S. Myers changed: What|Removed |Added Status|ASSIGNED|RESOLVED Known to work||4.6.0 Resolution||FIXED --- Comment #4 from Joseph S. Myers 2011-02-11 18:15:36 UTC --- Fixed for 4.6.0.
[Bug driver/45731] Header missing for assembler option help.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45731 --- Comment #4 from Joseph S. Myers 2011-02-12 21:29:18 UTC --- Author: jsm28 Date: Sat Feb 12 21:29:14 2011 New Revision: 170091 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170091 Log: PR driver/45731 * gcc.c (asm_options): Correct spec matching --target-help. Modified: trunk/gcc/ChangeLog trunk/gcc/gcc.c
[Bug driver/45731] Header missing for assembler option help.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45731 Joseph S. Myers changed: What|Removed |Added Status|NEW |RESOLVED Known to work||4.6.0 Resolution||FIXED Target Milestone|--- |4.6.0 --- Comment #5 from Joseph S. Myers 2011-02-12 21:31:06 UTC --- Fixed for 4.6.
[Bug debug/47471] [4.6 Regression] stdarg functions extraneous too-early prologue end
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471 Joseph S. Myers changed: What|Removed |Added Target Milestone|--- |4.6.0
[Bug c++/47703] [4.6 Regression] [C++0x] ICE: std::sort chokes on simple lambda function
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47703 Joseph S. Myers changed: What|Removed |Added Target Milestone|--- |4.6.0
[Bug c++/47704] [4.6 regression] [C++0x] Java-related error message when trying to instantiate a strongly typed enum with new
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47704 Joseph S. Myers changed: What|Removed |Added Target Milestone|--- |4.6.0
[Bug fortran/45586] [4.6 Regression] ICE non-trivial conversion at assignment
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45586 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P4
[Bug middle-end/44440] [4.6 regression] ira_initialization and buitins construction taking too much of startup time
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=0 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P2
[Bug driver/47390] [4.6 Regression] Linking with -export-dynamic broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47390 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P2
[Bug debug/47471] [4.6 Regression] stdarg functions extraneous too-early prologue end
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47471 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P4
[Bug c++/47666] [4.6 Regression] ICE in dfs_walk_once
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47666 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P1
[Bug objc++/47711] [4.5/4.6 Regression] (even trivial) PCH fails for Objective-C++
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47711 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P4
[Bug c++/47703] [4.6 Regression] [C++0x] ICE: std::sort chokes on simple lambda function
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47703 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P4
[Bug bootstrap/47736] New: [4.6 Regression] libquadmath build broken with pre-2.10 glibc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47736 Summary: [4.6 Regression] libquadmath build broken with pre-2.10 glibc Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassig...@gcc.gnu.org ReportedBy: js...@gcc.gnu.org CC: ja...@gcc.gnu.org Bootstrap on x86_64-unknown-linux-gnu with glibc 2.7 (Ubuntu 8.04 LTS) fails with: /scratch/joseph/fsf/gcc-mainline/libquadmath/printf/quadmath-printf.c: In function 'quadmath_snprintf': /scratch/joseph/fsf/gcc-mainline/libquadmath/printf/quadmath-printf.c:220:7: error: 'struct printf_info' has no member named 'user' /scratch/joseph/fsf/gcc-mainline/libquadmath/printf/quadmath-printf.c: In function 'flt128_ais': /scratch/joseph/fsf/gcc-mainline/libquadmath/printf/quadmath-printf.c:288:11: error: 'const struct printf_info' has no member named 'user' /scratch/joseph/fsf/gcc-mainline/libquadmath/printf/quadmath-printf.c: In function 'flt128_printf_fp': /scratch/joseph/fsf/gcc-mainline/libquadmath/printf/quadmath-printf.c:367:12: error: 'const struct printf_info' has no member named 'user' /scratch/joseph/fsf/gcc-mainline/libquadmath/printf/quadmath-printf.c: In function 'flt128_printf_fphex': /scratch/joseph/fsf/gcc-mainline/libquadmath/printf/quadmath-printf.c:380:12: error: 'const struct printf_info' has no member named 'user' It appears that this member was new in glibc 2.10, and so configure checks or version checks are needed to avoid requiring it when building with older glibc.
[Bug bootstrap/47736] [4.6 Regression] libquadmath build broken with pre-2.10 glibc
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47736 Joseph S. Myers changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #4 from Joseph S. Myers 2011-02-14 21:13:05 UTC --- Trunk now builds OK again with glibc 2.7.
[Bug driver/47390] [4.6 Regression] Linking with -export-dynamic broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47390 --- Comment #8 from Joseph S. Myers 2011-02-17 18:35:44 UTC --- Author: jsm28 Date: Thu Feb 17 18:35:41 2011 New Revision: 170253 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=170253 Log: PR driver/47390 * common.opt (export-dynamic): New Driver option. * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}. Modified: trunk/gcc/ChangeLog trunk/gcc/common.opt trunk/gcc/gcc.c
[Bug driver/47390] [4.6 Regression] Linking with -export-dynamic broken
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47390 Joseph S. Myers changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #9 from Joseph S. Myers 2011-02-17 18:38:18 UTC --- Fixed for 4.6, though I advise using -rdynamic or -Wl,-export-dynamic instead of this backwards-compatibility support for a previous accident of the implementation.
[Bug other/44032] internals documentation is not legally safe to use
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44032 --- Comment #2 from Joseph S. Myers 2011-02-22 16:33:34 UTC --- Joern, since the GFDL says: If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. it ought not be controversial to add a statement that examples of code in the internals manual are also released under the GPL. I'd advise preparing a patch adding a statement to the effect that You can redistribute and/or modify examples of program code in this manual under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. and sending the patch to RMS for legal review as well as gcc-patches for technical review.
[Bug other/44035] internals documentation cannot be fixed without new GFDL license grants
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44035 --- Comment #1 from Joseph S. Myers 2011-02-22 16:41:27 UTC --- Joern, after discussion with Mark and Richi my advice at this point on the GFDL issue is that you should prepare a concrete patch that moves all the text you want from both code and documentation to its ideal places in target.def, and send that patch - including the changes to the generated file tm.texi - to RMS for legal review (asking explicitly for approval of GFDL licensing of the changes to tm.texi and of GPL licensing for the changes to target.def) as well as to gcc-patches for technical review. That way at least RMS is faced with questions relating to licensing of fixed bodies of text under existing licenses - though the exercise would need repeating in future (maybe once per major release) after more target macros become hooks - rather than general abstract questions needing new dual-licensing notices. And in the past it's been much easier to get him to approve changes in concrete cases (e.g. licensing of longlong.h). It may be worth pointing out in the mail to RMS that the text describing macros in tm.texi (pre-GFDL, under a non-GPL copyleft) used to be routinely duplicated in comments (GPL) on individual definitions of those macros, so having this sort of text under the GPL as well as a documentation license is nothing new.
[Bug target/47977] powerpc (-mcpu=8548) Wrong code for double operations in little endian mode
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47977 Joseph S. Myers changed: What|Removed |Added Component|c |target --- Comment #1 from Joseph S. Myers 2011-03-03 16:22:13 UTC --- Using --enable-e500-double for a non-e500 target will produce a broken compiler. So if you want e500 double code to work at all, try the powerpc-eabispe target. (Or else pass -mabi=spe explicitly.) It is also known that all the insn patterns for e500 are only expected to work for big-endian. In general little-endian Power is hardly tested at all, but the SPE case is specifically expected to be broken.
[Bug other/53317] Conversion from __int128 to __float128
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53317 Joseph S. Myers changed: What|Removed |Added Status|WAITING |NEW --- Comment #4 from Joseph S. Myers --- Bug rediscovered through inspection of soft-fp code, patch posted at: http://sourceware.org/ml/libc-alpha/2013-06/msg00656.html I have a complete, tested GCC patch updating soft-fp and adding a testcase ready to commit once the soft-fp patch is approved for glibc. If someone then wishes to backport a fix for this (as a wrong-code bug) to active release branches, the soft-fp patch itself (plus GCC testcase) should be easy enough to apply to past branches without the whole soft-fp update.
[Bug other/53317] Conversion from __int128 to __float128
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53317 Joseph S. Myers changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |4.9.0 --- Comment #5 from Joseph S. Myers --- Fixed for 4.9 by: Author: jsm28 Date: Fri Jun 21 19:08:01 2013 New Revision: 200318 URL: http://gcc.gnu.org/viewcvs?rev=200318&root=gcc&view=rev Log: PR other/53317 gcc/testsuite: * gcc.dg/torture/fp-int-convert-float128-timode-2.c: New test. libgcc: * soft-fp/adddf3.c: Update from glibc. [...] http://gcc.gnu.org/ml/gcc-cvs/2013-06/msg00752.html
[Bug testsuite/49464] [4.6/4.7 Regression] FAIL: g++.dg/ext/altivec-17.C (test for errors, line 15)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49464 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P4
[Bug target/48308] [4.6/4.7 Regression] crosscompiling to arm fails with assembler: can't resolve '.LC4' {.rodata.str1.1 section} - '.LPIC4' {*UND* section}
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48308 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P2
[Bug rtl-optimization/50078] [4.6/4.7 Regression] combine wrong code: volatile accesses optimized out
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50078 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P2
[Bug c/50662] Incorrect diagnostic returning non-const array pointer
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50662 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||INVALID --- Comment #1 from Joseph S. Myers 2011-10-08 16:04:52 UTC --- This is not a bug. You can implicitly convert "pointer to int" to "pointer to const int", but not "pointer to array of int" to "pointer to array of const int" (see 6.5.16.1), and "const that_type *" is "pointer to array of const int" (there is no such type as "pointer to const array of int", which would be a permitted target of such a conversion; see 6.7.3#8).
[Bug c/50565] [4.5/4.6/4.7 Regression] initializer element is not computable at load time
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50565 Joseph S. Myers changed: What|Removed |Added Status|UNCONFIRMED |ASSIGNED Last reconfirmed||2011-10-11 AssignedTo|unassigned at gcc dot |jsm28 at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #4 from Joseph S. Myers 2011-10-11 15:33:55 UTC --- Patch (to convert.c) submitted: http://gcc.gnu.org/ml/gcc-patches/2011-10/msg00894.html
[Bug middle-end/49319] [4.7 regression] g++.dg/abi/thunk5.C FAILs on Tru64 UNIX
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49319 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P4
[Bug target/49826] [4.7 Regression] Symbols are not decorated with attribute stdcall and -mrtd
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49826 Joseph S. Myers changed: What|Removed |Added Priority|P3 |P2