For the moment purely human. A processor (the whole computer, in fact), the compiler, etc. are just machines and they will blindly try to do whatever you, the human, tell them to do, whether it makes sense or not.
The compiler programmers have programmed it to react to certain situations which are considered "errors", or at least "dubious" (when it emits a warning or a note), but if there are logical errors on an otherwise acceptable piece of code it will tranlate to machine code which the processor will try to execute.
At best a "logical" error will then produce a processor "fault" or exception (e.g. if you try to divide by zero); at worst it might destroy the whole system (e.g. if something makes it format the hard disk).