the
temp files have the same name, and that causes duplicates, which cause
Insert
to crash.
KA13-016
Subversion-branch: /trunk/polyorb
Subversion-revision: 180076
Add Source_Input package.
* compilers/common_files/locations.adb:
Add assertion.
* compilers/common_files/namet.adb:
Fix bug: Hash function was crashing on the empty string.
Add a new Hash function for type Name_Id, so we can instantiate
Containers.Mapping packages with Key => Name_Id.
* compilers/common_files/namet.ads:
New Hash function.
* compilers/common_files/output.ads:
Add assertion.
* compilers/iac/backend-be_corba_ada-generator.adb:
Don't require comments to avoid spaces at beginning and end (it appears
to
already work).
* compilers/iac/backend-be_corba_ada-idl_to_ada.adb:
* compilers/iac/backend-be_corba_ada-idl_to_ada.ads:
Pass through Include_Source flag.
* compilers/iac/backend-be_corba_ada-nutils.ads:
* compilers/iac/backend-be_corba_ada-nutils.adb:
(Make_Comment_Header): Include the IDL source code at the top of the
Stubs
package spec. The IDL is not (yet) interspersed with the Ada.
(New_Node): Attach a source location to nodes of the Stubs package.
Previously,
almost all of the nodes had No_Location. This is to support the
interspersal.
Misc cleanup.
* compilers/iac/backend-be_corba_ada-stubs.adb:
Set Current_Loc, so New_Node can know the source location. It's a shame
to use
a global variable here, but it seems better than changing huge numbers
of calls
to node-creation routines to pass it as a parameter.
Pass Include_Source => True to enable inclusion in the Stubs package
spec;
all other package specs and bodies default to False.
* compilers/iac/iac.adb:
Use new Source_Input package, and new interface to Lexer.
* compilers/iac/lexer.ads:
* compilers/iac/lexer.adb:
Use new Source_Input package, which requires changing the interface to
Preprocess and Process.
Do not repeatedly re-read files.
* compilers/iac/mknodes.adb:
Use new Source_Input package. Use Open_Source to open the file.
* compilers/iac/parser.adb:
Use new interface to Lexer.
* compilers/iac/source_input.ads:
* compilers/iac/source_input.adb:
New package to support interspersed source.
Also allows for some cleanup in the lexer and elsewhere.
Fixes IA01-037.
Subversion-branch: /trunk/polyorb
Subversion-revision: 179194