News for hackers. Stuff that matters.
Re:C Is Not a Low-Level Language by posterboy on Tuesday May 01, 2018 @04:45PM (#16971400)
C cannot read the overflow bit after an ADD, because of it's abstractions ... so I would say modern ASM is still lower in some aspects because it has less constrains and more importantly, it is less expressive, which is the whole idea of this hierarchy.

The compiler should offer a macro for that. Then the question is whether to take the specification or the implementation at which point it's an absurd question to begin with. You could compare -O0 binaries, bypassing the optimization question, too.

High/low is not fine grained enough. IIRC, prolog for example would be dubbed a fifth generation language, after assembler, goto hell macro compilers, structured functional programming, and DSLs. Now coq and the like seem to be of yet a higher order (pun intended, sorry).

Re:C Is Not a Low-Level Language by jburgess777 on Tuesday May 01, 2018 @05:23PM (#16971808)
> C cannot read the overflow bit after an ADD ... The compiler should offer a macro for that.

If you use GCC then __builtin_add_overflow() is what you are looking for:

"The compiler will attempt to use hardware instructions to implement these built-in functions where possible, like conditional jump on overflow after addition, conditional jump on carry etc."

https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins...

Re:C Is Not a Low-Level Language by posterboy on Wednesday May 02, 2018 @05:43AM (#16975383)
Yes, I know that. Y ou could add macros implementing a complete asm language to become a subset of C and C would still be more expressive