[Bug fortran/38573] Missing markers for translation
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 ...
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
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
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
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 ...
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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)
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
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
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
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
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
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
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
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
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
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
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.