Can a const static string be allocated on the stack?

const char * foo() { return "abcdef"; } int main() { printf("%s", foo()); } Can a conforming compiler decide to allocate "abcdef" on the stack? I.e. what in the standard forces the compil...