[MDEV-7973] [PATCH] bigint fail with gcc 5.0 Created: 2015-04-10 Updated: 2018-09-21 Resolved: 2015-05-05 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | OTHER |
| Affects Version/s: | 10.0.17 |
| Fix Version/s: | 10.0.18 |
| Type: | Bug | Priority: | Major |
| Reporter: | Honza Horak | Assignee: | Sergei Golubchik |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | upstream-fixed | ||
| Environment: |
Fedora 22+ |
||
| Attachments: |
|
| Description |
|
Originally spotted with mysql-5.6.24 (http://bugs.mysql.com/bug.php?id=76654), but mariadb 10.0.17 seems to have the same issue: Description: Full build log is available here: How to repeat:
Which is obviously wrong. |
| Comments |
| Comment by Honza Horak [ 2015-04-10 ] |
|
See the mysql bug report, which contains a patch (not tested with mariadb yet though). |
| Comment by Honza Horak [ 2015-04-10 ] |
|
mysql's patch without whitespace changes. |
| Comment by Sergei Golubchik [ 2015-05-04 ] |
|
I don't like this fix, it's a hack that converts the loop to an equivalent loop that magically works in gcc 5. It does not fix the root of the bug (undefined behavior) but simply changes the following code to work with how gcc 5.0 happens to behave in this undefined case. If gcc 6 will start doing something different here, it will break again. I will directly fix the undefined behavior instead. |