Is it valid (defined behavior) to access a string literal simultaneously with multiple threads? Given a function like this:

```
const char* give()
{
  return "Hello, World!";
}

```

Would it be save to call the function and dereference the pointer simultaneously?

Edit: Many answers. Will accept the first one who can show me the section out of the standard.
['https://Stackoverflow.com/questions/9533392', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/941699/']
Yes, it's safe. Why wouldn't it be? It would be unsafe if you'd try to modify the string, but that's illegal anyway.
As long as you only read data, you can access it from as many threads as you want. When data needs to be changed, that's when it gets complicated.