Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Jeff Cohen
When diffing the code generated by my version of flex against 
Lexer.cpp.cvs, and excluding the #line directives, I get this:

23,24c23
<  * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 
16:58:48 vern Exp $
<  * $FreeBSD: src/usr.bin/lex/flex.skl,v 1.8 2004/01/06 19:03:44 nectar 
Exp $
---
 >  * $Header: /var/cvs/llvm/llvm/lib/AsmParser/Lexer.cpp.cvs,v 1.22 
2007/01/11 18:21:28 reid Exp $
27,32d25
< #if defined(__FreeBSD__)
< #include 
< #else
< #define __unused
< #endif
<
37a31
 > #include 
51d44
< #include 
162a156,164
 > /* Some routines like yy_flex_realloc() are emitted as static but are
 >not called by all lexers. This generates warnings in some compilers,
 >notably GCC. Arrange to suppress these. */
 > #ifdef __GNUC__
 > #define YY_MAY_BE_UNUSED __attribute__((unused))
 > #else
 > #define YY_MAY_BE_UNUSED
 > #endif
 >
269c271
< static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) 
__unused;
---
 > static inline void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) 
YY_MAY_BE_UNUSED;
1178c1180
<   register char *yy_cp, *yy_bp;
---
 >   register char *yy_cp = NULL, *yy_bp = NULL;
1244,1245c1246
< goto find_rule; /* avoid `defined but not used' warning */
< find_rule: /* we branch to this label when backing up */
---
 >
2396a2398
 > #ifndef YY_NO_INPUT
2470c2472
<
---
 > #endif /* YY_NO_INPUT */
2581,2585d2582
< #ifndef YY_ALWAYS_INTERACTIVE
< #ifndef YY_NEVER_INTERACTIVE
< extern int isatty YY_PROTO(( int ));
< #endif
< #endif

FreeBSD has it's own solution to suppressing the warning:  just throw in 
a gratuitous "goto find_rule".

Looking at this diff, it looks like it may not be a good idea to catch 
the output of flex.  It isn't as platform-independent as we'd like.  
Unfortunately, some platforms don't come with flex as standard 
equipment.  No obvious easy solution.

___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Jeff Cohen
Reid Spencer wrote:
> On Thu, 2007-01-11 at 13:19 -0800, Jeff Cohen wrote:
>   
>> Not that message.  this one:
>>
>> =
>> OK, so I figured I need to update LLVM. Now that doesn't build:
>>
>> llvm[2]: Compiling Lexer.cpp for Debug build
>> Lexer.cpp: In function 'int llvmAsmlex()':
>> Lexer.cpp:1244: error: label 'find_rule' used but not defined
>> gmake[2]: *** [/usr/home/jeffc/llvm/obj/lib/AsmParser/Debug/Lexer.o] Error 1
>> 
>
> That is supposed to be a warning on all systems with our Makefile
> system. What compiler and operating system are you using?
>   
gcc 4.0 / FreeBSD 6.1
> This stems from use of -Wno-unused. Which should produce a warning on
> unused things such as this label.  Do you have local Makefile changes
> that upgrade this from a warning to an error?
>   
Look at the error more closely.  It is not complaining about an unused 
label.  That is a warning.  It is complaining about using an undefined 
label.  I have no local changes.
> Reid.
>
>   
>> I think I'll just go away for a few weeks and wait for the dust to 
>> settle
>>
>> =
>>
>> Reid Spencer wrote:
>> 
>>> Jeff,
>>>
>>> That just can't be .. see below
>>>
>>> On Thu, 2007-01-11 at 12:57 -0800, Jeff Cohen wrote:
>>>   
>>>   
 See my previous message.  I updated, and LLVM no longer builds.

 Reid Spencer wrote:
 
 
> You need to update your LLVM tree. I just committed the BoolTy->Int1Ty
> change and the patch handles that change as well.
>
> Reid.
>
> On Thu, 2007-01-11 at 12:24 -0800, Jeff Cohen wrote:
>   
>   
>   
>> The patch doesn't work:
>>
>> g++40 -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -pedantic
>> -Wno-long-long -Wno-variadic-macros -fno-common -DHAVE_CONFIG_H
>> -Wno-unused -DTARGET_NAME=\"amd64-unknown-freebsd6.1\" -DENABLE_LLVM
>> -D__STDC_LIMIT_MACROS   -I. -I. -I../../gcc -I../../gcc/.
>> -I../../gcc/../include -I../../gcc/../libcpp/include
>> -I/usr/home/jeffc/llvm/include
>> -I/home/jeffc/llvm/obj/include ../../gcc/llvm-debug.cpp -o
>> llvm-debug.o
>> ../../gcc/llvm-types.cpp: In member function 'const llvm::Type*
>> TypeConverter::ConvertType(tree_node*)':
>> ../../gcc/llvm-types.cpp:291: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> 
>> 
>>> Int1Ty is now a member of the Type class. I double checked to make sure
>>> I committed everything. If you're getting this error then you've still
>>> got a Type.h file that is defining BoolTy instead of Int1Ty. For
>>> whatever reason, you're not at TOT for LLVM!
>>>
>>>   
>>>   
>> ../../gcc/llvm-types.cpp: In member function
>> 'void::FunctionTypeConversion::HandleScalarArgument(const
>> llvm::Type*, tree_node*)':
>> ../../gcc/llvm-types.cpp:520: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> 
>> 
>>> Same.
>>>
>>>   
>>>   
>> gmake[1]: *** [llvm-types.o] Error 1
>> gmake[1]: *** Waiting for unfinished jobs
>> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
>> TreeToLLVM::CastToType(unsigned int, llvm::Value*, const
>> llvm::Type*)':
>> ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> 
>> 
>>> Same.
>>>
>>>   
>>>   
>> ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> 
>> 
>>> Same.
>>>
>>>   
>>>   
>> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
>> TreeToLLVM::EmitCOND_EXPR(tree_node*)':
>> ../../gcc/llvm-convert.cpp:1390: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> 
>> 
>>> Same.
>>>
>>>   
>>>   
>> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
>> TreeToLLVM::EmitTRUTH_NOT_EXPR(tree_node*)':
>> ../../gcc/llvm-convert.cpp:2379: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> 
>> 
>>> Same.
>>>
>>>   
>>>   
>> ../../gcc/llvm-convert.cpp: In member function 'LValue
>> TreeToLLVM::EmitLV_COMPONENT_REF(tree_node*)':
>> ../../gcc/llvm-convert.cpp:4041: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> 
>> 
>>> Same.
>>>
>>> If these are all the errors you're getting, then its very clear you are
>>> not at HEAD revision for LLVM.  Check your revision number for
>>> include/llvm/Type.h.  It should be revision 1.98:
>>>
>>> cvs status include/llvm/Type.h
>>> ===
>>> File: Type.hStatus: Up-to-date
>>>
>>>Working revision:1.98
>>>Repository revision: 1.98/var/cvs/llvm/llvm/include/llvm/Type.h,v
>>>Sticky Tag:  (none)
>>>Sticky Date: (none)
>>>Sticky Options:  (none)
>>>
>>>
>>> I know you ca

Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Jeff Cohen
Jeff Cohen wrote:
> Jeff Cohen wrote:
>   
>> Reid Spencer wrote:
>>   
>> 
>>> On Thu, 2007-01-11 at 13:33 -0800, Jeff Cohen wrote:
>>>   
>>> 
>>>   
 Look at the error more closely.  It is not complaining about an unused 
 label.  That is a warning.  It is complaining about using an undefined 
 label.  I have no local changes.
 
   
 
>>> Ah, yes, you're right. This is a result of stripping the label out in
>>> the Makefile. Your version of FLEX must actually us it or a REJECT was
>>> added recently. In any event, I'll fix the makefile in just a second and
>>> it should work for you again. Thanks for being dilligent on this through
>>> my misunderstanding of the situation.
>>>
>>> Reid.
>>>   
>>> 
>>>   
>> I'm using version 2.5.4.  Flex has been stable for ages, so I'm 
>> surprised if everyone isn't using the same version.
>> 
> Also, I was not getting this error until just this past update.  My 
> version of flex definitely did not change.
And it turns out I wasn't running flex anyway.  The build still fails 
because you did not regenerate the *.cvs files.  When I touched the *.l 
files, the problem went away.

