https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
--- Comment #12 from CVS Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:adb520606ce3e1e1f8aa8c5d0c59a5f3196fc545
commit r11-6729-gadb520606ce3e1e1f8aa8c5d0c59a5f3196fc545
Author: Jakub Jelinek
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
Martin Sebor changed:
What|Removed |Added
Resolution|--- |FIXED
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
--- Comment #10 from Jakub Jelinek ---
BTW, I'm not convinced it is ok to use TREE_TYPE (TREE_TYPE arg)) in the !addr
case for anything at all even for warnings, as in GIMPLE pointer conversions
are useless and therefore it very well could be
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
--- Comment #9 from Jakub Jelinek ---
That would be then following (though I didn't want to touch the rest of
print_mem_ref so the patch doesn't remember op anywhere and resets byte_off
too).
--- gcc/c-family/c-pretty-print.c.jj2021-01-13
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
--- Comment #8 from Jakub Jelinek ---
So, before starting to fix all the bugs in the print_mem_ref routine, I think
we should add something like:
--- gcc/c-family/c-pretty-print.c.jj2021-01-13 08:02:09.425498954 +0100
+++
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
--- Comment #7 from Jakub Jelinek ---
Example where the new code gets it all wrong
struct S { char a; int b; char c; unsigned d; };
struct T { char t; struct S u; int v; };
typedef short U[2][2];
void baz (U *);
static inline int
bar (char *p)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
--- Comment #6 from Jakub Jelinek ---
This is not a proper fix, you avoid the ICEs perhaps, but keep printing
completely bogus output for many cases.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
--- Comment #5 from CVS Commits ---
The master branch has been updated by Martin Sebor :
https://gcc.gnu.org/g:5a9cfad2de92f2d65585774acb524b3fa17621b5
commit r11-6621-g5a9cfad2de92f2d65585774acb524b3fa17621b5
Author: Martin Sebor
Date: Tue
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
--- Comment #4 from Jakub Jelinek ---
Also, it seems the shortcut for MEM_REF [, 0] is only correct if the types
of var and MEM_REF are compatible, if I have say
struct S { int a, int b; } var;
then if MEM[, 0] has int type, then it shouldn't be
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
Martin Liška changed:
What|Removed |Added
Status|NEW |ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
Martin Liška changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |msebor at gcc dot
gnu.org
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
--- Comment #1 from Sergei Trofimovich ---
I also found a similar crash (from `RTL pass: expand` for some reason) in
print_mem_ref:
```c++
struct QQmlRefCount {
void release() const;
virtual ~QQmlRefCount();
};
QQmlRefCount::~QQmlRefCount()
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98597
Martin Liška changed:
What|Removed |Added
Known to work||10.2.0
Last reconfirmed|
14 matches
Mail list logo