Author |
Date |
Commit |
Message |
David Krauss |
2013-07-31 18:12:12 +0800 |
294b53307ee9 |
Extend bypass and apply consistently, except to macro_context due to its reentra |
David Krauss |
2013-07-30 14:06:00 +0800 |
655039e9649b |
Factor out strip_derived_stage. |
David Krauss |
2013-07-30 10:11:26 +0800 |
20be5953b80c |
Remove public base typedef. Simplify finalize. |
David Krauss |
2013-07-29 18:31:16 +0800 |
44037b682a30 |
Use traits more consistently. Simplify stage_base by disallowing iterators as ou |
David Krauss |
2013-07-28 18:55:41 +0800 |
d9ae71695b2b |
Allow passthrough processing by bypass(). Apply to UCNs. |
David Krauss |
2013-07-27 10:44:37 +0800 |
0e77a53a1efc |
Trap missing encoder stage. |
David Krauss |
2013-07-27 10:14:51 +0800 |
7ec841c319d4 |
Remove util::mention workaround. |
David Krauss |
2013-07-26 17:39:31 +0800 |
90c04c7bcce7 |
Raw construct value assignment preserves location. |
David Krauss |
2013-07-26 16:40:32 +0800 |
a3a6c6352345 |
Flush splices before extended char. Flush after multiple punctuators from input |
David Krauss |
2013-07-26 16:10:38 +0800 |
7b46800950bf |
Diagnose multibyte control chars and misrepresented UTF-8. |
David Krauss |
2013-07-26 16:01:49 +0800 |
f4068161bf9b |
Pass code point after multibyte bytes. |
David Krauss |
2013-07-26 15:52:23 +0800 |
752015a578dc |
Same stage encodes and decodes UTF-8. |
David Krauss |
2013-07-26 15:51:30 +0800 |
2050dcd59186 |
Move UCN-specific diagnoses to UCN overload. |
David Krauss |
2013-07-26 14:45:58 +0800 |
234b1a196277 |
UTF-8 decoder stage and generic multibyte interfaces. |
David Krauss |
2013-07-25 13:59:46 +0800 |
06532e265c89 |
Preserve extended characters in raw string spelling. |
David Krauss |
2013-07-25 13:41:56 +0800 |
3b29cbbcea1d |
Replace raw_char with class template raw. |
David Krauss |
2013-07-25 11:13:22 +0800 |
3d8940e14b42 |
Refactor decoding. Eliminate pp_char. Pass trigraph, UCN delimiters. Convert lin |
David Krauss |
2013-07-24 08:17:31 +0800 |
600fbc5154dd |
Rescan to end of file, not TU. |
David Krauss |
2013-07-23 18:37:29 +0800 |
ef63dbf57b34 |
Fix UTF-8 diagnosis. |
David Krauss |
2013-07-23 18:22:46 +0800 |
006e206f9b7e |
Discard space after header-name to preserve following multibyte sequence. |
David Krauss |
2013-07-23 17:32:19 +0800 |
8c8d2e5c78f2 |
Apply UTF-8 decoding and checking consistently with UCN translation. |
David Krauss |
2013-07-23 16:38:27 +0800 |
466b1558bfac |
Lex errors point at offending character. |
David Krauss |
2013-07-23 16:35:15 +0800 |
c876bf10de8a |
Allow form feed. Diagnose vertical tab or form feed not terminating a line comme |
David Krauss |
2013-07-23 14:00:05 +0800 |
2ab786fafaea |
Cleanup macro_filter. |
David Krauss |
2013-07-23 13:04:06 +0800 |
fb0ebbae6871 |
Flush space. |
David Krauss |
2013-07-23 12:52:50 +0800 |
97701736dac6 |
Divide framework.h and clean up dependencies. |
David Krauss |
2013-07-23 10:15:53 +0800 |
e4c7b2bbd56a |
Give names to numbered stages. |
David Krauss |
2013-07-23 09:30:04 +0800 |
81b719e4a50e |
Move string class hook from framework to usage. |
David Krauss |
2013-07-22 19:26:20 +0800 |
05ff1c68b302 |
Remove workarounds and clean up. |
David Krauss |
2013-07-22 15:42:00 +0800 |
c9ce3fa3c747 |
Ignore excess arguments to _Pragma(). |
David Krauss |
2013-07-22 12:07:53 +0800 |
aba44e813160 |
Fix unterminated directive check. |
David Krauss |
2013-07-22 11:48:03 +0800 |
be897f4a4269 |
New space_condenser stage. |
David Krauss |
2013-07-22 10:55:23 +0800 |
892b3e4133d3 |
Preprocessor core does not condense whitespace. |
David Krauss |
2013-07-21 12:36:22 +0800 |
3a6e17b28ca4 |
Fix trailing space stripping from reconstituted header name. |
David Krauss |
2013-07-21 12:35:07 +0800 |
1e16064b6640 |
Refactor space handling. |
David Krauss |
2013-07-21 11:08:48 +0800 |
00ad367ab69b |
Allow multiple newlines per space run. |
David Krauss |
2013-07-21 10:43:38 +0800 |
2c7a409c731e |
insert_macro_definition() preserves space acc. |
David Krauss |
2013-07-21 10:38:12 +0800 |
0ccf0ff2cc4c |
Phase 3 detects directives. |
David Krauss |
2013-07-20 16:01:56 +0800 |
9e66b447aef4 |
Allow space between # and directive name in skipped groups. |
David Krauss |
2013-07-20 12:10:49 +0800 |
c20756077571 |
Remove support for reference_wrapper as an output type. Remove derived_stage int |
David Krauss |
2013-07-20 11:56:09 +0800 |
455dccc6f82c |
Replace directive token type with directive_first_token and pragma constructs. I |
David Krauss |
2013-07-20 11:47:32 +0800 |
614929a4c85f |
Tolerate empty macros. |
David Krauss |
2013-07-19 14:15:10 +0800 |
7b7d002004d2 |
Fix column numbering. |
David Krauss |
2013-07-19 14:14:27 +0800 |
97ebef83cc09 |
Location of directive identifiers. |
David Krauss |
2013-07-19 10:47:25 +0800 |
95b3a23a894a |
Restore GCC-like behavior of defined operator from replacement. |
David Krauss |
2013-07-18 21:25:25 +0800 |
ab52b398b745 |
Macro normalization as tolerant member function. |
David Krauss |
2013-07-18 11:43:14 +0800 |
c34bbef38f0d |
Remove non-member pass() and calls to operator() of other stages. |
David Krauss |
2013-07-12 10:44:39 +0800 |
5583794161d6 |
diagnose is public member. derived_stage provides public interfaces. |
David Krauss |
2013-07-12 08:59:51 +0800 |
fb98ea1a3809 |
Distinguish newline from newline non-escape sequence in raw string spelling. |
David Krauss |
2013-07-12 08:50:09 +0800 |
5e230e717188 |
Refactor macro operator trapping. |
David Krauss |
2013-07-06 13:13:39 +0800 |
b6aaafc1b59a |
No greedy catching. |
David Krauss |
2013-07-05 17:55:48 +0800 |
fe5562b069e9 |
Improve exception catching and routing. |
David Krauss |
2013-07-03 12:36:05 +0800 |
d7b875306550 |
Stale comment. |
David Krauss |
2013-07-03 12:29:55 +0800 |
c3b02c7c7b6a |
Rm vestige of iterator formalism. |
David Krauss |
2013-07-02 13:56:46 +0800 |
69922efe8e39 |
Safety from propagating exceptions in macro engine. Refine diagnostics. |
David Krauss |
2013-07-02 13:23:24 +0800 |
86416c26740b |
Avoid passing after_newline as a token type. |
David Krauss |
2013-07-01 18:04:35 +0800 |
b40c860f5182 |
Finalize entire stack. |
David Krauss |
2013-07-01 18:03:58 +0800 |
26b0314861a9 |
Do not discard dangling directive; process as garbage. |
David Krauss |
2013-07-01 17:01:32 +0800 |
bf8a8d9acdc3 |
Remain in skip state on return from header. |
David Krauss |
2013-07-01 16:39:59 +0800 |
dc4ce476180d |
Safety from propagating exceptions up through preprocessing directives. Refine d |
David Krauss |
2013-07-01 13:18:15 +0800 |
13cb349213ad |
Refactor error polymorphism into error_base. Remove debugging cruft. |
David Krauss |
2013-07-01 14:19:26 +0800 |
e6bdcca320e5 |
Preserve source links of whitespace in macro replacement lists. |
David Krauss |
2013-07-01 13:18:15 +0800 |
dd8aa2a0b1c6 |
Refactor error polymorphism into error_base. Remove debugging cruft. |
David Krauss |
2013-07-01 10:32:12 +0800 |
89478235d3c6 |
Source of a replacement is not a replacement. |
David Krauss |
2013-07-01 10:30:18 +0800 |
8836622d1985 |
Advance_to_source recurses correctly, not to parent. |
David Krauss |
2013-06-28 11:36:35 +0800 |
bdef50a6932f |
Safety from propagating exceptions up through tokenizer. |
David Krauss |
2013-06-28 11:35:16 +0800 |
503715ad0515 |
Add finally() blocks for exception safety between stages. |
David Krauss |
2013-06-27 19:43:44 +0800 |
6ddf9343a32b |
Add diagnose() for error reporting; implement in tokenizer. Adjust throw sites t |
David Krauss |
2013-06-27 10:46:31 +0800 |
dd67f0af89fb |
Rm nonsense. |
David Krauss |
2013-06-27 09:47:36 +0800 |
48ce93ab537f |
Reduce instantiations of phase3 and phase4 to only fast and std::function-based |
David Krauss |
2013-06-27 07:38:49 +0800 |
3ce75dd4cab8 |
Properly handle unsigned literal suffix after long suffix. |
David Krauss |
2013-06-26 18:54:42 +0800 |
2849f0f6d067 |
Alternate whitespace tokens in macro definitions and use normalize_macro_definit |
David Krauss |
2013-06-26 15:12:19 +0800 |
f94d2ba2070f |
Stringize splice whitespace tokens. |
David Krauss |
2013-06-26 14:50:32 +0800 |
40b9171e81ec |
Preserve line splices with whitespace, similarly to GCC. |
David Krauss |
2013-06-26 14:24:50 +0800 |
2084025fdb01 |
Properly check duplicate macro definitions. |
David Krauss |
2013-06-26 12:35:21 +0800 |
d462b650c355 |
Preserve line splices with whitespace, similarly to GCC. |
David Krauss |
2013-06-26 07:17:09 +0800 |
47a4f53f42a7 |
Trap division by zero. |
David Krauss |
2013-06-25 20:27:28 +0800 |
7deb9cf6914c |
Decoder no longer uses tokenizer state. |
David Krauss |
2013-06-25 20:14:51 +0800 |
823e852b4390 |
Clean up main(). |
David Krauss |
2013-06-25 19:49:33 +0800 |
b043309864c8 |
Include pass policy in GCC workaround. |
David Krauss |
2013-06-25 16:01:43 +0800 |
eb1703f7f945 |
Ensure leading whitespace invariant during directive processing. |
David Krauss |
2013-06-25 09:08:56 +0800 |
93274e6d8494 |
Rename factory to pile() as it no longer handles autoconfiguration; change order |
David Krauss |
2013-06-24 18:21:08 +0800 |
8fd1c12b410a |
Finish completely before returning from replace. |
David Krauss |
2013-06-24 14:28:53 +0800 |
804ac51c4aab |
Replace mutable tokenizer configuration state with downstream query. |
David Krauss |
2013-06-24 10:38:49 +0800 |
b006004d51b7 |
Avoid directly constructing stages in macro_context by eliminating call_stack pa |
David Krauss |
2013-06-23 21:25:39 +0800 |
dcab397632ae |
Avoid directly constructing stages. |
David Krauss |
2013-06-23 20:41:32 +0800 |
b8cdddad4e0d |
Mention when source is unavailable. |
David Krauss |
2013-06-23 20:41:07 +0800 |
45775d756dd2 |
Silence -Wall. |
David Krauss |
2013-06-23 20:04:55 +0800 |
b6792407ecea |
phase3_config manages decoding integration |
David Krauss |
2013-06-23 19:28:47 +0800 |
0086841f70bd |
Reduce copying shared_ptrs |
David Krauss |
2013-06-23 12:56:40 +0800 |
a2bfc236f36b |
Add pass policy to member interface. |
David Krauss |
2013-06-23 10:24:57 +0800 |
ad70e677995b |
More uniform pass dispatching; add optional mode. |
David Krauss |
2013-06-22 18:21:56 +0800 |
59b72c9e25bd |
Clean up configuration |
David Krauss |
2013-06-21 17:43:08 +0800 |
97a164362a36 |
Pass to continuation after reference_wrapper. Tidy up. |
David Krauss |
2013-06-21 16:58:32 +0800 |
af18af40c778 |
Fix overflow on combination of trigraph and UCN. Pass source through trigraphs a |
David Krauss |
2013-06-21 12:16:19 +0800 |
339798ef6ea3 |
Use value category to indicate that pass/instantiate should finalize pile. |
David Krauss |
2013-06-21 12:12:17 +0800 |
b9d666453a62 |
Caret alignment
 |
David Krauss |
2013-06-20 14:25:47 +0800 |
353effc47536 |
New construct base for all output objects. Revise instantiation: backtracking fo |
David Krauss |
2013-05-26 10:58:39 +0800 |
2bfbee58d758 |
Merge branch 'strict_VA_ARGS' |
David Krauss |
2013-05-26 10:57:40 +0800 |
e41f3637f136 |
Remove configured_stage_from_functor and boilerplate configuration into derived_ |