___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Jeff Cohen
Jeff Cohen wrote:
> Reid Spencer wrote:
>   
>> On Thu, 2007-01-11 at 13:33 -0800, Jeff Cohen wrote:
>>   
>> 
>>> Look at the error more closely.  It is not complaining about an unused 
>>> label.  That is a warning.  It is complaining about using an undefined 
>>> label.  I have no local changes.
>>> 
>>>   
>> Ah, yes, you're right. This is a result of stripping the label out in
>> the Makefile. Your version of FLEX must actually us it or a REJECT was
>> added recently. In any event, I'll fix the makefile in just a second and
>> it should work for you again. Thanks for being dilligent on this through
>> my misunderstanding of the situation.
>>
>> Reid.
>>   
>> 
> I'm using version 2.5.4.  Flex has been stable for ages, so I'm 
> surprised if everyone isn't using the same version.
Also, I was not getting this error until just this past update.  My 
version of flex definitely did not change.

___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Jeff Cohen
Reid Spencer wrote:
> On Thu, 2007-01-11 at 13:33 -0800, Jeff Cohen wrote:
>   
>> Look at the error more closely.  It is not complaining about an unused 
>> label.  That is a warning.  It is complaining about using an undefined 
>> label.  I have no local changes.
>> 
>
> Ah, yes, you're right. This is a result of stripping the label out in
> the Makefile. Your version of FLEX must actually us it or a REJECT was
> added recently. In any event, I'll fix the makefile in just a second and
> it should work for you again. Thanks for being dilligent on this through
> my misunderstanding of the situation.
>
> Reid.
>   
I'm using version 2.5.4.  Flex has been stable for ages, so I'm 
surprised if everyone isn't using the same version.

___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Reid Spencer
On Thu, 2007-01-11 at 13:33 -0800, Jeff Cohen wrote:
> Reid Spencer wrote:
> > On Thu, 2007-01-11 at 13:19 -0800, Jeff Cohen wrote:
> >   
> >> Not that message.  this one:
> >>
> >> =
> >> OK, so I figured I need to update LLVM. Now that doesn't build:
> >>
> >> llvm[2]: Compiling Lexer.cpp for Debug build
> >> Lexer.cpp: In function 'int llvmAsmlex()':
> >> Lexer.cpp:1244: error: label 'find_rule' used but not defined
> >> gmake[2]: *** [/usr/home/jeffc/llvm/obj/lib/AsmParser/Debug/Lexer.o] Error 
> >> 1
> >> 
> >
> > That is supposed to be a warning on all systems with our Makefile
> > system. What compiler and operating system are you using?
> >   
> gcc 4.0 / FreeBSD 6.1
> > This stems from use of -Wno-unused. Which should produce a warning on
> > unused things such as this label.  Do you have local Makefile changes
> > that upgrade this from a warning to an error?
> >   
> Look at the error more closely.  It is not complaining about an unused 
> label.  That is a warning.  It is complaining about using an undefined 
> label.  I have no local changes.

Ah, yes, you're right. This is a result of stripping the label out in
the Makefile. Your version of FLEX must actually us it or a REJECT was
added recently. In any event, I'll fix the makefile in just a second and
it should work for you again. Thanks for being dilligent on this through
my misunderstanding of the situation.

Reid.

> > Reid.
> >
> >   
> >> I think I'll just go away for a few weeks and wait for the dust to 
> >> settle
> >>
> >> =
> >>
> >> Reid Spencer wrote:
> >> 
> >>> Jeff,
> >>>
> >>> That just can't be .. see below
> >>>
> >>> On Thu, 2007-01-11 at 12:57 -0800, Jeff Cohen wrote:
> >>>   
> >>>   
>  See my previous message.  I updated, and LLVM no longer builds.
> 
>  Reid Spencer wrote:
>  
>  
> > You need to update your LLVM tree. I just committed the BoolTy->Int1Ty
> > change and the patch handles that change as well.
> >
> > Reid.
> >
> > On Thu, 2007-01-11 at 12:24 -0800, Jeff Cohen wrote:
> >   
> >   
> >   
> >> The patch doesn't work:
> >>
> >> g++40 -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -pedantic
> >> -Wno-long-long -Wno-variadic-macros -fno-common -DHAVE_CONFIG_H
> >> -Wno-unused -DTARGET_NAME=\"amd64-unknown-freebsd6.1\" -DENABLE_LLVM
> >> -D__STDC_LIMIT_MACROS   -I. -I. -I../../gcc -I../../gcc/.
> >> -I../../gcc/../include -I../../gcc/../libcpp/include
> >> -I/usr/home/jeffc/llvm/include
> >> -I/home/jeffc/llvm/obj/include ../../gcc/llvm-debug.cpp -o
> >> llvm-debug.o
> >> ../../gcc/llvm-types.cpp: In member function 'const llvm::Type*
> >> TypeConverter::ConvertType(tree_node*)':
> >> ../../gcc/llvm-types.cpp:291: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'
> >> 
> >> 
> >>> Int1Ty is now a member of the Type class. I double checked to make sure
> >>> I committed everything. If you're getting this error then you've still
> >>> got a Type.h file that is defining BoolTy instead of Int1Ty. For
> >>> whatever reason, you're not at TOT for LLVM!
> >>>
> >>>   
> >>>   
> >> ../../gcc/llvm-types.cpp: In member function
> >> 'void::FunctionTypeConversion::HandleScalarArgument(const
> >> llvm::Type*, tree_node*)':
> >> ../../gcc/llvm-types.cpp:520: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'
> >> 
> >> 
> >>> Same.
> >>>
> >>>   
> >>>   
> >> gmake[1]: *** [llvm-types.o] Error 1
> >> gmake[1]: *** Waiting for unfinished jobs
> >> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
> >> TreeToLLVM::CastToType(unsigned int, llvm::Value*, const
> >> llvm::Type*)':
> >> ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'
> >> 
> >> 
> >>> Same.
> >>>
> >>>   
> >>>   
> >> ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'
> >> 
> >> 
> >>> Same.
> >>>
> >>>   
> >>>   
> >> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
> >> TreeToLLVM::EmitCOND_EXPR(tree_node*)':
> >> ../../gcc/llvm-convert.cpp:1390: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'
> >> 
> >> 
> >>> Same.
> >>>
> >>>   
> >>>   
> >> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
> >> TreeToLLVM::EmitTRUTH_NOT_EXPR(tree_node*)':
> >> ../../gcc/llvm-convert.cpp:2379: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'
> >> 
> >> 
> >>> Same.
> >>>
> >>>   
> >>>   
> >> ../../gcc/llvm-convert.cpp: In member function 'LValue
> >> TreeToLLVM::EmitLV_COMPONENT_REF(tree_node*)':
> >> ../../gcc/llvm-convert.cpp:4041: error: 'Int1Ty' is not a member of
> >>

Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Reid Spencer
On Thu, 2007-01-11 at 13:19 -0800, Jeff Cohen wrote:
> Not that message.  this one:
> 
> =
> OK, so I figured I need to update LLVM. Now that doesn't build:
> 
> llvm[2]: Compiling Lexer.cpp for Debug build
> Lexer.cpp: In function 'int llvmAsmlex()':
> Lexer.cpp:1244: error: label 'find_rule' used but not defined
> gmake[2]: *** [/usr/home/jeffc/llvm/obj/lib/AsmParser/Debug/Lexer.o] Error 1

That is supposed to be a warning on all systems with our Makefile
system. What compiler and operating system are you using?

This stems from use of -Wno-unused. Which should produce a warning on
unused things such as this label.  Do you have local Makefile changes
that upgrade this from a warning to an error?

Reid.

