PCHReader: FileIDs in ParseLineTable()

Hi,

The FileIDs in ParseLineTable() of PCHReader.cpp probably is not
needed, since we emit filenames in their ID order, and read filenames
in the same order. The file IDs remains unchanged. In practice we are
always creating identity mapping from x to x.

A patch:

Index: lib/Frontend/PCHReader.cpp

I actually did think about this when I added the FileIDs map, and it was that "probably" that made me write it this way. I'm fairly certain that we don't need the map. However, since #line directives are so rare in headers, and the failure mode is likely to be weird---diagnostics showing up in the wrong place---I decided that it was better to be defensive here, since it won't cost us much. Plus, if we ever get to the point of loading multiple PCH (or PCH-like) files, we'll need this map.

  - Doug

The FileIDs in ParseLineTable() of PCHReader.cpp probably is not
needed, since we emit filenames in their ID order, and read filenames
in the same order. The file IDs remains unchanged. In practice we are
always creating identity mapping from x to x.

I actually did think about this when I added the FileIDs map, and it was
that "probably" that made me write it this way. I'm fairly certain that we
don't need the map. However, since #line directives are so rare in headers,
and the failure mode is likely to be weird---diagnostics showing up in the
wrong place---I decided that it was better to be defensive here, since it
won't cost us much. Plus, if we ever get to the point of loading multiple
PCH (or PCH-like) files, we'll need this map.

Ah yeah, multiple PCH is good reason for this.