<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">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>