<div dir="auto">Hi, <div dir="auto">I am trying to compile the following:</div><div dir="auto"><br></div><div dir="auto">char * _Atomic restrict h;</div><div dir="auto"><br><div dir="auto">When compiled with -std=c11,clang gives error:<br><div dir="auto"><div dir="auto">         "restrict requires a pointer or reference (_Atomic(char*) is invalid)"</div><div dir="auto"><br></div><div dir="auto">while gcc compiles it successfully.</div><div dir="auto"><br></div><div dir="auto">Similarly, while trying to compile this</div><div dir="auto"><br></div><div dir="auto">extern int i;</div><div dir="auto">extern int _Atomic const ci;</div><div dir="auto">extern __typeof(ci) i;</div><div dir="auto"><br></div><div dir="auto">Clang gives error:</div><div dir="auto"><br></div><div dir="auto">          "Redeclaration of 'i' with a different type: 'typeof (ci)' (aka 'typeof _Atomic(int)') vs 'int' "</div><div dir="auto"><br></div><div dir="auto"><span style="font-family:sans-serif">while gcc compiles it successfully.</span><br></div><div dir="auto"><span style="font-family:sans-serif"><br></span></div><div dir="auto"><span style="font-family:sans-serif">This seems to be because clang probably considers Atomic int differently than int while gcc disregards these.</span></div><div dir="auto"><span style="font-family:sans-serif"><br></span></div><div dir="auto">Please suggest what should be the right behaviour in such cases.</div><div dir="auto"><br></div><div dir="auto">Thanks in advance.</div><div dir="auto">Best regards,</div><div dir="auto">Puneetha</div></div></div></div></div>