Bug #1440 Redundant class name confusing hpux compiler
Submitted: 30 Sep 2003 8:12 Modified: 16 Oct 2003 7:20
Reporter: Lenz Grimmer Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S2 (Serious)
Version: OS:
Assigned to: Antony Curtis CPU Architecture:Any

[30 Sep 2003 8:12] Lenz Grimmer
Description:
4.1.1 currently fails to compile with the aCC compiler on HP-UX/ia64
platform:

[SNIP]
./gen_lex_hash > lex_hash.h
source='sql_lex.cc' object='sql_lex.o' libtool=no \
depfile='.deps/sql_lex.Po' tmpdepfile='.deps/sql_lex.TPo' \
depmode=none /bin/sh ../depcomp \
aCC -DMYSQL_SERVER -DDEFAULT_MYSQL_HOME="\"/usr/local/mysql\""
-DDATADIR="\"/usr/local/mysql/data\""
-DSHAREDIR="\"/usr/local/mysql/share/mysql\"" -DHAVE_CONFIG_H -I. -I. -I..
-I../innobase/include -I../include -I../regex -I.     -DDBUG_OFF +DD64
+DSitanium2  -DHPUX11 -DHAVE_BROKEN_PREAD -DDONT_USE_FINITE -D_INCLUDE_LONGLONG
-DNO_FCNTL_NONBLOCK -DDO_NOT_REMOVE_THREAD_WRAPPERS
-DHAVE_BROKEN_PTHREAD_COND_TIMEDWAIT +O2 -c -o sql_lex.o `test -f sql_lex.cc ||
echo './'`sql_lex.cc
Error 422: "item.h", line 324 # 'Item_param' is used as a type, but has not
been defined as a type. Perhaps you meant 'Item_param' as in class Item_param
["item.h", line 311].
      Item_param::Item_param(uint position)
                  ^^^^^^^^^^
Error 19: "item.h", line 324 # Unexpected 'uint'.
      Item_param::Item_param(uint position)
                             ^^^^
Error 24: "item.h", line 325 # ',' expected instead of '{'.
      {
      ^
Error 502: "item.h", line 324 # Attempt to access 'Item_param::<type inserted
by compiler>' is invalid; '<type inserted by compiler>' is not a member of
'Item_param' or any base class.
      Item_param::Item_param(uint position)
                            ^
Error 481: "item.h", line 326 # Data member "int Item_param::name" has an
illegal initializer.
        name= (char*) "?";
        ^^^^
Error 24: "item.h", line 327 # '[' expected instead of '='.
        pos_in_query= position;
                    ^
Error 24: "item.h", line 327 # '(' expected instead of ';'.
        pos_in_query= position;
                              ^
Error 24: "item.h", line 328 # '(' expected instead of ';'.
        item_type= STRING_ITEM;
                              ^
Error 24: "item.h", line 329 # '(' expected instead of ';'.
        item_result_type = STRING_RESULT;
                                        ^
Error 24: "item.h", line 330 # '(' expected instead of ';'.
        item_is_time= false;
                           ^
Error 21: "item.h", line 329 # ')' expected before '=' to close scope.
        item_result_type = STRING_RESULT;
                         ^
Error 21: "item.h", line 329 # ')' expected before '(' to close scope.
        item_result_type = STRING_RESULT;
                                        ^
Error 699: "item.h", line 329 # Error limit reached; halting compilation.
        item_result_type = STRING_RESULT;
                                        ^
gmake[4]: *** [sql_lex.o] Error 2
gmake[4]: Leaving directory

How to repeat:
Compile the current 4.1 tree on hpux-11.22 (ia64)
[16 Oct 2003 1:35] Antony Curtis
# This is a BitKeeper patch.  What follows are the unified diffs for the 
# set of deltas contained in the patch.  The rest of the patch, the part 
# that BitKeeper cares about, is below these diffs. 
# User: acurtis 
# Host: pcgem.rdg.cyberkinetica.com 
# Root: /usr/home/acurtis/work/wl1440 
 
--- 1.92/sql/item.h     Mon Oct  6 18:52:41 2003 
+++ 1.93/sql/item.h     Wed Oct 15 22:28:12 2003 
@@ -322,7 +322,7 @@ 
   bool long_data_supplied; 
   uint pos_in_query; 
  
-  Item_param::Item_param(uint position) 
+  Item_param(uint position) 
   {  
     name= (char*) "?"; 
     pos_in_query= position; 
 
--- 1.261/BitKeeper/etc/logging_ok      Tue Oct  7 12:09:30 2003 
+++ 1.262/BitKeeper/etc/logging_ok      Wed Oct 15 22:28:53 2003 
@@ -5,6 +5,7 @@ 
 Miguel@light.local 
 Sinisa@sinisa.nasamreza.org 
 WAX@sergbook.mysql.com 
+acurtis@pcgem.rdg.cyberkinetica.com 
 administrador@light.hegel.local 
 ahlentz@co3064164-a.rochd1.qld.optusnet.com.au 
 akishkin@work.mysql.com
[16 Oct 2003 7:01] Lenz Grimmer
Antony, thanks for the patch - please push it into 4.1 ASAP (Serg approved it)
[16 Oct 2003 7:20] Lenz Grimmer
Thank you for your bug report. This issue has been committed to our
source repository of that product and will be incorporated into the
next release.

If necessary, you can access the source repository and build the latest
available version, including the bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html