[llvm-commits] [llvm] r138213 - /llvm/trunk/lib/Support/Windows/PathV2.inc

Aaron Ballman aaron at aaronballman.com
Wed Aug 24 06:58:48 PDT 2011


On Wed, Aug 24, 2011 at 5:14 AM, NAKAMURA Takumi <geek4civic at gmail.com> wrote:
> I am sorry, it must be too bikeshed for us.
> Usually, it would be enough for us to detect *intentional* device
> names. (eg. "nul")
> I rethought maniac detection would be overkill here.

I can agree with that.  :-)

> FYI, "X:/existent/path/to/nul.blahblah/nonexistent/path/to" is mapped
> to device namespace.
> "X:/nonexistent/path/to/nul.blahblah" is not.

Odd!  I would have assumed either to be illegal paths in the same way
X:\nonexistent\path\???.txt is just as reserved as
X:\existent\path\???.txt is.

> char const *foo[] = {"qux", "quux"}; It spends two R/W(.data)
> pointers(4 or 8 bytes per an element) and two literal constant(4 bytes
> and 5 bytes).
> (note, it is more possible "char const *const foo[] = ...", then
> pointers are allocated to .rodata)
>
> In contrast, char const foo[][5] = {'qux", "quux"}; It only spends 10
> bytes of constant array.

I can see the logic now; thanks!

Since we're going to skip the paranoid path checking, do you mind if
we leave the existing code stand, or do you still have a strong
preference for array notation?

~Aaron



More information about the llvm-commits mailing list