From: Arnaud Charlet Date: Wed, 27 Apr 2016 12:52:02 +0000 (+0200) Subject: [multiple changes] X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c6c8d059421efe3d025483c11c66941a8d1926a4;p=gcc.git [multiple changes] 2016-04-27 Hristian Kirtchev * lib-xref.adb, exp_ch3.adb: Minor reformatting. 2016-04-27 Nicolas Roche * rtinit.c: Add weak symbol __gnat_do_argv_expansion. From-SVN: r235496 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 62f41b7c932..49106b90e1c 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,11 @@ +2016-04-27 Hristian Kirtchev + + * lib-xref.adb, exp_ch3.adb: Minor reformatting. + +2016-04-27 Nicolas Roche + + * rtinit.c: Add weak symbol __gnat_do_argv_expansion. + 2016-04-27 Hristian Kirtchev * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): Code diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb index 05f8a6c5105..f0213ff7480 100644 --- a/gcc/ada/exp_ch3.adb +++ b/gcc/ada/exp_ch3.adb @@ -6351,7 +6351,7 @@ package body Exp_Ch3 is -- would otherwise make two copies. The RM allows removing redunant -- Adjust/Finalize calls, but does not allow insertion of extra ones. - -- This part is disabled for now, because it breaks GPS builds. + -- This part is disabled for now, because it breaks GPS builds return (False -- ??? and then Nkind (Expr_Q) = N_Explicit_Dereference diff --git a/gcc/ada/lib-xref.adb b/gcc/ada/lib-xref.adb index c3039cd7a8b..3b489e521c6 100644 --- a/gcc/ada/lib-xref.adb +++ b/gcc/ada/lib-xref.adb @@ -1478,10 +1478,10 @@ package body Lib.Xref is begin if Nkind (Decl) = N_Object_Declaration and then Is_Entity_Name - (Original_Node ((Object_Definition (Decl)))) + (Original_Node (Object_Definition (Decl))) then Tref := - Entity ((Original_Node ((Object_Definition (Decl))))); + Entity (Original_Node (Object_Definition (Decl))); end if; end; end if; diff --git a/gcc/ada/rtinit.c b/gcc/ada/rtinit.c index 97582db3a0f..dcd0903db5d 100644 --- a/gcc/ada/rtinit.c +++ b/gcc/ada/rtinit.c @@ -6,7 +6,7 @@ * * * C Implementation File * * * - * Copyright (C) 2014-2015, Free Software Foundation, Inc. * + * Copyright (C) 2014-2016, Free Software Foundation, Inc. * * * * GNAT is free software; you can redistribute it and/or modify it under * * terms of the GNU General Public License as published by the Free Soft- * @@ -86,6 +86,9 @@ extern HANDLE ProcListEvt; #define EXPAND_ARGV_RATE 128 +int __gnat_do_argv_expansion = 1; +#pragma weak __gnat_do_argv_expansion + static void append_arg (int *index, LPWSTR dir, LPWSTR value, char ***argv, int *last, int quoted) @@ -238,7 +241,7 @@ __gnat_runtime_initialize(int install_handler) quoted = (wargv[k][0] == _T('\'')); /* Check for wildcard expansion if the argument is not quoted. */ - if (!quoted + if (!quoted && __gnat_do_argv_expansion && (_tcsstr (wargv[k], _T("?")) != 0 || _tcsstr (wargv[k], _T("*")) != 0)) { @@ -289,7 +292,8 @@ __gnat_runtime_initialize(int install_handler) /* No wildcard. Store parameter as-is. Remove quote if needed. */ append_arg (&argc_expanded, NULL, wargv[k], - &gnat_argv, &last, quoted); + &gnat_argv, &last, + quoted && __gnat_do_argv_expansion); } }