+ -- -gnateP (Treat pragma Pure/Preelaborate errs as warnings)
+
+ when 'P' =>
+ Treat_Categorization_Errors_As_Warnings := True;
+
+ -- -gnates=file (specify extra file switches for gnat2why)
+
+ -- This is an internal switch
+
+ when 's' =>
+ if not First_Switch then
+ Osint.Fail
+ ("-gnates must not be combined with other switches");
+ end if;
+
+ -- Check for '='
+
+ Ptr := Ptr + 1;
+
+ if Ptr >= Max or else Switch_Chars (Ptr) /= '=' then
+ Bad_Switch ("-gnates");
+ else
+ SPARK_Switches_File_Name :=
+ new String'(Switch_Chars (Ptr + 1 .. Max));
+ end if;
+
+ return;
+
+ -- -gnateS (generate SCO information)
+
+ -- Include Source Coverage Obligation information in ALI
+ -- files for use by source coverage analysis tools
+ -- (gnatcov) (equivalent to -fdump-scos, provided for
+ -- backwards compatibility).
+
+ when 'S' =>
+ Generate_SCO := True;
+ Generate_SCO_Instance_Table := True;
+ Ptr := Ptr + 1;
+
+ -- -gnatet (write target dependent information)
+
+ when 't' =>
+ if not First_Switch then
+ Osint.Fail
+ ("-gnatet must not be combined with other switches");
+ end if;
+
+ -- Check for '='
+
+ Ptr := Ptr + 1;
+
+ if Ptr >= Max or else Switch_Chars (Ptr) /= '=' then
+ Bad_Switch ("-gnatet");
+ else
+ Target_Dependent_Info_Write_Name :=
+ new String'(Switch_Chars (Ptr + 1 .. Max));
+ end if;
+
+ return;
+
+ -- -gnateT (read target dependent information)
+
+ when 'T' =>
+ if not First_Switch then
+ Osint.Fail
+ ("-gnateT must not be combined with other switches");
+ end if;
+
+ -- Check for '='
+
+ Ptr := Ptr + 1;
+
+ if Ptr >= Max or else Switch_Chars (Ptr) /= '=' then
+ Bad_Switch ("-gnateT");
+ else
+ -- This parameter was stored by Set_Targ earlier
+
+ pragma Assert
+ (Target_Dependent_Info_Read_Name.all =
+ Switch_Chars (Ptr + 1 .. Max));
+ null;
+ end if;
+
+ return;
+
+ -- -gnateu (unrecognized y,V,w switches)
+
+ when 'u' =>
+ Ptr := Ptr + 1;
+ Ignore_Unrecognized_VWY_Switches := True;
+
+ -- -gnateV (validity checks on parameters)
+
+ when 'V' =>
+ Ptr := Ptr + 1;
+ Check_Validity_Of_Parameters := True;
+
+ -- -gnateY (ignore Style_Checks pragmas)
+
+ when 'Y' =>
+ Ignore_Style_Checks_Pragmas := True;
+ Ptr := Ptr + 1;
+
+ -- -gnatez (final delimiter of explicit switches)
+
+ -- This is an internal switch
+
+ -- All switches that come after -gnatez have been added by
+ -- the GCC driver and are not stored in the ALI file. See
+ -- also -gnatea above.
+