> 
> I think I'll just go away for a few weeks and wait for the dust to 
> settle
> 
> =
> 
> Reid Spencer wrote:
> > Jeff,
> >
> > That just can't be .. see below
> >
> > On Thu, 2007-01-11 at 12:57 -0800, Jeff Cohen wrote:
> >   
> >> See my previous message.  I updated, and LLVM no longer builds.
> >>
> >> Reid Spencer wrote:
> >> 
> >>> You need to update your LLVM tree. I just committed the BoolTy->Int1Ty
> >>> change and the patch handles that change as well.
> >>>
> >>> Reid.
> >>>
> >>> On Thu, 2007-01-11 at 12:24 -0800, Jeff Cohen wrote:
> >>>   
> >>>   
>  The patch doesn't work:
> 
>  g++40 -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -pedantic
>  -Wno-long-long -Wno-variadic-macros -fno-common -DHAVE_CONFIG_H
>  -Wno-unused -DTARGET_NAME=\"amd64-unknown-freebsd6.1\" -DENABLE_LLVM
>  -D__STDC_LIMIT_MACROS   -I. -I. -I../../gcc -I../../gcc/.
>  -I../../gcc/../include -I../../gcc/../libcpp/include
>  -I/usr/home/jeffc/llvm/include
>  -I/home/jeffc/llvm/obj/include ../../gcc/llvm-debug.cpp -o
>  llvm-debug.o
>  ../../gcc/llvm-types.cpp: In member function 'const llvm::Type*
>  TypeConverter::ConvertType(tree_node*)':
>  ../../gcc/llvm-types.cpp:291: error: 'Int1Ty' is not a member of
>  'llvm::Type'
>  
> >
> > Int1Ty is now a member of the Type class. I double checked to make sure
> > I committed everything. If you're getting this error then you've still
> > got a Type.h file that is defining BoolTy instead of Int1Ty. For
> > whatever reason, you're not at TOT for LLVM!
> >
> >   
>  ../../gcc/llvm-types.cpp: In member function
>  'void::FunctionTypeConversion::HandleScalarArgument(const
>  llvm::Type*, tree_node*)':
>  ../../gcc/llvm-types.cpp:520: error: 'Int1Ty' is not a member of
>  'llvm::Type'
>  
> >
> > Same.
> >
> >   
>  gmake[1]: *** [llvm-types.o] Error 1
>  gmake[1]: *** Waiting for unfinished jobs
>  ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
>  TreeToLLVM::CastToType(unsigned int, llvm::Value*, const
>  llvm::Type*)':
>  ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
>  'llvm::Type'
>  
> >
> > Same.
> >
> >   
>  ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
>  'llvm::Type'
>  
> >
> > Same.
> >
> >   
>  ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
>  TreeToLLVM::EmitCOND_EXPR(tree_node*)':
>  ../../gcc/llvm-convert.cpp:1390: error: 'Int1Ty' is not a member of
>  'llvm::Type'
>  
> >
> > Same.
> >
> >   
>  ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
>  TreeToLLVM::EmitTRUTH_NOT_EXPR(tree_node*)':
>  ../../gcc/llvm-convert.cpp:2379: error: 'Int1Ty' is not a member of
>  'llvm::Type'
>  
> >
> > Same.
> >
> >   
>  ../../gcc/llvm-convert.cpp: In member function 'LValue
>  TreeToLLVM::EmitLV_COMPONENT_REF(tree_node*)':
>  ../../gcc/llvm-convert.cpp:4041: error: 'Int1Ty' is not a member of
>  'llvm::Type'
>  
> >
> > Same.
> >
> > If these are all the errors you're getting, then its very clear you are
> > not at HEAD revision for LLVM.  Check your revision number for
> > include/llvm/Type.h.  It should be revision 1.98:
> >
> > cvs status include/llvm/Type.h
> > ===
> > File: Type.hStatus: Up-to-date
> >
> >Working revision:1.98
> >Repository revision: 1.98/var/cvs/llvm/llvm/include/llvm/Type.h,v
> >Sticky Tag:  (none)
> >Sticky Date: (none)
> >Sticky Options:  (none)
> >
> >
> > I know you can retrieve this from CVS because I just did it 2 hours ago
> > to merge the BoolTy->Int1Ty changes into another working tree.
> >
> > Reid.
> >
> >   
>  Reid Spencer wrote: 
>  
>  
> > All,
> >
> > Please apply this patch to llvm-gcc r247. It adjusts llvm-gcc for recent
> > changes in LLVM related to the BoolTy.
> >
> > BoolTy->Int1Ty
> > ConstantBool->ConstantInt
> > ConstantIntegral->ConstantInt
> >
> > Reid
> >   
> 

Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Reid Spencer
On Thu, 2007-01-11 at 12:38 -0800, Jeff Cohen wrote:
> OK, so I figured I need to update LLVM.  Now that doesn't build:
> 
> llvm[2]: Compiling Lexer.cpp for Debug build
> Lexer.cpp: In function 'int llvmAsmlex()':
> Lexer.cpp:1244: error: label 'find_rule' used but not defined
> gmake[2]: *** [/usr/home/jeffc/llvm/obj/lib/AsmParser/Debug/Lexer.o] Error 1
> 
> I think I'll just go away for a few weeks and wait for the dust to 
> settle

I just got this email now .. no wonder I was confused.

