make/tests/scripts/features
Paul Smith 87a5f98d24 [SV 102] Don't show unnecessary include file errors.
Delay the generation of error messages for included files until we
are sure that we can't rebuild that included file.
* dep.h (struct dep): Don't reuse "changed"; make a separate field
to keep "flags".  Get rid of dontcare and use the flag.
(struct goaldep): Create a new structure for goal prereqs
that tracks an errno value and the floc where the include happened.
Rework the structures to ensure they are supersets as expected.
In maintainer mode with GCC, use inline to get type checking.
* read.c (eval_makefile): Return a struct goaldep for the new
makefile.  Ensure errno is set properly to denote a failure.
(read_all_makefiles): Switch to goaldep and check errno.
(eval): Don't show included file errors; instead remember them.
* remake.c (update_goal_chain): Set global variables to the current
goaldep we're building, and the entire chain.
(show_goal_error): Check if the current failure is a consequence
of building an included makefile and if so print an error.
(complain): Call show_goal_error() on rule failure.
* job.c (child_error): Call show_goal_error() on child error.
* main.c (main): Switch from struct dep to goaldep.
* misc.c (free_dep_chain): Not used; make into a macro.
* tests/scripts/features/include: Update and include new tests.
* tests/scripts/options/dash-B, tests/scripts/options/dash-W,
tests/scripts/options/print-directory,
tests/scripts/variables/MAKE_RESTARTS: Update known-good-output.
2016-04-09 20:06:46 -04:00
..
archives * tests/scripts/features/archives: Handle deterministic archives. 2016-02-29 01:31:16 -05:00
comments
conditionals
default_names
double_colon
echoing
errors * job.c (child_error): Combine file info with error message. 2016-03-20 14:23:22 -04:00
escape
export
include [SV 102] Don't show unnecessary include file errors. 2016-04-09 20:06:46 -04:00
jobserver Preserve the real value of -jN in MAKEFLAGS using jobserver. 2016-04-04 01:38:37 -04:00
load [SV 46581] Pre-define .LOADED to avoid warnings. 2016-03-13 03:02:00 -04:00
loadapi
mult_rules
mult_targets
order_only
output-sync Preserve the real value of -jN in MAKEFLAGS using jobserver. 2016-04-04 01:38:37 -04:00
override
parallelism * job.c (child_error): Combine file info with error message. 2016-03-20 14:23:22 -04:00
patspecific_vars
patternrules * job.c (child_error): Combine file info with error message. 2016-03-20 14:23:22 -04:00
quoting
recursion
reinvoke
rule_glob
se_explicit
se_implicit
se_statpat
shell_assignment
statipattrules
targetvars
utf8
varnesting
vpath
vpath2
vpath3
vpathgpath
vpathplus * job.c (child_error): Combine file info with error message. 2016-03-20 14:23:22 -04:00