This is an archive of the discontinued LLVM Phabricator instance.

[test-suite] Set the language standard for SPEC benchmarks that do not compile using the newest.
ClosedPublic

Authored by Meinersbur on Jun 20 2018, 3:30 PM.

Details

Summary

Clang's default dialect has changed to -std=gnu++14 in r320250. Some of the SPEC benchmarks do not compile with this change. Set the language version to C++ 98 (the previous default) explicitly for these benchmarks.

Diff Detail

Repository
rL LLVM

Event Timeline

Meinersbur created this revision.Jun 20 2018, 3:30 PM
MatzeB accepted this revision.Jun 20 2018, 4:15 PM

LGTM

This revision is now accepted and ready to land.Jun 20 2018, 4:15 PM
This revision was automatically updated to reflect the committed changes.
evandro added inline comments.
test-suite/trunk/External/SPEC/CINT2006/473.astar/CMakeLists.txt
1

Should this be c++03 instead?

Meinersbur added inline comments.Jun 21 2018, 9:30 AM
test-suite/trunk/External/SPEC/CINT2006/473.astar/CMakeLists.txt
1

-std=gnu++98 was the setting before changed in rL320250. It does not rely on gnu extensions so I picked -std=c++98.

What is your your argument to use -std=c++03 instead?

evandro added inline comments.Jun 21 2018, 9:53 AM
test-suite/trunk/External/SPEC/CINT2006/473.astar/CMakeLists.txt
1

It's what some internal scripts of ours use. Unfortunately, none of us could recall why C++03 was chosen. Digging the SPEC CPU2006 distro, it seems that it was released with example configuration files supporting GCC versions like 4.1 and 4.3, which only supported C++98. So, I agree with your choice.