History

20100713-2357

forsyth committed 16 years ago

Commit d416ec91 parent 32271861 file · +62 −50Browse files

Unified · Split

utils/cc/sub.c+62−50
@@ -9,7 +9,12 @@ new(int t, Node *l, Node *r) · 8 unmodified lines
9 n->op = t;9 n->op = t;
10 n->left = l;10 n->left = l;
11 n->right = r;11 n->right = r;
12 n->lineno = lineno;12 if(l && t != OGOTO)
13 n->lineno = l->lineno;
14 else if(r)
15 n->lineno = r->lineno;
16 else
17 n->lineno = lineno;
13 newflag = 1;18 newflag = 1;
14 return n;19 return n;
15}20}
@@ -103,7 +108,7 @@ prtree1(Node *n, int d, int f) · 87 unmodified lines
103 print(" %T", n->type);108 print(" %T", n->type);
104 if(n->complex != 0)109 if(n->complex != 0)
105 print(" (%d)", n->complex);110 print(" (%d)", n->complex);
106 print("\n");111 print(" %L\n", n->lineno);
107 if(i & 2)112 if(i & 2)
108 prtree1(n->left, d, 1);113 prtree1(n->left, d, 1);
109 if(i & 1)114 if(i & 1)
@@ -1819,7 +1824,7 @@ urk(char *name, int max, int i) · 1709 unmodified lines
1819void1824void
1820tinit(void)1825tinit(void)
1821{1826{
1822 int i;1827 int *ip;
1823 Init *p;1828 Init *p;
1824 1829
1825 for(p=thashinit; p->code >= 0; p++) {1830 for(p=thashinit; p->code >= 0; p++) {
@@ -1850,66 +1855,66 @@ tinit(void) · 24 unmodified lines
1850 urk("onames", nelem(onames), p->code);1855 urk("onames", nelem(onames), p->code);
1851 onames[p->code] = p->s;1856 onames[p->code] = p->s;
1852 }1857 }
1853 for(i=0; typeiinit[i] >= 0; i++) {1858 for(ip=typeiinit; *ip>=0; ip++) {
1854 urk("typei", nelem(typei), typeiinit[i]);1859 urk("typei", nelem(typei), *ip);
1855 typei[typeiinit[i]] = 1;1860 typei[*ip] = 1;
1856 }1861 }
1857 for(i=0; typeuinit[i] >= 0; i++) {1862 for(ip=typeuinit; *ip>=0; ip++) {
1858 urk("typeu", nelem(typeu), typeuinit[i]);1863 urk("typeu", nelem(typeu), *ip);
1859 typeu[typeuinit[i]] = 1;1864 typeu[*ip] = 1;
1860 }1865 }
1861 for(i=0; typesuvinit[i] >= 0; i++) {1866 for(ip=typesuvinit; *ip>=0; ip++) {
1862 urk("typesuv", nelem(typesuv), typesuvinit[i]);1867 urk("typesuv", nelem(typesuv), *ip);
1863 typesuv[typesuvinit[i]] = 1;1868 typesuv[*ip] = 1;
1864 }1869 }
1865 for(i=0; typeilpinit[i] >= 0; i++) {1870 for(ip=typeilpinit; *ip>=0; ip++) {
1866 urk("typeilp", nelem(typeilp), typeilpinit[i]);1871 urk("typeilp", nelem(typeilp), *ip);
1867 typeilp[typeilpinit[i]] = 1;1872 typeilp[*ip] = 1;
1868 }1873 }
1869 for(i=0; typechlinit[i] >= 0; i++) {1874 for(ip=typechlinit; *ip>=0; ip++) {
1870 urk("typechl", nelem(typechl), typechlinit[i]);1875 urk("typechl", nelem(typechl), *ip);
1871 typechl[typechlinit[i]] = 1;1876 typechl[*ip] = 1;
1872 typechlv[typechlinit[i]] = 1;1877 typechlv[*ip] = 1;
1873 typechlvp[typechlinit[i]] = 1;1878 typechlvp[*ip] = 1;
1874 }1879 }
1875 for(i=0; typechlpinit[i] >= 0; i++) {1880 for(ip=typechlpinit; *ip>=0; ip++) {
1876 urk("typechlp", nelem(typechlp), typechlpinit[i]);1881 urk("typechlp", nelem(typechlp), *ip);
1877 typechlp[typechlpinit[i]] = 1;1882 typechlp[*ip] = 1;
1878 typechlvp[typechlinit[i]] = 1;1883 typechlvp[*ip] = 1;
1879 }1884 }
1880 for(i=0; typechlpfdinit[i] >= 0; i++) {1885 for(ip=typechlpfdinit; *ip>=0; ip++) {
1881 urk("typechlpfd", nelem(typechlpfd), typechlpfdinit[i]);1886 urk("typechlpfd", nelem(typechlpfd), *ip);
1882 typechlpfd[typechlpfdinit[i]] = 1;1887 typechlpfd[*ip] = 1;
1883 }1888 }
1884 for(i=0; typecinit[i] >= 0; i++) {1889 for(ip=typecinit; *ip>=0; ip++) {
1885 urk("typec", nelem(typec), typecinit[i]);1890 urk("typec", nelem(typec), *ip);
1886 typec[typecinit[i]] = 1;1891 typec[*ip] = 1;
1887 }1892 }
1888 for(i=0; typehinit[i] >= 0; i++) {1893 for(ip=typehinit; *ip>=0; ip++) {
1889 urk("typeh", nelem(typeh), typehinit[i]);1894 urk("typeh", nelem(typeh), *ip);
1890 typeh[typehinit[i]] = 1;1895 typeh[*ip] = 1;
1891 }1896 }
1892 for(i=0; typeilinit[i] >= 0; i++) {1897 for(ip=typeilinit; *ip>=0; ip++) {
1893 urk("typeil", nelem(typeil), typeilinit[i]);1898 urk("typeil", nelem(typeil), *ip);
1894 typeil[typeilinit[i]] = 1;1899 typeil[*ip] = 1;
1895 }1900 }
1896 for(i=0; typevinit[i] >= 0; i++) {1901 for(ip=typevinit; *ip>=0; ip++) {
1897 urk("typev", nelem(typev), typevinit[i]);1902 urk("typev", nelem(typev), *ip);
1898 typev[typevinit[i]] = 1;1903 typev[*ip] = 1;
1899 typechlv[typevinit[i]] = 1;1904 typechlv[*ip] = 1;
1900 typechlvp[typechlinit[i]] = 1;1905 typechlvp[*ip] = 1;
1901 }1906 }
1902 for(i=0; typefdinit[i] >= 0; i++) {1907 for(ip=typefdinit; *ip>=0; ip++) {
1903 urk("typefd", nelem(typefd), typefdinit[i]);1908 urk("typefd", nelem(typefd), *ip);
1904 typefd[typefdinit[i]] = 1;1909 typefd[*ip] = 1;
1905 }1910 }
1906 for(i=0; typeafinit[i] >= 0; i++) {1911 for(ip=typeafinit; *ip>=0; ip++) {
1907 urk("typeaf", nelem(typeaf), typeafinit[i]);1912 urk("typeaf", nelem(typeaf), *ip);
1908 typeaf[typeafinit[i]] = 1;1913 typeaf[*ip] = 1;
1909 }1914 }
1910 for(i=0; typesuinit[i] >= 0; i++) {1915 for(ip=typesuinit; *ip >= 0; ip++) {
1911 urk("typesu", nelem(typesu), typesuinit[i]);1916 urk("typesu", nelem(typesu), *ip);
1912 typesu[typesuinit[i]] = 1;1917 typesu[*ip] = 1;
1913 }1918 }
1914 for(p=tasigninit; p->code >= 0; p++) {1919 for(p=tasigninit; p->code >= 0; p++) {
1915 urk("tasign", nelem(tasign), p->code);1920 urk("tasign", nelem(tasign), p->code);
@@ -1943,8 +1948,15 @@ tinit(void) · 27 unmodified lines
1943 urk("trel", nelem(trel), p->code);1948 urk("trel", nelem(trel), p->code);
1944 trel[p->code] = p->value;1949 trel[p->code] = p->value;
1945 }1950 }
1951
1952 /* 32-bit defaults */
1953 typeword = typechlp;
1954 typecmplx = typesuv;
1946}1955}
1947 1956
1957/*
1958 * return 1 if it is impossible to jump into the middle of n.
1959 */
1948static int1960static int
1949deadhead(Node *n, int caseok)1961deadhead(Node *n, int caseok)
1950{1962{