Regardless, I use a simple iasm statement,
#define wdr() asm volatile ("wdr \n")
And I believe you must execute a reset immediately before setting WDTCSR. Part of the 4 clk security fail-safe.
Why are you passing an unused parameter to sleep()? You should discard the sleep_disable() command and disable ADC in setup if you're never going to use it. Disabling ADC should be a fundamental action in every sketch unless you specifically require it. Arduino turns everything on assuming the user wants everything. ADC is a big power drain.