[PATCH] C++'ization of cp/parser.c/h

Aaron Gray aaronngray.lists@gmail.com
Thu Aug 30 01:01:00 GMT 2012


Patch to SVN HEAD that initially C++'izes cp/parser.h and cp/parser.c
by class'izing the cp_lexer and cp_parser group of functions.

For C programmers and for context all method calls are preceded by
'this->' and static method calls by 'cp_parser::' or 'cp_lexer::'.

I have made minimal non orthogonal changes to the code on purpose at
this stage. This is still a work in progress and I am not sure about
how to go about preparing a change log for this patch.

There are a number of loose ends :-

  - struct's are used rather than classes for now as the whole file
gives encapsulation for now.
  - const's need to be applied
  - cp_parser_context_free_list is still static and not a member of
cp_parser yet. This also needs a gengtype change to support
GTY((deletable)) as a node and not just on gcroots.
  - cp_token functions have not been class'ized yet.
  - cp_debug functions are still in global space
  - cp_unevaluated_opreand is still in global space
  - cp_lexer::get_preprocessor_token() needs rationalizing
  - there are still #define's associated with VEC operations that
should be moved to inline methods
  - constructors and new methods are still functions as PCH call
ordering conflicts with them, this also allows keeping code changes
parallel and recording incremental changes in the code.
  - no_parameters has been left in but is not used

--
Aaron
-------------- next part --------------
A non-text attachment was scrubbed...
Name: parser.tar.bz2
Type: application/x-bzip2
Size: 244693 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20120830/08cbd4ea/attachment.bz2>


More information about the Gcc-patches mailing list