It's not a "good" advert if it doesn't have a salary range.

. I would never seriously consider an advert or recruiter/head-hunter e-mail, without some indication they can afford me. This is obviously not as much an issue if you're trying to hire junior guys, but for an employed senior developer, no range, just screams "waste of time". I don't care about the size of the range, since I get that a company can be open to the full range of junior to senior hires, but I do care about whether or not they can afford to improve on my current income (or at least not hurt it too much, if I
want to leave for a non-pay related reason).
I also don't mind "compensation level isn't a problem", but the company has to be damn sure they know what they're talking about.

. I've had a few of these - once, it was a problem. Lol!
I also don't mind disclosing my salary - but will only do so after I have an indication that they are able to pay what I am looking for. I actually prefer companies that push for this, since (having been on the other side of the table), I consider this to be a vital piece of information, when making hiring decisions. Companies that ignore this are likely making suboptimal hiring decisions.