diff options
author | Philippe Gil <gil@adacore.com> | 2019-08-20 09:47:53 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2019-08-20 09:47:53 +0000 |
commit | fdacd614f4162311af0e60a02e6ff6b47ba809a5 (patch) | |
tree | 1e4cf5d3f2c86c45dfa0bf9404ab7255c793747e | |
parent | e1976249a2f4ddf0d98952c2394db9b1e2c634a6 (diff) | |
download | gcc-fdacd614f4162311af0e60a02e6ff6b47ba809a5.zip gcc-fdacd614f4162311af0e60a02e6ff6b47ba809a5.tar.gz gcc-fdacd614f4162311af0e60a02e6ff6b47ba809a5.tar.bz2 |
[Ada] Initialize gnat_argc/gnat_argv only the first time
2019-08-20 Philippe Gil <gil@adacore.com>
gcc/ada/
* bindgen.adb (Gen_Main): Set gnat_argc/gnat_argv to argc/argv
only when still uninitialized.
From-SVN: r274716
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/bindgen.adb | 15 |
2 files changed, 16 insertions, 4 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 91128b4..8485a9c 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2019-08-20 Philippe Gil <gil@adacore.com> + + * bindgen.adb (Gen_Main): Set gnat_argc/gnat_argv to argc/argv + only when still uninitialized. + 2019-08-20 Bob Duff <duff@adacore.com> * libgnat/g-comlin.ads (Exit_From_Command_Line): Fix diff --git a/gcc/ada/bindgen.adb b/gcc/ada/bindgen.adb index 8ea8a6b..153043c 100644 --- a/gcc/ada/bindgen.adb +++ b/gcc/ada/bindgen.adb @@ -1826,18 +1826,25 @@ package body Bindgen is WBI (" begin"); - -- Acquire command line arguments if present on target + -- Acquire command-line arguments if present on target if CodePeer_Mode then null; elsif Command_Line_Args_On_Target then - WBI (" gnat_argc := argc;"); - WBI (" gnat_argv := argv;"); + + -- Initialize gnat_argc/gnat_argv only if not already initialized, + -- to avoid losing the result of any command-line processing done by + -- earlier GNAT run-time initialization. + + WBI (" if gnat_argc = 0 then"); + WBI (" gnat_argc := argc;"); + WBI (" gnat_argv := argv;"); + WBI (" end if;"); WBI (" gnat_envp := envp;"); WBI (""); - -- If configurable run time and no command line args, then nothing needs + -- If configurable run-time and no command-line args, then nothing needs -- to be done since the gnat_argc/argv/envp variables are suppressed in -- this case. |