make/tests/scripts/variables
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
..
automatic - Add a new test suite for LIBPATTERNS 2009-06-07 17:40:06 +00:00
CURDIR * Fix PR/1394. 1999-10-15 07:00:58 +00:00
DEFAULT_GOAL Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines. 2012-03-04 00:24:20 +00:00
define Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines. 2012-03-04 00:24:20 +00:00
flavors Add support for "::=" simple assignment operator. 2012-01-30 00:21:57 +00:00
GNUMAKEFLAGS * GNUMAKEFLAGS: Remove -O so it passes in NO_OUTPUT_SYNC mode. 2013-10-19 12:05:58 -04:00
INCLUDE_DIRS Implemented the .INCLUDE_DIRS special variable. It expands to a list 2005-11-14 15:31:13 +00:00
LIBPATTERNS Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines. 2012-03-04 00:24:20 +00:00
MAKE Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines. 2012-03-04 00:24:20 +00:00
MAKE_RESTARTS [SV 102] Don't show unnecessary include file errors. 2016-04-09 20:06:46 -04:00
MAKECMDGOALS * A few script fixes and updates for 3.78. 1999-09-17 03:15:37 +00:00
MAKEFILES - Fix Savannah bug #13401 2009-06-13 23:10:52 +00:00
MAKEFLAGS Preserve the real value of -jN in MAKEFLAGS using jobserver. 2016-04-04 01:38:37 -04:00
MAKELEVEL Fix for bug #1276: Handle SHELL according to POSIX requirements. 2004-11-28 23:11:23 +00:00
MFILE_LIST * New feature: -L option 2005-02-28 07:48:22 +00:00
negative Fix Savannah bug #106: keep separate track of which variable we are 2006-02-15 23:54:42 +00:00
private cosmetics: fix few innocuous typos 2013-05-05 20:50:37 -04:00
SHELL * job.c (child_error): Combine file info with error message. 2016-03-20 14:23:22 -04:00
special * job.c (child_error): Combine file info with error message. 2016-03-20 14:23:22 -04:00
undefine Implement the new undefine directive. 2009-10-06 06:56:57 +00:00