Export to GitHub

c-plus - default

Source Commits


Commits

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_