Coder Social home page Coder Social logo

Comments (6)

delcypher avatar delcypher commented on June 13, 2024

@dbeyer This issue shouldn't be closed as WARNINGS_AS_ERRORS is still set to 0 in the current build system due to problematic benchmarks. Enabling WARNINGS_AS_ERRORS is going to be very difficult because many benchmarks trigger warnings.

from sv-benchmarks.

dbeyer avatar dbeyer commented on June 13, 2024

Sorry, I must have closed this issue incidentally by closing another one (#118).

from sv-benchmarks.

PhilippWendler avatar PhilippWendler commented on June 13, 2024

I think it would be helpful to turn on WARNINGS_AS_ERRORS by default and turn it off for now only in those directories where it is necessary. This would serve as documentation about the current state, ensure that newly added tasks get added without warnings, and maybe motivate some people to remove the warnings from the tasks they submitted. At least we can then identify and ping the people more easily.

from sv-benchmarks.

PhilippWendler avatar PhilippWendler commented on June 13, 2024

@delcypher I think if we want to get process on this we need to have strict checks as default and only loosen them specifically for some directories where this is (still) needed. This way we can always look at the exceptions and see where work is still necessary. I hope that this would improve working on fixing the benchmarks.

Currently nobody knows what kind of warnings need to be taken care of on which parts of the benchmark set, so nobody does anything.

Could you do this in the build system? Would be great.

from sv-benchmarks.

delcypher avatar delcypher commented on June 13, 2024

@PhilippWendler

The build system already supports enabling/disabling warnings on a per directory basis. Here is what you need to do.

  1. Merge #149 to make debugging easier for yourself
  2. Change WARNINGS_AS_ERRORS ?= 0 in Makefile.config to WARNINGS_AS_ERRORS ?= 1.
  3. For directories where you need to disable WARNINGS_AS_ERRORS you can add this line
WARNINGS_AS_ERRORS ?= 0

to the Makefile for that directory before the include $(LEVEL)/Makefile.config line.

For example

LEVEL := ../

WARNINGS_AS_ERRORS ?= 0

include $(LEVEL)/Makefile.config

To check the change is having effect run make debug_vars in the directory where you changed the Makefile and check you see that WARNINGS_AS_ERRORS is set appropriately.

Note you can also specify WARNINGS_AS_ERRORS on the command line when building to override the behaviour

make WARNINGS_AS_ERRORS=1

There are a few things you need to be aware of

  • SUPPRESS_WARNINGS and WARNINGS_AS_ERRORS cannot both be enabled at the same time.
  • The TravisCI build has SUPPRESS_WARNINGS enabled because so many warnings fire that we hit TravisCI's log limit and the build fails. So if you make WARNINGS_AS_ERRORS default you will break the build.

As for doing the work of working out which warnings to have (and which compiler supports them) this is not my responsibility.

from sv-benchmarks.

PhilippWendler avatar PhilippWendler commented on June 13, 2024

Can we disable individual warnings/errors per directory?

How can I do what you suggest without breaking the Travis build? Is it possible to make SUPPRESS_WARNINGS and WARNINGS_AS_ERRORS compatible? Should we simply redirect warnings to a file or /dev/null on Travis? Or pipe them through head to see at least some of them?

from sv-benchmarks.

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.