Some "D" files do not correspond to Ada units, and as such present no interest for SPARK cross references. Skip these files, as printing their name may require printing the full name with spaces, which is not handled in the code doing I/O of SPARK cross references.
Tested on x86_64-pc-linux-gnu, committed on trunk 2015-01-07 Johannes Kanig <ka...@adacore.com> * lib-xref-spark_specific.adb (Collect_SPARK_Xrefs): Skip unneeded cross ref files.
Index: lib-xref-spark_specific.adb =================================================================== --- lib-xref-spark_specific.adb (revision 219191) +++ lib-xref-spark_specific.adb (working copy) @@ -889,10 +889,18 @@ D2 := D1; end if; - Add_SPARK_File - (Ubody => Sdep_Table (D1), - Uspec => Sdep_Table (D2), - Dspec => D2); + -- Some files do not correspond to Ada units, and as such present no + -- interest for SPARK cross references. Skip these files, as printing + -- their name may require printing the full name with spaces, which + -- is not handled in the code doing I/O of SPARK cross references. + + if Present (Cunit_Entity (Sdep_Table (D1))) then + Add_SPARK_File + (Ubody => Sdep_Table (D1), + Uspec => Sdep_Table (D2), + Dspec => D2); + end if; + D1 := D2 + 1; end loop;