Git Product home page Git Product logo

Comments (8)

cmumford avatar cmumford commented on May 5, 2024

Comment #1 originally posted by [email protected] on 2011-07-06T14:03:40.000Z:

This stuff is required because the Solaris libCrun/libCstd is incompatible with the g++ runtime. So, if we're linking leveldb into an app with other libraries built against Solaris C++ runtimes, we're out-of-luck.

Here's a patch that fixes it. Passes all tests on Solaris and still works on Linux in my tests.

Enjoy. Please consider applying this, because we have to maintain this nasty diff to build.

from leveldb.

cmumford avatar cmumford commented on May 5, 2024

Comment #2 originally posted by [email protected] on 2011-07-14T23:42:50.000Z:

Before we patch in your change, could you fill out Google's Contributor Agreement? You can do this online:
http://code.google.com/legal/individual-cla-v1.0.html
Let me know when you have done so.

A few question:
Do all tests still pass after this change?
Why do you remove the "," at the end of enums? Is that something Sun Studio does not like?
Why does util/comparator require #include ?
In table.h, is there no library function to reverse a string? The rev.append() way of doing things seems expensive/hacky.

Thanks for your help!

Gabor Cselle
Product Managr, Google

from leveldb.

cmumford avatar cmumford commented on May 5, 2024

Comment #3 originally posted by [email protected] on 2011-07-15T00:27:49.000Z:

Do all tests still pass after this change?

Yes they do.

Why do you remove the "," at the end of enums? Is that something Sun Studio does not like?

Sun Studio does not like them. I believe it isn't actually valid C++, but most C++ compilers are tolerant of the (rather convenient) offense.

Why does util/comparator require #include ?

std::min and std::max are in under Sun Studio's C++ SDK.

In table.h, is there no library function to reverse a string? The rev.append() way of doing things seems expensive/hacky.

I could find none. As it was it didn't compile. That change is in table_test.cc (not table.h). So, the performance penalty doesn't enter the library in any way with this change.

from leveldb.

cmumford avatar cmumford commented on May 5, 2024

Comment #4 originally posted by [email protected] on 2011-07-15T00:28:37.000Z:

Signed ICLA as [email protected].

from leveldb.

cmumford avatar cmumford commented on May 5, 2024

Comment #5 originally posted by [email protected] on 2011-07-19T23:38:35.000Z:

This is now fixed in r38. Thanks for your help! If you have a chance, can you please verify the fix?

from leveldb.

cmumford avatar cmumford commented on May 5, 2024

Comment #6 originally posted by postwait on 2011-07-20T04:33:44.000Z:

almost perfect. Sun Studio doesn't define "asm" and "volatile", but instead just the normal keywords "asm" and "volatile". In your merge you consolidated the g++ and SUNPRO_CC stuff into one block using the volatile and asm keywords which cases a compile error.

My question is: doesn't g++ support the plain-old "asm" and "volatile" keywords so that we could consolidate to the same non-underscore version for both compiler suites?

By changing volatile to volatile and asm to asm on line 57 of port/atomic_pointer.h, all compiles, links and passes a make check using Sun Studio 12.1.

from leveldb.

cmumford avatar cmumford commented on May 5, 2024

Comment #7 originally posted by [email protected] on 2011-07-21T02:42:49.000Z:

This should now be fixed in Revision 39:.

Can you check again?

Thanks for your help! Gabor

from leveldb.

cmumford avatar cmumford commented on May 5, 2024

Comment #8 originally posted by [email protected] on 2011-07-21T03:18:52.000Z:

Victory. All is well on the Sun Studio front.

from leveldb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.