summaryrefslogtreecommitdiff
path: root/gcc/ada/prj-conf.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-01-26 09:56:25 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2010-01-26 09:56:25 +0000
commit31e660741f3dd70cde43f79ea7d670ae193b24f4 (patch)
tree39d4362ce79e1cff512ceb6da7520b7144968011 /gcc/ada/prj-conf.adb
parent295e9e855b1e82196a401d1a81a12ab46f707017 (diff)
downloadgcc-31e660741f3dd70cde43f79ea7d670ae193b24f4.tar.gz
2010-01-26 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Complete documentation on the restrictions for combined options in -gnatxxx switches. Fix typo. 2010-01-26 Arnaud Charlet <charlet@adacore.com> * s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from a controlled operation, abort is already deferred at this point, so we need to use Defer_Abort_Nestable. 2010-01-26 Vincent Celier <celier@adacore.com> * prj-conf.adb (Get_Config_Switches): Check for a default language for a project extending a project with no languages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156237 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/prj-conf.adb')
-rw-r--r--gcc/ada/prj-conf.adb22
1 files changed, 19 insertions, 3 deletions
diff --git a/gcc/ada/prj-conf.adb b/gcc/ada/prj-conf.adb
index 30823a3862d..dfebd9a5d49 100644
--- a/gcc/ada/prj-conf.adb
+++ b/gcc/ada/prj-conf.adb
@@ -516,6 +516,8 @@ package body Prj.Conf is
Count : Natural;
Result : Argument_List_Access;
+ Check_Default : Boolean;
+
begin
Prj_Iter := Project_Tree.Projects;
while Prj_Iter /= null loop
@@ -530,9 +532,23 @@ package body Prj.Conf is
or else Variable.Default
then
-- Languages is not declared. If it is not an extending
- -- project, check for Default_Language
+ -- project, or if it extends a project with no Languages,
+ -- check for Default_Language.
+
+ Check_Default := Prj_Iter.Project.Extends = No_Project;
+
+ if not Check_Default then
+ Variable :=
+ Value_Of
+ (Name_Languages,
+ Prj_Iter.Project.Extends.Decl.Attributes,
+ Project_Tree);
+ Check_Default :=
+ Variable /= Nil_Variable_Value
+ and then Variable.Values = Nil_String;
+ end if;
- if Prj_Iter.Project.Extends = No_Project then
+ if Check_Default then
Variable :=
Value_Of
(Name_Default_Language,
@@ -548,7 +564,7 @@ package body Prj.Conf is
Language_Htable.Set (Lang, Lang);
else
- -- If no language is declared, default to Ada
+ -- If no default language is declared, default to Ada
Language_Htable.Set (Name_Ada, Name_Ada);
end if;