Skip to content
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

Update libcxx #2844

Merged
merged 3 commits into from
Oct 1, 2014
Merged

Conversation

waywardmonkeys
Copy link
Contributor

This updates things to the current version of libcxx.

I'm still running the full test suite ...

There's a change that I made:

+#elif defined(__EMSCRIPTEN__)
+#define _LIBCPP_ELAST 256

I'll be upstreaming that as soon as I remember how to use the phabricator stuff. I've mentioned to the Musl people that they might add a ELAST, but I've no horse in the race and little intention at this point to argue strongly with them either way.

cc: @chadaustin

@waywardmonkeys
Copy link
Contributor Author

Well ...had a scare for a while. test_time was failing ... but then I found that it is failing on the incoming branch for me, so it isn't related to my work here.

All other tests pass that I ran (the normal battery of tests).

@kripken
Copy link
Member

kripken commented Oct 1, 2014

By normal do you mean default? how about `other?

@waywardmonkeys
Copy link
Contributor Author

I mean:

python ./tests/runner.py

I'll try other now ... although I don't recall libcxx having issues in that area in the past.

@waywardmonkeys
Copy link
Contributor Author

Of course, it would've been nice if other worked on the incoming branch ... (it doesn't)

@kripken
Copy link
Member

kripken commented Oct 1, 2014

./tests/runner.py other fails?

@waywardmonkeys
Copy link
Contributor Author

On incoming? It does for me:

test_EMCC_BUILD_DIR (test_other.other) ... ERROR
test_abspaths (test_other.other) ... ok
test_aliased_func_pointers (test_other.other) ... aliasing
['/usr/bin/python2', '/Users/bruce/Development/emscripten/emcc', 'src.cpp', '-O1']
['/usr/bin/python2', '/Users/bruce/Development/emscripten/emcc', 'src.cpp', '-O1', '-s', 'ALIASING_FUNCTION_POINTERS=0']
['/usr/bin/python2', '/Users/bruce/Development/emscripten/emcc', 'src.cpp', '-O1', '-s', 'ALIASING_FUNCTION_POINTERS=1']
ok
test_argv0_node (test_other.other) ... ERROR

And then I realized I was on incoming and swapped to my update-libcxx branch.

@kripken
Copy link
Member

kripken commented Oct 1, 2014

Looks good to me. Just one question - I see some emscripten ifdefs were replaced with LIBCPP_HAS_NO_THREADS. Don't we need to set that to 1?

@kripken
Copy link
Member

kripken commented Oct 1, 2014

Those pass on the bots and for me locally, not sure why they would fail for you. But probably not relevant to this pull.

@waywardmonkeys
Copy link
Contributor Author

Good eye!

You're referring to this and a companion change:

-#if __has_feature(cxx_atomic) && !defined(__EMSCRIPTEN__)
+#if __has_feature(cxx_atomic) && !defined(_LIBCPP_HAS_NO_THREADS)

The reason for that _EMSCRIPTEN__ check there was that there was previously a bug in how emscripten + clang handled atomics ... but that's long been fixed.

Turning on _LIBCPP_HAS_NO_THREADS would be interesting, but:

  1. A separate change from this pull
  2. It removes a lot of stuff from the headers and might break some people.

@waywardmonkeys
Copy link
Contributor Author

The usual suspects in other failed ... nothing from libcxx as far as I can see.

@kripken
Copy link
Member

kripken commented Oct 1, 2014

Ok, sounds good.

kripken added a commit that referenced this pull request Oct 1, 2014
@kripken kripken merged commit 6f5601e into emscripten-core:incoming Oct 1, 2014
@waywardmonkeys waywardmonkeys deleted the update-libcxx branch October 2, 2014 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants