Improve GetFileName() algorithm:
Improve GetFileName() algorithm:

Before, when looking for the declaration file /A/B/C/D.h, any file called D.h that is reachable through an include search path would have been found.

This is improved by first looking for A/B/C/D.h (within any search path), then B/C/D.h etc, until found. This is the "long version" of the header file name.

Then the reverse pass happens: D.h, then C/D.h etc is searched for, and if found its FileEntry is identical to the FileEntry of the long version it will be returned.

This allows to find the most specific version of the file (B/C/D.h), but its shortest include name resulting in the inclusion of the same file (C/D.h).

omazapa/root-old,mattkretz/root,perovic/root,esakellari/my_root_for_test,karies/root,nilqed/root,dfunke/root,gganis/root,mattkretz/root,sbinet/cxx-root,veprbl/root,abhinavmoudgil95/root,gganis/root,0x0all/ROOT,sbinet/cxx-root,root-mirror/root,smarinac/root,gganis/root,krafczyk/root,dfunke/root,buuck/root,olifre/root,olifre/root,Duraznos/root,0x0all/ROOT,0x0all/ROOT,sirinath/root,olifre/root,lgiommi/root,sirinath/root,vukasinmilosevic/root,davidlt/root,smarinac/root,buuck/root,karies/root,pspe/root,root-mirror/root,sawenzel/root,esakellari/my_root_for_test,karies/root,satyarth934/root,zzxuanyuan/root,zzxuanyuan/root-compressor-dummy,dfunke/root,omazapa/root,evgeny-boger/root,satyarth934/root,esakellari/root,sirinath/root,zzxuanyuan/root,gbitzes/root,vukasinmilosevic/root,dfunke/root,veprbl/root,vukasinmilosevic/root,georgtroska/root,davidlt/root,pspe/root,omazapa/root,root-mirror/root,lgiommi/root,bbockelm/root,georgtroska/root,krafczyk/root,thomaskeck/root,omazapa/root,vukasinmilosevic/root,esakellari/root,jrtomps/root,smarinac/root,CristinaCristescu/root,dfunke/root,mkret2/root,gbitzes/root,vukasinmilosevic/root,agarciamontoro/root,sawenzel/root,lgiommi/root,veprbl/root,0x0all/ROOT,buuck/root,CristinaCristescu/root,zzxuanyuan/root-compressor-dummy,BerserkerTroll/root,perovic/root,arch1tect0r/root,veprbl/root,thomaskeck/root,thomaskeck/root,krafczyk/root,evgeny-boger/root,buuck/root,thomaskeck/root,satyarth934/root,sbinet/cxx-root,esakellari/my_root_for_test,abhinavmoudgil95/root,nilqed/root,georgtroska/root,beniz/root,gganis/root,bbockelm/root,zzxuanyuan/root,gbitzes/root,olifre/root,sawenzel/root,jrtomps/root,agarciamontoro/root,sawenzel/root,beniz/root,agarciamontoro/root,zzxuanyuan/root-compressor-dummy,0x0all/ROOT,sbinet/cxx-root,BerserkerTroll/root,esakellari/root,sirinath/root,mhuwiler/rootauto,simonpf/root,georgtroska/root,mhuwiler/rootauto,olifre/root,georgtroska/root,sirinath/root,pspe/root,satyarth934/root,Y--/root,Y--/root,sawenzel/root,BerserkerTroll/root,gbitzes/root,mhuwiler/rootauto,simonpf/root,sawenzel/root,mattkretz/root,jrtomps/root,zzxuanyuan/root,mhuwiler/rootauto,omazapa/root,esakellari/my_root_for_test,sbinet/cxx-root,mkret2/root,evgeny-boger/root,abhinavmoudgil95/root,omazapa/root-old,mkret2/root,Y--/root,veprbl/root,zzxuanyuan/root-compressor-dummy,CristinaCristescu/root,sawenzel/root,esakellari/root,smarinac/root,Y--/root,thomaskeck/root,beniz/root,gbitzes/root,evgeny-boger/root,zzxuanyuan/root-compressor-dummy,jrtomps/root,Duraznos/root,mhuwiler/rootauto,davidlt/root,olifre/root,olifre/root,lgiommi/root,root-mirror/root,BerserkerTroll/root,perovic/root,gganis/root,abhinavmoudgil95/root,arch1tect0r/root,Duraznos/root,karies/root,beniz/root,karies/root,bbockelm/root,gbitzes/root,abhinavmoudgil95/root,esakellari/my_root_for_test,simonpf/root,sirinath/root,agarciamontoro/root,thomaskeck/root,esakellari/my_root_for_test,mkret2/root,mkret2/root,CristinaCristescu/root,pspe/root,Y--/root,bbockelm/root,zzxuanyuan/root,bbockelm/root,Duraznos/root,perovic/root,simonpf/root,buuck/root,abhinavmoudgil95/root,thomaskeck/root,jrtomps/root,georgtroska/root,lgiommi/root,gganis/root,mkret2/root,0x0all/ROOT,Duraznos/root,lgiommi/root,arch1tect0r/root,davidlt/root,krafczyk/root,zzxuanyuan/root,lgiommi/root,arch1tect0r/root,0x0all/ROOT,jrtomps/root,evgeny-boger/root,nilqed/root,jrtomps/root,bbockelm/root,mattkretz/root,abhinavmoudgil95/root,perovic/root,thomaskeck/root,bbockelm/root,omazapa/root-old,root-mirror/root,Duraznos/root,CristinaCristescu/root,CristinaCristescu/root,zzxuanyuan/root,olifre/root,CristinaCristescu/root,BerserkerTroll/root,omazapa/root,thomaskeck/root,esakellari/root,pspe/root,dfunke/root,lgiommi/root,Y--/root,olifre/root,root-mirror/root,mkret2/root,esakellari/root,omazapa/root,Duraznos/root,jrtomps/root,omazapa/root-old,gbitzes/root,mattkretz/root,sawenzel/root,mhuwiler/rootauto,abhinavmoudgil95/root,davidlt/root,Duraznos/root,CristinaCristescu/root,smarinac/root,davidlt/root,karies/root,buuck/root,esakellari/root,root-mirror/root,agarciamontoro/root,bbockelm/root,zzxuanyuan/root,root-mirror/root,Y--/root,agarciamontoro/root,georgtroska/root,satyarth934/root,pspe/root,veprbl/root,esakellari/root,sirinath/root,esakellari/my_root_for_test,CristinaCristescu/root,vukasinmilosevic/root,nilqed/root,sirinath/root,georgtroska/root,gbitzes/root,sawenzel/root,buuck/root,mkret2/root,buuck/root,davidlt/root,gbitzes/root,gbitzes/root,mattkretz/root,satyarth934/root,davidlt/root,lgiommi/root,nilqed/root,georgtroska/root,BerserkerTroll/root,pspe/root,perovic/root,beniz/root,zzxuanyuan/root,arch1tect0r/root,mattkretz/root,Y--/root,CristinaCristescu/root,root-mirror/root,perovic/root,krafczyk/root,lgiommi/root,krafczyk/root,nilqed/root,smarinac/root,Duraznos/root,georgtroska/root,pspe/root,omazapa/root,georgtroska/root,sirinath/root,Duraznos/root,agarciamontoro/root,beniz/root,esakellari/my_root_for_test,zzxuanyuan/root,krafczyk/root,bbockelm/root,arch1tect0r/root,vukasinmilosevic/root,gganis/root,mattkretz/root,beniz/root,smarinac/root,Y--/root,krafczyk/root,sirinath/root,smarinac/root,vukasinmilosevic/root,0x0all/ROOT,buuck/root,zzxuanyuan/root-compressor-dummy,davidlt/root,arch1tect0r/root,veprbl/root,karies/root,zzxuanyuan/root,vukasinmilosevic/root,jrtomps/root,root-mirror/root,sbinet/cxx-root,omazapa/root-old,root-mirror/root,karies/root,omazapa/root-old,mattkretz/root,simonpf/root,gbitzes/root,satyarth934/root,Y--/root,sirinath/root,abhinavmoudgil95/root,simonpf/root,mkret2/root,gganis/root,davidlt/root,simonpf/root,beniz/root,agarciamontoro/root,vukasinmilosevic/root,sawenzel/root,perovic/root,simonpf/root,arch1tect0r/root,omazapa/root,beniz/root,mhuwiler/rootauto,satyarth934/root,krafczyk/root,zzxuanyuan/root,nilqed/root,karies/root,gganis/root,BerserkerTroll/root,pspe/root,pspe/root,buuck/root,arch1tect0r/root,CristinaCristescu/root,krafczyk/root,BerserkerTroll/root,mhuwiler/rootauto,evgeny-boger/root,jrtomps/root,perovic/root,karies/root,smarinac/root,mkret2/root,sbinet/cxx-root,vukasinmilosevic/root,Duraznos/root,omazapa/root-old,zzxuanyuan/root-compressor-dummy,evgeny-boger/root,beniz/root,thomaskeck/root,mkret2/root,abhinavmoudgil95/root,sawenzel/root,pspe/root,dfunke/root,BerserkerTroll/root,mattkretz/root,zzxuanyuan/root-compressor-dummy,bbockelm/root,nilqed/root,sbinet/cxx-root,evgeny-boger/root,nilqed/root,dfunke/root,evgeny-boger/root,zzxuanyuan/root-compressor-dummy,simonpf/root,agarciamontoro/root,esakellari/root,zzxuanyuan/root-compressor-dummy,esakellari/root,nilqed/root,mhuwiler/rootauto,omazapa/root-old,0x0all/ROOT,esakellari/my_root_for_test,mhuwiler/rootauto,agarciamontoro/root,zzxuanyuan/root-compressor-dummy,gganis/root,krafczyk/root,satyarth934/root,omazapa/root-old,Y--/root,mhuwiler/rootauto,veprbl/root,omazapa/root-old,beniz/root,satyarth934/root,olifre/root,abhinavmoudgil95/root,gganis/root,karies/root,lgiommi/root,sbinet/cxx-root,omazapa/root,buuck/root,perovic/root,agarciamontoro/root,davidlt/root,sbinet/cxx-root,arch1tect0r/root,BerserkerTroll/root,dfunke/root,veprbl/root,dfunke/root,esakellari/my_root_for_test,mattkretz/root,esakellari/root,olifre/root,BerserkerTroll/root,veprbl/root,evgeny-boger/root,omazapa/root-old,smarinac/root,sbinet/cxx-root,evgeny-boger/root,nilqed/root,veprbl/root,dfunke/root,omazapa/root,simonpf/root,simonpf/root,arch1tect0r/root,perovic/root,satyarth934/root,jrtomps/root,omazapa/root,bbockelm/root