-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[TCling] C++-use string,vector instead of std. #11027
base: master
Are you sure you want to change the base?
[TCling] C++-use string,vector instead of std. #11027
Conversation
Starting build on |
Build failed on ROOT-performance-centos8-multicore/cxx17. Failing tests: |
Note: this change obviously allows 'new' code to work better (allows use of user-defined |
Build failed on windows10/cxx14. Failing tests: |
Correct - and I wanted to start small ( |
ca81ff4
to
d83ea7b
Compare
Starting build on |
Build failed on ROOT-ubuntu18.04/nortcxxmod. Errors:
|
Build failed on ROOT-ubuntu2004/python3. Errors:
|
Build failed on mac12/noimt. Errors:
And 11 more |
Build failed on windows10/cxx14. Errors:
And 103 more |
Starting build on |
Build failed on ROOT-ubuntu18.04/nortcxxmod. Errors:
|
Build failed on ROOT-ubuntu2004/python3. Errors:
|
Build failed on ROOT-debian10-i386/soversion. |
Build failed on mac12/noimt. Errors:
And 11 more |
Build failed on windows10/cxx14. Errors:
And 103 more |
Build failed on ROOT-performance-centos8-multicore/cxx17. |
Build failed on mac11/cxx14. Errors:
And 11 more |
This prevents clashes e.g. of `std::data` ands `data` variables and alike.
1596e16
to
fbd0bc6
Compare
Starting build on |
Build failed on ROOT-ubuntu2004/python3. |
Build failed on ROOT-ubuntu18.04/nortcxxmod. |
Build failed on ROOT-debian10-i386/soversion. |
Build failed on ROOT-performance-centos8-multicore/cxx17. |
Build failed on mac11/cxx14. Errors:
And 56 more Failing tests:
And 241 more |
This prevents TClass getting confused about normalized names in std:: which will likely be implementation details
Starting build on |
Build failed on ROOT-performance-centos8-multicore/cxx17. Errors:
And 57 more Failing tests:
And 256 more |
Build failed on mac11/cxx14. Errors:
And 56 more Failing tests:
And 263 more |
Starting build on |
Build failed on windows10/cxx14. |
Build failed on ROOT-performance-centos8-multicore/cxx17. Errors:
Failing tests:
And 97 more |
Build failed on ROOT-ubuntu2004/python3. Failing tests:
And 47 more |
Build failed on mac11/cxx14. Errors:
Failing tests:
And 107 more |
Build failed on ROOT-debian10-i386/soversion. Failing tests:
And 51 more |
Current state:
std::
std::
where "needed", to the normalized name, to make identifiers "compilable" (in dictionary source).The last point requires to have an authoritative list of "things in the std namespace", to prepend
std::
to them. This does not scale - any stdlib implementation might have any non-public identifier that might be needed also for public types, e.g. some libstdc++ havestd::thread::id
as type alias tostd::__thread_id
.Alternatively, this PR could implement a "if lookup fails, try again with prepending
std::
". This is an issue for types such asfoo<bar, baz<boo,boz>>
where either any type must be tested for std-ization separately or all possible permutations (std::foo<bar, baz<boo,boz>>
,foo<std::bar, baz<boo,boz>>
,std::foo<std::bar, baz<boo,boz>>
...) must be tried.