3 Commits

Author SHA1 Message Date
Thomas Quinot
99f521407c Switch to GPLv3 for KC20-016
Subversion-branch: /trunk/polyorb
Subversion-revision: 183131
2012-01-04 22:41:08 +00:00
Bob Duff
e09a81bfa2 Avoid putting temp files in the Source_File_Map, because on Windows, all
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
2011-10-13 21:45:55 +00:00
Bob Duff
2ca5264556 * MANIFEST:
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
2011-09-24 15:02:07 +00:00