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

- use major-only for Clang >= 8.0 #3643

Merged
merged 2 commits into from Oct 26, 2018

Conversation

Projects
None yet
4 participants
@SSE4
Copy link
Contributor

commented Sep 30, 2018

Changelog: Feature: Added support for Clang >=8 and the new versioning schema, where only the major and the patch is used.

according to the:
https://releases.llvm.org/7.0.0/tools/clang/docs/ReleaseNotes.html

Clang binary and libraries have been renamed from 7.0 to 7. For example, the clang binary will be called clang-7 instead of clang-7.0.

also according to the:
http://lists.llvm.org/pipermail/llvm-dev/2018-March/121873.html

Now, as we are not using the minor version (the Y in X.Y.Z), there isn't
much point in calling our tools foo-7.0 as we won't create a 7.1.

and finally:
http://blog.llvm.org/2016/12/llvms-new-versioning-scheme.html

We decided that going forward, every release on the six-month cycle will be a major release. Patch releases will increment the patch component as before (producing versions like 5.0.1), and the minor component will stay at zero since no minor releases will be made.

so, this patch offers to use major only versions for Clang >= 7.0, similarly on how it is done for GCC >= 5.0

  • Refer to the issue that supports this Pull Request.
  • If the issue has missing info, explain the purpose/use case/pain/need that covers this Pull Request.
  • I've read the Contributing guide.
  • I've followed the PEP8 style guides for Python code.
  • I've opened another PR in the Conan docs repo to the develop branch, documenting this one. Also adding a description of the changes in the changelog.rst file. https://github.com/conan-io/docs

@ghost ghost added the contributor pr label Sep 30, 2018

@SSE4 SSE4 force-pushed the SSE4:clang7 branch from edb6aa6 to a70fbdd Sep 30, 2018

@SSE4

This comment has been minimized.

Copy link
Contributor Author

commented Sep 30, 2018

build problem appears to be an infrastructure issue:

ERROR: Issue with creating launcher for agent MacosBuilder. The agent has not been fully initialized yet

@lasote lasote referenced this pull request Oct 1, 2018

Closed

Fix Clang 7 testing #56

Show resolved Hide resolved conans/client/migrations.py Outdated
Show resolved Hide resolved conans/client/conf/detect.py
@SSE4

This comment has been minimized.

Copy link
Contributor Author

commented Oct 8, 2018

same question, do we have such quirks for GCC? also, how about patch versions for GCC? I guess they currently don't matter, assuming all patch versions are compatible, if major is same, right?
so, I wonder, why Clang logic must be different from GCC's? or do you mean it should be changed for both GCC and Clang?

@uilianries uilianries referenced this pull request Oct 9, 2018

Merged

#3649 Update CI templates #3651

4 of 5 tasks complete

@Croydon Croydon referenced this pull request Oct 13, 2018

Closed

Update all CI scripts #482

@SSE4 SSE4 force-pushed the SSE4:clang7 branch from a70fbdd to 5612c3b Oct 22, 2018

@SSE4

This comment has been minimized.

Copy link
Contributor Author

commented Oct 22, 2018

updated, summary:

  • added Clang 8 to settings.yml
  • starting from Clang 8, conan will detect major-only by default
  • detection for Clang 7 and below is not changed to avoid compatibility breakage
  • added major-only Clang versions 5, 6, 7, 8 to settings.yml
  • migrations.py is not changed
  • added missing compilers to the new_ci.py (GCC 8, Clang 5, 6, 7, Apple Clang 10.0)
  • CMake-wrapper checks major-only since Clang 8 as well

@SSE4 SSE4 changed the title - use major-only for Clang >= 7.0 - use major-only for Clang >= 8.0 Oct 22, 2018

@SSE4 SSE4 force-pushed the SSE4:clang7 branch from 5612c3b to 91b5493 Oct 22, 2018

Show resolved Hide resolved conans/client/conf/__init__.py Outdated

@SSE4 SSE4 force-pushed the SSE4:clang7 branch from 91b5493 to 95d8392 Oct 23, 2018

- use major-only for Clang >= 8.0
Signed-off-by: SSE4 <tomskside@gmail.com>
@Croydon
Copy link
Contributor

left a comment

LGTM

@lasote

lasote approved these changes Oct 26, 2018

@lasote

This comment has been minimized.

Copy link
Contributor

commented Oct 26, 2018

@memsharded please confirm that we are following this approach of keeping clang 7.0 and merge when you are ready.

@ghost ghost added stage: review and removed contributor pr labels Oct 26, 2018

@memsharded memsharded merged commit 785f9f3 into conan-io:develop Oct 26, 2018

2 checks passed

continuous-integration/jenkins/pr-head This commit looks good
Details
license/cla Contributor License Agreement is signed.
Details

@ghost ghost removed the stage: review label Oct 26, 2018

@memsharded memsharded added this to the 1.9 milestone Oct 26, 2018

grisumbras pushed a commit to grisumbras/conan that referenced this pull request Dec 27, 2018

Merge pull request conan-io#3643 from SSE4/clang7
- use major-only for Clang >= 8.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.