Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: deaeod at gmail dot com
Target Milestone: ---
The following snippet does not compile with g++:
struct alignas(unsigned(8)) s {};
Workaround:
struct alignas((unsigned)8) s {};
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69494
--- Comment #2 from Lukas ---
I was wrong about what part of the standard defines the behavior for volatile
access.
Paragraph 8 of [intro.execution] specifies that access to volatile objects is
observable behavior. Access is defined in [defns.acc
++
Assignee: unassigned at gcc dot gnu.org
Reporter: deaeod at gmail dot com
Target Milestone: ---
Code (http://goo.gl/MA8I0I):
struct bitfield {
void and_assign() volatile {
_raw = _and(_raw, 1); // this reads twice from _raw
//mov eax, DWORD PTR [rsp-24
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: deaeod at gmail dot com
Target Milestone: ---
https://godbolt.org/g/NmA3ZP
#include
int main() {
int x = 1;
int&& y = static_cast(x);
auto A = []{ stati
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66672
Lukas changed:
What|Removed |Added
CC||deaeod at gmail dot com
--- Comment #2 from
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: deaeod at gmail dot com
Target Milestone: ---
Compiler options: -O1
Code: (http://goo.gl/W1Iubr)
#include
struct device {
volatile unsigned tcc;
};
void test_device() {
device dev;
unsigned tcc = rand