This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] Speed up parser for handling of aspect specifications


This patch improves the performance of the parser for declarations
ended by a semicolon. Previously an error check for aspect specs
following the semicolon was done inefficiently.

There should be no external effect from this improvement. But the
following test is useful:

     1. pragma Ada_2012;
     2. package AspectSem is
     3.    type R is new Integer;
                                |
        >>> extra ";" ignored

     4.      with Size => 64;
     5. end;

This gives the same output befor and after the patch, but the internal
mechanism for giving that message is entirely different.

Tested on x86_64-pc-linux-gnu, committed on trunk

2011-08-02  Robert Dewar  <dewar@adacore.com>

	* par-ch13.adb (Aspect_Specifications_Present): Always return false on
	semicolon, do not try to see if there are aspects following it.
	* par-ch3.adb (P_Declarative_Items): Better message for unexpected
	aspect spec.

Attachment: difs
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]