aboutsummaryrefslogtreecommitdiff
path: root/src/analyzer.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-03-06 12:30:16 -0800
committerAlon Zakai <alonzakai@gmail.com>2013-03-06 12:30:16 -0800
commit9b16e851b2639b9250bd00f81c1979375fc9455a (patch)
tree9693210990b062ea0eb4c1835e1480d8aefc9bf0 /src/analyzer.js
parent079b348773eb03f2b471467e5280ed387d802002 (diff)
assert on no variable name collisions for #923
Diffstat (limited to 'src/analyzer.js')
-rw-r--r--src/analyzer.js6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/analyzer.js b/src/analyzer.js
index dbbb267d..209e3140 100644
--- a/src/analyzer.js
+++ b/src/analyzer.js
@@ -290,7 +290,7 @@ function analyzer(data, sidePass) {
var elements = getLegalParams([item.value], bits)[0];
var j = 0;
elements.forEach(function(element) {
- var tempVar = '$st$' + i + '$' + j;
+ var tempVar = '$st$' + (tempId++) + '$' + j;
toAdd.push({
intertype: 'getelementptr',
assignTo: tempVar,
@@ -401,7 +401,7 @@ function analyzer(data, sidePass) {
var j = 0;
var toAdd = [];
elements.forEach(function(element) {
- var tempVar = '$st$' + i + '$' + j;
+ var tempVar = '$ld$' + (tempId++) + '$' + j;
toAdd.push({
intertype: 'getelementptr',
assignTo: tempVar,
@@ -952,6 +952,7 @@ function analyzer(data, sidePass) {
// Function parameters
func.params.forEach(function(param) {
if (param.intertype !== 'varargs') {
+ if (func.variables[param.ident]) warn('cannot have duplicate variable names: ' + param.ident); // toNiceIdent collisions?
func.variables[param.ident] = {
ident: param.ident,
type: param.type,
@@ -965,6 +966,7 @@ function analyzer(data, sidePass) {
// Normal variables
func.lines.forEach(function(item, i) {
if (item.assignTo) {
+ if (func.variables[item.assignTo]) warn('cannot have duplicate variable names: ' + item.assignTo); // toNiceIdent collisions?
var variable = func.variables[item.assignTo] = {
ident: item.assignTo,
type: item.type,