Skip to content
This repository has been archived by the owner on Dec 4, 2023. It is now read-only.

Add patch to allow build with clang 7.3 #207

Merged
merged 2 commits into from
Apr 24, 2016
Merged

Add patch to allow build with clang 7.3 #207

merged 2 commits into from
Apr 24, 2016

Conversation

aviat
Copy link
Contributor

@aviat aviat commented Apr 24, 2016

This adds the -Wno-shift-negative-value flag to Clang. Clang 7.3 was introduced
in OSX with XCode 7.3.

Without this flag, compiling with Clang 7.3 fails with errors such as:

In file included from ../src/elements.h:32:
../src/objects.h:5252:44: error: shifting a negative signed value is undefined
[-Werror,-Wshift-negative-value]
  static const int kElementsKindMask = (-1 << kElementsKindShift) &
                                        ~~ ^
../src/objects.h:7386:36: error: shifting a negative signed value is undefined
[-Werror,-Wshift-negative-value]
      (~kMaxCachedArrayIndexLength << kArrayIndexHashLengthShift) |
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
2 errors generated.

This adds the -Wno-shift-negative-value flag to Clang. Clang 7.3 was introduced
in OSX with XCode 7.3.

Without this flag, compiling with Clang 7.3 fails with errors such as:

    In file included from ../src/elements.h:32:
    ../src/objects.h:5252:44: error: shifting a negative signed value is undefined
    [-Werror,-Wshift-negative-value]
      static const int kElementsKindMask = (-1 << kElementsKindShift) &
                                            ~~ ^
    ../src/objects.h:7386:36: error: shifting a negative signed value is undefined
    [-Werror,-Wshift-negative-value]
          (~kMaxCachedArrayIndexLength << kArrayIndexHashLengthShift) |
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
    2 errors generated.
@aviat
Copy link
Contributor Author

aviat commented Apr 24, 2016

Some versions of Ruby used an old Bundler version.
@julik
Copy link

julik commented Apr 24, 2016

@cowboyd it would be great if this could be merged, I already had to install_if on 3 projects that use libv8 indirectly (I know it is a +1 comment at heart and I will be punished, and yet hope dies last).

@ignisf ignisf merged commit b2a6393 into rubyjs:master Apr 24, 2016
@ignisf
Copy link
Collaborator

ignisf commented Apr 24, 2016

Thank you for the contribution!

@aviat
Copy link
Contributor Author

aviat commented Apr 24, 2016

You are welcome @ignisf. Any idea when the new gem could be published?

@ignisf
Copy link
Collaborator

ignisf commented Apr 24, 2016

I usually leave releasing the gem to @cowboyd, as I have no way of producing osx binaries and it's a bad idea to leave all osx users to deal with the touchy build process of v8. So... No, no idea 😕...

@aviat
Copy link
Contributor Author

aviat commented Apr 25, 2016

@ignisf I could give you the darwin14 / darwin15 builds if that helps!

@ignisf
Copy link
Collaborator

ignisf commented Apr 25, 2016

Thank you, but I would not publish binaries made on a system I can't trust.

@aviat
Copy link
Contributor Author

aviat commented Apr 25, 2016 via email

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants