Gcc indeed doesn't seem to complain, however, there was a reason why I remembered there was a warning, and it's a different compiler.
Borland C 3.1 has such a warning.
Update: I recreated a variant of the screenshot I've linked to and made a text export. Non-ascii characters are wrong so the image I linked to is still better, but I copy the text version here in case you can't view the image and because it's not hosted on perlmonks.
= File Edit Search Run Compile Debug Project Options Wind
+ow Help
+--------------------------------- \TEMP\A.C -------------------------
+---2-----+
|#include <stdio.h>
+ |
|int +-[_]---------- About -----
+---------+
|main(void) { |
+ |
| return(1 << 5 >> 1); | Borland C++
+ |
|} |
+ |
| | Version 3.1
+ |
| |
+ |
| | Copyright (c) 1990, 19
+92 by |
| |
+ |
| | Borland International,
+ Inc. |
| |
+ |
| | OK _
+ |
| | ________
+ |
| +--------------------------
+---------+
+------- 4:21 --------------------------------------------------------
+---------+
+-[_]------------------------------ Message --------------------------
+---3-[o]-+
| Compiling ..\TEMP\A.C:
+ ^
|*Warning ..\TEMP\A.C 4: Ambiguous operators need parentheses
+ _
| Linking A.EXE:
+ _
|
+ _
|
+ v
+-<___________________________________________________________________
+_______>-+
F1 Help | Accept the settings in this dialog box
|