Change use of Unchecked_Deallocation (which is obsolete since Ada 95) to
Ada.Unchecked_Deallocation to avoid warnings recently enabled in GNAT.
TN: V209-051
Change-Id: I58f1499218c1f132773892308e3d082f3cc52375
Also kill redundant check for generated code from IDL.
This fixes compilation due to:
warning: unnecessary with of ancestor [-gnatwr]
Change-Id: Iec9f29cdcc033afb4ba3d6f32d8aff7aacec6cfd
More convenient to use from an IDE
[changelog]
* compilers/gnatdist/gnatdist.gpr:
New project file.
* Makefile.in:
Use gnatdist.gpr to build gnatdist.
TN: U504-051
Change-Id: I9353267b4e708ccfd106e86b0c3e30b9336758ca
This makes the test for introductory markers present in the preprocessed
output more robust.
[changelog]
* compilers/iac/lexer.adb (Scan_Preprocessor_Directive): Skip all
markers starting with line #0 in addition to special file names.
TN: U531-008
Change-Id: If5ee372bb662addf1b28054634604696e21ac7c5
Allow partition location to be specified as a relative directory
and resolved at run time relative to the location of the starter.
This allows the starter and partition binaries to be moved around.
RA26-001
- Move handling of annotation applications from lexer to parser:
compilers/iac/lexer.adb
- In procedure Scan_Token (Fatal : Boolean) case-statement decoding
Buffer (Token_Location.Scan), reduce handling of '@' to just assign
T_At to Token, i.e. do not advance the scan location over the
annotation application.
compilers/iac/parser.adb
- New procedure Skip_Annapp_Scan_Token (T : Token_Type := T_Error) is
similar to Scan_Token but skips any annotation applications that may
exist at the scanner's current location.
The optional parameter T is the expected token type.
If left at its default (T_Error), no specific token type is expected.
- New procedure Skip_Annapp_Scan_Token (State : in out Location) is
similar to the above but updates the given scanner state on skipping
annotation applications.
- New function Skip_Annapp_Next_Token return Token_Type is similar to
Next_Token but skip any annotation applications that may exist at the
scanner's current location, advancing the scan location while this is
the case.
- In function P_Attribute_Declaration replace initial Scan_Token call
by Skip_Annapp_Scan_Token.
- In function P_Constant_Expression fix comment in loop `while not
Is_Expression_Completed'.
- In function P_Definition replace initial Scan_Token call by
Skip_Annapp_Scan_Token (State).
- In function P_Identifier replace call to Scan_Token (T_Identifier) by
Skip_Annapp_Scan_Token (T_Identifier).
- In function P_Operation_Declaration replace initial calls to
Scan_Token by calls to Skip_Annapp_Scan_Token (State).
- In function P_Simple_Type_Spec replace initial Next_Token call by
Skip_Annapp_Next_Token.
- In function P_State_Member replace initial Scan_Token call by
Skip_Annapp_Scan_Token (State).
testsuite/idls/annapp01/tin.idl
testsuite/idls/annapp01/test.out
testsuite/idls/MANIFEST
- Start testing annotation applications.
Address review comment at https://github.com/AdaCore/PolyORB/pull/1,
> [...] the part between parentheses in an annotation application is a
> <const_expr>, which may itself contain nested parentheses.
compilers/iac/lexer.adb
- In procedure Scan_Token (Fatal : Boolean) case-statement decoding
Buffer (Token_Location.Scan), at handling of '@' followed by '(',
new counter `Parentheses' keeps track of opening/closing parentheses
to account for embedded parentheses in the loop which skips to the
ending ')' of the annotation application.
compilers/iac/lexer.ads
- In Token_Type add T_At.
compilers/iac/lexer.adb
- In procedure Process, in then-part of `if not Initialized' add call
New_Token (T_At, "@");
- In procedure Scan_Token (Fatal : Boolean) case-statement decoding
Buffer (Token_Location.Scan) add handling of '@':
- If the following token is an identifier then skip the identifier
and whitespace that may follow it; if the following token is '('
then seek ')' and increment Token_Location.Scan to the index after
the ')'. Do not modify the value of Token.
- Otherwise set Token to T_At.
by a customer. This is a convenience for those also using idlj
(idl-to-java), because idlj recognizes that pragma.
Fixes Q621-023
Subversion-branch: /trunk/polyorb
Subversion-revision: 257245
These redundant clauses will be flagged by the compiler in the near
future (PA07-083).
Q725-034
Subversion-branch: /trunk/polyorb
Subversion-revision: 257110