> 
> Jeff Cohen wrote:
> > The patch doesn't work:
> >
> > g++40 -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -pedantic 
> > -Wno-long-long -Wno-variadic-macros -fno-common -DHAVE_CONFIG_H 
> > -Wno-unused -DTARGET_NAME=\"amd64-unknown-freebsd6.1\" -DENABLE_LLVM 
> > -D__STDC_LIMIT_MACROS   -I. -I. -I../../gcc -I../../gcc/. 
> > -I../../gcc/../include -I../../gcc/../libcpp/include  
> > -I/usr/home/jeffc/llvm/include -I/home/jeffc/llvm/obj/include 
> > ../../gcc/llvm-debug.cpp -o llvm-debug.o
> > ../../gcc/llvm-types.cpp: In member function 'const llvm::Type* 
> > TypeConverter::ConvertType(tree_node*)':
> > ../../gcc/llvm-types.cpp:291: error: 'Int1Ty' is not a member of 
> > 'llvm::Type'
> > ../../gcc/llvm-types.cpp: In member function 
> > 'void::FunctionTypeConversion::HandleScalarArgument(const 
> > llvm::Type*, tree_node*)':
> > ../../gcc/llvm-types.cpp:520: error: 'Int1Ty' is not a member of 
> > 'llvm::Type'
> > gmake[1]: *** [llvm-types.o] Error 1
> > gmake[1]: *** Waiting for unfinished jobs
> > ../../gcc/llvm-convert.cpp: In member function 'llvm::Value* 
> > TreeToLLVM::CastToType(unsigned int, llvm::Value*, const llvm::Type*)':
> > ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of 
> > 'llvm::Type'
> > ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of 
> > 'llvm::Type'
> > ../../gcc/llvm-convert.cpp: In member function 'llvm::Value* 
> > TreeToLLVM::EmitCOND_EXPR(tree_node*)':
> > ../../gcc/llvm-convert.cpp:1390: error: 'Int1Ty' is not a member of 
> > 'llvm::Type'
> > ../../gcc/llvm-convert.cpp: In member function 'llvm::Value* 
> > TreeToLLVM::EmitTRUTH_NOT_EXPR(tree_node*)':
> > ../../gcc/llvm-convert.cpp:2379: error: 'Int1Ty' is not a member of 
> > 'llvm::Type'
> > ../../gcc/llvm-convert.cpp: In member function 'LValue 
> > TreeToLLVM::EmitLV_COMPONENT_REF(tree_node*)':
> > ../../gcc/llvm-convert.cpp:4041: error: 'Int1Ty' is not a member of 
> > 'llvm::Type'
> >
> >
> > Reid Spencer wrote:
> >> All,
> >>
> >> Please apply this patch to llvm-gcc r247. It adjusts llvm-gcc for recent
> >> changes in LLVM related to the BoolTy.
> >>
> >> BoolTy->Int1Ty
> >> ConstantBool->ConstantInt
> >> ConstantIntegral->ConstantInt
> >>
> >> Reid
> >>   
> >> 
> >>
> >> Index: gcc/llvm-backend.cpp
> >> ===
> >> --- gcc/llvm-backend.cpp   (revision 247)
> >> +++ gcc/llvm-backend.cpp   (working copy)
> >> @@ -569,7 +569,7 @@
> >>// If this has already been processed, don't emit duplicate error 
> >> messages.
> >>if (DECL_LLVM_SET_P(decl)) {
> >>  // Error state encoded into DECL_LLVM.
> >> -return cast(DECL_LLVM(decl))->getValue();
> >> +return cast(DECL_LLVM(decl))->getBoolValue();
> >>}
> >>
> >>/* Detect errors in declaring global registers.  */
> >> @@ -593,10 +593,10 @@
> >>  if (TREE_THIS_VOLATILE(decl))
> >>warning("volatile register variables don%'t work as you might 
> >> wish");
> >>  
> >> -SET_DECL_LLVM(decl, ConstantBool::getFalse());
> >> +SET_DECL_LLVM(decl, ConstantInt::getFalse());
> >>  return false;  // Everything ok.
> >>}
> >> -  SET_DECL_LLVM(decl, ConstantBool::getTrue());
> >> +  SET_DECL_LLVM(decl, ConstantInt::getTrue());
> >>return true;
> >>  }
> >>  
> >> Index: gcc/llvm-convert.cpp
> >> ===
> >> --- gcc/llvm-convert.cpp   (revision 247)
> >> +++ gcc/llvm-convert.cpp   (working copy)
> >> @@ -713,7 +713,7 @@
> >>// Handle cast (cast bool X to T2) to bool as X, because this occurs 
> >> all over
> >>// the place.
> >>if (CastInst *CI = dyn_cast(V))
> >> -if (Ty == Type::BoolTy && CI->getOperand(0)->getType() == 
> >> Type::BoolTy)
> >> +if (Ty == Type::Int1Ty && CI->getOperand(0)->getType() == 
> >> Type::Int1Ty)
> >>return CI->getOperand(0);
> >>return CastInst::create(Instruction::CastOps(opcode), V, Ty, 
> >> V->getName(), 
> >>CurBB);
> >> @@ -1384,10 +1384,10 @@
> >>  }
> >>  
> >>  Value *TreeToLLVM::EmitCOND_EXPR(tree exp) {
> >> -  // Emit the conditional expression and trunc/bitcast to BoolTy
> >> +  // Emit the conditional expression and trunc/bitcast to Int1Ty
> >>Value *Cond = Emit(COND_EXPR_COND(exp), 0);
> >>// If its not already a bool, insert a comparison against zero to make 
> >> it so.
> >> -  if (Cond->g

Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Jeff Cohen
Not that message.  this one:

=
OK, so I figured I need to update LLVM. Now that doesn't build:

llvm[2]: Compiling Lexer.cpp for Debug build
Lexer.cpp: In function 'int llvmAsmlex()':
Lexer.cpp:1244: error: label 'find_rule' used but not defined
gmake[2]: *** [/usr/home/jeffc/llvm/obj/lib/AsmParser/Debug/Lexer.o] Error 1

I think I'll just go away for a few weeks and wait for the dust to 
settle

=

Reid Spencer wrote:
> Jeff,
>
> That just can't be .. see below
>
> On Thu, 2007-01-11 at 12:57 -0800, Jeff Cohen wrote:
>   
>> See my previous message.  I updated, and LLVM no longer builds.
>>
>> Reid Spencer wrote:
>> 
>>> You need to update your LLVM tree. I just committed the BoolTy->Int1Ty
>>> change and the patch handles that change as well.
>>>
>>> Reid.
>>>
>>> On Thu, 2007-01-11 at 12:24 -0800, Jeff Cohen wrote:
>>>   
>>>   
 The patch doesn't work:

 g++40 -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -pedantic
 -Wno-long-long -Wno-variadic-macros -fno-common -DHAVE_CONFIG_H
 -Wno-unused -DTARGET_NAME=\"amd64-unknown-freebsd6.1\" -DENABLE_LLVM
 -D__STDC_LIMIT_MACROS   -I. -I. -I../../gcc -I../../gcc/.
 -I../../gcc/../include -I../../gcc/../libcpp/include
 -I/usr/home/jeffc/llvm/include
 -I/home/jeffc/llvm/obj/include ../../gcc/llvm-debug.cpp -o
 llvm-debug.o
 ../../gcc/llvm-types.cpp: In member function 'const llvm::Type*
 TypeConverter::ConvertType(tree_node*)':
 ../../gcc/llvm-types.cpp:291: error: 'Int1Ty' is not a member of
 'llvm::Type'
 
>
> Int1Ty is now a member of the Type class. I double checked to make sure
> I committed everything. If you're getting this error then you've still
> got a Type.h file that is defining BoolTy instead of Int1Ty. For
> whatever reason, you're not at TOT for LLVM!
>
>   
 ../../gcc/llvm-types.cpp: In member function
 'void::FunctionTypeConversion::HandleScalarArgument(const
 llvm::Type*, tree_node*)':
 ../../gcc/llvm-types.cpp:520: error: 'Int1Ty' is not a member of
 'llvm::Type'
 
>
> Same.
>
>   
 gmake[1]: *** [llvm-types.o] Error 1
 gmake[1]: *** Waiting for unfinished jobs
 ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
 TreeToLLVM::CastToType(unsigned int, llvm::Value*, const
 llvm::Type*)':
 ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
 'llvm::Type'
 
>
> Same.
>
>   
 ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
 'llvm::Type'
 
>
> Same.
>
>   
 ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
 TreeToLLVM::EmitCOND_EXPR(tree_node*)':
 ../../gcc/llvm-convert.cpp:1390: error: 'Int1Ty' is not a member of
 'llvm::Type'
 
>
> Same.
>
>   
 ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
 TreeToLLVM::EmitTRUTH_NOT_EXPR(tree_node*)':
 ../../gcc/llvm-convert.cpp:2379: error: 'Int1Ty' is not a member of
 'llvm::Type'
 
>
> Same.
>
>   
 ../../gcc/llvm-convert.cpp: In member function 'LValue
 TreeToLLVM::EmitLV_COMPONENT_REF(tree_node*)':
 ../../gcc/llvm-convert.cpp:4041: error: 'Int1Ty' is not a member of
 'llvm::Type'
 
>
> Same.
>
> If these are all the errors you're getting, then its very clear you are
> not at HEAD revision for LLVM.  Check your revision number for
> include/llvm/Type.h.  It should be revision 1.98:
>
> cvs status include/llvm/Type.h
> ===
> File: Type.hStatus: Up-to-date
>
>Working revision:1.98
>Repository revision: 1.98/var/cvs/llvm/llvm/include/llvm/Type.h,v
>Sticky Tag:  (none)
>Sticky Date: (none)
>Sticky Options:  (none)
>
>
> I know you can retrieve this from CVS because I just did it 2 hours ago
> to merge the BoolTy->Int1Ty changes into another working tree.
>
> Reid.
>
>   
 Reid Spencer wrote: 
 
 
> All,
>
> Please apply this patch to llvm-gcc r247. It adjusts llvm-gcc for recent
> changes in LLVM related to the BoolTy.
>
> BoolTy->Int1Ty
> ConstantBool->ConstantInt
> ConstantIntegral->ConstantInt
>
> Reid
>   
>
> 
>
> Index: gcc/llvm-backend.cpp
> ===
> --- gcc/llvm-backend.cpp  (revision 247)
> +++ gcc/llvm-backend.cpp  (working copy)
> @@ -569,7 +569,7 @@
>// If this has already been processed, don't emit duplicate error 
> messages.
>if (DECL_LLVM_SET_P(decl)) {
>  // Error state encoded into DECL_LLVM.
> -return cast(DECL_LLVM(decl))->getValue();
> +return cast(DECL_LLVM(decl))->getBoolValue();
>}
>
>/* Detect errors in declaring global

Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Reid Spencer
Jeff,

That just can't be .. see below

On Thu, 2007-01-11 at 12:57 -0800, Jeff Cohen wrote:
> See my previous message.  I updated, and LLVM no longer builds.
> 
> Reid Spencer wrote:
> > You need to update your LLVM tree. I just committed the BoolTy->Int1Ty
> > change and the patch handles that change as well.
> >
> > Reid.
> >
> > On Thu, 2007-01-11 at 12:24 -0800, Jeff Cohen wrote:
> >   
> >> The patch doesn't work:
> >>
> >> g++40 -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -pedantic
> >> -Wno-long-long -Wno-variadic-macros -fno-common -DHAVE_CONFIG_H
> >> -Wno-unused -DTARGET_NAME=\"amd64-unknown-freebsd6.1\" -DENABLE_LLVM
> >> -D__STDC_LIMIT_MACROS   -I. -I. -I../../gcc -I../../gcc/.
> >> -I../../gcc/../include -I../../gcc/../libcpp/include
> >> -I/usr/home/jeffc/llvm/include
> >> -I/home/jeffc/llvm/obj/include ../../gcc/llvm-debug.cpp -o
> >> llvm-debug.o
> >> ../../gcc/llvm-types.cpp: In member function 'const llvm::Type*
> >> TypeConverter::ConvertType(tree_node*)':
> >> ../../gcc/llvm-types.cpp:291: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'

Int1Ty is now a member of the Type class. I double checked to make sure
I committed everything. If you're getting this error then you've still
got a Type.h file that is defining BoolTy instead of Int1Ty. For
whatever reason, you're not at TOT for LLVM!

> >> ../../gcc/llvm-types.cpp: In member function
> >> 'void::FunctionTypeConversion::HandleScalarArgument(const
> >> llvm::Type*, tree_node*)':
> >> ../../gcc/llvm-types.cpp:520: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'

Same.

> >> gmake[1]: *** [llvm-types.o] Error 1
> >> gmake[1]: *** Waiting for unfinished jobs
> >> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
> >> TreeToLLVM::CastToType(unsigned int, llvm::Value*, const
> >> llvm::Type*)':
> >> ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'

Same.

> >> ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'

Same.

> >> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
> >> TreeToLLVM::EmitCOND_EXPR(tree_node*)':
> >> ../../gcc/llvm-convert.cpp:1390: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'

Same.

> >> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
> >> TreeToLLVM::EmitTRUTH_NOT_EXPR(tree_node*)':
> >> ../../gcc/llvm-convert.cpp:2379: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'

Same.

> >> ../../gcc/llvm-convert.cpp: In member function 'LValue
> >> TreeToLLVM::EmitLV_COMPONENT_REF(tree_node*)':
> >> ../../gcc/llvm-convert.cpp:4041: error: 'Int1Ty' is not a member of
> >> 'llvm::Type'

Same.

If these are all the errors you're getting, then its very clear you are
not at HEAD revision for LLVM.  Check your revision number for
include/llvm/Type.h.  It should be revision 1.98:

cvs status include/llvm/Type.h
===
File: Type.hStatus: Up-to-date

   Working revision:1.98
   Repository revision: 1.98/var/cvs/llvm/llvm/include/llvm/Type.h,v
   Sticky Tag:  (none)
   Sticky Date: (none)
   Sticky Options:  (none)


I know you can retrieve this from CVS because I just did it 2 hours ago
to merge the BoolTy->Int1Ty changes into another working tree.

Reid.

> >>
> >>
> >> Reid Spencer wrote: 
> >> 
> >>> All,
> >>>
> >>> Please apply this patch to llvm-gcc r247. It adjusts llvm-gcc for recent
> >>> changes in LLVM related to the BoolTy.
> >>>
> >>> BoolTy->Int1Ty
> >>> ConstantBool->ConstantInt
> >>> ConstantIntegral->ConstantInt
> >>>
> >>> Reid
> >>>   
> >>>
> >>> 
> >>>
> >>> Index: gcc/llvm-backend.cpp
> >>> ===
> >>> --- gcc/llvm-backend.cpp  (revision 247)
> >>> +++ gcc/llvm-backend.cpp  (working copy)
> >>> @@ -569,7 +569,7 @@
> >>>// If this has already been processed, don't emit duplicate error 
> >>> messages.
> >>>if (DECL_LLVM_SET_P(decl)) {
> >>>  // Error state encoded into DECL_LLVM.
> >>> -return cast(DECL_LLVM(decl))->getValue();
> >>> +return cast(DECL_LLVM(decl))->getBoolValue();
> >>>}
> >>>
> >>>/* Detect errors in declaring global registers.  */
> >>> @@ -593,10 +593,10 @@
> >>>  if (TREE_THIS_VOLATILE(decl))
> >>>warning("volatile register variables don%'t work as you might 
> >>> wish");
> >>>  
> >>> -SET_DECL_LLVM(decl, ConstantBool::getFalse());
> >>> +SET_DECL_LLVM(decl, ConstantInt::getFalse());
> >>>  return false;  // Everything ok.
> >>>}
> >>> -  SET_DECL_LLVM(decl, ConstantBool::getTrue());
> >>> +  SET_DECL_LLVM(decl, ConstantInt::getTrue());
> >>>return true;
> >>>  }
> >>>  
> >>> Index: gcc/llvm-convert.cpp
> >>> ===
> >>> --- gcc/llvm-convert.cpp  (revision 247)
> >>> +++ gcc/llvm-convert.cpp  (working co

Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Jeff Cohen
See my previous message.  I updated, and LLVM no longer builds.

Reid Spencer wrote:
> You need to update your LLVM tree. I just committed the BoolTy->Int1Ty
> change and the patch handles that change as well.
>
> Reid.
>
> On Thu, 2007-01-11 at 12:24 -0800, Jeff Cohen wrote:
>   
>> The patch doesn't work:
>>
>> g++40 -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -pedantic
>> -Wno-long-long -Wno-variadic-macros -fno-common -DHAVE_CONFIG_H
>> -Wno-unused -DTARGET_NAME=\"amd64-unknown-freebsd6.1\" -DENABLE_LLVM
>> -D__STDC_LIMIT_MACROS   -I. -I. -I../../gcc -I../../gcc/.
>> -I../../gcc/../include -I../../gcc/../libcpp/include
>> -I/usr/home/jeffc/llvm/include
>> -I/home/jeffc/llvm/obj/include ../../gcc/llvm-debug.cpp -o
>> llvm-debug.o
>> ../../gcc/llvm-types.cpp: In member function 'const llvm::Type*
>> TypeConverter::ConvertType(tree_node*)':
>> ../../gcc/llvm-types.cpp:291: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> ../../gcc/llvm-types.cpp: In member function
>> 'void::FunctionTypeConversion::HandleScalarArgument(const
>> llvm::Type*, tree_node*)':
>> ../../gcc/llvm-types.cpp:520: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> gmake[1]: *** [llvm-types.o] Error 1
>> gmake[1]: *** Waiting for unfinished jobs
>> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
>> TreeToLLVM::CastToType(unsigned int, llvm::Value*, const
>> llvm::Type*)':
>> ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
>> TreeToLLVM::EmitCOND_EXPR(tree_node*)':
>> ../../gcc/llvm-convert.cpp:1390: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
>> TreeToLLVM::EmitTRUTH_NOT_EXPR(tree_node*)':
>> ../../gcc/llvm-convert.cpp:2379: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>> ../../gcc/llvm-convert.cpp: In member function 'LValue
>> TreeToLLVM::EmitLV_COMPONENT_REF(tree_node*)':
>> ../../gcc/llvm-convert.cpp:4041: error: 'Int1Ty' is not a member of
>> 'llvm::Type'
>>
>>
>> Reid Spencer wrote: 
>> 
>>> All,
>>>
>>> Please apply this patch to llvm-gcc r247. It adjusts llvm-gcc for recent
>>> changes in LLVM related to the BoolTy.
>>>
>>> BoolTy->Int1Ty
>>> ConstantBool->ConstantInt
>>> ConstantIntegral->ConstantInt
>>>
>>> Reid
>>>   
>>>
>>> 
>>>
>>> Index: gcc/llvm-backend.cpp
>>> ===
>>> --- gcc/llvm-backend.cpp(revision 247)
>>> +++ gcc/llvm-backend.cpp(working copy)
>>> @@ -569,7 +569,7 @@
>>>// If this has already been processed, don't emit duplicate error 
>>> messages.
>>>if (DECL_LLVM_SET_P(decl)) {
>>>  // Error state encoded into DECL_LLVM.
>>> -return cast(DECL_LLVM(decl))->getValue();
>>> +return cast(DECL_LLVM(decl))->getBoolValue();
>>>}
>>>
>>>/* Detect errors in declaring global registers.  */
>>> @@ -593,10 +593,10 @@
>>>  if (TREE_THIS_VOLATILE(decl))
>>>warning("volatile register variables don%'t work as you might wish");
>>>  
>>> -SET_DECL_LLVM(decl, ConstantBool::getFalse());
>>> +SET_DECL_LLVM(decl, ConstantInt::getFalse());
>>>  return false;  // Everything ok.
>>>}
>>> -  SET_DECL_LLVM(decl, ConstantBool::getTrue());
>>> +  SET_DECL_LLVM(decl, ConstantInt::getTrue());
>>>return true;
>>>  }
>>>  
>>> Index: gcc/llvm-convert.cpp
>>> ===
>>> --- gcc/llvm-convert.cpp(revision 247)
>>> +++ gcc/llvm-convert.cpp(working copy)
>>> @@ -713,7 +713,7 @@
>>>// Handle cast (cast bool X to T2) to bool as X, because this occurs all 
>>> over
>>>// the place.
>>>if (CastInst *CI = dyn_cast(V))
>>> -if (Ty == Type::BoolTy && CI->getOperand(0)->getType() == Type::BoolTy)
>>> +if (Ty == Type::Int1Ty && CI->getOperand(0)->getType() == Type::Int1Ty)
>>>return CI->getOperand(0);
>>>return CastInst::create(Instruction::CastOps(opcode), V, Ty, 
>>> V->getName(), 
>>>CurBB);
>>> @@ -1384,10 +1384,10 @@
>>>  }
>>>  
>>>  Value *TreeToLLVM::EmitCOND_EXPR(tree exp) {
>>> -  // Emit the conditional expression and trunc/bitcast to BoolTy
>>> +  // Emit the conditional expression and trunc/bitcast to Int1Ty
>>>Value *Cond = Emit(COND_EXPR_COND(exp), 0);
>>>// If its not already a bool, insert a comparison against zero to make 
>>> it so.
>>> -  if (Cond->getType() != Type::BoolTy)
>>> +  if (Cond->getType() != Type::Int1Ty)
>>>  Cond = new ICmpInst(ICmpInst::ICMP_NE, Cond, 
>>>  Constant::getNullValue(Cond->getType()), "toBool", 
>>> CurBB);
>>> @@ -2376,7 +2376,7 @@
>>>  
>>>  Value *TreeToLLVM::EmitTRUTH_NOT_EXPR(tree exp) {
>>>Value *V = Emit(TREE_OPERAND

Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Reid Spencer
You need to update your LLVM tree. I just committed the BoolTy->Int1Ty
change and the patch handles that change as well.

Reid.

On Thu, 2007-01-11 at 12:24 -0800, Jeff Cohen wrote:
> The patch doesn't work:
> 
> g++40 -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -pedantic
> -Wno-long-long -Wno-variadic-macros -fno-common -DHAVE_CONFIG_H
> -Wno-unused -DTARGET_NAME=\"amd64-unknown-freebsd6.1\" -DENABLE_LLVM
> -D__STDC_LIMIT_MACROS   -I. -I. -I../../gcc -I../../gcc/.
> -I../../gcc/../include -I../../gcc/../libcpp/include
> -I/usr/home/jeffc/llvm/include
> -I/home/jeffc/llvm/obj/include ../../gcc/llvm-debug.cpp -o
> llvm-debug.o
> ../../gcc/llvm-types.cpp: In member function 'const llvm::Type*
> TypeConverter::ConvertType(tree_node*)':
> ../../gcc/llvm-types.cpp:291: error: 'Int1Ty' is not a member of
> 'llvm::Type'
> ../../gcc/llvm-types.cpp: In member function
> 'void::FunctionTypeConversion::HandleScalarArgument(const
> llvm::Type*, tree_node*)':
> ../../gcc/llvm-types.cpp:520: error: 'Int1Ty' is not a member of
> 'llvm::Type'
> gmake[1]: *** [llvm-types.o] Error 1
> gmake[1]: *** Waiting for unfinished jobs
> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
> TreeToLLVM::CastToType(unsigned int, llvm::Value*, const
> llvm::Type*)':
> ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
> 'llvm::Type'
> ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of
> 'llvm::Type'
> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
> TreeToLLVM::EmitCOND_EXPR(tree_node*)':
> ../../gcc/llvm-convert.cpp:1390: error: 'Int1Ty' is not a member of
> 'llvm::Type'
> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value*
> TreeToLLVM::EmitTRUTH_NOT_EXPR(tree_node*)':
> ../../gcc/llvm-convert.cpp:2379: error: 'Int1Ty' is not a member of
> 'llvm::Type'
> ../../gcc/llvm-convert.cpp: In member function 'LValue
> TreeToLLVM::EmitLV_COMPONENT_REF(tree_node*)':
> ../../gcc/llvm-convert.cpp:4041: error: 'Int1Ty' is not a member of
> 'llvm::Type'
> 
> 
> Reid Spencer wrote: 
> > All,
> > 
> > Please apply this patch to llvm-gcc r247. It adjusts llvm-gcc for recent
> > changes in LLVM related to the BoolTy.
> > 
> > BoolTy->Int1Ty
> > ConstantBool->ConstantInt
> > ConstantIntegral->ConstantInt
> > 
> > Reid
> >   
> > 
> > 
> > 
> > Index: gcc/llvm-backend.cpp
> > ===
> > --- gcc/llvm-backend.cpp(revision 247)
> > +++ gcc/llvm-backend.cpp(working copy)
> > @@ -569,7 +569,7 @@
> >// If this has already been processed, don't emit duplicate error 
> > messages.
> >if (DECL_LLVM_SET_P(decl)) {
> >  // Error state encoded into DECL_LLVM.
> > -return cast(DECL_LLVM(decl))->getValue();
> > +return cast(DECL_LLVM(decl))->getBoolValue();
> >}
> >
> >/* Detect errors in declaring global registers.  */
> > @@ -593,10 +593,10 @@
> >  if (TREE_THIS_VOLATILE(decl))
> >warning("volatile register variables don%'t work as you might wish");
> >  
> > -SET_DECL_LLVM(decl, ConstantBool::getFalse());
> > +SET_DECL_LLVM(decl, ConstantInt::getFalse());
> >  return false;  // Everything ok.
> >}
> > -  SET_DECL_LLVM(decl, ConstantBool::getTrue());
> > +  SET_DECL_LLVM(decl, ConstantInt::getTrue());
> >return true;
> >  }
> >  
> > Index: gcc/llvm-convert.cpp
> > ===
> > --- gcc/llvm-convert.cpp(revision 247)
> > +++ gcc/llvm-convert.cpp(working copy)
> > @@ -713,7 +713,7 @@
> >// Handle cast (cast bool X to T2) to bool as X, because this occurs all 
> > over
> >// the place.
> >if (CastInst *CI = dyn_cast(V))
> > -if (Ty == Type::BoolTy && CI->getOperand(0)->getType() == Type::BoolTy)
> > +if (Ty == Type::Int1Ty && CI->getOperand(0)->getType() == Type::Int1Ty)
> >return CI->getOperand(0);
> >return CastInst::create(Instruction::CastOps(opcode), V, Ty, 
> > V->getName(), 
> >CurBB);
> > @@ -1384,10 +1384,10 @@
> >  }
> >  
> >  Value *TreeToLLVM::EmitCOND_EXPR(tree exp) {
> > -  // Emit the conditional expression and trunc/bitcast to BoolTy
> > +  // Emit the conditional expression and trunc/bitcast to Int1Ty
> >Value *Cond = Emit(COND_EXPR_COND(exp), 0);
> >// If its not already a bool, insert a comparison against zero to make 
> > it so.
> > -  if (Cond->getType() != Type::BoolTy)
> > +  if (Cond->getType() != Type::Int1Ty)
> >  Cond = new ICmpInst(ICmpInst::ICMP_NE, Cond, 
> >  Constant::getNullValue(Cond->getType()), "toBool", 
> > CurBB);
> > @@ -2376,7 +2376,7 @@
> >  
> >  Value *TreeToLLVM::EmitTRUTH_NOT_EXPR(tree exp) {
> >Value *V = Emit(TREE_OPERAND(exp, 0), 0);
> > -  if (V->getType() != Type::BoolTy) 
> > +  if (V->getType() != Type::Int1Ty) 
> >  V = new ICmpInst(ICmpInst::ICMP_NE, 

Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Jeff Cohen
OK, so I figured I need to update LLVM.  Now that doesn't build:

llvm[2]: Compiling Lexer.cpp for Debug build
Lexer.cpp: In function 'int llvmAsmlex()':
Lexer.cpp:1244: error: label 'find_rule' used but not defined
gmake[2]: *** [/usr/home/jeffc/llvm/obj/lib/AsmParser/Debug/Lexer.o] Error 1

I think I'll just go away for a few weeks and wait for the dust to 
settle

Jeff Cohen wrote:
> The patch doesn't work:
>
> g++40 -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -pedantic 
> -Wno-long-long -Wno-variadic-macros -fno-common -DHAVE_CONFIG_H 
> -Wno-unused -DTARGET_NAME=\"amd64-unknown-freebsd6.1\" -DENABLE_LLVM 
> -D__STDC_LIMIT_MACROS   -I. -I. -I../../gcc -I../../gcc/. 
> -I../../gcc/../include -I../../gcc/../libcpp/include  
> -I/usr/home/jeffc/llvm/include -I/home/jeffc/llvm/obj/include 
> ../../gcc/llvm-debug.cpp -o llvm-debug.o
> ../../gcc/llvm-types.cpp: In member function 'const llvm::Type* 
> TypeConverter::ConvertType(tree_node*)':
> ../../gcc/llvm-types.cpp:291: error: 'Int1Ty' is not a member of 
> 'llvm::Type'
> ../../gcc/llvm-types.cpp: In member function 
> 'void::FunctionTypeConversion::HandleScalarArgument(const 
> llvm::Type*, tree_node*)':
> ../../gcc/llvm-types.cpp:520: error: 'Int1Ty' is not a member of 
> 'llvm::Type'
> gmake[1]: *** [llvm-types.o] Error 1
> gmake[1]: *** Waiting for unfinished jobs
> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value* 
> TreeToLLVM::CastToType(unsigned int, llvm::Value*, const llvm::Type*)':
> ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of 
> 'llvm::Type'
> ../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of 
> 'llvm::Type'
> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value* 
> TreeToLLVM::EmitCOND_EXPR(tree_node*)':
> ../../gcc/llvm-convert.cpp:1390: error: 'Int1Ty' is not a member of 
> 'llvm::Type'
> ../../gcc/llvm-convert.cpp: In member function 'llvm::Value* 
> TreeToLLVM::EmitTRUTH_NOT_EXPR(tree_node*)':
> ../../gcc/llvm-convert.cpp:2379: error: 'Int1Ty' is not a member of 
> 'llvm::Type'
> ../../gcc/llvm-convert.cpp: In member function 'LValue 
> TreeToLLVM::EmitLV_COMPONENT_REF(tree_node*)':
> ../../gcc/llvm-convert.cpp:4041: error: 'Int1Ty' is not a member of 
> 'llvm::Type'
>
>
> Reid Spencer wrote:
>> All,
>>
>> Please apply this patch to llvm-gcc r247. It adjusts llvm-gcc for recent
>> changes in LLVM related to the BoolTy.
>>
>> BoolTy->Int1Ty
>> ConstantBool->ConstantInt
>> ConstantIntegral->ConstantInt
>>
>> Reid
>>   
>> 
>>
>> Index: gcc/llvm-backend.cpp
>> ===
>> --- gcc/llvm-backend.cpp (revision 247)
>> +++ gcc/llvm-backend.cpp (working copy)
>> @@ -569,7 +569,7 @@
>>// If this has already been processed, don't emit duplicate error 
>> messages.
>>if (DECL_LLVM_SET_P(decl)) {
>>  // Error state encoded into DECL_LLVM.
>> -return cast(DECL_LLVM(decl))->getValue();
>> +return cast(DECL_LLVM(decl))->getBoolValue();
>>}
>>
>>/* Detect errors in declaring global registers.  */
>> @@ -593,10 +593,10 @@
>>  if (TREE_THIS_VOLATILE(decl))
>>warning("volatile register variables don%'t work as you might wish");
>>  
>> -SET_DECL_LLVM(decl, ConstantBool::getFalse());
>> +SET_DECL_LLVM(decl, ConstantInt::getFalse());
>>  return false;  // Everything ok.
>>}
>> -  SET_DECL_LLVM(decl, ConstantBool::getTrue());
>> +  SET_DECL_LLVM(decl, ConstantInt::getTrue());
>>return true;
>>  }
>>  
>> Index: gcc/llvm-convert.cpp
>> ===
>> --- gcc/llvm-convert.cpp (revision 247)
>> +++ gcc/llvm-convert.cpp (working copy)
>> @@ -713,7 +713,7 @@
>>// Handle cast (cast bool X to T2) to bool as X, because this occurs all 
>> over
>>// the place.
>>if (CastInst *CI = dyn_cast(V))
>> -if (Ty == Type::BoolTy && CI->getOperand(0)->getType() == Type::BoolTy)
>> +if (Ty == Type::Int1Ty && CI->getOperand(0)->getType() == Type::Int1Ty)
>>return CI->getOperand(0);
>>return CastInst::create(Instruction::CastOps(opcode), V, Ty, 
>> V->getName(), 
>>CurBB);
>> @@ -1384,10 +1384,10 @@
>>  }
>>  
>>  Value *TreeToLLVM::EmitCOND_EXPR(tree exp) {
>> -  // Emit the conditional expression and trunc/bitcast to BoolTy
>> +  // Emit the conditional expression and trunc/bitcast to Int1Ty
>>Value *Cond = Emit(COND_EXPR_COND(exp), 0);
>>// If its not already a bool, insert a comparison against zero to make it 
>> so.
>> -  if (Cond->getType() != Type::BoolTy)
>> +  if (Cond->getType() != Type::Int1Ty)
>>  Cond = new ICmpInst(ICmpInst::ICMP_NE, Cond, 
>>  Constant::getNullValue(Cond->getType()), "toBool", 
>> CurBB);
>> @@ -2376,7 +2376,7 @@
>>  
>>  Value *TreeToLLVM::EmitTRUTH_NOT_EXPR(tree exp) {
>>Value *V = Emit(TREE_O

Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Jeff Cohen

The patch doesn't work:

g++40 -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -pedantic 
-Wno-long-long -Wno-variadic-macros -fno-common -DHAVE_CONFIG_H 
-Wno-unused -DTARGET_NAME=\"amd64-unknown-freebsd6.1\" -DENABLE_LLVM 
-D__STDC_LIMIT_MACROS   -I. -I. -I../../gcc -I../../gcc/. 
-I../../gcc/../include -I../../gcc/../libcpp/include  
-I/usr/home/jeffc/llvm/include -I/home/jeffc/llvm/obj/include 
../../gcc/llvm-debug.cpp -o llvm-debug.o
../../gcc/llvm-types.cpp: In member function 'const llvm::Type* 
TypeConverter::ConvertType(tree_node*)':
../../gcc/llvm-types.cpp:291: error: 'Int1Ty' is not a member of 
'llvm::Type'
../../gcc/llvm-types.cpp: In member function 
'void::FunctionTypeConversion::HandleScalarArgument(const 
llvm::Type*, tree_node*)':
../../gcc/llvm-types.cpp:520: error: 'Int1Ty' is not a member of 
'llvm::Type'

gmake[1]: *** [llvm-types.o] Error 1
gmake[1]: *** Waiting for unfinished jobs
../../gcc/llvm-convert.cpp: In member function 'llvm::Value* 
TreeToLLVM::CastToType(unsigned int, llvm::Value*, const llvm::Type*)':
../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of 
'llvm::Type'
../../gcc/llvm-convert.cpp:716: error: 'Int1Ty' is not a member of 
'llvm::Type'
../../gcc/llvm-convert.cpp: In member function 'llvm::Value* 
TreeToLLVM::EmitCOND_EXPR(tree_node*)':
../../gcc/llvm-convert.cpp:1390: error: 'Int1Ty' is not a member of 
'llvm::Type'
../../gcc/llvm-convert.cpp: In member function 'llvm::Value* 
TreeToLLVM::EmitTRUTH_NOT_EXPR(tree_node*)':
../../gcc/llvm-convert.cpp:2379: error: 'Int1Ty' is not a member of 
'llvm::Type'
../../gcc/llvm-convert.cpp: In member function 'LValue 
TreeToLLVM::EmitLV_COMPONENT_REF(tree_node*)':
../../gcc/llvm-convert.cpp:4041: error: 'Int1Ty' is not a member of 
'llvm::Type'



Reid Spencer wrote:

All,

Please apply this patch to llvm-gcc r247. It adjusts llvm-gcc for recent
changes in LLVM related to the BoolTy.

BoolTy->Int1Ty
ConstantBool->ConstantInt
ConstantIntegral->ConstantInt

Reid
  



Index: gcc/llvm-backend.cpp
===
--- gcc/llvm-backend.cpp(revision 247)
+++ gcc/llvm-backend.cpp(working copy)
@@ -569,7 +569,7 @@
   // If this has already been processed, don't emit duplicate error messages.
   if (DECL_LLVM_SET_P(decl)) {
 // Error state encoded into DECL_LLVM.
-return cast(DECL_LLVM(decl))->getValue();
+return cast(DECL_LLVM(decl))->getBoolValue();
   }
   
   /* Detect errors in declaring global registers.  */

@@ -593,10 +593,10 @@
 if (TREE_THIS_VOLATILE(decl))
   warning("volatile register variables don%'t work as you might wish");
 
-SET_DECL_LLVM(decl, ConstantBool::getFalse());

+SET_DECL_LLVM(decl, ConstantInt::getFalse());
 return false;  // Everything ok.
   }
-  SET_DECL_LLVM(decl, ConstantBool::getTrue());
+  SET_DECL_LLVM(decl, ConstantInt::getTrue());
   return true;
 }
 
Index: gcc/llvm-convert.cpp

===
--- gcc/llvm-convert.cpp(revision 247)
+++ gcc/llvm-convert.cpp(working copy)
@@ -713,7 +713,7 @@
   // Handle cast (cast bool X to T2) to bool as X, because this occurs all over
   // the place.
   if (CastInst *CI = dyn_cast(V))
-if (Ty == Type::BoolTy && CI->getOperand(0)->getType() == Type::BoolTy)
+if (Ty == Type::Int1Ty && CI->getOperand(0)->getType() == Type::Int1Ty)
   return CI->getOperand(0);
   return CastInst::create(Instruction::CastOps(opcode), V, Ty, V->getName(), 
   CurBB);

@@ -1384,10 +1384,10 @@
 }
 
 Value *TreeToLLVM::EmitCOND_EXPR(tree exp) {

-  // Emit the conditional expression and trunc/bitcast to BoolTy
+  // Emit the conditional expression and trunc/bitcast to Int1Ty
   Value *Cond = Emit(COND_EXPR_COND(exp), 0);
   // If its not already a bool, insert a comparison against zero to make it so.
-  if (Cond->getType() != Type::BoolTy)
+  if (Cond->getType() != Type::Int1Ty)
 Cond = new ICmpInst(ICmpInst::ICMP_NE, Cond, 
 Constant::getNullValue(Cond->getType()), "toBool", 
CurBB);

@@ -2376,7 +2376,7 @@
 
 Value *TreeToLLVM::EmitTRUTH_NOT_EXPR(tree exp) {

   Value *V = Emit(TREE_OPERAND(exp, 0), 0);
-  if (V->getType() != Type::BoolTy) 
+  if (V->getType() != Type::Int1Ty) 
 V = new ICmpInst(ICmpInst::ICMP_NE, V, 
  Constant::getNullValue(V->getType()), "toBool", CurBB);

   V = BinaryOperator::createNot(V, V->getName()+"not", CurBB);
@@ -4038,7 +4038,7 @@
 // If the field result is a bool, cast to a ubyte instead.  It is not
 // possible to access all bits of a memory object with a bool (only the low
 // bit) but it is possible to access them with a byte.
-if (FieldTy == Type::BoolTy)
+if (FieldTy == Type::Int1Ty)
   FieldTy = Type::Int8Ty;
 assert(FieldTy->isInteger() && "Invalid 

Re: [llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Jim Laskey
Applied to tree.

Cheers,

-- Jim

On 11-Jan-07, at 2:24 PM, Reid Spencer wrote:

> All,
>
> Please apply this patch to llvm-gcc r247. It adjusts llvm-gcc for  
> recent
> changes in LLVM related to the BoolTy.
>
> BoolTy->Int1Ty
> ConstantBool->ConstantInt
> ConstantIntegral->ConstantInt
>
> Reid___
> llvm-commits mailing list
> llvm-commits@cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] [llvm-gcc] Changes In Boolean (please commit)

2007-01-11 Thread Reid Spencer
All,

Please apply this patch to llvm-gcc r247. It adjusts llvm-gcc for recent
changes in LLVM related to the BoolTy.

BoolTy->Int1Ty
ConstantBool->ConstantInt
ConstantIntegral->ConstantInt

Reid
Index: gcc/llvm-backend.cpp
===
--- gcc/llvm-backend.cpp	(revision 247)
+++ gcc/llvm-backend.cpp	(working copy)
@@ -569,7 +569,7 @@
   // If this has already been processed, don't emit duplicate error messages.
   if (DECL_LLVM_SET_P(decl)) {
 // Error state encoded into DECL_LLVM.
-return cast(DECL_LLVM(decl))->getValue();
+return cast(DECL_LLVM(decl))->getBoolValue();
   }
   
   /* Detect errors in declaring global registers.  */
@@ -593,10 +593,10 @@
 if (TREE_THIS_VOLATILE(decl))
   warning("volatile register variables don%'t work as you might wish");
 
-SET_DECL_LLVM(decl, ConstantBool::getFalse());
+SET_DECL_LLVM(decl, ConstantInt::getFalse());
 return false;  // Everything ok.
   }
-  SET_DECL_LLVM(decl, ConstantBool::getTrue());
+  SET_DECL_LLVM(decl, ConstantInt::getTrue());
   return true;
 }
 
Index: gcc/llvm-convert.cpp
===
--- gcc/llvm-convert.cpp	(revision 247)
+++ gcc/llvm-convert.cpp	(working copy)
@@ -713,7 +713,7 @@
   // Handle cast (cast bool X to T2) to bool as X, because this occurs all over
   // the place.
   if (CastInst *CI = dyn_cast(V))
-if (Ty == Type::BoolTy && CI->getOperand(0)->getType() == Type::BoolTy)
+if (Ty == Type::Int1Ty && CI->getOperand(0)->getType() == Type::Int1Ty)
   return CI->getOperand(0);
   return CastInst::create(Instruction::CastOps(opcode), V, Ty, V->getName(), 
   CurBB);
@@ -1384,10 +1384,10 @@
 }
 
 Value *TreeToLLVM::EmitCOND_EXPR(tree exp) {
-  // Emit the conditional expression and trunc/bitcast to BoolTy
+  // Emit the conditional expression and trunc/bitcast to Int1Ty
   Value *Cond = Emit(COND_EXPR_COND(exp), 0);
   // If its not already a bool, insert a comparison against zero to make it so.
-  if (Cond->getType() != Type::BoolTy)
+  if (Cond->getType() != Type::Int1Ty)
 Cond = new ICmpInst(ICmpInst::ICMP_NE, Cond, 
 Constant::getNullValue(Cond->getType()), "toBool", 
CurBB);
@@ -2376,7 +2376,7 @@
 
 Value *TreeToLLVM::EmitTRUTH_NOT_EXPR(tree exp) {
   Value *V = Emit(TREE_OPERAND(exp, 0), 0);
-  if (V->getType() != Type::BoolTy) 
+  if (V->getType() != Type::Int1Ty) 
 V = new ICmpInst(ICmpInst::ICMP_NE, V, 
  Constant::getNullValue(V->getType()), "toBool", CurBB);
   V = BinaryOperator::createNot(V, V->getName()+"not", CurBB);
@@ -4038,7 +4038,7 @@
 // If the field result is a bool, cast to a ubyte instead.  It is not
 // possible to access all bits of a memory object with a bool (only the low
 // bit) but it is possible to access them with a byte.
-if (FieldTy == Type::BoolTy)
+if (FieldTy == Type::Int1Ty)
   FieldTy = Type::Int8Ty;
 assert(FieldTy->isInteger() && "Invalid bitfield");
 
Index: gcc/llvm-types.cpp
===
--- gcc/llvm-types.cpp	(revision 247)
+++ gcc/llvm-types.cpp	(working copy)
@@ -288,7 +288,7 @@
   case UNION_TYPE:  return ConvertUNION(type, orig_type);
   case BOOLEAN_TYPE:
 if (TREE_INT_CST_LOW(TYPE_SIZE(type)) <= 8)
-  return SET_TYPE_LLVM(type, Type::BoolTy);
+  return SET_TYPE_LLVM(type, Type::Int1Ty);
 else { // Bools on some platforms take more space than LLVM bool (e.g. PPC).
   if (const Type *Ty = GET_TYPE_LLVM(type))
 return Ty;
@@ -517,7 +517,7 @@
 if (LLVMTy == Type::FloatTy)
   LLVMTy = Type::DoubleTy;
 else if (LLVMTy == Type::Int16Ty || LLVMTy == Type::Int8Ty ||
- LLVMTy == Type::BoolTy)
+ LLVMTy == Type::Int1Ty)
   LLVMTy = Type::Int32Ty;
   }
   ArgTypes.push_back(LLVMTy);
___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits