Priority: P3
Component: web
Assignee: unassigned at gcc dot gnu.org
Reporter: matthijs at stdin dot nl
Target Milestone: ---
When a global class instance is const and initialized using constant arguments
to a constexpr constructor, any member references are
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96996
--- Comment #2 from Matthijs Kooijman ---
> Replacing non_constant_test with a new object is possible, and allowed. But
> the name "non_constant_test" cannot be used to refer to the new object, so
> any calls to non_constant_ref() after the obj
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96996
--- Comment #5 from Matthijs Kooijman ---
> But isn't there const_cast<> to change the value of p?
Yes, that makes it possible to write to a const object, but actually doing so
is undefined behavior (see [dcl.type.cv] I quoted above).
The spec
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80794
--- Comment #10 from Matthijs Kooijman ---
Also note that pr96996, that was marked as a duplicate of this report, talks
about a notable subcase of the case presented in this report. While this report
talks about constant complete objects (e.g. a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80753
Matthijs Kooijman changed:
What|Removed |Added
CC||matthijs at stdin dot nl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80753
--- Comment #4 from Matthijs Kooijman ---
I looked a bit at the source, and it seems the the problem is (not
surprisingly) that `__has_include` causes the header filename to be put into
the cache, and an error message is only generated when the e
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39589
Matthijs Kooijman changed:
What|Removed |Added
CC||matthijs at stdin dot nl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83967
Matthijs Kooijman changed:
What|Removed |Added
CC||matthijs at stdin dot nl
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: matthijs at stdin dot nl
Target Milestone: ---
Gcc defines a number of macros for types, which are used by stdint.h to define
the corresponding typedefs. In particular, I'm lo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92693
--- Comment #3 from Matthijs Kooijman ---
> I don't see why you should expect that, there's nothing in the standards
> suggesting it should be the case.
This is true, current behaviour is standards-compliant AFAICS. However, I
expect that becau
: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: matthijs at stdin dot nl
Target Milestone: ---
I came across a miscompile, where a missing return statement in a function
resulted in a simple for loop never
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56533
Bug #: 56533
Summary: Linker problem on avr with lto and main function
inside archive
Classification: Unclassified
Product: gcc
Version: 4.7.2
Status: UNCON
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56533
--- Comment #2 from Matthijs Kooijman 2013-03-05
12:55:47 UTC ---
+ /usr/bin/avr-gcc -v -mmcu=atmega328p -Os -flto -fwhole-program realmain.o
main.a
Using built-in specs.
COLLECT_GCC=/usr/bin/avr-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/avr/
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56533
--- Comment #3 from Matthijs Kooijman 2013-03-05
13:06:18 UTC ---
Seems I made a wrong observation in my original report: When I link main.o
instead of main.a, the problem does _not_ go away. In fact, I can remove a few
more flags then, wh
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56533
Matthijs Kooijman changed:
What|Removed |Added
Status|RESOLVED|UNCONFIRMED
Resoluti
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56533
Matthijs Kooijman changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51447
Matthijs Kooijman changed:
What|Removed |Added
CC||matthijs at stdin dot nl
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78609
Matthijs Kooijman changed:
What|Removed |Added
CC||matthijs at stdin dot nl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51259
Matthijs Kooijman changed:
What|Removed |Added
CC||matthijs at stdin dot nl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43745
Matthijs Kooijman changed:
What|Removed |Added
CC||matthijs at stdin dot nl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43745
--- Comment #14 from Matthijs Kooijman ---
Thanks for the additional explanations!
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60145
--- Comment #3 from Matthijs Kooijman ---
Thanks for digging into this :-D
I suppose you meant
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=242907 instead of the
commit you linked (which is also nice btw, I noticed that extra sbiw in s
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77326
--- Comment #6 from Matthijs Kooijman ---
Thanks!
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60300
--- Comment #3 from Matthijs Kooijman ---
Hmm, I don't think the gcc sources support that. AFAICT, they attempt to just
find the shortest approach, without caring for speed. For example, look at
avr.c, around line 1265, where it says:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60300
--- Comment #5 from Matthijs Kooijman ---
Ah, then the comments are a bit misleading, yes. Wouldn't it make sense to put
this decision outside of avr_sp_immediate_operand, in the same area where the
decision between the two options is made? Might
Priority: P3
Component: other
Assignee: unassigned at gcc dot gnu.org
Reporter: matthijs at stdin dot nl
(Not sure what the component should be, just selected "other" for now)
Using shifts and bitwise-or to compose multiple bytes into a bigger integer
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: matthijs at stdin dot nl
For setting up the stack frame in the function prologue, gcc chooses between
either directly manipulation the stack pointer with "rcall ." and "push&qu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60300
--- Comment #1 from Matthijs Kooijman ---
I noticed I didn't use -O in the output I pasted, but I just confirmed that the
results are the same with -Os and -O3.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45791
Matthijs Kooijman changed:
What|Removed |Added
CC||matthijs at stdin dot nl
--- Comment
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60040
Matthijs Kooijman changed:
What|Removed |Added
CC||matthijs at stdin dot nl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60040
--- Comment #9 from Matthijs Kooijman ---
Created attachment 36499
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36499&action=edit
Second testcase, needs -Os to break
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: matthijs at stdin dot nl
Target Milestone: ---
When doing whole-byte shifts, gcc usually optimizes away the shifts and
ends up moving data between registers instead. However, it seems this
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66511
--- Comment #2 from Matthijs Kooijman ---
So, IIUC, this is quite hard to fix? Either you use lib functions, which
prevents the optimizer from just relabeling or coyping registers to apply
shifting, or you don't and then more complex operations w
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: matthijs at stdin dot nl
Target Milestone: ---
Created attachment 39483
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39483&action=edit
Preprocessed source generated by
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77326
--- Comment #1 from Matthijs Kooijman ---
The original reporter just added a comment that this does not occur anymore in
gcc 6.1.0, though I haven't got anything newer than 5.1 available here to
check.
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: matthijs at stdin dot nl
Target Milestone: ---
Consider the program below, which deals with functions returning a struct of
two members, either using a literal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: matthijs at stdin dot nl
Target Milestone: ---
When an integer is extended and then multiplied by another integer of the
original size, the resulting multiplication can
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97997
--- Comment #5 from Matthijs Kooijman ---
Awesome, thanks for the quick response and fix!
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106477
--- Comment #6 from Matthijs Kooijman ---
Ah, IIUC your patch does not treat -fno-exceptions specially, but just adds a
shortcut for the nothrow new version to skip calling regular new version if it
has not been replaced. In a normal build, that
: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: matthijs at stdin dot nl
Target Milestone: ---
The nothrow version of operator new is intended to return null on allocation
failure. However, when libstdc++ is
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106477
--- Comment #1 from Matthijs Kooijman ---
Created attachment 53382
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53382&action=edit
Testcase - main code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106477
--- Comment #2 from Matthijs Kooijman ---
Created attachment 53383
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53383&action=edit
Testcase - startup code
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106477
--- Comment #3 from Matthijs Kooijman ---
Created attachment 53384
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53384&action=edit
Testcase - linker script for ATSAMD21G18 (Arduino zero)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68210
Matthijs Kooijman changed:
What|Removed |Added
CC||matthijs at stdin dot nl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103698
Matthijs Kooijman changed:
What|Removed |Added
CC||matthijs at stdin dot nl
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26724
Matthijs Kooijman changed:
What|Removed |Added
CC||matthijs at stdin dot nl
46 matches
Mail list logo