[cfe-users] C11, -Wunsequenced and aliasing
Archibald Samuel Elliott via cfe-users
cfe-users at lists.llvm.org
Wed Jul 26 16:38:40 PDT 2017
Hi Clang-users!
What are the expectations for the -Wunsequenced warning in Clang with C11?
My understanding was the following expression would be unsequenced according to the spec, but clang doesn't give me a warning:
((*p = 3) + (*q = 4))
Is clang only going to warn if it knows p and q definitely alias each other here?
I also tried the expression:
((*p = 3) + (*p = 4))
Which also gave no warnings, despite p aliasing itself.
Is the warning based on a heuristic of whether the unsequenced behaviour will be observable, or on whether the two assignments ever alias, or will it only warn if it knows two side-effecting expressions are definitely unsequenced?
Maybe this kind of analysis isn't for clang, and instead is for the clang static analyser.
Thank you in advance!
Sam
More information about the cfe-users
mailing list