summaryrefslogtreecommitdiffstats
path: root/src/depfile_parser.cc
Commit message (Collapse)AuthorAgeFilesLines
* Reject depfiles that don't contain a : after the target name.Nico Weber2015-03-121-0/+4
| | | | This is a prerequisite for fixing #417.
* Allow paths with '{' '}' in depfilesMaxim Kalaev2014-05-071-3/+4
|
* Accept \r\n line endings in depfiles.Nico Weber2014-05-011-6/+7
| | | | Fixes #752.
* Fix additional range in character class.Nico Weber2013-12-131-29/+42
| | | | | | | | The range was added in 7ab6dcbdb6447861eefafc47fc3e10f3273cede2, but that change only tried to add ! to the character class. Fix by moving '-' to the end of the class. Fixes #694.
* Dollar signs in depfiles are escaped as "$$", not "\$".Nico Weber2013-04-021-30/+47
| | | | | | | See http://llvm.org/PR15642. I checked that gcc does produce depfiles containing "$$" for files with "$" signs in their name (and as of r178540, so does clang). I also checked that .d files that escape dollar signs with "\$" are not read correctly by make.
* allow paths with '!' in depfilesEvan Martin2013-03-301-28/+16
| | | | | See funny paths in https://github.com/google/libcxx/tree/master/test/iterators/stream.iterators/istreambuf.iterator/
* windows: fix size_t<->int conversions in ninja.exeEvan Martin2012-08-101-2/+2
|
* Revert "Make StringPiece data members private."Nico Weber2012-07-281-1/+1
| | | | | | This reverts commit 904c9610fe66c4f4bd63a07d6f057c8603d24394. The commit caused issue #380, this revert fixes it. The revert also makes the test from the previous commit pass.
* Merge pull request #352 from tfarina/string-piece-privateEvan Martin2012-07-271-1/+1
|\ | | | | Make StringPiece data members private.
| * Make StringPiece data members private.Thiago Farina2012-06-301-1/+1
| | | | | | | | Signed-off-by: Thiago Farina <tfarina@chromium.org>
* | dep file parsing: allow '@' and '=' in pathsMaxim Kalaev2012-07-191-14/+22
|/
* allow '(' and ')' in depfile pathsEvan Martin2012-06-121-6/+10
| | | | Fixes issue #327.
* Depfile parser accept tilde.Nicolas Despres2012-03-141-9/+7
|
* Issue #241 - handle depfiles generated by older versions of GCCOleksandr Usov2012-03-121-4/+12
| | | | | | | | | | Older versions of GCC would produce broken depfiles when -MT or -MQ is used gcc43 -MT foo.o -MMD -MF foo.o.d -o foo.o -c foo.c will result in the following depfile foo.o foo.o: <dependencies> Parse multiple outputs unifying duplicates and correctly report errors if they are different.
* minor re2c cleanupsEvan Martin2011-12-291-2/+3
|
* handle nuls more carefully in re2c rulesEvan Martin2011-12-291-22/+29
| | | | | | | | | | - '.' in re2c matches anything except \n, which means it matches \000. Be more careful about which characters we match. - The fallback rule [^] reads ahead another character, which means it can read past the trailing \000. Add a separate rule to match it specifically. This was found by Valgrind.
* de-escape backslashes in depfiles while parsingEvan Martin2011-12-281-80/+113
|
* switch DepfileParser to take a string* to make memory clearerEvan Martin2011-12-271-4/+4
| | | | Add some comments as well.
* fix depfile regex to not match empty stringsEvan Martin2011-12-271-12/+11
| | | | From a patch from Allan Odgaard <github@simplit.com>.
* handle backslashes and isolated colons in depfile parserEvan Martin2011-12-191-33/+27
| | | | | | | | The logic was wrong if the input looked like foo : bar baz with a space before the colon. Test from Frances <frances.buontempo@gmail.com>.
* remove makefile parsing code, use depfile code insteadEvan Martin2011-12-071-10/+22
|
* use re2c to parse depfilesEvan Martin2011-12-071-0/+150