summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2014-10-30 23:19:01 +0100
committerJose <jose@zeroc.com>2014-10-30 23:19:01 +0100
commit540ca4a7a96a15d5a6c40936e1dc6c943f36bb70 (patch)
treecee4d1d5420d7705d40ca183846fa7943ea24acd /cpp
parentSLES updates for ice.spec (diff)
downloadice-540ca4a7a96a15d5a6c40936e1dc6c943f36bb70.tar.bz2
ice-540ca4a7a96a15d5a6c40936e1dc6c943f36bb70.tar.xz
ice-540ca4a7a96a15d5a6c40936e1dc6c943f36bb70.zip
More lex Scanner fixes
Diffstat (limited to 'cpp')
-rw-r--r--cpp/demo/Freeze/library/Parser.cpp15
-rw-r--r--cpp/demo/Freeze/library/Parser.h8
-rw-r--r--cpp/demo/Freeze/phonebook/Parser.cpp17
-rw-r--r--cpp/demo/Freeze/phonebook/Parser.h8
-rw-r--r--cpp/demo/book/evictor_filesystem/Parser.cpp12
-rw-r--r--cpp/demo/book/evictor_filesystem/Parser.h8
-rw-r--r--cpp/demo/book/lifecycle/Parser.cpp17
-rw-r--r--cpp/demo/book/lifecycle/Parser.h8
-rw-r--r--cpp/demo/book/map_filesystem/Parser.cpp17
-rw-r--r--cpp/demo/book/map_filesystem/Parser.h8
-rw-r--r--cpp/src/FreezeScript/Makefile4
-rw-r--r--cpp/src/IceGrid/Parser.cpp19
-rw-r--r--cpp/src/IceGrid/Parser.h8
-rw-r--r--cpp/src/IceStorm/Parser.cpp4
-rw-r--r--cpp/test/Freeze/complex/Parser.cpp17
-rw-r--r--cpp/test/Freeze/complex/Parser.h8
16 files changed, 153 insertions, 25 deletions
diff --git a/cpp/demo/Freeze/library/Parser.cpp b/cpp/demo/Freeze/library/Parser.cpp
index 489be4c21ca..8e72b8798a1 100644
--- a/cpp/demo/Freeze/library/Parser.cpp
+++ b/cpp/demo/Freeze/library/Parser.cpp
@@ -350,8 +350,21 @@ Parser::shutdown()
}
}
+//
+// With older flex version <= 2.5.35 YY_INPUT second
+// paramenter is of type int&, in newer versions it
+// changes to size_t&
+//
+void
+Parser::getInput(char* buf, int& result, size_t maxSize)
+{
+ size_t r = static_cast<size_t>(result);
+ getInput(buf, r, maxSize);
+ result = static_cast<int>(r);
+}
+
void
-Parser::getInput(char* buf, int& result, int maxSize)
+Parser::getInput(char* buf, size_t& result, size_t maxSize)
{
#ifdef HAVE_READLINE
diff --git a/cpp/demo/Freeze/library/Parser.h b/cpp/demo/Freeze/library/Parser.h
index 45b1791e583..70566ac8b6a 100644
--- a/cpp/demo/Freeze/library/Parser.h
+++ b/cpp/demo/Freeze/library/Parser.h
@@ -62,7 +62,13 @@ public:
void setEvictorSize(const std::list<std::string>&);
void shutdown();
- void getInput(char*, int&, int);
+ //
+ // With older flex version <= 2.5.35 YY_INPUT second
+ // paramenter is of type int&, in newer versions it
+ // changes to size_t&
+ //
+ void getInput(char*, int&, size_t);
+ void getInput(char*, size_t&, size_t);
void continueLine();
const char* getPrompt();
diff --git a/cpp/demo/Freeze/phonebook/Parser.cpp b/cpp/demo/Freeze/phonebook/Parser.cpp
index 37c71d4f6d4..69071baf30b 100644
--- a/cpp/demo/Freeze/phonebook/Parser.cpp
+++ b/cpp/demo/Freeze/phonebook/Parser.cpp
@@ -329,8 +329,21 @@ Parser::shutdown()
}
}
+//
+// With older flex version <= 2.5.35 YY_INPUT second
+// paramenter is of type int&, in newer versions it
+// changes to size_t&
+//
+void
+Parser::getInput(char* buf, int& result, size_t maxSize)
+{
+ size_t r = static_cast<size_t>(result);
+ getInput(buf, r, maxSize);
+ result = static_cast<int>(r);
+}
+
void
-Parser::getInput(char* buf, int& result, int maxSize)
+Parser::getInput(char* buf, size_t& result, size_t maxSize)
{
#ifdef HAVE_READLINE
@@ -387,7 +400,7 @@ Parser::getInput(char* buf, int& result, int maxSize)
}
}
- result = static_cast<int>(line.length());
+ result = line.length();
if(result > maxSize)
{
error("input line too long");
diff --git a/cpp/demo/Freeze/phonebook/Parser.h b/cpp/demo/Freeze/phonebook/Parser.h
index 3d0fac10f03..136ba785536 100644
--- a/cpp/demo/Freeze/phonebook/Parser.h
+++ b/cpp/demo/Freeze/phonebook/Parser.h
@@ -62,7 +62,13 @@ public:
void setEvictorSize(const std::list<std::string>&);
void shutdown();
- void getInput(char*, int&, int);
+ //
+ // With older flex version <= 2.5.35 YY_INPUT second
+ // paramenter is of type int&, in newer versions it
+ // changes to size_t&
+ //
+ void getInput(char*, int&, size_t);
+ void getInput(char*, size_t&, size_t);
void continueLine();
const char* getPrompt();
diff --git a/cpp/demo/book/evictor_filesystem/Parser.cpp b/cpp/demo/book/evictor_filesystem/Parser.cpp
index b53950fa935..f659413f6ae 100644
--- a/cpp/demo/book/evictor_filesystem/Parser.cpp
+++ b/cpp/demo/book/evictor_filesystem/Parser.cpp
@@ -295,7 +295,15 @@ Parser::destroy(const std::list<string>& names)
}
void
-Parser::getInput(char* buf, int& result, int maxSize)
+Parser::getInput(char* buf, int& result, size_t maxSize)
+{
+ size_t r = static_cast<size_t>(result);
+ getInput(buf, r, maxSize);
+ result = static_cast<int>(r);
+}
+
+void
+Parser::getInput(char* buf, size_t& result, size_t maxSize)
{
#ifdef HAVE_READLINE
@@ -352,7 +360,7 @@ Parser::getInput(char* buf, int& result, int maxSize)
}
}
- result = static_cast<int>(line.length());
+ result = line.length();
if(result > maxSize)
{
error("input line too long");
diff --git a/cpp/demo/book/evictor_filesystem/Parser.h b/cpp/demo/book/evictor_filesystem/Parser.h
index a737a47c4c9..5f5969167b2 100644
--- a/cpp/demo/book/evictor_filesystem/Parser.h
+++ b/cpp/demo/book/evictor_filesystem/Parser.h
@@ -60,7 +60,13 @@ public:
void write(::std::list< ::std::string>&);
void destroy(const ::std::list< ::std::string>&);
- void getInput(char*, int&, int);
+ //
+ // With older flex version <= 2.5.35 YY_INPUT second
+ // paramenter is of type int&, in newer versions it
+ // changes to size_t&
+ //
+ void getInput(char*, int&, size_t);
+ void getInput(char*, size_t&, size_t);
void continueLine();
const char* getPrompt();
diff --git a/cpp/demo/book/lifecycle/Parser.cpp b/cpp/demo/book/lifecycle/Parser.cpp
index b53950fa935..44ab2797d7f 100644
--- a/cpp/demo/book/lifecycle/Parser.cpp
+++ b/cpp/demo/book/lifecycle/Parser.cpp
@@ -294,8 +294,21 @@ Parser::destroy(const std::list<string>& names)
}
}
+//
+// With older flex version <= 2.5.35 YY_INPUT second
+// paramenter is of type int&, in newer versions it
+// changes to size_t&
+//
+void
+Parser::getInput(char* buf, int& result, size_t maxSize)
+{
+ size_t r = static_cast<size_t>(result);
+ getInput(buf, r, maxSize);
+ result = static_cast<int>(r);
+}
+
void
-Parser::getInput(char* buf, int& result, int maxSize)
+Parser::getInput(char* buf, size_t& result, size_t maxSize)
{
#ifdef HAVE_READLINE
@@ -352,7 +365,7 @@ Parser::getInput(char* buf, int& result, int maxSize)
}
}
- result = static_cast<int>(line.length());
+ result = line.length();
if(result > maxSize)
{
error("input line too long");
diff --git a/cpp/demo/book/lifecycle/Parser.h b/cpp/demo/book/lifecycle/Parser.h
index a737a47c4c9..5f5969167b2 100644
--- a/cpp/demo/book/lifecycle/Parser.h
+++ b/cpp/demo/book/lifecycle/Parser.h
@@ -60,7 +60,13 @@ public:
void write(::std::list< ::std::string>&);
void destroy(const ::std::list< ::std::string>&);
- void getInput(char*, int&, int);
+ //
+ // With older flex version <= 2.5.35 YY_INPUT second
+ // paramenter is of type int&, in newer versions it
+ // changes to size_t&
+ //
+ void getInput(char*, int&, size_t);
+ void getInput(char*, size_t&, size_t);
void continueLine();
const char* getPrompt();
diff --git a/cpp/demo/book/map_filesystem/Parser.cpp b/cpp/demo/book/map_filesystem/Parser.cpp
index b53950fa935..44ab2797d7f 100644
--- a/cpp/demo/book/map_filesystem/Parser.cpp
+++ b/cpp/demo/book/map_filesystem/Parser.cpp
@@ -294,8 +294,21 @@ Parser::destroy(const std::list<string>& names)
}
}
+//
+// With older flex version <= 2.5.35 YY_INPUT second
+// paramenter is of type int&, in newer versions it
+// changes to size_t&
+//
+void
+Parser::getInput(char* buf, int& result, size_t maxSize)
+{
+ size_t r = static_cast<size_t>(result);
+ getInput(buf, r, maxSize);
+ result = static_cast<int>(r);
+}
+
void
-Parser::getInput(char* buf, int& result, int maxSize)
+Parser::getInput(char* buf, size_t& result, size_t maxSize)
{
#ifdef HAVE_READLINE
@@ -352,7 +365,7 @@ Parser::getInput(char* buf, int& result, int maxSize)
}
}
- result = static_cast<int>(line.length());
+ result = line.length();
if(result > maxSize)
{
error("input line too long");
diff --git a/cpp/demo/book/map_filesystem/Parser.h b/cpp/demo/book/map_filesystem/Parser.h
index 5e33d299a54..262870b41a6 100644
--- a/cpp/demo/book/map_filesystem/Parser.h
+++ b/cpp/demo/book/map_filesystem/Parser.h
@@ -59,7 +59,13 @@ public:
void write(::std::list< ::std::string>&);
void destroy(const ::std::list< ::std::string>&);
- void getInput(char*, int&, int);
+ //
+ // With older flex version <= 2.5.35 YY_INPUT second
+ // paramenter is of type int&, in newer versions it
+ // changes to size_t&
+ //
+ void getInput(char*, int&, size_t);
+ void getInput(char*, size_t&, size_t);
void continueLine();
const char* getPrompt();
diff --git a/cpp/src/FreezeScript/Makefile b/cpp/src/FreezeScript/Makefile
index 4f04a067797..16c527aec77 100644
--- a/cpp/src/FreezeScript/Makefile
+++ b/cpp/src/FreezeScript/Makefile
@@ -23,7 +23,7 @@ COMMON_OBJS = AssignVisitor.o \
Print.o \
Scanner.o \
Util.o \
- ../FreezeScript/Grammar.o
+ Grammar.o
TRANSFORM_OBJS = TransformAnalyzer.o \
TransformVisitor.o \
@@ -33,7 +33,7 @@ TRANSFORM_OBJS = TransformAnalyzer.o \
DUMP_OBJS = DumpDescriptors.o \
DumpDB.o
-objs = $(COMMON_OBJS) $(TRANSFORM_OBJS) $(DUMP_OBJS)
+OBJS = $(COMMON_OBJS) $(TRANSFORM_OBJS) $(DUMP_OBJS)
HDIR = $(headerdir)/FreezeScript
diff --git a/cpp/src/IceGrid/Parser.cpp b/cpp/src/IceGrid/Parser.cpp
index 7c2e639ba02..3bb210f2eb8 100644
--- a/cpp/src/IceGrid/Parser.cpp
+++ b/cpp/src/IceGrid/Parser.cpp
@@ -2554,8 +2554,21 @@ Parser::showWarranty()
cout << "This command is not implemented." << endl;
}
+//
+// With older flex version <= 2.5.35 YY_INPUT second
+// paramenter is of type int&, in newer versions it
+// changes to size_t&
+//
+void
+Parser::getInput(char* buf, int& result, size_t maxSize)
+{
+ size_t r = static_cast<size_t>(result);
+ getInput(buf, r, maxSize);
+ result = static_cast<int>(r);
+}
+
void
-Parser::getInput(char* buf, int& result, int maxSize)
+Parser::getInput(char* buf, size_t& result, size_t maxSize)
{
if(!_commands.empty())
{
@@ -2565,7 +2578,7 @@ Parser::getInput(char* buf, int& result, int maxSize)
}
else
{
- result = min(maxSize, static_cast<int>(_commands.length()));
+ result = min(maxSize, _commands.length());
strncpy(buf, _commands.c_str(), result);
_commands.erase(0, result);
if(_commands.empty())
@@ -2630,7 +2643,7 @@ Parser::getInput(char* buf, int& result, int maxSize)
}
}
- result = static_cast<int>(line.length());
+ result = line.length();
if(result > maxSize)
{
error("input line too long");
diff --git a/cpp/src/IceGrid/Parser.h b/cpp/src/IceGrid/Parser.h
index bfd08d10438..4b4fe013c7c 100644
--- a/cpp/src/IceGrid/Parser.h
+++ b/cpp/src/IceGrid/Parser.h
@@ -126,7 +126,13 @@ public:
void showCopying();
void showWarranty();
- void getInput(char*, int&, int);
+ //
+ // With older flex version <= 2.5.35 YY_INPUT second
+ // paramenter is of type int&, in newer versions it
+ // changes to size_t&
+ //
+ void getInput(char*, int&, size_t);
+ void getInput(char*, size_t&, size_t);
void continueLine();
const char* getPrompt();
diff --git a/cpp/src/IceStorm/Parser.cpp b/cpp/src/IceStorm/Parser.cpp
index 4a9bb4f7ce4..03ed9352372 100644
--- a/cpp/src/IceStorm/Parser.cpp
+++ b/cpp/src/IceStorm/Parser.cpp
@@ -411,9 +411,9 @@ Parser::showBanner()
void
Parser::getInput(char* buf, int& result, size_t maxSize)
{
- size_t r = result;
+ size_t r = static_cast<size_t>(result);
getInput(buf, r, maxSize);
- result = r;
+ result = static_cast<int>(r);
}
void
diff --git a/cpp/test/Freeze/complex/Parser.cpp b/cpp/test/Freeze/complex/Parser.cpp
index e71f9a2368c..fd8966c57a9 100644
--- a/cpp/test/Freeze/complex/Parser.cpp
+++ b/cpp/test/Freeze/complex/Parser.cpp
@@ -64,12 +64,25 @@ Parser::error(const std::string& s)
error(s.c_str());
}
+//
+// With older flex version <= 2.5.35 YY_INPUT second
+// paramenter is of type int&, in newer versions it
+// changes to size_t&
+//
+void
+Parser::getInput(char* buf, int& result, size_t maxSize)
+{
+ size_t r = static_cast<size_t>(result);
+ getInput(buf, r, maxSize);
+ result = static_cast<int>(r);
+}
+
void
-Parser::getInput(char* buf, int& result, int maxSize)
+Parser::getInput(char* buf, size_t& result, size_t maxSize)
{
if(!_buf.empty())
{
- result = min(maxSize, static_cast<int>(_buf.length()));
+ result = min(maxSize, _buf.length());
strncpy(buf, _buf.c_str(), result);
_buf.erase(0, result);
}
diff --git a/cpp/test/Freeze/complex/Parser.h b/cpp/test/Freeze/complex/Parser.h
index 4f745d16615..30565151636 100644
--- a/cpp/test/Freeze/complex/Parser.h
+++ b/cpp/test/Freeze/complex/Parser.h
@@ -65,7 +65,13 @@ public:
void error(const char*);
void error(const std::string&);
- void getInput(char*, int&, int);
+ //
+ // With older flex version <= 2.5.35 YY_INPUT second
+ // paramenter is of type int&, in newer versions it
+ // changes to size_t&
+ //
+ void getInput(char*, int&, size_t);
+ void getInput(char*, size_t&, size_t);
void setResult(const Complex::NodePtr&);
private: