[Bug fortran/38573] Missing markers for translation

2017-03-22 Thread fmarchal at perso dot be
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38573

--- Comment #11 from Frederic Marchal  ---
(In reply to Roland Illig from comment #9)
> (In reply to Jerry DeLisle from comment #7)
> >   /* Otherwise, fail.  */
> >   if (symstd)
> > *symstd = _(symstd_msg);
> >   return false;
> > 
> > Where the mark is on the symstd_msg after it is set to one of the above
> > cases.  Are you saying this does not work?  Does the translation mark need
> > to be on all and not in one place?
> 
> Yes, the translation mark needs to be around each string literal that should
> be translated. xgettext (which extracts the strings from source code) only
> looks at the source code, but never executes the program to see what really
> happens. That's good enough for all practical cases.

I suspect a misunderstanding here. Forgive me if I state the obvious.

The fix is not to move the translation mark around.

String literals must be identified as to be translated by a human translator
(something like symstd_msg=N_("string")) in the source code. Then the string
must also be replaced with its translation at runtime by a call to
gettext(symstd_msg) (usually shortened as _(symstd_msg) by a define).

The above code does call _(symstd_msg) to translate the string at runtime (as
it should) but the string literals pointed to by symstd_msg are not marked as
translatable. Translators never see them. Therefore, when gettext() is passed
the string "available since Fortran 77", it can't find its translation in the
mo file. 

In most cases, the two steps are combined in one call to _("string") that
contains both the string literal extracted by xgettext and the call to
gettext() to actually translate it at runtime.

[Bug go/80128] [7 regression] go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:2002

2017-03-22 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80128

--- Comment #4 from Andreas Schwab  ---
I only see an empty page.  Can you please attach the patch here?

[Bug tree-optimization/80136] [7 Regression] ICE in gimplify_modify_expr, at gimplify.c:5627

2017-03-22 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80136

--- Comment #12 from Christophe Lyon  ---
Following Jakub's recommendation, I applied this:

diff --git a/gcc/tree-stdarg.c b/gcc/tree-stdarg.c
index 18dd972..edf47d1 100644
--- a/gcc/tree-stdarg.c
+++ b/gcc/tree-stdarg.c
@@ -1061,8 +1061,7 @@ expand_ifn_va_arg_1 (function *fun)
else
  {
gimple_seq tmp_seq;
-   force_gimple_operand (expr, &tmp_seq, false, NULL_TREE);
-   gimple_seq_add_seq_without_update (&pre, tmp_seq);
+   gimplify_and_add (expr, &pre);
  }

input_location = saved_location;

on top of r246319 (that is, before you reverted it).

and my build now completes. I didn't run make-check though.

[Bug tree-optimization/80136] [7 Regression] ICE in gimplify_modify_expr, at gimplify.c:5627

2017-03-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80136

--- Comment #13 from Jakub Jelinek  ---
(In reply to Christophe Lyon from comment #12)
> Following Jakub's recommendation, I applied this:
> 
> diff --git a/gcc/tree-stdarg.c b/gcc/tree-stdarg.c
> index 18dd972..edf47d1 100644
> --- a/gcc/tree-stdarg.c
> +++ b/gcc/tree-stdarg.c
> @@ -1061,8 +1061,7 @@ expand_ifn_va_arg_1 (function *fun)
> else
>   {
> gimple_seq tmp_seq;
> -   force_gimple_operand (expr, &tmp_seq, false, NULL_TREE);
> -   gimple_seq_add_seq_without_update (&pre, tmp_seq);
> +   gimplify_and_add (expr, &pre);
>   }
>  
> input_location = saved_location;
> 
> on top of r246319 (that is, before you reverted it).
> 
> and my build now completes. I didn't run make-check though.

That is strange.  I'd expect a warning turned into error about unused tmp_seq.
You want to replace the whole else { ... } with else gimplify_and_add (expr,
&pre);

[Bug tree-optimization/80136] [7 Regression] ICE in gimplify_modify_expr, at gimplify.c:5627

2017-03-22 Thread clyon at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80136

--- Comment #14 from Christophe Lyon  ---
Ha yes, sorry I did see the warning, but I was focused on build completion.

[Bug sanitizer/80114] asan-stack=1 with -fsanitize-address-use-after-scope and stack arrays multiplies code size

2017-03-22 Thread jani.nikula at intel dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80114

--- Comment #11 from Jani Nikula  ---
(In reply to Martin Liška from comment #10)
> May I close this as worksforme?

If the conclusion is that the magnitude of the code size bloat demonstrated in
https://godbolt.org/g/hgS817 is expected, then go ahead.

Thanks for asking first, though. :)

[Bug c++/80141] ICE with pragma omp declare

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80141

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-03-22
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed.

[Bug c++/80143] ICE on placement new in gimplify_init_ctor_eval, at gimplify.c:4436

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80143

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-03-22
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed, I see ICE starting from 4.7.0.

[Bug c++/80145] [c++1y] ICE after failed return type deduction

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80145

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-03-22
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed.

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117

--- Comment #8 from Eric Botcazou  ---
> So the real bug is that Standard'Word_Size doesn't follow -mabi.  Surely
> there should be no need to copy the whole file just to change Word_Size.

That's what we do for x32 though, as there is no general mechanism, but I agree
that we ought to better support this kind of setup.

[Bug ada/80146] New: [7 regression] ICE in copy_to_mode_reg, at explow.c:612

2017-03-22 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

Bug ID: 80146
   Summary: [7 regression] ICE in copy_to_mode_reg, at
explow.c:612
   Product: gcc
   Version: 7.0
Status: UNCONFIRMED
  Keywords: build
  Severity: normal
  Priority: P3
 Component: ada
  Assignee: unassigned at gcc dot gnu.org
  Reporter: sch...@linux-m68k.org
Blocks: 80117
  Target Milestone: ---
Target: aarch64-*-*

/home/abuild/rpmbuild/BUILD/gcc-7.0.1-r246083/obj-aarch64-suse-linux/./gcc/xgcc
-B/home/abuild/rpmbuild/BUILD/gcc-7.0.1-r246083/obj-aarch64-suse-linux/./gcc/
-B/usr/aarch64-suse-linux/bin/ -B/usr/aarch64-suse-linux/lib/ -isystem
/usr/aarch64-suse-linux/include -isystem /usr/aarch64-suse-linux/sys-include   
-c -g -O2 -mabi=ilp32 -fPIC  -W -Wall -gnatpg -nostdinc -mabi=ilp32 
a-direct.adb -o a-direct.o
+===GNAT BUG DETECTED==+
| 7.0.1 20170313 (experimental) [trunk revision 246083] (aarch64-suse-linux)
GCC error:|
| in copy_to_mode_reg, at explow.c:612 |
| Error detected around a-direct.ads:478:9 |

make[9]: *** [../gcc-interface/Makefile:296: a-direct.o] Error 1
make[9]: Leaving directory
'/home/abuild/rpmbuild/BUILD/gcc-7.0.1-r246083/obj-aarch64-suse-linux/gcc/ada/rts_ilp32'


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117
[Bug 80117] Standard'Word_Size is wrong for aarch64 ILP32

[Bug fortran/80142] [7 Regression] Warning: No location in expression ... with -O / -ffrontend-optimize

2017-03-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80142

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P4
   Target Milestone|--- |7.0

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117

--- Comment #9 from Eric Botcazou  ---
> What is the definition of System.Word_Size anyway?

The language RM says (13.7/32):

   Word_Size
The number of bits per word.

[Bug tree-optimization/80136] [7 Regression] ICE in gimplify_modify_expr, at gimplify.c:5627

2017-03-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80136

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P1

[Bug c++/80135] [6/7 Regression] ICE in output_constructor_regular_field, at varasm.c:4968

2017-03-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80135

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
   Target Milestone|--- |6.4

[Bug ada/80146] ICE in copy_to_mode_reg, at explow.c:612

2017-03-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

Eric Botcazou  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ebotcazou at gcc dot gnu.org
 Resolution|--- |DUPLICATE
Summary|[7 regression] ICE in   |ICE in copy_to_mode_reg, at
   |copy_to_mode_reg, at|explow.c:612
   |explow.c:612|

--- Comment #1 from Eric Botcazou  ---
Typical error when the port is not correctly configured, no need to dig in.

*** This bug has been marked as a duplicate of bug 80117 ***

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117

--- Comment #10 from Eric Botcazou  ---
*** Bug 80146 has been marked as a duplicate of this bug. ***

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117
Bug 80117 depends on bug 80146, which changed state.

Bug 80146 Summary: ICE in copy_to_mode_reg, at explow.c:612
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

[Bug target/79906] ICE in rs6000_inner_target_options, at config/rs6000/rs6000.c:39199

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79906

--- Comment #1 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 09:21:56 2017
New Revision: 246345

URL: https://gcc.gnu.org/viewcvs?rev=246345&root=gcc&view=rev
Log:
Error message on target attribute on power target (PR target/79906)

2017-03-22  Martin Liska  

PR target/79906
* config/rs6000/rs6000.c (rs6000_inner_target_options): Show
error message instead of an ICE.
2017-03-22  Martin Liska  

PR target/79906
* g++.dg/ext/mv8.C: Add power* targets.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/g++.dg/ext/mv8.C

[Bug ada/80146] [7 regression] ICE in copy_to_mode_reg, at explow.c:612

2017-03-22 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

Andreas Schwab  changed:

   What|Removed |Added

 Status|RESOLVED|NEW
   Last reconfirmed||2017-03-22
 Resolution|DUPLICATE   |---
Summary|ICE in copy_to_mode_reg, at |[7 regression] ICE in
   |explow.c:612|copy_to_mode_reg, at
   ||explow.c:612
 Ever confirmed|0   |1

--- Comment #2 from Andreas Schwab  ---
The same configuration works fine in gcc-6.

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117
Bug 80117 depends on bug 80146, which changed state.

Bug 80146 Summary: [7 regression] ICE in copy_to_mode_reg, at explow.c:612
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

   What|Removed |Added

 Status|RESOLVED|NEW
 Resolution|DUPLICATE   |---

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117

--- Comment #11 from Andreas Schwab  ---
So what's a word then?  Obviously, UNITS_PER_WORD does not fit.

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117

--- Comment #12 from Eric Botcazou  ---
*** Bug 80146 has been marked as a duplicate of this bug. ***

[Bug ada/80146] ICE in copy_to_mode_reg, at explow.c:612

2017-03-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

Eric Botcazou  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE
Summary|[7 regression] ICE in   |ICE in copy_to_mode_reg, at
   |copy_to_mode_reg, at|explow.c:612
   |explow.c:612|

--- Comment #3 from Eric Botcazou  ---
> The same configuration works fine in gcc-6.

Please...  The ILP32 port isn't supported by any version of the FSF compiler so
this cannot be a regression and nobody is going to look into it.

*** This bug has been marked as a duplicate of bug 80117 ***

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117
Bug 80117 depends on bug 80146, which changed state.

Bug 80146 Summary: ICE in copy_to_mode_reg, at explow.c:612
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

[Bug ada/80146] ICE in copy_to_mode_reg, at explow.c:612

2017-03-22 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

Andreas Schwab  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|DUPLICATE   |---

--- Comment #4 from Andreas Schwab  ---
This bug is still independent of the other.

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117
Bug 80117 depends on bug 80146, which changed state.

Bug 80146 Summary: ICE in copy_to_mode_reg, at explow.c:612
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|DUPLICATE   |---

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117

--- Comment #13 from Eric Botcazou  ---
> So what's a word then?  Obviously, UNITS_PER_WORD does not fit.

I think that UNITS_PER_WORD is correct for Word_Size, the problem lies more in
the definition of Memory_Size and Address:

Memory_Size
An implementation-defined value [that is intended to reflect the memory
size of the configuration in storage elements.] 

Address is of a definite, nonlimited type. Address represents machine
addresses capable of addressing individual storage elements.

so Memory_Size would need to be 2 ** 32 for ILP32 ABIs on 64-bit architectures
but I have no idea as to whether this would work with the current
implementation, hence the trick of using a pure 32-bit configuration instead
for them.

[Bug tree-optimization/80147] New: missing maybe-uninitialized warning on variable with no side effects

2017-03-22 Thread vincent-gcc at vinc17 dot net
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80147

Bug ID: 80147
   Summary: missing maybe-uninitialized warning on variable with
no side effects
   Product: gcc
   Version: 6.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: vincent-gcc at vinc17 dot net
  Target Milestone: ---

On the following test, GCC 6.3.0 with -Wuninitialize and -Wmaybe-uninitialized
(both implied by -Wall) warns as expected in the 4 cases without optimization,
but if -O is used, GCC misses the warning for j1.


void f0 (int i);
static void f1 (int i) { }
static void f2 (int i) { f0 (i); }

void g (int b)
{
  int i1, i2, j1, j2;
  f1 (i1);
  f2 (i2);
  if (b)
{
  f1 (j1);
  f2 (j2);
}
}


The following is OK:

zira% gcc -Wall -c tst.c
tst.c: In function ‘g’:
tst.c:8:3: warning: ‘i1’ is used uninitialized in this function
[-Wuninitialize]
   f1 (i1);
   ^~~
tst.c:9:3: warning: ‘i2’ is used uninitialized in this function
[-Wuninitialize]
   f2 (i2);
   ^~~
tst.c:12:7: warning: ‘j1’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
   f1 (j1);
   ^~~
tst.c:13:7: warning: ‘j2’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
   f2 (j2);
   ^~~

But the warning for j1 is missing if -O is added:

zira% gcc -Wall -c tst.c -O
tst.c: In function ‘g’:
tst.c:8:3: warning: ‘i1’ is used uninitialized in this function
[-Wuninitialize]
   f1 (i1);
   ^~~
tst.c:9:3: warning: ‘i2’ is used uninitialized in this function
[-Wuninitialize]
   f2 (i2);
   ^~~
tst.c:3:26: warning: ‘j2’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
 static void f2 (int i) { f0 (i); }
  ^~
tst.c:7:19: note: ‘j2’ was declared here
   int i1, i2, j1, j2;
   ^~

[Bug c++/80138] spurious warning: assuming signed overflow does not occur when ...

2017-03-22 Thread julienpommier at free dot fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80138

--- Comment #3 from Julien Pommier  ---
I agree spurious was not the right wording, sorry for that. However it took me
quite a lot of time to understand and to find out which function was
responsible for the warning in my original code, which was more convoluted than
my test case. Basically gcc was not reporting the warning as occuring in the
'main' equivalent of the test case but in another function that was calling
'main', so I had to perform some dichotomy by commenting random code in the
function calling 'main' in order to determine that it was 'main' the
responsible for the calls to 'contains()'. 

So I think that gcc should really keep quiet on this kind of code, and if it
does not it should give the complete list of function calls between the 'In
function int main()' part of the diagnostic and and the 'assuming signed
overflow .. ' , otherwise it can be very confusing.

[Bug ada/80146] ICE in copy_to_mode_reg, at explow.c:612

2017-03-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

Eric Botcazou  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #5 from Eric Botcazou  ---
> This bug is still independent of the other.

No, this bug means that there is a mismatch between the configuration of the
back-end and the configuration of the Ada front-end, and the reason for the
mismatch is PR ada/80117 so it will be fixed when this one is dealt with.
There is no plan to deal more gracefully with the mismatch in the future.

*** This bug has been marked as a duplicate of bug 80117 ***

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117

--- Comment #14 from Eric Botcazou  ---
*** Bug 80146 has been marked as a duplicate of this bug. ***

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread ebotcazou at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117
Bug 80117 depends on bug 80146, which changed state.

Bug 80146 Summary: ICE in copy_to_mode_reg, at explow.c:612
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |DUPLICATE

[Bug c++/80138] spurious warning: assuming signed overflow does not occur when ...

2017-03-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80138

--- Comment #4 from Richard Biener  ---
I think that including -Wstrict-overflow in -Wall is a mistake given it is a
warning that assumes you assume signed overflow wraps and then tells you the
points where the compiler assumed otherwise.

But nowadays not all (-Wall) people assume that signed overflow wraps.

Implementation-wise I'd also rather alias -fno-strict-overflow to -fwrapv...
(and remove -Wstrict-overflow entirely).

-Wstrict-overflow is _not_ warning about cases where GCC somehow computed
that signed arithmetic (might) overflow.  (that's IMHO impossible without
very many false positives)

[Bug ada/80146] ICE in copy_to_mode_reg, at explow.c:612

2017-03-22 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

Andreas Schwab  changed:

   What|Removed |Added

 Status|RESOLVED|NEW
 Resolution|DUPLICATE   |---

--- Comment #6 from Andreas Schwab  ---
This happens with the mismatch resolved.

[Bug ada/80117] Standard'Word_Size is wrong for aarch64 ILP32

2017-03-22 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80117
Bug 80117 depends on bug 80146, which changed state.

Bug 80146 Summary: ICE in copy_to_mode_reg, at explow.c:612
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80146

   What|Removed |Added

 Status|RESOLVED|NEW
 Resolution|DUPLICATE   |---

[Bug fortran/80142] [7 Regression] Warning: No location in expression ... with -O / -ffrontend-optimize

2017-03-22 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80142

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-03-22
 CC||tkoenig at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Confirmed. It is caused by revision 243520.

[Bug tree-optimization/80072] [7 Regression] ICE in gimple_build_assign_1 with -O3 -march=broadwell/skylake-avx512

2017-03-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80072

--- Comment #3 from Jakub Jelinek  ---
This is quite impossible to reduce, after 16 hours of creduce I've reduced 22%
from the original size.
I've tried to build a testcase based on what I see in the reassociation, but
void bar (int);
unsigned long int vx, vx2, vx3;

unsigned long int
foo (unsigned long int _55062, unsigned long int _55063,
 unsigned long int _55172, unsigned long int _55171,
 int u, int v, int w, int x)
{
  unsigned long int _55173 = _55171 * _55172;
  _Bool t1, t2;
  if (u == 35)
t1 = 1;
  else if (u == 27)
t1 = 0;
  else if (v == 12)
{
  bar (4);
  t1 = 1;
}
  else if (v == 24)
{
  bar (5);
  t1 = 1;
}
  else
{
  bar (6);
  t1 = 1;
}
  unsigned long int _55001 = vx2;
  unsigned long int _55053 = t1;
  unsigned long int _55054 = _55001 * _55053;
  unsigned long int _55064 = _55062 * _55063;
  unsigned long int _55060 = vx;
  unsigned long int _55065 = -_55064;
  unsigned long int _55066 = _55060 * _55065;
  unsigned long int _55067 = _55054 * _55066;
  if (w == 35)
t2 = 1;
  else if (w == 27)
t2 = 0;
  else if (x == 12)
{
  bar (4);
  t2 = 1;
}
  else if (x == 24)
{
  bar (5);
  t2 = 1;
}
  else
{
  bar (6);
  t2 = 1;
}
  unsigned long int _55119 = vx3;
  unsigned long int _55225 = t2;
  unsigned long int _55226 = _55173 * _55225;
  unsigned long int _55227 = _55119 * _55226;
  unsigned long int _55228 = _55067 * _55227;
  unsigned long int _55229 = _55228 * 9323891652267032265ULL;
  return _55229;
}

has different ranks and so while it gives the same ops order after
linearize_expr_tree, the following sorting changes it.

[Bug tree-optimization/80072] [7 Regression] ICE in gimple_build_assign_1 with -O3 -march=broadwell/skylake-avx512

2017-03-22 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80072

--- Comment #4 from rguenther at suse dot de  ---
On Wed, 22 Mar 2017, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80072
> 
> --- Comment #3 from Jakub Jelinek  ---
> This is quite impossible to reduce, after 16 hours of creduce I've reduced 22%
> from the original size.
> I've tried to build a testcase based on what I see in the reassociation, but
> void bar (int);
> unsigned long int vx, vx2, vx3;
> 
> unsigned long int
> foo (unsigned long int _55062, unsigned long int _55063,
>  unsigned long int _55172, unsigned long int _55171,
>  int u, int v, int w, int x)
> {
>   unsigned long int _55173 = _55171 * _55172;
>   _Bool t1, t2;
>   if (u == 35)
> t1 = 1;
>   else if (u == 27)
> t1 = 0;
>   else if (v == 12)
> {
>   bar (4);
>   t1 = 1;
> }
>   else if (v == 24)
> {
>   bar (5);
>   t1 = 1;
> }
>   else
> {
>   bar (6);
>   t1 = 1;
> }
>   unsigned long int _55001 = vx2;
>   unsigned long int _55053 = t1;
>   unsigned long int _55054 = _55001 * _55053;
>   unsigned long int _55064 = _55062 * _55063;
>   unsigned long int _55060 = vx;
>   unsigned long int _55065 = -_55064;
>   unsigned long int _55066 = _55060 * _55065;
>   unsigned long int _55067 = _55054 * _55066;
>   if (w == 35)
> t2 = 1;
>   else if (w == 27)
> t2 = 0;
>   else if (x == 12)
> {
>   bar (4);
>   t2 = 1;
> }
>   else if (x == 24)
> {
>   bar (5);
>   t2 = 1;
> }
>   else
> {
>   bar (6);
>   t2 = 1;
> }
>   unsigned long int _55119 = vx3;
>   unsigned long int _55225 = t2;
>   unsigned long int _55226 = _55173 * _55225;
>   unsigned long int _55227 = _55119 * _55226;
>   unsigned long int _55228 = _55067 * _55227;
>   unsigned long int _55229 = _55228 * 9323891652267032265ULL;
>   return _55229;
> }
> 
> has different ranks and so while it gives the same ops order after
> linearize_expr_tree, the following sorting changes it.

Did you try -fdump--gimple and create a gimple
testcase out of the affected function IL?

[Bug tree-optimization/80072] [7 Regression] ICE in gimple_build_assign_1 with -O3 -march=broadwell/skylake-avx512

2017-03-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80072

--- Comment #5 from Jakub Jelinek  ---
That function is way too large for anything.  But I'll try to get the same
ranks now.

[Bug sanitizer/71458] ICE with -fsanitize=bounds

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71458

--- Comment #6 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:33:49 2017
New Revision: 246346

URL: https://gcc.gnu.org/viewcvs?rev=246346&root=gcc&view=rev
Log:
Backport r237353

2017-03-22  Martin Liska  

Backport from mainline
2016-06-13  Martin Liska  

PR sanitizer/71458
* toplev.c (process_options): Do not enable -fcheck-pointer-bounds
w/ -fsanitize=bounds.
2017-03-22  Martin Liska  

Backport from mainline
2016-06-13  Martin Liska  

PR sanitizer/71458
* gcc.target/i386/pr71458.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/pr71458.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/toplev.c

[Bug inline-asm/80148] New: operand has impossible constraints

2017-03-22 Thread dvyukov at google dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80148

Bug ID: 80148
   Summary: operand has impossible constraints
   Product: gcc
   Version: 7.0.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: inline-asm
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dvyukov at google dot com
  Target Milestone: ---

This pop up in kernel code. We have:

#define __cmpxchg_double(pfx, p1, p2, o1, o2, n1, n2)   \
({  \
bool __ret; \
__typeof__(*(p1)) __old1 = (o1), __new1 = (n1); \
__typeof__(*(p2)) __old2 = (o2), __new2 = (n2); \
asm volatile(pfx "cmpxchg%c4b %2; sete %0"  \
 : "=a" (__ret), "+d" (__old2), \
   "+m" (*(p1)), "+m" (*(p2))   \
 : "i" (2 * sizeof(long)), "a" (__old1),\
   "b" (__new1), "c" (__new2)); \
__ret;  \
})

#define arch_cmpxchg_double(p1, p2, o1, o2, n1, n2) \
__cmpxchg_double(LOCK_PREFIX, p1, p2, o1, o2, n1, n2)

#define cmpxchg_double(p1, p2, o1, o2, n1, n2)  \
({  \
__typeof__(p1) p1 = (p1);   \
kasan_check_write(p1, 2 * sizeof(*p1)); \
arch_cmpxchg_double(p1, (p2), (o1), (o2), (n1), (n2));  \
})

And this is invoked as:

if (cmpxchg_double(&page->freelist, &page->counters,
   freelist_old, counters_old,
   freelist_new, counters_new))

This fails with:
error: ‘asm’ operand has impossible constraints

However if I change cmpxchg_double as:

-   arch_cmpxchg_double(p1, (p2), (o1), (o2), (n1), (n2));  \
+   arch_cmpxchg_double((p1), (p2), (o1), (o2), (n1), (n2));\

It works.

I've tested with gcc version 7.0.1 20170307 (experimental) (GCC). Arnd Bergmann
reported that the problem happens with 4.9 through 7.0.1 for him. I've also
tried with gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) and both versions
work.

It's unclear to me why introducing a local variable as "__typeof__(p1) p1 =
(p1)" and then using it fails. Whereas using p1 works. Essentially we have:

asm volatile("" "cmpxchg%c4b %2; sete %0" : "=a" (__ret), "+d" (__old2), "+m"
(*((&page->freelist))), "+m" (*((&page->counters))) : "i" (2 * sizeof(long)),
"a" (__old1), "b" (__new1), "c" (__new2));

vs:

__typeof__(&page->freelist) p1 = (&page->freelist);
...
asm volatile("" "cmpxchg%c4b %2; sete %0" : "=a" (__ret), "+d" (__old2), "+m"
(*(p1)), "+m" (*((&page->counters))) : "i" (2 * sizeof(long)), "a"
(__old1), "b" (__new1), "c" (__new2));


It seems to me that both versions should work the same way.

I will attach preprocessed sources for both versions. They can be compiled as:

gcc slub1.c -fno-strict-aliasing -fno-common -Wno-format-security -std=gnu89
-fno-PIE -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m32 -msoft-float
-mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2
-march=i686 -mtune=pentium3 -Wa,-mtune=generic32 -ffreestanding
-DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1
-DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1
-DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare
-fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks
-Wno-frame-address -O2 --param=allow-store-data-races=0
-Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable
-Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls
-fno-var-tracking-assignments -fno-inline-functions-called-once
-Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow
-fconserve-stack -Werror=implicit-int -Werror=strict-prototypes
-Werror=date-time -Werror=incompatible-pointer-types -c

[Bug other/65530] [meta-bug] -mmpx -fcheck-pointer-bounds failures

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65530
Bug 65530 depends on bug 71458, which changed state.

Bug 71458 Summary: ICE with -fsanitize=bounds
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71458

   What|Removed |Added

 Status|RESOLVED|NEW
 Resolution|FIXED   |---

[Bug sanitizer/71458] ICE with -fsanitize=bounds

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71458

Martin Liška  changed:

   What|Removed |Added

 Status|RESOLVED|NEW
 Resolution|FIXED   |---

[Bug rtl-optimization/79577] Infinite loop with -fselective-scheduling2 -O2 --param selsched-max-sched-times=0

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79577

--- Comment #5 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:38:15 2017
New Revision: 246347

URL: https://gcc.gnu.org/viewcvs?rev=246347&root=gcc&view=rev
Log:
Backport r245532

2017-03-22  Martin Liska  

Backport from mainline
2017-02-17  Martin Liska  

PR rtl-optimization/79577
* params.def (selsched-max-sched-times): Increase minimum to 1.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/params.def

[Bug tree-optimization/80072] [7 Regression] ICE in gimple_build_assign_1 with -O3 -march=broadwell/skylake-avx512

2017-03-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80072

--- Comment #6 from Richard Biener  ---
(In reply to Jakub Jelinek from comment #5)
> That function is way too large for anything.  But I'll try to get the same
> ranks now.

If you have analyzed what happens you can maybe create an artificial gimple
testcase reproducing it (given I guess only one or two reassoc chains are
required in the end).

[Bug inline-asm/80148] operand has impossible constraints

2017-03-22 Thread dvyukov at google dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80148

--- Comment #1 from Dmitry Vyukov  ---
Created attachment 41016
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41016&action=edit
source code

The archive contains slub2.c that works, and slub1.c that fails with the error.

[Bug rtl-optimization/79574] ICE in want_to_gcse_p, at gcse.c:804

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79574

--- Comment #5 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:39:31 2017
New Revision: 246348

URL: https://gcc.gnu.org/viewcvs?rev=246348&root=gcc&view=rev
Log:
Backport r245531

2017-03-22  Martin Liska  

Backport from mainline
2017-02-17  Martin Liska  

PR rtl-optimization/79574
* gcse.c (want_to_gcse_p): Prevent integer overflow.
2017-03-22  Martin Liska  

Backport from mainline
2017-02-17  Martin Liska  

PR rtl-optimization/79574
* gcc.dg/pr79574.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/gcc.dg/pr79574.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/gcse.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug rtl-optimization/79574] ICE in want_to_gcse_p, at gcse.c:804

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79574

--- Comment #6 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:41:18 2017
New Revision: 246349

URL: https://gcc.gnu.org/viewcvs?rev=246349&root=gcc&view=rev
Log:
Backport r245868

2017-03-22  Martin Liska  

Backport from mainline
2017-03-03  Martin Liska  

PR rtl-optimization/79574
* gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int.
(hash_scan_set): Likewise.
(dump_hash_table): Likewise.
(hoist_code): Likewise.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-03  Martin Liska  

PR rtl-optimization/79574
* gcc.dg/pr79574-2.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/gcc.dg/pr79574-2.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/gcse.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug lto/79760] ICE in type_in_anonymous_namespace_p in ipa-utils.h:219

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79760

--- Comment #6 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:42:58 2017
New Revision: 246351

URL: https://gcc.gnu.org/viewcvs?rev=246351&root=gcc&view=rev
Log:
Backport r245870

2017-03-22  Martin Liska  

Backport from mainline
2017-03-03  Jan Hubicka  

PR lto/79760
* ipa-devirt.c (maybe_record_node): Properly handle
__cxa_pure_virtual visibility.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/ipa-devirt.c

[Bug tree-optimization/79803] [5/6 Regression] ICE in tree_ssa_prefetch_arrays, at tree-ssa-loop-prefetch.c:1982

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79803

--- Comment #6 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:42:33 2017
New Revision: 246350

URL: https://gcc.gnu.org/viewcvs?rev=246350&root=gcc&view=rev
Log:
Backport r245869

2017-03-22  Martin Liska  

Backport from mainline
2017-03-03  Martin Liska  

PR tree-optimization/79803
* tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove
assert.
(pass_loop_prefetch::execute): Disabled optimization if an
assumption about L1 cache size is not met.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-03  Martin Liska  

PR tree-optimization/79803
* gcc.dg/tree-ssa/pr79803.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/gcc.dg/tree-ssa/pr79803.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/tree-ssa-loop-prefetch.c

[Bug ipa/79761] [CHKP] ICE in chkp_find_bounds_1, at tree-chkp.c:3452

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79761

--- Comment #5 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:43:31 2017
New Revision: 246353

URL: https://gcc.gnu.org/viewcvs?rev=246353&root=gcc&view=rev
Log:
Backport r245993

2017-03-22  Martin Liska  

Backport from mainline
2017-03-09  Martin Liska  

PR ipa/79761
* tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param.
(chkp_find_bounds_1): Remove gcc_unreachable.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-09  Martin Liska  

PR ipa/79761
* g++.dg/pr79761.C: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/g++.dg/pr79761.C
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/tree-chkp.c

[Bug target/69804] [5/6] ICE with -fsanitize=undefined -fcheck-pointer-bounds -mmpx

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69804

--- Comment #8 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:43:59 2017
New Revision: 246354

URL: https://gcc.gnu.org/viewcvs?rev=246354&root=gcc&view=rev
Log:
Backport r245997

2017-03-22  Martin Liska  

Backport from mainline
2017-03-09  Martin Liska  

PR target/65705
PR target/69804
* toplev.c (process_options): Disable -fcheck-pointer-bounds with
sanitizers.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-09  Martin Liska  

PR target/65705
PR target/69804
* gcc.target/i386/pr71458.c: Update scanned pattern.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/pr71458.c
branches/gcc-6-branch/gcc/toplev.c

[Bug target/65705] ICE: SIGSEGV in contains_struct_check with -fsanitize=null -fcheck-pointer-bounds

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65705

--- Comment #8 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:43:59 2017
New Revision: 246354

URL: https://gcc.gnu.org/viewcvs?rev=246354&root=gcc&view=rev
Log:
Backport r245997

2017-03-22  Martin Liska  

Backport from mainline
2017-03-09  Martin Liska  

PR target/65705
PR target/69804
* toplev.c (process_options): Disable -fcheck-pointer-bounds with
sanitizers.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-09  Martin Liska  

PR target/65705
PR target/69804
* gcc.target/i386/pr71458.c: Update scanned pattern.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/pr71458.c
branches/gcc-6-branch/gcc/toplev.c

[Bug tree-optimization/79631] [CHKP] ICE tree check: expected integer_cst, have negate_expr in decompose, at tree.h:5255

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79631

--- Comment #6 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:44:58 2017
New Revision: 246355

URL: https://gcc.gnu.org/viewcvs?rev=246355&root=gcc&view=rev
Log:
Backport r245998

2017-03-22  Martin Liska  

Backport from mainline
2017-03-09  Martin Liska  

PR tree-optimization/79631
* tree-chkp-opt.c (chkp_is_constant_addr): Call
tree_int_cst_sign_bit just for INTEGER constants.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-09  Martin Liska  

PR tree-optimization/79631
* gcc.target/i386/mpx/pr79631.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/mpx/pr79631.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/tree-chkp-opt.c

[Bug target/65705] ICE: SIGSEGV in contains_struct_check with -fsanitize=null -fcheck-pointer-bounds

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65705

--- Comment #9 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:45:42 2017
New Revision: 246356

URL: https://gcc.gnu.org/viewcvs?rev=246356&root=gcc&view=rev
Log:
Backport r246027

2017-03-22  Martin Liska  

Backport from mainline
2017-03-10  Martin Liska  

PR target/65705
PR target/69804
* toplev.c (process_options): Enable MPX with LSAN and UBSAN.
* tree-chkp.c (chkp_walk_pointer_assignments): Verify that
FIELD != NULL.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/pr71458.c
branches/gcc-6-branch/gcc/toplev.c
branches/gcc-6-branch/gcc/tree-chkp.c

[Bug middle-end/78339] -fsuggest-attribute=noreturn should not warn on -fcheck-pointer-bounds clones

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78339

--- Comment #4 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:46:27 2017
New Revision: 246357

URL: https://gcc.gnu.org/viewcvs?rev=246357&root=gcc&view=rev
Log:
Backport r246098

2017-03-22  Martin Liska  

Backport from mainline
2017-03-13  Martin Liska  

PR middle-end/78339
* ipa-pure-const.c (warn_function_noreturn): If the declarations
is a CHKP clone, use original declaration.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-13  Martin Liska  

PR middle-end/78339
* gcc.target/i386/mpx/pr78339.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/mpx/pr78339.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/ipa-pure-const.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog

[Bug target/79892] ICE in processing of target attribute

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79892

--- Comment #3 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:46:44 2017
New Revision: 246358

URL: https://gcc.gnu.org/viewcvs?rev=246358&root=gcc&view=rev
Log:
Backport r246120

2017-03-22  Martin Liska  

Backport from mainline
2017-03-14  Martin Liska  

PR target/79892
* multiple_target.c (create_dispatcher_calls): Check that
a target can create a function dispatcher.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/multiple_target.c

[Bug target/69804] [5/6] ICE with -fsanitize=undefined -fcheck-pointer-bounds -mmpx

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69804

--- Comment #9 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:45:42 2017
New Revision: 246356

URL: https://gcc.gnu.org/viewcvs?rev=246356&root=gcc&view=rev
Log:
Backport r246027

2017-03-22  Martin Liska  

Backport from mainline
2017-03-10  Martin Liska  

PR target/65705
PR target/69804
* toplev.c (process_options): Enable MPX with LSAN and UBSAN.
* tree-chkp.c (chkp_walk_pointer_assignments): Verify that
FIELD != NULL.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/pr71458.c
branches/gcc-6-branch/gcc/toplev.c
branches/gcc-6-branch/gcc/tree-chkp.c

[Bug middle-end/79831] [DOC][CHKP] Missing -Wchkp

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79831

--- Comment #5 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:47:06 2017
New Revision: 246359

URL: https://gcc.gnu.org/viewcvs?rev=246359&root=gcc&view=rev
Log:
Backport r246129

2017-03-22  Martin Liska  

Backport from mainline
2017-03-14  Martin Liska  

PR middle-end/79831
* doc/invoke.texi (-Wchkp): Document the option.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/doc/invoke.texi

[Bug ipa/79769] [CHKP] ICE in chkp_find_bounds_1 (Unexpected tree code complex_cst)

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79769

--- Comment #4 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:47:26 2017
New Revision: 246360

URL: https://gcc.gnu.org/viewcvs?rev=246360&root=gcc&view=rev
Log:
Backport r246275

2017-03-22  Martin Liska  

Backport from mainline
2017-03-20  Martin Liska  

PR target/79769
PR target/79770
* tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
COMPLEX_CST and VECTOR_CST.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-20  Martin Liska  

PR target/79769
PR target/79770
* g++.dg/pr79769.C: New test.
* gcc.target/i386/mpx/pr79770.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/g++.dg/pr79769.C
branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/mpx/pr79770.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/tree-chkp.c

[Bug c/79770] [CHKP] ICE in chkp_find_bounds_1 (chkp_find_bounds: Unexpected tree code vector_cst)

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79770

--- Comment #4 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:47:26 2017
New Revision: 246360

URL: https://gcc.gnu.org/viewcvs?rev=246360&root=gcc&view=rev
Log:
Backport r246275

2017-03-22  Martin Liska  

Backport from mainline
2017-03-20  Martin Liska  

PR target/79769
PR target/79770
* tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
COMPLEX_CST and VECTOR_CST.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-20  Martin Liska  

PR target/79769
PR target/79770
* g++.dg/pr79769.C: New test.
* gcc.target/i386/mpx/pr79770.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/g++.dg/pr79769.C
branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/mpx/pr79770.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/tree-chkp.c

[Bug middle-end/79753] [6 Regression][CHKP] ICE in ix86_expand_builtin, at config/i386/i386.c:36869

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79753

--- Comment #11 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:47:52 2017
New Revision: 246361

URL: https://gcc.gnu.org/viewcvs?rev=246361&root=gcc&view=rev
Log:
Backport r246276

2017-03-22  Martin Liska  

Backport from mainline
2017-03-20  Martin Liska  

PR middle-end/79753
* tree-chkp.c (chkp_build_returned_bound): Do not build
returned bounds for a LHS that's not a BOUNDED_P type.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-20  Martin Liska  

PR middle-end/79753
* gcc.target/i386/mpx/pr79753.c: New test.

Added:
branches/gcc-6-branch/gcc/testsuite/gcc.target/i386/mpx/pr79753.c
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/tree-chkp.c

[Bug target/79906] ICE in rs6000_inner_target_options, at config/rs6000/rs6000.c:39199

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79906

--- Comment #2 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:49:49 2017
New Revision: 246364

URL: https://gcc.gnu.org/viewcvs?rev=246364&root=gcc&view=rev
Log:
Backport r246345

2017-03-22  Martin Liska  

Backport from mainline
2017-03-22  Martin Liska  

PR target/79906
* config/rs6000/rs6000.c (rs6000_inner_target_options): Show
error message instead of an ICE.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-22  Martin Liska  

PR target/79906
* g++.dg/ext/mv8.C: Add power* targets.

Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/config/rs6000/rs6000.c
branches/gcc-6-branch/gcc/testsuite/ChangeLog
branches/gcc-6-branch/gcc/testsuite/g++.dg/ext/mv8.C

[Bug gcov-profile/80081] gcov-dump needs man page

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80081

--- Comment #6 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 10:49:24 2017
New Revision: 246363

URL: https://gcc.gnu.org/viewcvs?rev=246363&root=gcc&view=rev
Log:
Backport r246321

2017-03-22  Martin Liska  

Backport from mainline
2017-03-21  Martin Liska  

PR gcov-profile/80081
* Makefile.in: Add gcov-dump and fix installation of gcov-tool.
* doc/gcc.texi: Include gcov-dump stuff.
* doc/gcov-dump.texi: New file.

Added:
branches/gcc-6-branch/gcc/doc/gcov-dump.texi
Modified:
branches/gcc-6-branch/gcc/ChangeLog
branches/gcc-6-branch/gcc/Makefile.in
branches/gcc-6-branch/gcc/doc/gcc.texi

[Bug c++/80149] New: segfault in std::vector::resize when mixing binaries from gcc4 and gcc5 on armhf

2017-03-22 Thread klug.stefan at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80149

Bug ID: 80149
   Summary: segfault in std::vector::resize when mixing binaries
from gcc4 and gcc5 on armhf
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: klug.stefan at gmx dot de
  Target Milestone: ---

Created attachment 41017
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41017&action=edit
Minimal sample and intermediate files

Hi everyone,

I came across a segfault on armhf where i suspect it might be an optimizer
issue.

What triggers the bug:
- A .so, compiled with gcc-4.x and -O2 using vector::resize()
- A binary compiled with gcc 5, also using vector::resize()
- at least one of the two binaries compiled with -O2
- The binary calls the lib resulting in a segfault

I've attached a minimal sample to this report. I reproduced the problem on
ubuntu 16.04 armhf.
To reproduce the crash run ./build.sh && ./sample
I also left the intermediate files and a build.log in the archive.
Additionally there is a docker receipe ( ./show-using-docker.sh ) included
which reproduces the bug using qemu (although this is of limited help as gdb
doesn't work with qemu-user-static)


The stack trace:
#0  __libc_do_syscall () at ../sysdeps/unix/sysv/linux/arm/libc-do-syscall.S:47
#1  0xb6dc7648 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:54
#2  0xb6dc834a in __GI_abort () at abort.c:89
#3  0xb6f27ad2 in __gnu_cxx::__verbose_terminate_handler() () from
/usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#4  0xb6f26330 in ?? () from /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#5  0xb6f26386 in std::terminate() () from
/usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#6  0xb6f265aa in __cxa_throw () from
/usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#7  0xb6f41300 in std::__throw_length_error(char const*) () from
/usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#8  0x0001148c in std::vector
>::_M_check_len (this=0xbefff4b8, __n=3204445360, __s=0x11a34
"vector::_M_fill_insert") at /usr/include/c++/5/bits/stl_vector.h:1425
#9  0x00011176 in std::vector
>::_M_fill_insert (this=0xbefff4b8, __position=, __n=3204445360, 
__x=@0x0: ) at
/usr/include/c++/5/bits/vector.tcc:489
#10 0xb6fc5b82 in std::vector >::insert
(__x=@0xbefff4b0: 0, __n=100, __position=..., this=0xbefff4b8) at
/usr/include/c++/4.9/bits/stl_vector.h:1073
#11 std::vector >::resize (__x=0,
__new_size=100, this=0xbefff4b8) at /usr/include/c++/4.9/bits/stl_vector.h:716
#12 libfoo::do_something () at libfoo.cpp:9
#13 0x00010c56 in main () at sample.cpp:11

My analysis so far:
- c++/.../bits/vector.tcc marks all symbols with _GLIBCXX_VISIBILITY(default),
so they are exported from a .so using them. I therefore assumed that these
symbols (vector<>::_M_fill_insert etc.)  belong to the public interface of the
libstdc++ and are backwards compatible. Is this assumption correct?
- All these symbols get weak linkage and the sample app also exports them (this
time the version of gcc5)
- At runtime the linker merges the weak symbols and "injects" the gcc5 version
into the .so calls. You can see that in the stack trace where vector::resize is
the last symbol from c++/4.9/bits bits.
- Somehow the parameter to _M_fill_insert is messed up, although the signature
of the function didn't change from gcc 4 to 5.
- Thats the point where I'm lost. 

I couldn't reproduce the issue on x86.

Kind regards,
Stefan

[Bug c++/80150] New: Internal compiler error when in in try_one_overload, at cp/pt.c:18903

2017-03-22 Thread gordon at codeplay dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80150

Bug ID: 80150
   Summary: Internal compiler error when in in try_one_overload,
at cp/pt.c:18903
   Product: gcc
   Version: 6.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gordon at codeplay dot com
  Target Milestone: ---

Created attachment 41018
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41018&action=edit
Pre-process

We encountered the following error message:

function_ptr_argument_substitution.cpp: In substitution of ‘template bool compare_functions(R (*)(Args ...), R (*)(Args ...), Args
...) [with R = int; Args = {int}]’:
function_ptr_argument_substitution.cpp:16:37:   required from here
function_ptr_argument_substitution.cpp:16:37: internal compiler error: in
try_one_overload, at cp/pt.c:18903
   compare_functions(foo, foo, a);
 ^

When comping the attached source file with the following command line options:

gcc -std=c++11 function_ptr_argument_substitution.cpp

With gcc version / os version:

gcc (Ubuntu 6.2.0-3ubuntu11~14.04) 6.2.0 20160901

I am not sure of the options that were specified when gcc was built as the
version I have was installed via apt-get.

The pre-process file is attached.

In summary the problem seems to arise when substituting the kernel arguments
for the function pointer, when there is more than one overload with that name.

If you require any additional information for this bug please let me know.

[Bug c++/80150] Internal compiler error when in in try_one_overload, at cp/pt.c:18903

2017-03-22 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80150

Marek Polacek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-03-22
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Marek Polacek  ---
Confirmed.

[Bug c++/80150] Internal compiler error when in in try_one_overload, at cp/pt.c:18903

2017-03-22 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80150

--- Comment #2 from Marek Polacek  ---
The ICE started with r233108, before that:

/home/brq/mpolacek/l.cc: In function ‘int main()’:
/home/brq/mpolacek/l.cc:16:37: error: no matching function for call to
‘compare_functions(, , int&)’
   compare_functions(foo, foo, a);
 ^
/home/brq/mpolacek/l.cc:2:6: note: candidate: template
bool compare_functions(R (*)(Args ...), R (*)(Args ...), Args ...)
 bool compare_functions(R(*funcA)(Args...), R(*funcB)(Args...), Args... args) {
  ^
/home/brq/mpolacek/l.cc:2:6: note:   template argument deduction/substitution
failed:
/home/brq/mpolacek/l.cc:16:37: note:   mismatched types ‘int’ and ‘float’
   compare_functions(foo, foo, a);
 ^
/home/brq/mpolacek/l.cc:16:37: note:   could not resolve address from
overloaded function ‘foo’

which I'm unsure about; clang++ compiles it fine.

[Bug libstdc++/80149] segfault in std::vector::resize when mixing binaries from gcc4 and gcc5 on armhf

2017-03-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80149

Richard Biener  changed:

   What|Removed |Added

  Component|c++ |libstdc++
Version|unknown |5.4.1

--- Comment #1 from Richard Biener  ---
I assume /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 is from GCC 5?

[Bug lto/79760] ICE in type_in_anonymous_namespace_p in ipa-utils.h:219

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79760

Martin Liška  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to work||6.3.0
 Resolution|--- |FIXED
  Known to fail|6.3.0   |

--- Comment #7 from Martin Liška  ---
Even though the issues is still present on GCC5, I'm closing as backport would
be more invasive.

[Bug target/80082] [5/6/7 regression] GCC incorrectly assumes Cortex-r[578] have 64-bit single-copy atomic LDRD

2017-03-22 Thread thopre01 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082

--- Comment #7 from Thomas Preud'homme  ---
Author: thopre01
Date: Wed Mar 22 11:35:15 2017
New Revision: 246365

URL: https://gcc.gnu.org/viewcvs?rev=246365&root=gcc&view=rev
Log:
Fix PR80082: LDRD erronously used for 64bit load on ARMv7-R

2017-03-22  Thomas Preud'homme  

gcc/
PR target/80082
* config/arm/arm-isa.h (isa_bit_lpae): New feature bit.
(ISA_ARMv7ve): Add isa_bit_lpae to the definition.
* config/arm/arm-protos.h (arm_arch7ve): Rename into ...
(arm_arch_lpae): This.
* config/arm/arm.c (arm_arch7ve): Rename into ...
(arm_arch_lpae): This.  Define it in term of isa_bit_lpae.
* config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of
arm_arch_lpae.

gcc/testsuite/
PR target/80082
* gcc.target/arm/atomic_loaddi_10.c: New testcase.
* gcc.target/arm/atomic_loaddi_11.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.target/arm/atomic_loaddi_10.c
trunk/gcc/testsuite/gcc.target/arm/atomic_loaddi_11.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm-isa.h
trunk/gcc/config/arm/arm-protos.h
trunk/gcc/config/arm/arm.c
trunk/gcc/config/arm/arm.h
trunk/gcc/testsuite/ChangeLog

[Bug target/80082] [5/6/7 regression] GCC incorrectly assumes Cortex-r[578] have 64-bit single-copy atomic LDRD

2017-03-22 Thread thopre01 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80082

Thomas Preud'homme  changed:

   What|Removed |Added

 CC||thopre01 at gcc dot gnu.org
  Known to work||7.0
   Assignee|prakhar.bahuguna at arm dot com|thopre01 at gcc dot 
gnu.org
  Known to fail||5.4.1, 6.3.1

--- Comment #8 from Thomas Preud'homme  ---
Updating known to work and known to fail fields.

[Bug c++/80143] ICE on placement new in gimplify_init_ctor_eval, at gimplify.c:4436

2017-03-22 Thread mpolacek at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80143

Marek Polacek  changed:

   What|Removed |Added

 CC||mpolacek at gcc dot gnu.org

--- Comment #2 from Marek Polacek  ---
Must have started with r175674.

[Bug libstdc++/80149] segfault in std::vector::resize when mixing binaries from gcc4 and gcc5 on armhf

2017-03-22 Thread klug.stefan at gmx dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80149

--- Comment #2 from Stefan Klug  ---
(In reply to Richard Biener from comment #1)
> I assume /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 is from GCC 5?
Yes, gcc 5 is the default compiler on the system and its libstdc++.so.6.0.21

[Bug tree-optimization/80072] [7 Regression] ICE in gimple_build_assign_1 with -O3 -march=broadwell/skylake-avx512

2017-03-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80072

--- Comment #7 from Jakub Jelinek  ---
So, found a bug and its bugfix fixes the testcase, but still need to figure out
what actually was going on, if it was just that we made (correct) assumptions
that constants won't be weirdly sorted, or if there is some other (with this
patch latent) bug.

--- gcc/tree-ssa-reassoc.c.jj   2017-02-10 09:46:50.0 +0100
+++ gcc/tree-ssa-reassoc.c  2017-03-22 13:13:33.608745625 +0100
@@ -510,7 +510,7 @@ sort_by_operand_rank (const void *pa, co

   /* Lastly, make sure the versions that are the same go next to each
  other.  */
-  if ((oeb->rank - oea->rank == 0)
+  if (oeb->rank == oea->rank
   && TREE_CODE (oea->op) == SSA_NAME
   && TREE_CODE (oeb->op) == SSA_NAME)
 {
@@ -549,7 +549,7 @@ sort_by_operand_rank (const void *pa, co
 }

   if (oeb->rank != oea->rank)
-return oeb->rank - oea->rank;
+return oeb->rank > oea->rank ? 1 : -1;
   else
 return oeb->id - oea->id;
 }

->rank is unsigned int, and on the huge testcase it is over 0x7fff, so
(int) (oeb->rank > oea->rank) doesn't do what it expects and we happily sort
a SSA_NAME with extra high rank after constants, which e.g. means we can't
merge them together.

[Bug rtl-optimization/79577] Infinite loop with -fselective-scheduling2 -O2 --param selsched-max-sched-times=0

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79577

--- Comment #6 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:27:32 2017
New Revision: 246366

URL: https://gcc.gnu.org/viewcvs?rev=246366&root=gcc&view=rev
Log:
Backport r245532

2017-03-22  Martin Liska  

Backport from mainline
2017-02-17  Martin Liska  

PR rtl-optimization/79577
* params.def (selsched-max-sched-times): Increase minimum to 1.

Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/params.def

[Bug rtl-optimization/79574] ICE in want_to_gcse_p, at gcse.c:804

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79574

--- Comment #7 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:28:00 2017
New Revision: 246367

URL: https://gcc.gnu.org/viewcvs?rev=246367&root=gcc&view=rev
Log:
Backport r245531

2017-03-22  Martin Liska  

Backport from mainline
2017-02-17  Martin Liska  

PR rtl-optimization/79574
* gcse.c (want_to_gcse_p): Prevent integer overflow.
2017-03-22  Martin Liska  

Backport from mainline
2017-02-17  Martin Liska  

PR rtl-optimization/79574
* gcc.dg/pr79574.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.dg/pr79574.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/gcse.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug rtl-optimization/79574] ICE in want_to_gcse_p, at gcse.c:804

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79574

--- Comment #8 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:28:21 2017
New Revision: 246368

URL: https://gcc.gnu.org/viewcvs?rev=246368&root=gcc&view=rev
Log:
Backport r245868

2017-03-22  Martin Liska  

Backport from mainline
2017-03-03  Martin Liska  

PR rtl-optimization/79574
* gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int.
(hash_scan_set): Likewise.
(dump_hash_table): Likewise.
(hoist_code): Likewise.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-03  Martin Liska  

PR rtl-optimization/79574
* gcc.dg/pr79574-2.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.dg/pr79574-2.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/gcse.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug tree-optimization/79803] [5/6 Regression] ICE in tree_ssa_prefetch_arrays, at tree-ssa-loop-prefetch.c:1982

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79803

--- Comment #7 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:28:50 2017
New Revision: 246369

URL: https://gcc.gnu.org/viewcvs?rev=246369&root=gcc&view=rev
Log:
Backport r245869

2017-03-22  Martin Liska  

Backport from mainline
2017-03-03  Martin Liska  

PR tree-optimization/79803
* tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove
assert.
(pass_loop_prefetch::execute): Disabled optimization if an
assumption about L1 cache size is not met.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-03  Martin Liska  

PR tree-optimization/79803
* gcc.dg/tree-ssa/pr79803.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.dg/tree-ssa/pr79803.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/tree-ssa-loop-prefetch.c

[Bug ipa/79761] [CHKP] ICE in chkp_find_bounds_1, at tree-chkp.c:3452

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79761

--- Comment #6 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:29:36 2017
New Revision: 246371

URL: https://gcc.gnu.org/viewcvs?rev=246371&root=gcc&view=rev
Log:
Backport r245993

2017-03-22  Martin Liska  

Backport from mainline
2017-03-09  Martin Liska  

PR ipa/79761
* tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param.
(chkp_find_bounds_1): Remove gcc_unreachable.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-09  Martin Liska  

PR ipa/79761
* g++.dg/pr79761.C: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/g++.dg/pr79761.C
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/tree-chkp.c

[Bug go/80128] [7 regression] go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:2002

2017-03-22 Thread ian at airs dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80128

--- Comment #5 from Ian Lance Taylor  ---
Created attachment 41019
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41019&action=edit
Possible patch

[Bug tree-optimization/79631] [CHKP] ICE tree check: expected integer_cst, have negate_expr in decompose, at tree.h:5255

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79631

--- Comment #7 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:29:56 2017
New Revision: 246372

URL: https://gcc.gnu.org/viewcvs?rev=246372&root=gcc&view=rev
Log:
Backport r245998

2017-03-22  Martin Liska  

Backport from mainline
2017-03-09  Martin Liska  

PR tree-optimization/79631
* tree-chkp-opt.c (chkp_is_constant_addr): Call
tree_int_cst_sign_bit just for INTEGER constants.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-09  Martin Liska  

PR tree-optimization/79631
* gcc.target/i386/mpx/pr79631.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/mpx/pr79631.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/tree-chkp-opt.c

[Bug target/65705] ICE: SIGSEGV in contains_struct_check with -fsanitize=null -fcheck-pointer-bounds

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65705

--- Comment #10 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:30:42 2017
New Revision: 246373

URL: https://gcc.gnu.org/viewcvs?rev=246373&root=gcc&view=rev
Log:
Backport r237353,r245997,r246027

2017-03-22  Martin Liska  

Backport from mainline
2016-06-13  Martin Liska  

PR target/65705
PR target/69804
PR sanitizer/71458

* toplev.c (process_options): Enable MPX with LSAN and UBSAN.
* tree-chkp.c (chkp_walk_pointer_assignments): Verify that
FIELD != NULL.
2017-03-22  Martin Liska  

Backport from mainline
2016-06-13  Martin Liska  

PR sanitizer/71458
* gcc.target/i386/pr71458.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/pr71458.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/toplev.c
branches/gcc-5-branch/gcc/tree-chkp.c

[Bug target/69804] [5/6] ICE with -fsanitize=undefined -fcheck-pointer-bounds -mmpx

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69804

--- Comment #10 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:30:42 2017
New Revision: 246373

URL: https://gcc.gnu.org/viewcvs?rev=246373&root=gcc&view=rev
Log:
Backport r237353,r245997,r246027

2017-03-22  Martin Liska  

Backport from mainline
2016-06-13  Martin Liska  

PR target/65705
PR target/69804
PR sanitizer/71458

* toplev.c (process_options): Enable MPX with LSAN and UBSAN.
* tree-chkp.c (chkp_walk_pointer_assignments): Verify that
FIELD != NULL.
2017-03-22  Martin Liska  

Backport from mainline
2016-06-13  Martin Liska  

PR sanitizer/71458
* gcc.target/i386/pr71458.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/pr71458.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/toplev.c
branches/gcc-5-branch/gcc/tree-chkp.c

[Bug sanitizer/71458] ICE with -fsanitize=bounds

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71458

--- Comment #7 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:30:42 2017
New Revision: 246373

URL: https://gcc.gnu.org/viewcvs?rev=246373&root=gcc&view=rev
Log:
Backport r237353,r245997,r246027

2017-03-22  Martin Liska  

Backport from mainline
2016-06-13  Martin Liska  

PR target/65705
PR target/69804
PR sanitizer/71458

* toplev.c (process_options): Enable MPX with LSAN and UBSAN.
* tree-chkp.c (chkp_walk_pointer_assignments): Verify that
FIELD != NULL.
2017-03-22  Martin Liska  

Backport from mainline
2016-06-13  Martin Liska  

PR sanitizer/71458
* gcc.target/i386/pr71458.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/pr71458.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/toplev.c
branches/gcc-5-branch/gcc/tree-chkp.c

[Bug middle-end/79831] [DOC][CHKP] Missing -Wchkp

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79831

--- Comment #6 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:31:29 2017
New Revision: 246375

URL: https://gcc.gnu.org/viewcvs?rev=246375&root=gcc&view=rev
Log:
Backport r246129

2017-03-22  Martin Liska  

Backport from mainline
2017-03-14  Martin Liska  

PR middle-end/79831
* doc/invoke.texi (-Wchkp): Document the option.

Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/doc/invoke.texi

[Bug middle-end/78339] -fsuggest-attribute=noreturn should not warn on -fcheck-pointer-bounds clones

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78339

--- Comment #5 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:31:04 2017
New Revision: 246374

URL: https://gcc.gnu.org/viewcvs?rev=246374&root=gcc&view=rev
Log:
Backport r246098

2017-03-22  Martin Liska  

Backport from mainline
2017-03-13  Martin Liska  

PR middle-end/78339
* ipa-pure-const.c (warn_function_noreturn): If the declarations
is a CHKP clone, use original declaration.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-13  Martin Liska  

PR middle-end/78339
* gcc.target/i386/mpx/pr78339.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/mpx/pr78339.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/ipa-pure-const.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug c/79770] [CHKP] ICE in chkp_find_bounds_1 (chkp_find_bounds: Unexpected tree code vector_cst)

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79770

--- Comment #5 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:31:53 2017
New Revision: 246376

URL: https://gcc.gnu.org/viewcvs?rev=246376&root=gcc&view=rev
Log:
Backport r246275

2017-03-22  Martin Liska  

Backport from mainline
2017-03-20  Martin Liska  

PR target/79769
PR target/79770
* tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
COMPLEX_CST and VECTOR_CST.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-20  Martin Liska  

PR target/79769
PR target/79770
* g++.dg/pr79769.C: New test.
* gcc.target/i386/mpx/pr79770.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/g++.dg/pr79769.C
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/mpx/pr79770.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/tree-chkp.c

[Bug ipa/79769] [CHKP] ICE in chkp_find_bounds_1 (Unexpected tree code complex_cst)

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79769

--- Comment #5 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:31:53 2017
New Revision: 246376

URL: https://gcc.gnu.org/viewcvs?rev=246376&root=gcc&view=rev
Log:
Backport r246275

2017-03-22  Martin Liska  

Backport from mainline
2017-03-20  Martin Liska  

PR target/79769
PR target/79770
* tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
COMPLEX_CST and VECTOR_CST.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-20  Martin Liska  

PR target/79769
PR target/79770
* g++.dg/pr79769.C: New test.
* gcc.target/i386/mpx/pr79770.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/g++.dg/pr79769.C
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/mpx/pr79770.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/tree-chkp.c

[Bug middle-end/79753] [6 Regression][CHKP] ICE in ix86_expand_builtin, at config/i386/i386.c:36869

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79753

--- Comment #12 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:32:17 2017
New Revision: 246377

URL: https://gcc.gnu.org/viewcvs?rev=246377&root=gcc&view=rev
Log:
Backport r246276

2017-03-22  Martin Liska  

Backport from mainline
2017-03-20  Martin Liska  

PR middle-end/79753
* tree-chkp.c (chkp_build_returned_bound): Do not build
returned bounds for a LHS that's not a BOUNDED_P type.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-20  Martin Liska  

PR middle-end/79753
* gcc.target/i386/mpx/pr79753.c: New test.

Added:
branches/gcc-5-branch/gcc/testsuite/gcc.target/i386/mpx/pr79753.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/tree-chkp.c

[Bug gcov-profile/80081] gcov-dump needs man page

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80081

--- Comment #7 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:32:56 2017
New Revision: 246379

URL: https://gcc.gnu.org/viewcvs?rev=246379&root=gcc&view=rev
Log:
Backport r246321

2017-03-22  Martin Liska  

Backport from mainline
2017-03-21  Martin Liska  

PR gcov-profile/80081
* Makefile.in: Add gcov-dump and fix installation of gcov-tool.
* doc/gcc.texi: Include gcov-dump stuff.
* doc/gcov-dump.texi: New file.

Added:
branches/gcc-5-branch/gcc/doc/gcov-dump.texi
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/Makefile.in
branches/gcc-5-branch/gcc/doc/gcc.texi

[Bug target/65705] ICE: SIGSEGV in contains_struct_check with -fsanitize=null -fcheck-pointer-bounds

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65705

Martin Liška  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #11 from Martin Liška  ---
Fixed on all active branches.

[Bug other/65530] [meta-bug] -mmpx -fcheck-pointer-bounds failures

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65530
Bug 65530 depends on bug 65705, which changed state.

Bug 65705 Summary: ICE: SIGSEGV in contains_struct_check with -fsanitize=null 
-fcheck-pointer-bounds
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65705

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

[Bug target/79906] ICE in rs6000_inner_target_options, at config/rs6000/rs6000.c:39199

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79906

--- Comment #3 from Martin Liška  ---
Author: marxin
Date: Wed Mar 22 12:33:33 2017
New Revision: 246380

URL: https://gcc.gnu.org/viewcvs?rev=246380&root=gcc&view=rev
Log:
Backport r246345

2017-03-22  Martin Liska  

Backport from mainline
2017-03-22  Martin Liska  

PR target/79906
* config/rs6000/rs6000.c (rs6000_inner_target_options): Show
error message instead of an ICE.
2017-03-22  Martin Liska  

Backport from mainline
2017-03-22  Martin Liska  

PR target/79906
* g++.dg/ext/mv8.C: Add power* targets.

Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/config/rs6000/rs6000.c
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/testsuite/g++.dg/ext/mv8.C

[Bug target/69804] [5/6] ICE with -fsanitize=undefined -fcheck-pointer-bounds -mmpx

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69804

Martin Liška  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #11 from Martin Liška  ---
Fixed on all active branches.

[Bug other/65530] [meta-bug] -mmpx -fcheck-pointer-bounds failures

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65530
Bug 65530 depends on bug 69804, which changed state.

Bug 69804 Summary: [5/6] ICE with -fsanitize=undefined -fcheck-pointer-bounds 
-mmpx
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69804

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

[Bug other/65530] [meta-bug] -mmpx -fcheck-pointer-bounds failures

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65530
Bug 65530 depends on bug 78339, which changed state.

Bug 78339 Summary: -fsuggest-attribute=noreturn should not warn on 
-fcheck-pointer-bounds clones
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78339

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

[Bug middle-end/78339] -fsuggest-attribute=noreturn should not warn on -fcheck-pointer-bounds clones

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78339

Martin Liška  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Martin Liška  ---
Fixed on all active branches.

[Bug rtl-optimization/79574] ICE in want_to_gcse_p, at gcse.c:804

2017-03-22 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79574

Martin Liška  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from Martin Liška  ---
Fixed on all active branches.

  1   2   3   >