[Bug middle-end/100595] ICE: output_operand with static const int of address of label + difference of label

2024-04-06 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100595

Andrew Pinski  changed:

   What|Removed |Added

 CC||141242068 at smail dot 
nju.edu.cn

--- Comment #5 from Andrew Pinski  ---
*** Bug 112499 has been marked as a duplicate of this bug. ***

[Bug middle-end/100595] ICE: output_operand with static const int of address of label + difference of label

2024-04-06 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100595

--- Comment #4 from Andrew Pinski  ---
Updated testcase:
```
typedef __UINTPTR_TYPE__ uintptr_t;
int test2() {
  static uintptr_t a = (uintptr_t)(&&l1 + ((char *)&&l1 - (char *)&&l2));
l1:
l2:
  return (int)a;
}
```

[Bug middle-end/100595] ICE: output_operand with static const int of address of label + difference of label

2021-05-17 Thread joseph at codesourcery dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100595

--- Comment #3 from joseph at codesourcery dot com  ---
My old model of constant expressions for GNU extensions says that the 
difference of two label addresses is a "label difference constant 
expression", which is valid as a static initializer by itself but not when 
added to anything.

https://www.polyomino.org.uk/computer/c/const-exprs-gnu.txt

[Bug middle-end/100595] ICE: output_operand with static const int of address of label + difference of label

2021-05-17 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100595

Richard Biener  changed:

   What|Removed |Added

   Keywords||accepts-invalid

--- Comment #2 from Richard Biener  ---
It's using a GNU extension, but we likely shouldn't accept it as a valid
constant initializer.

[Bug middle-end/100595] ICE: output_operand with static const int of address of label + difference of label

2021-05-14 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100595

Martin Liška  changed:

   What|Removed |Added

   Last reconfirmed||2021-05-14
 Status|UNCONFIRMED |NEW
 CC||jsm28 at gcc dot gnu.org,
   ||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Is it really a valid C code?