<p dir="ltr">That makes total sense, given that (I think) we do roughly the same on Linux.</p>
<p dir="ltr">Sent from phone</p>
<div class="gmail_quote">On Mar 23, 2014 5:40 AM, "Yaron Keren" <<a href="mailto:yaron.keren@gmail.com">yaron.keren@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="rtl"><div dir="ltr">Hi,</div><div dir="ltr"><br></div><div dir="ltr">The current setup of MinGW include directories in InitHeaderSearch.cpp has several problems:</div><div dir="ltr"><br></div><div dir="ltr">* New versions are added manually to the code.</div>


<div dir="ltr">* All existing versions of MinGW directories are added regardless of what is actually installed (and pruned later), wasted work.</div><div dir="ltr">* Two MinGW.org C includes are missing.</div><div dir="ltr">


* If multiple MinGW versions are installed clang will add directories for all of them leading to unpredictable results.</div><div dir="ltr"><br></div><div dir="ltr">I'd like to suggest that clang will add include directories only for the gcc.exe which is on the system PATH based on the list below for both distributions. </div>


<div dir="ltr">This way:</div><div dir="ltr">* clang will not add include diectories for every possible version, only for this one.</div><div dir="ltr">* clang  will correctly hanlde multiple based on the dveloper choice which gcc.exe is on the path</div>


<div dir="ltr">* We won't have to manually update new versions in InitHeaderSearch.cpp.</div><div dir="ltr"><br></div><div dir="ltr">What do you think?<br></div><div dir="ltr"><br></div><div dir="ltr">Yaron</div><div dir="ltr">


<br></div><div dir="ltr"><div dir="ltr"><a href="http://mingw.org" target="_blank">mingw.org</a></div><div dir="ltr">---------</div><div dir="ltr">gcc location</div><div dir="ltr">BASEPATH\bin\gcc.exe</div><div dir="ltr">
<br></div><div dir="ltr">

C32 includes</div><div dir="ltr">BASEPATH\lib\gcc\mingw32\X.Y.Z\include</div><div dir="ltr">BASEPATH\lib\gcc\mingw32\X.Y.Z\include-fixed</div><div dir="ltr">BASEPATH\include</div><div dir="ltr"> </div><div dir="ltr">C++32 includes</div>


<div dir="ltr">BASEPATH\lib\gcc\mingw32\X.Y.Z\include\c++</div><div dir="ltr">BASEPATH\lib\gcc\mingw32\X.Y.Z\include\c++\mingw32</div><div dir="ltr">BASEPATH\lib\gcc\mingw32\X.Y.Z\include\c++\backward</div><div dir="ltr">


<br></div><div dir="ltr">mingw-w64</div><div dir="ltr">---------</div><div dir="ltr">gcc includes</div><div dir="ltr">BASEPATH\bin\gcc.exe</div><div dir="ltr"><br></div><div dir="ltr">C32 includes</div><div dir="ltr">BASEPATH\lib\gcc\i686-w64-mingw32\X.Y.Z\include</div>


<div dir="ltr">BASEPATH\lib\gcc\i686-w64-mingw32\X.Y.Z\include-fixed</div><div dir="ltr">BASEPATH\i686-w64-mingw32\include</div><div dir="ltr"><br></div><div dir="ltr">C64 includes</div><div dir="ltr">BASEPATH\lib\gcc\x86_64-w64-mingw32\X.Y.Z\include</div>


<div dir="ltr">BASEPATH\lib\gcc\x86_64-w64-mingw32\X.Y.Z\include-fixed</div><div dir="ltr">BASEPATH\x86_64-w64-mingw32\include</div><div dir="ltr"><br></div><div dir="ltr">C++32 includes</div><div dir="ltr">BASEPATH\i686-w64-mingw32\include\c++</div>


<div dir="ltr"><br></div><div dir="ltr">C++64 includes</div><div dir="ltr">BASEPATH\x86_64-w64-mingw32\include\c++</div><div><br></div></div><div dir="ltr"><br></div><div dir="ltr"><br></div></div>
<br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div>