prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
authorVincent Celier <celier@adacore.com>
Thu, 16 Jun 2005 08:44:23 +0000 (10:44 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 16 Jun 2005 08:44:23 +0000 (10:44 +0200)
2005-06-14  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
(Check_Stand_Alone_Library): If the specified reference symbol file does
not exist, only issue a warning when the symbol policy is not
Controlled. And, when symbol policy is Compliant, set the symbol
policy to Autonomous.

From-SVN: r101053

gcc/ada/prj-nmsc.adb

index fcdaf67c25168caf0ed5f23c90b67d08950055d1..8feea85b3c8ae0f402064d8e7fa9069fea49510f 100644 (file)
@@ -2460,10 +2460,33 @@ package body Prj.Nmsc is
                   Get_Name_String (Lib_Ref_Symbol_File.Value))
                then
                   Error_Msg_Name_1 := Lib_Ref_Symbol_File.Value;
-                  Error_Msg
-                    (Project, In_Tree,
-                     "library reference symbol file { does not exist",
-                     Lib_Ref_Symbol_File.Location);
+
+                  --  For controlled symbol policy, it is an error
+                  --  if the reference symbol file does not exist.
+
+                  if Data.Symbol_Data.Symbol_Policy = Controlled then
+                     Error_Msg
+                       (Project, In_Tree,
+                        "library reference symbol file { does not exist",
+                        Lib_Ref_Symbol_File.Location);
+
+                  else
+                     --  For other symbol policies, this is just a warning
+
+                     Error_Msg
+                       (Project, In_Tree,
+                        "?library reference symbol file { does not exist",
+                        Lib_Ref_Symbol_File.Location);
+
+                     --  In addition, if symbol policy is Compliant, it is
+                     --  changed to Autonomous, because there is no reference
+                     --  to check against, and we don't want to fail in this
+                     --  case.
+
+                     if Data.Symbol_Data.Symbol_Policy = Compliant then
+                        Data.Symbol_Data.Symbol_Policy := Autonomous;
+                     end if;
+                  end if;
                end if;
 
             end if;
@@ -5069,7 +5092,7 @@ package body Prj.Nmsc is
                Add_Str_To_Name_Buffer (".c");
 
             when C_Plus_Plus_Language_Index =>
-               Add_Str_To_Name_Buffer (".cc");
+               Add_Str_To_Name_Buffer (".cpp");
 
             when others =>
                return No_Name;