diff -uNr a/examples/bin/README b/examples/bin/README --- a/examples/bin/README false +++ b/examples/bin/README 86525f2c7086039d79e5bf92869d02934a44716812433ca3a90e18a8d03745785c5ca54fe8c39e681b3b13c00c33a5128884a28c8cbaccbc65d0b401d901ec2e @@ -0,0 +1 @@ +Placeholder. diff -uNr a/examples/constraint/constraint.adb b/examples/constraint/constraint.adb --- a/examples/constraint/constraint.adb false +++ b/examples/constraint/constraint.adb 2df5271a0e78caef0b8281740aeaae60e9e298614951710fd488b7cefc268d151729a682bce66205d310c45a8afb6fa173b1c4e9331fc5ec3cdabdf6663c86eb @@ -0,0 +1,36 @@ +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ +-- You do not have, nor can you ever acquire the right to use, copy or -- +-- distribute this software ; Should you use this software for any purpose, -- +-- or copy and distribute it to anyone or in any manner, you are breaking -- +-- the laws of whatever soi-disant jurisdiction, and you promise to -- +-- continue doing so for the indefinite future. In any case, please -- +-- always : read and understand any software ; verify any PGP signatures -- +-- that you use - for any purpose. -- +-- -- +-- See also http://trilema.com/2015/a-new-software-licensing-paradigm . -- +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ + +with Ada.Text_IO; use Ada.Text_IO; +with Ada.Integer_Text_IO; use Ada.Integer_Text_IO; + +procedure Constraint is + I : Integer := 1; + A : array (1 .. 3) of Integer; +begin + for J in A'Range loop + A(J) := (J + 10) * 20; + end loop; + Put("Loop should end in constaint error."); + New_Line; + loop + Put(I); + New_Line; + Put(A(I)); + I := I + 1; + if I > 10 then + exit; + end if; + end loop; +end Constraint; diff -uNr a/examples/examples.gpr b/examples/examples.gpr --- a/examples/examples.gpr false +++ b/examples/examples.gpr 9bc8a81eaaa6f6ec08db64705e292e55ceb769283eea2b061c4d511d4258552fc71074f85aad48d74e6247ca3525ba16c226564b4500db4486f8c2827aaabac0 @@ -0,0 +1,42 @@ +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ +-- You do not have, nor can you ever acquire the right to use, copy or -- +-- distribute this software ; Should you use this software for any purpose, -- +-- or copy and distribute it to anyone or in any manner, you are breaking -- +-- the laws of whatever soi-disant jurisdiction, and you promise to -- +-- continue doing so for the indefinite future. In any case, please -- +-- always : read and understand any software ; verify any PGP signatures -- +-- that you use - for any purpose. -- +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ + + +project Examples is + + for Object_Dir use "obj"; + + for Languages use ("Ada", "C"); + for Source_Dirs use ("helloworld", "constraint"); + for Exec_Dir use "bin"; + for Main use ("helloworld/hello.adb", "constraint/constraint.adb"); + + + package Compiler is + for Switches ("Ada") + use ("-O2", --"-gnatg", "-gnatyN", + "-fstack-check", + "-fdata-sections", "-ffunction-sections", + "-gnatec=" & Examples'Project_Dir & "restrict.adc"); + end Compiler; + + package Binder is + for Switches ("Ada") + use ("-static","-r"); + end Binder; + + package Linker is + for Switches ("Ada") + use ("-Wl,--gc-sections", "-static"); + end Linker; + +end Examples; diff -uNr a/examples/helloworld/hello.adb b/examples/helloworld/hello.adb --- a/examples/helloworld/hello.adb false +++ b/examples/helloworld/hello.adb 3c606465b1367b36447cf0bf24f04a3536f73672f8b0dc6d32eff171169cf089615a981c841eddac1f3b2dcb44b2b53cfd3b83fac727e82c46cf70eb0f625f10 @@ -0,0 +1,21 @@ +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ +-- You do not have, nor can you ever acquire the right to use, copy or -- +-- distribute this software ; Should you use this software for any purpose, -- +-- or copy and distribute it to anyone or in any manner, you are breaking -- +-- the laws of whatever soi-disant jurisdiction, and you promise to -- +-- continue doing so for the indefinite future. In any case, please -- +-- always : read and understand any software ; verify any PGP signatures -- +-- that you use - for any purpose. -- +-- -- +-- See also http://trilema.com/2015/a-new-software-licensing-paradigm . -- +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ + +with Ada.Text_IO; use Ada.Text_IO; + +procedure Hello is +begin + Put("Hello World"); + New_Line; +end Hello; diff -uNr a/examples/obj/README b/examples/obj/README --- a/examples/obj/README false +++ b/examples/obj/README 86525f2c7086039d79e5bf92869d02934a44716812433ca3a90e18a8d03745785c5ca54fe8c39e681b3b13c00c33a5128884a28c8cbaccbc65d0b401d901ec2e @@ -0,0 +1 @@ +Placeholder. diff -uNr a/examples/restrict.adc b/examples/restrict.adc --- a/examples/restrict.adc false +++ b/examples/restrict.adc fb12cfaf13935bda93c35b6a1f97fabb767c6ac8f9ee02e1726a38cbd86a4f905c0e33a9a640c79770a1b21f36f01e8120d8841752082c5e161f35aa8e1cb1c3 @@ -0,0 +1,85 @@ +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ +-- This file is part of 'Finite Field Arithmetic', aka 'FFA'. -- +-- -- +-- (C) 2017 Stanislav Datskovskiy ( www.loper-os.org ) -- +-- http://wot.deedbot.org/17215D118B7239507FAFED98B98228A001ABFFC7.html -- +-- -- +-- You do not have, nor can you ever acquire the right to use, copy or -- +-- distribute this software ; Should you use this software for any purpose, -- +-- or copy and distribute it to anyone or in any manner, you are breaking -- +-- the laws of whatever soi-disant jurisdiction, and you promise to -- +-- continue doing so for the indefinite future. In any case, please -- +-- always : read and understand any software ; verify any PGP signatures -- +-- that you use - for any purpose. -- +-- -- +-- See also http://trilema.com/2015/a-new-software-licensing-paradigm . -- +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ + +pragma Restrictions(Immediate_Reclamation); +pragma Restrictions(Max_Asynchronous_Select_Nesting => 0); +pragma Restrictions(Max_Protected_Entries => 0); +pragma Restrictions(Max_Select_Alternatives => 0); +pragma Restrictions(Max_Task_Entries => 0); +pragma Restrictions(Max_Tasks => 0); +pragma Restrictions(No_Abort_Statements); +pragma Restrictions(No_Access_Parameter_Allocators); +pragma Restrictions(No_Allocators); +pragma Restrictions(No_Asynchronous_Control); +pragma Restrictions(No_Calendar); +pragma Restrictions(No_Coextensions); +pragma Restrictions(No_Default_Stream_Attributes); +pragma Restrictions(No_Delay); +pragma Restrictions(No_Dispatch); +pragma Restrictions(No_Dispatching_Calls); +pragma Restrictions(No_Dynamic_Attachment); +pragma Restrictions(No_Dynamic_Priorities); +pragma Restrictions(No_Entry_Calls_In_Elaboration_Code); +pragma Restrictions(No_Entry_Queue); +pragma Restrictions(No_Enumeration_Maps); +pragma Restrictions(No_Exception_Propagation); +pragma Restrictions(No_Exception_Registration); +pragma Restrictions(No_Finalization); +pragma Restrictions(No_Fixed_Io); +pragma Restrictions(No_Implementation_Aspect_Specifications); +pragma Restrictions(No_Implementation_Units); +pragma Restrictions(No_Implicit_Aliasing); +pragma Restrictions(No_Implicit_Conditionals); +pragma Restrictions(No_Implicit_Dynamic_Code); +pragma Restrictions(No_Implicit_Heap_Allocations); +pragma Restrictions(No_Implicit_Protected_Object_Allocations); +pragma Restrictions(No_Implicit_Task_Allocations); +pragma Restrictions(No_Initialize_Scalars); +pragma Restrictions(No_Local_Protected_Objects); +pragma Restrictions(No_Local_Timing_Events); +pragma Restrictions(No_Multiple_Elaboration); +pragma Restrictions(No_Nested_Finalization); +pragma Restrictions(No_Protected_Type_Allocators); +pragma Restrictions(No_Protected_Types); +pragma Restrictions(No_Relative_Delay); +pragma Restrictions(No_Requeue_Statements); +pragma Restrictions(No_Secondary_Stack); +pragma Restrictions(No_Select_Statements); +pragma Restrictions(No_Specific_Termination_Handlers); +pragma Restrictions(No_Standard_Allocators_After_Elaboration); +pragma Restrictions(No_Stream_Optimizations); +pragma Restrictions(No_Streams); +pragma Restrictions(No_Task_Allocators); +pragma Restrictions(No_Task_At_Interrupt_Priority); +pragma Restrictions(No_Task_Attributes_Package); +pragma Restrictions(No_Task_Hierarchy); +pragma Restrictions(No_Tasking); +pragma Restrictions(No_Task_Termination); +pragma Restrictions(No_Terminate_Alternatives); +pragma Restrictions(No_Unchecked_Access); +pragma Restrictions(No_Unchecked_Deallocation); +pragma Restrictions(No_Wide_Characters); +pragma Restrictions(Pure_Barriers); +pragma Restrictions(Simple_Barriers); +pragma Restrictions(Static_Priorities); +pragma Restrictions(Static_Storage_Size); +pragma Validity_Checks(ALL_CHECKS); +pragma Discard_Names; +pragma Restrictions (No_Enumeration_Maps); +pragma Restrictions (No_Exception_Propagation);