Page MenuHomePhabricator

[Gnu toolchain] Look at standard GCC paths for libstdcxx by default
Needs ReviewPublic

Authored by sthibaul on Nov 2 2019, 4:52 PM.

Details

Summary

Linux' current addLibCxxIncludePaths and addLibStdCxxIncludePaths are
actually almost non-Linux-specific at all, and can be reused almost as such
for all gcc toolchains. Only keep Android/Freescale/Cray hacks in Linux'
version.

Diff Detail

Event Timeline

sthibaul created this revision.Nov 2 2019, 4:52 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 2 2019, 4:52 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript

Added libcxx maintainers, would like one of them to sign off on this. I presume this is NFCI for Linux so it should be covered by existing regression tests?

clang/lib/Driver/ToolChains/Gnu.cpp
2623

No need for = "" here.

ldionne resigned from this revision.Wed, Nov 13, 8:58 AM
sthibaul marked an inline comment as done.Wed, Nov 13, 9:06 AM

Not sure what NFCI means, but for Linux the behavior should just not change at all, and the testsuite indeed behaved exactly the same on Linux indeed.

clang/lib/Driver/ToolChains/Gnu.cpp
2623

(it's the existing code just moved to here actually)

I'm afraid that a not-that-smart compiler would complain that it could be used uninitialized below, I have seen such cases produce warnings before because the compiler was not making the connection with MaxVersion being 0. Are we confident that this will not pose problem?

kristina added inline comments.Wed, Nov 13, 12:14 PM
clang/lib/Driver/ToolChains/Gnu.cpp
2623

std::string has a default constructor, but the int needs to be initialized. I was only referring to the string.

sthibaul updated this revision to Diff 229192.Wed, Nov 13, 2:43 PM
sthibaul marked 3 inline comments as done.
sthibaul added inline comments.
clang/lib/Driver/ToolChains/Gnu.cpp
2623

std::string has a default constructor

Ah, ok. Now fixed.

@kristina can we land this patch ? Thanks