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 * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
conditionals Implement new "if... else if... endif" semantics. 2005-05-13 12:45:30 +00:00
default_names Clean up some tests for use on Windows. 2013-10-05 19:30:48 -04:00
double_colon Be sure to start parsing prereqs in the right place even if there are 2011-11-14 07:31:06 +00:00
echoing - Rework secondary expansion so we only defer it if there's a possibility 2009-09-24 02:41:44 +00:00
errors * job.c (child_error): Combine file info with error message. 2016-03-20 14:23:22 -04:00
escape Regression test portability to Solaris. 2013-09-22 17:10:34 -04:00
export Add 'private' variable modifier, feature submitted by Ramon Garcia. 2009-05-26 01:31:40 +00:00
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 * features/loadapi (test_expand): Allocate memory for the nul byte. 2013-11-24 04:08:30 -05:00
mult_rules Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines. 2012-03-04 00:24:20 +00:00
mult_targets * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
order_only Make second expansion optional (partial implementation). 2005-10-24 13:01:39 +00:00
output-sync Preserve the real value of -jN in MAKEFLAGS using jobserver. 2016-04-04 01:38:37 -04:00
override - Modify access of config and gnulib Savannah modules to use GIT 2009-06-04 06:30:27 +00:00
parallelism * job.c (child_error): Combine file info with error message. 2016-03-20 14:23:22 -04:00
patspecific_vars [SV 39709] Fix some typos. 2013-10-09 01:53:55 -04:00
patternrules * job.c (child_error): Combine file info with error message. 2016-03-20 14:23:22 -04:00
quoting * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
recursion Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines. 2012-03-04 00:24:20 +00:00
reinvoke Fix Savannah bug #30723: expand MAKEFLAGS before we re-exec after 2010-08-10 07:35:34 +00:00
rule_glob [Bug #39310] Parse simple pattern prereqs for globbing. 2013-07-22 02:23:02 -04:00
se_explicit Create a target that tests alternative configurations. 2013-09-21 18:10:08 -04:00
se_implicit [SV 31155] Parse order-only tokens in second expansion results. 2013-09-22 17:10:35 -04:00
se_statpat - Rework secondary expansion so we only defer it if there's a possibility 2009-09-24 02:41:44 +00:00
shell_assignment Add new feature: != shell assignment for portability with BSD make. 2011-04-18 01:25:20 +00:00
statipattrules Fixed Savannah bug #16053. 2006-03-17 14:24:20 +00:00
targetvars Check if the target-specific variable is the same as the global 2010-11-30 14:48:52 +00:00
utf8 Ignore UTF-8 BOMs. See Savannah bug #36529. 2012-09-09 21:11:00 +00:00
varnesting Save strings we're expanding in case an embedded eval causes them 2011-08-29 16:20:19 +00:00
vpath Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines. 2012-03-04 00:24:20 +00:00
vpath2 * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
vpath3 [SV 41758]: Fix archive support for VMS. 2014-10-20 01:31:42 -04:00
vpathgpath Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines. 2012-03-04 00:24:20 +00:00
vpathplus * job.c (child_error): Combine file info with error message. 2016-03-20 14:23:22 -04:00