summaryrefslogtreecommitdiff
path: root/ortho/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'ortho/llvm')
-rw-r--r--ortho/llvm/Makefile6
-rw-r--r--ortho/llvm/ortho_llvm.ads5
-rw-r--r--ortho/llvm/ortho_llvm.private.ads3
3 files changed, 11 insertions, 3 deletions
diff --git a/ortho/llvm/Makefile b/ortho/llvm/Makefile
index 2a4d7bd..135dbdf 100644
--- a/ortho/llvm/Makefile
+++ b/ortho/llvm/Makefile
@@ -1,6 +1,6 @@
ortho_srcdir=..
-GNAT_FLAGS=-gnaty3befhkmr -gnata -gnatf -gnatwael
-CC=clang
+GNAT_FLAGS=-gnaty3befhkmr -gnata -gnatf -gnatwael -gnat05
+CXX=clang++ --std=c++11
LLVM_CONFIG=llvm-config
SED=sed
BE=llvm
@@ -13,7 +13,7 @@ $(ortho_exec): $(ortho_srcdir)/llvm/ortho_llvm.ads force llvm-cbindings.o
-largs llvm-cbindings.o `$(LLVM_CONFIG) --ldflags --libs --system-libs` -lc++ #-static
llvm-cbindings.o: $(ortho_srcdir)/llvm/llvm-cbindings.cpp
- $(CC) -c -I`$(LLVM_CONFIG) --includedir --cflags` -g -o $@ $<
+ $(CXX) -c -I`$(LLVM_CONFIG) --includedir --cflags` -g -o $@ $<
clean:
$(RM) -f *.o *.ali ortho_code_main
diff --git a/ortho/llvm/ortho_llvm.ads b/ortho/llvm/ortho_llvm.ads
index 30245b8..206188f 100644
--- a/ortho/llvm/ortho_llvm.ads
+++ b/ortho/llvm/ortho_llvm.ads
@@ -47,6 +47,8 @@ package Ortho_LLVM is
O_Snode_Null : constant O_Snode;
O_Tnode_Null : constant O_Tnode;
+ -- True if the code generated supports nested subprograms.
+ Has_Nested_Subprograms : constant Boolean;
------------------------
-- Type definitions --
@@ -457,6 +459,9 @@ package Ortho_LLVM is
-- End of common part
private
+ -- No support for nested subprograms in LLVM.
+ Has_Nested_Subprograms : constant Boolean := False;
+
use LLVM.Core;
type O_Tnode_Type (<>);
diff --git a/ortho/llvm/ortho_llvm.private.ads b/ortho/llvm/ortho_llvm.private.ads
index 976de00..30b86a4 100644
--- a/ortho/llvm/ortho_llvm.private.ads
+++ b/ortho/llvm/ortho_llvm.private.ads
@@ -27,6 +27,9 @@ package Ortho_LLVM is
procedure Finish_Debug;
private
+ -- No support for nested subprograms in LLVM.
+ Has_Nested_Subprograms : constant Boolean := False;
+
use LLVM.Core;
type O_Tnode_Type (<>);