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

Test with newer versions of GCC #20

Open
emil-e opened this issue May 26, 2015 · 8 comments
Open

Test with newer versions of GCC #20

emil-e opened this issue May 26, 2015 · 8 comments

Comments

@emil-e
Copy link
Owner

emil-e commented May 26, 2015

Currently only tested with GCC-4.9.

whoshuu pushed a commit to whoshuu/rapidcheck that referenced this issue Aug 14, 2015
whoshuu pushed a commit to whoshuu/rapidcheck that referenced this issue Aug 14, 2015
whoshuu pushed a commit to whoshuu/rapidcheck that referenced this issue Aug 14, 2015
whoshuu added a commit to whoshuu/rapidcheck that referenced this issue Aug 14, 2015
whoshuu added a commit to whoshuu/rapidcheck that referenced this issue Aug 14, 2015
whoshuu added a commit to whoshuu/rapidcheck that referenced this issue Aug 14, 2015
@whoshuu
Copy link

whoshuu commented Aug 14, 2015

The build fails with gcc 5.1, see the travis output here. A fair warning though, it's a bit dense, so it'll take a while to wade through

@emil-e
Copy link
Owner Author

emil-e commented Aug 14, 2015

Will take a look ASAP.

emil-e added a commit that referenced this issue Aug 16, 2015
@emil-e
Copy link
Owner Author

emil-e commented Aug 16, 2015

Waiting for Travis to complete but this should fix things. The issue was simple to fix.

However, something that is more worrying is that I got an Internal Compiler Error when compiling some tests with GCC 5.2. I had to comment those two out to get it to compile. However, as a user of the library you should be fine.

In general, I strongly recommend Clang since I've had way fewer bugs with it and the build times are significantly better.

@emil-e
Copy link
Owner Author

emil-e commented Aug 16, 2015

That was a lie... still doesn't work with 5.1...

@emil-e
Copy link
Owner Author

emil-e commented Aug 17, 2015

5.1 may be a bit too broken for me to look any further since the issues seem to be fixed in 5.2.

Specifically, I get these nonsense errors when compiling the preprocessed output of one test file:

Fixed.pp.cpp:90723:353: error: redeclaration of ‘const long unsigned int count’
                 do { if (!(containerSize(shrink.value()) == count)) { throw ::rc::detail::CaseResult( ::rc::detail::CaseResult::Type::Failure, ::rc::detail::makeExpressionMessage("../test/gen/ContainerTests/Fixed.cpp", 24, "RC_ASSERT" "(" "containerSize(shrink.value()) == count" ")", ((::rc::detail::ExpressionCaptor()->*containerSize(shrink.value()) == count).str()))); } } while (false);
                                                                                                                                                                                                                                                                                                                                                                 ^
Fixed.pp.cpp:90723:58: note: ‘const long unsigned int count’ previously declared here
                 do { if (!(containerSize(shrink.value()) == count)) { throw ::rc::detail::CaseResult( ::rc::detail::CaseResult::Type::Failure, ::rc::detail::makeExpressionMessage("../test/gen/ContainerTests/Fixed.cpp", 24, "RC_ASSERT" "(" "containerSize(shrink.value()) == count" ")", ((::rc::detail::ExpressionCaptor()->*containerSize(shrink.value()) == count).str()))); } } while (false);
                                                          ^

Of course, count is already defined but there is no definition in the code that it complains about. There's a limit to how much I'm willing to cater to broken compilers :)

GCC 5.2 still gets an ICE on certain code but I'm going to report that and try to work around it.

@emil-e
Copy link
Owner Author

emil-e commented Aug 17, 2015

GCC bug report on the ICE: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67244

@emil-e
Copy link
Owner Author

emil-e commented Aug 17, 2015

Haven't found a simple way to install GCC 5.2 on the Ubuntu 12.04 LTS that is running on Travis so I'm putting this on hold right now. However, with the upcoming fix, GCC 5.2 should work except for some tests not building. That is mostly interesting if you're developing, though.

emil-e added a commit that referenced this issue Aug 17, 2015
@emil-e
Copy link
Owner Author

emil-e commented Aug 23, 2015

The seems to have been fixed for GCC 5.3 so that's the target for full GCC 5 compatibility but until then, GCC 5.2 should work unless you need to build the tests.

@emil-e emil-e changed the title Test with newer versions of Clang and GCC Test with newer versions of GCC Oct 27, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants