diff dmd/mars.c @ 1587:def7a1d494fd

Merge DMD 1.051
author Christian Kamm <kamm incasoftware de>
date Fri, 06 Nov 2009 23:58:01 +0100
parents dd5dbe7b3923
children a413ae7329bf
line wrap: on
line diff
--- a/dmd/mars.c	Fri Nov 06 21:51:41 2009 +0100
+++ b/dmd/mars.c	Fri Nov 06 23:58:01 2009 +0100
@@ -32,6 +32,7 @@
 #include "cond.h"
 #include "expression.h"
 #include "lexer.h"
+#include "json.h"
 
 #include "gen/revisions.h"
 
@@ -44,6 +45,7 @@
     hdr_ext  = "di";
     doc_ext  = "html";
     ddoc_ext = "ddoc";
+    json_ext = "json";
 
 // LDC
     ll_ext  = "ll";
@@ -56,7 +58,7 @@
 
     copyright = "Copyright (c) 1999-2009 by Digital Mars and Tomas Lindquist Olsen";
     written = "written by Walter Bright and Tomas Lindquist Olsen";
-    version = "v1.045";
+    version = "v1.051";
     ldc_version = LDC_REV;
     llvm_version = LLVM_REV_STR;
     global.structalign = 8;
@@ -90,6 +92,11 @@
     this->filename = mod ? mod->srcfile->toChars() : NULL;
 }
 
+bool Loc::equals(const Loc& loc)
+{
+    return linnum == loc.linnum && FileName::equals(filename, loc.filename);
+}
+
 /**************************************
  * Print error message and exit.
  */
@@ -180,25 +187,20 @@
 
 void getenv_setargv(const char *envvar, int *pargc, char** *pargv)
 {
-    char *env;
     char *p;
-    Array *argv;
-    int argc;
 
-    int wildcard;		// do wildcard expansion
     int instring;
     int slash;
     char c;
-    int j;
 
-    env = getenv(envvar);
+    char *env = getenv(envvar);
     if (!env)
 	return;
 
     env = mem.strdup(env);	// create our own writable copy
 
-    argc = *pargc;
-    argv = new Array();
+    int argc = *pargc;
+    Array *argv = new Array();
     argv->setDim(argc);
 
     int argc_left = 0;
@@ -220,10 +222,10 @@
     argv->push((char*)"");
     argc++;
 
-    j = 1;			// leave argv[0] alone
+    int j = 1;			// leave argv[0] alone
     while (1)
     {
-	wildcard = 1;
+	int wildcard = 1;	// do wildcard expansion
 	switch (*env)
 	{
 	    case ' ':