this post was submitted on 25 Mar 2024
542 points (98.6% liked)

Programmer Humor

19450 readers
598 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 6 points 7 months ago (2 children)

I’ve never really thought about this before, but const volatile value types don’t really make sense, do they? const volatile pointers make sense, since const pointers can point to non-const values, but const values are typically placed in read-only memory, in which case the volatile is kind of meaningless, no?

[–] [email protected] 23 points 7 months ago* (last edited 7 months ago) (1 children)

They do in embedded when you are polling a read only register. The cpu can change the register but writing to it does nothing.

[–] [email protected] 1 points 7 months ago

That seems like a better fit for an intrinsic, doesn’t it? If it truly is a register, then referencing it through a (presumably global) variable doesn’t semantically align with its location, and if it’s a special memory location, then it should obviously be referenced through a pointer.

[–] [email protected] 4 points 7 months ago

Maybe there's a signal handler or some other outside force that knows where that variable lives on the stack (maybe through DWARF) and can pause your program to modify it asynchronously. Very niche. More practical is purely to inhibit certain compiler optimizations.