[pkg-d-commits] [ldc] 07/95: Add new switch -dip1000

Matthias Klumpp mak at moszumanska.debian.org
Thu Jul 13 20:53:55 UTC 2017


This is an automated email from the git hooks/post-receive script.

mak pushed a commit to annotated tag v1.3.0-beta1
in repository ldc.

commit 8648b9305a8f11cadaf5beecf102f48f6cea0648
Author: Martin <noone at nowhere.com>
Date:   Sat Feb 18 22:59:29 2017 +0100

    Add new switch -dip1000
---
 driver/cl_options.cpp | 4 ++++
 driver/cl_options.h   | 6 +-----
 driver/ldmd.cpp       | 2 ++
 driver/main.cpp       | 9 +++++----
 4 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/driver/cl_options.cpp b/driver/cl_options.cpp
index b5e8210..44411ba 100644
--- a/driver/cl_options.cpp
+++ b/driver/cl_options.cpp
@@ -455,6 +455,10 @@ cl::opt<bool, true>
              cl::desc("Implement http://wiki.dlang.org/DIP25 (experimental)"),
              cl::location(global.params.useDIP25));
 
+cl::opt<bool> useDIP1000(
+    "dip1000", cl::ZeroOrMore,
+    cl::desc("Implement http://wiki.dlang.org/DIP1000 (experimental)"));
+
 cl::opt<bool, true> betterC(
     "betterC", cl::ZeroOrMore,
     cl::desc("Omit generating some runtime information and helper functions"),
diff --git a/driver/cl_options.h b/driver/cl_options.h
index bdb54c6..78fad88 100644
--- a/driver/cl_options.h
+++ b/driver/cl_options.h
@@ -45,7 +45,7 @@ extern llvm::SmallVector<const char *, 32> allArguments;
 extern cl::list<std::string> fileList;
 extern cl::list<std::string> runargs;
 extern cl::opt<bool> compileOnly;
-extern cl::opt<bool, true> enforcePropertySyntax;
+extern cl::opt<bool> useDIP1000;
 extern cl::opt<bool> noAsm;
 extern cl::opt<bool> dontWriteObj;
 extern cl::opt<std::string> objectFile;
@@ -55,7 +55,6 @@ extern cl::opt<bool> output_bc;
 extern cl::opt<bool> output_ll;
 extern cl::opt<bool> output_s;
 extern cl::opt<cl::boolOrDefault> output_o;
-extern cl::opt<bool, true> disableRedZone;
 extern cl::opt<std::string> ddocDir;
 extern cl::opt<std::string> ddocFile;
 extern cl::opt<std::string> jsonFile;
@@ -80,7 +79,6 @@ extern cl::opt<llvm::Reloc::Model> mRelocModel;
 extern cl::opt<llvm::CodeModel::Model> mCodeModel;
 extern cl::opt<bool> disableFpElim;
 extern cl::opt<FloatABI::Type> mFloatABI;
-extern cl::opt<bool, true> singleObj;
 extern cl::opt<bool> linkonceTemplates;
 extern cl::opt<bool> disableLinkerStripDead;
 
@@ -92,8 +90,6 @@ void setDefaultMathOptions(llvm::TargetMachine &target);
 extern cl::opt<BOUNDSCHECK> boundsCheck;
 extern bool nonSafeBoundsChecks;
 
-extern cl::opt<unsigned, true> nestedTemplateDepth;
-
 #if LDC_WITH_PGO
 extern cl::opt<std::string> genfileInstrProf;
 extern cl::opt<std::string> usefileInstrProf;
diff --git a/driver/ldmd.cpp b/driver/ldmd.cpp
index 9a72eb6..905a8cb 100644
--- a/driver/ldmd.cpp
+++ b/driver/ldmd.cpp
@@ -182,6 +182,7 @@ Where:\n\
   -deps=<filename> write module dependencies to filename (only imports)\n\
   -fPIC            generate position independent code\n\
   -dip25           implement http://wiki.dlang.org/DIP25 (experimental)\n\
+  -dip1000         implement http://wiki.dlang.org/DIP1000 (experimental)\n\
   -g               add symbolic debug info\n\
   -gc              add symbolic debug info, optimize for non D debuggers\n\
   -gs              always emit stack frame\n"
@@ -473,6 +474,7 @@ void translateArgs(size_t originalArgc, char **originalArgv,
         ldcArgs.push_back("-Hkeep-all-bodies");
       }
       /* -dip25
+       * -dip1000
        */
       else if (strcmp(p + 1, "lib") == 0) {
         ldcArgs.push_back(p);
diff --git a/driver/main.cpp b/driver/main.cpp
index a7a8ac2..b58014a 100644
--- a/driver/main.cpp
+++ b/driver/main.cpp
@@ -187,8 +187,6 @@ void processTransitions(std::vector<std::string> &list) {
              "  =field,3449    list all non-mutable fields which occupy an "
              "object instance\n"
              "  =import,10378  revert to single phase name lookup\n"
-             "  =safe          shows places with hidden change in semantics "
-             "needed for better @safe guarantees\n"
              "  =tls           list all variables going into thread local "
              "storage\n");
       exit(EXIT_SUCCESS);
@@ -206,8 +204,6 @@ void processTransitions(std::vector<std::string> &list) {
       global.params.vfield = true;
     } else if (i == "import" || i == "10378") {
       global.params.bug10378 = true;
-    } else if (i == "safe") {
-      global.params.vsafe = true;
     } else if (i == "tls") {
       global.params.vtls = true;
     } else {
@@ -445,6 +441,11 @@ void parseCommandLine(int argc, char **argv, Strings &sourceFiles,
 
   processTransitions(transitions);
 
+  if (useDIP1000) {
+    global.params.useDIP25 = true;
+    global.params.vsafe = true;
+  }
+
   global.params.output_o =
       (opts::output_o == cl::BOU_UNSET &&
        !(opts::output_bc || opts::output_ll || opts::output_s))

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-d/ldc.git



More information about the pkg-d-commits mailing list