[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

2020-03-05 Thread jsm28 at gcc dot gnu.org
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

2020-03-19 Thread jsm28 at gcc dot gnu.org
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

2020-03-19 Thread jsm28 at gcc dot gnu.org
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

2020-04-07 Thread jsm28 at gcc dot gnu.org
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

2020-04-15 Thread jsm28 at gcc dot gnu.org
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

2020-04-22 Thread jsm28 at gcc dot gnu.org
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

2020-05-05 Thread jsm28 at gcc dot gnu.org
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

2020-07-30 Thread jsm28 at gcc dot gnu.org
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

2020-08-11 Thread jsm28 at gcc dot gnu.org
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

2020-09-16 Thread jsm28 at gcc dot gnu.org
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

2019-11-14 Thread jsm28 at gcc dot gnu.org
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

2019-11-14 Thread jsm28 at gcc dot gnu.org
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

2019-11-25 Thread jsm28 at gcc dot gnu.org
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

2019-11-25 Thread jsm28 at gcc dot gnu.org
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’

2019-11-27 Thread jsm28 at gcc dot gnu.org
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

2019-11-27 Thread jsm28 at gcc dot gnu.org
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.

2019-12-02 Thread jsm28 at gcc dot gnu.org
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.

2019-12-02 Thread jsm28 at gcc dot gnu.org
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

2019-12-04 Thread jsm28 at gcc dot gnu.org
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.

2019-12-04 Thread jsm28 at gcc dot gnu.org
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

2019-12-04 Thread jsm28 at gcc dot gnu.org
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.

2019-12-04 Thread jsm28 at gcc dot gnu.org
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)

2019-12-09 Thread jsm28 at gcc dot gnu.org
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)

2019-12-09 Thread jsm28 at gcc dot gnu.org
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

2020-01-06 Thread jsm28 at gcc dot gnu.org
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

2020-01-07 Thread jsm28 at gcc dot gnu.org
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

2020-01-09 Thread jsm28 at gcc dot gnu.org
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

2020-01-09 Thread jsm28 at gcc dot gnu.org
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

2020-01-13 Thread jsm28 at gcc dot gnu.org
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)

2020-01-13 Thread jsm28 at gcc dot gnu.org
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

2020-01-14 Thread jsm28 at gcc dot gnu.org
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

2020-01-14 Thread jsm28 at gcc dot gnu.org
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

2020-01-15 Thread jsm28 at gcc dot gnu.org
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

2020-01-16 Thread jsm28 at gcc dot gnu.org
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

2020-01-22 Thread jsm28 at gcc dot gnu.org
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

2020-01-23 Thread jsm28 at gcc dot gnu.org
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

2020-01-23 Thread jsm28 at gcc dot gnu.org
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

2020-01-24 Thread jsm28 at gcc dot gnu.org
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

2020-01-24 Thread jsm28 at gcc dot gnu.org
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

2013-02-14 Thread jsm28 at gcc dot gnu.org


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

2013-02-14 Thread jsm28 at gcc dot gnu.org


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

2013-02-14 Thread jsm28 at gcc dot gnu.org


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

2013-05-10 Thread jsm28 at gcc dot gnu.org
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

2012-09-02 Thread jsm28 at gcc dot gnu.org
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

2012-09-14 Thread jsm28 at gcc dot gnu.org
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

2012-09-14 Thread jsm28 at gcc dot gnu.org
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

2012-09-14 Thread jsm28 at gcc dot gnu.org
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

2012-09-14 Thread jsm28 at gcc dot gnu.org
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

2012-09-14 Thread jsm28 at gcc dot gnu.org
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

2012-09-14 Thread jsm28 at gcc dot gnu.org
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

2012-09-14 Thread jsm28 at gcc dot gnu.org
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

2012-09-14 Thread jsm28 at gcc dot gnu.org
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

2012-09-20 Thread jsm28 at gcc dot gnu.org


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

2012-09-20 Thread jsm28 at gcc dot gnu.org


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

2012-09-20 Thread jsm28 at gcc dot gnu.org


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

2012-09-20 Thread jsm28 at gcc dot gnu.org


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 ?

2010-12-29 Thread jsm28 at gcc dot gnu.org
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 ?

2010-12-29 Thread jsm28 at gcc dot gnu.org
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

2010-12-30 Thread jsm28 at gcc dot gnu.org
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

2010-12-30 Thread jsm28 at gcc dot gnu.org
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

2010-12-30 Thread jsm28 at gcc dot gnu.org
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

2011-01-01 Thread jsm28 at gcc dot gnu.org
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

2011-01-01 Thread jsm28 at gcc dot gnu.org
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"

2011-01-01 Thread jsm28 at gcc dot gnu.org
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

2011-01-09 Thread jsm28 at gcc dot gnu.org
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

2011-01-24 Thread jsm28 at gcc dot gnu.org
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

2011-02-06 Thread jsm28 at gcc dot gnu.org
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

2011-02-06 Thread jsm28 at gcc dot gnu.org
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

2011-02-06 Thread jsm28 at gcc dot gnu.org
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

2011-02-10 Thread jsm28 at gcc dot gnu.org
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

2011-02-11 Thread jsm28 at gcc dot gnu.org
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

2011-02-11 Thread jsm28 at gcc dot gnu.org
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.

2011-02-12 Thread jsm28 at gcc dot gnu.org
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.

2011-02-12 Thread jsm28 at gcc dot gnu.org
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

2011-02-13 Thread jsm28 at gcc dot gnu.org
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

2011-02-13 Thread jsm28 at gcc dot gnu.org
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

2011-02-13 Thread jsm28 at gcc dot gnu.org
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

2011-02-13 Thread jsm28 at gcc dot gnu.org
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

2011-02-13 Thread jsm28 at gcc dot gnu.org
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

2011-02-13 Thread jsm28 at gcc dot gnu.org
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

2011-02-13 Thread jsm28 at gcc dot gnu.org
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

2011-02-13 Thread jsm28 at gcc dot gnu.org
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++

2011-02-13 Thread jsm28 at gcc dot gnu.org
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

2011-02-13 Thread jsm28 at gcc dot gnu.org
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

2011-02-14 Thread jsm28 at gcc dot gnu.org
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

2011-02-14 Thread jsm28 at gcc dot gnu.org
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

2011-02-17 Thread jsm28 at gcc dot gnu.org
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

2011-02-17 Thread jsm28 at gcc dot gnu.org
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

2011-02-22 Thread jsm28 at gcc dot gnu.org
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

2011-02-22 Thread jsm28 at gcc dot gnu.org
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

2011-03-03 Thread jsm28 at gcc dot gnu.org
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

2013-06-18 Thread jsm28 at gcc dot gnu.org
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

2013-06-21 Thread jsm28 at gcc dot gnu.org
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)

2011-08-17 Thread jsm28 at gcc dot gnu.org
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}

2011-08-17 Thread jsm28 at gcc dot gnu.org
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

2011-08-17 Thread jsm28 at gcc dot gnu.org
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

2011-10-08 Thread jsm28 at gcc dot gnu.org
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

2011-10-11 Thread jsm28 at gcc dot gnu.org
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

2011-10-11 Thread jsm28 at gcc dot gnu.org
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

2011-10-11 Thread jsm28 at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49826

Joseph S. Myers  changed:

   What|Removed |Added

   Priority|P3  |P2


  1   2   3   4   5   6   7   8   >