| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Looks like we declared this typedef but never used it.
It seems we just forgot to use it so this patch makes uses of it now.
Otherwise we could just delete it.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
It failed with
error: field has incomplete type 'EvalString'
note: in instantiation of exception specification for 'map' requested here
explicit Rule(const string& name) : name_(name) {}
^
|
|
|
|
|
|
|
|
| |
Ninja didn't support scoping rules through subninja and assumed
a unique rule name in the whole namespace. With this change, this
behavior is changed to allow scoping rules. Two rules can have the
same name if they belong to two different scopes. However, two
rules can NOT have the same name in the same scope.
|
|
|
|
|
| |
Now, a 'build' block can override any special binding like 'command'
or 'description' if it needs to.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
- Delete the old "Tokenizer" code.
- Write separate tests for the lexer distinct from the parser.
- Switch the parser to use the new code.
- New lexer error output has file:line numbers so e.g. Emacs can
jump your editor to the syntax error.
- The EvalEnv ($-interpolation) code is now part of the lexer as well.
|
|
|
|
|
|
|
| |
Fix triggered warnings:
- unused parameter
- type qualifiers ignored on function return type
- missing initializer for member
|
|
|
|
| |
structures had virtual functions but not virtual destructors
|
| |
|
|
|
|
|
| |
E.g. when parsing "foo = ${bar", point at the correct location of
the missing curly brace.
|
| |
|
| |
|
| |
|
| |
|
|
|