aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/log.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #2168 from whitequark/assert-unused-exprsclairexen2020-06-251-4/+3
|\ | | | | Use (and ignore) the expression provided to log_assert in NDEBUG builds
| * Remove YS_ATTRIBUTE(unused) where present just for log_assert()/log_debug().whitequark2020-06-191-1/+1
| |
| * Use (and ignore) the expression provided to log_debug in NDEBUG builds.whitequark2020-06-191-2/+1
| |
| * Use (and ignore) the expression provided to log_assert in NDEBUG builds.whitequark2020-06-191-1/+1
| | | | | | | | | | This avoids warnings in NDEBUG builds emitted when a variable is only used in log_assert, but is always defined.
* | log: Remove unused `_POSIX_TIMERS` branch in `PerformanceTimer::query()`.Alberto Gonzalez2020-06-211-4/+0
| |
* | log, qbfsat: Include child process time in `PerformanceTimer::query()` and ↵Alberto Gonzalez2020-06-211-6/+8
|/ | | | report the time for each call to the QBF-SAT solver.
* Add missing [[noreturn]] to log_file_error()Xiretza2020-06-191-1/+1
| | | | | | | | | | | | | Previously this was tagged only with YS_ATTRIBUTE(noreturn), but not YS_NORETURN, so it got lost in #2173, resulting in warnings in frontends/ast/simplify.cc: frontends/ast/simplify.cc:267:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn] } ^ frontends/ast/simplify.cc:379:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn] } ^
* Use C++11 [[noreturn]] attribute.whitequark2020-06-191-4/+4
|
* kernel: guard include of signal.h more precisely.whitequark2020-06-131-1/+3
| | | | | | Upgrading to WASI SDK 11.0 caused the WASM build to fail because WASM does not have signals. (Arguably Yosys was broken even before, it was just broken silently.)
* Merge pull request #2059 from boqwxp/logger-vector-to-dictMiodrag Milanović2020-05-211-8/+5
|\ | | | | log: Use `dict` instead of `std::vector<std::pair>` for `log_expect_{error, warning, log}` to better express the intent that each element is unique.
| * log: Use `dict` instead of `std::vector<std::pair>` for `log_expect_{error, ↵Alberto Gonzalez2020-05-151-8/+5
| | | | | | | | warning, log}` to better express the intent that each element is unique.
* | Consolidate Linux and Mac version of YS_DEBUGTRAP_IF_DEBUGGING.Peter Crozier2020-05-131-5/+2
| |
* | Extend YS_DEBUGTRAP to MacOS.Peter Crozier2020-05-131-1/+4
|/
* kernel: Trap in `log_error()` when a debugger is attached.whitequark2020-05-031-1/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | The workflow of debugging fatal pass errors in Yosys is flawed in three ways: 1. Running Yosys under a debugger is sufficient for the debugger to catch some fatal errors (segfaults, aborts, STL exceptions) but not others (`log_error()`, `log_cmd_error()`). This is neither obvious nor easy to remember. 2. To catch Yosys-specific fatal errors, it is necessary to set a breakpoint at `logv_error_with_prefix()`, or at least, `logv_error()`. This is neither obvious nor easy to remember, and GDB's autocomplete takes many seconds to suggest function names due to the large amount of symbols in Yosys. 3. If a breakpoint is not set and Yosys encounters with such a fatal error, the process terminates. When debugging a crash that takes a long time to reproduce (or a nondeterministic crash) this can waste a significant amount of time. To solve this problem, add a macro `YS_DEBUGTRAP` that acts as a hard breakpoint (if available), and a macro `YS_DEBUGTRAP_IF_DEBUGGING` that acts as a hard breakpoint only if debugger is present. Then, use `YS_DEBUGTRAP_IF_DEBUGGING` in `logv_error_with_prefix()` to obviate the need for a breakpoint on nearly every platform. Co-Authored-By: Alberto Gonzalez <boqwxp@airmail.cc>
* Hole value recovery and specialization implementation for `qbfsat` command.Alberto Gonzalez2020-04-041-0/+7
|
* exclude clang from checkingMiodrag Milanovic2020-03-131-1/+1
|
* Add YS_ prefix to macros, add explanation and apply to older version as wellMiodrag Milanovic2020-03-131-9/+12
|
* Use boost xpressive for gcc 4.8Miodrag Milanovic2020-03-131-3/+18
|
* Handle expect no warnings together with expectedMiodrag Milanovic2020-02-221-0/+1
|
* Option to expect no warningsMiodrag Milanovic2020-02-171-0/+1
|
* Add expect option to logger commandMiodrag Milanovic2020-02-141-0/+17
|
* Improve logging use of experimental featuresClaire Wolf2020-01-281-1/+1
| | | | Signed-off-by: Claire Wolf <clifford@clifford.at>
* Add log_experimental() and experimental() API and "yosys -x"Claire Wolf2020-01-271-1/+2
| | | | Signed-off-by: Claire Wolf <clifford@clifford.at>
* log_dump() to support State enumEddie Hung2019-10-021-0/+1
|
* Fix various NDEBUG compiler warnings, closes #1255Clifford Wolf2019-08-131-1/+1
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Initial implementation of elaboration system tasksUdi Finkelstein2019-05-031-0/+1
| | | | | | | (IEEE1800-2017 section 20.11) This PR allows us to use $info/$warning/$error/$fatal **at elaboration time** within a generate block. This is very useful to stop a synthesis of a parametrized block when an illegal combination of parameters is chosen.
* Add log_debug() frameworkClifford Wolf2019-04-221-0/+43
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Add optional nullstr argument to log_id()Clifford Wolf2019-01-151-1/+3
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fix typographical and grammatical errors and inconsistencies.whitequark2019-01-021-1/+1
| | | | | | | | | | | | The initial list of hits was generated with the codespell command below, and each hit was evaluated and fixed manually while taking context into consideration. DIRS="kernel/ frontends/ backends/ passes/ techlibs/" DIRS="${DIRS} libs/ezsat/ libs/subcircuit" codespell $DIRS -S *.o -L upto,iff,thru,synopsys,uint More hits were found by looking through comments and strings manually.
* Provide source-location logging.Henner Zeller2018-07-191-0/+5
| | | | | | | | o Provide log_file_warning() and log_file_error() that prefix the log message with <filename>:<lineno>: to be easily picked up by IDEs that need to step through errors. o Simplify some duplicate logging code in kernel/log.cc o Use the new log functions in genrtlil.
* Add "#ifdef __FreeBSD__"Christian Krämer2018-05-131-1/+1
| | | | (Re-commit e3575a8 with corrected author field)
* Revert "Add "#ifdef __FreeBSD__""Clifford Wolf2018-05-131-1/+1
| | | | This reverts commit e3575a86c525f2511902e7022893c3923ba8093e.
* Add "#ifdef __FreeBSD__"Johnny Sorocil2018-05-051-1/+1
|
* Add "yosys -e regex" for turning warnings into errorsClifford Wolf2018-05-041-1/+1
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Harmonize uses of _WIN32 macroLarry Doolittle2018-03-111-1/+1
|
* Improve handling of warning messagesClifford Wolf2018-03-041-0/+2
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Add log_warning_noprefix() API, Use for Verific warnings and errorsClifford Wolf2017-07-271-0/+2
|
* Store command history when terminating with an errorClifford Wolf2017-06-201-0/+1
|
* Add "yosys -w" for suppressing warningsClifford Wolf2017-02-121-1/+1
|
* Add log_wire() APIClifford Wolf2017-02-111-0/+1
|
* Added "yosys -W regex"Clifford Wolf2016-12-221-0/+2
|
* Added log_const() APIClifford Wolf2016-08-091-0/+1
|
* Added "read_verilog -dump_rtlil"Clifford Wolf2016-07-271-0/+1
|
* Fixes for MXE buildClifford Wolf2016-05-071-7/+7
|
* Added "yosys -D ALL"Clifford Wolf2016-04-241-0/+1
|
* Added "yosys -D" featureClifford Wolf2016-04-211-2/+3
|
* Added log_dump() support for dict<> and pool<> containersClifford Wolf2016-03-311-0/+26
|
* Microsoft Visual C++ fix for log.h.Andrei Errapart2015-09-011-0/+5
|
* Spell check (by Larry Doolittle)Clifford Wolf2015-08-141-1/+1
|
* Fixed trailing whitespacesClifford Wolf2015-07-021-2/+2
|