Re: build_int_cstu does not work as advertised

2010-12-05 Thread Florian Weimer
* Richard Guenther: >> If I don't want sign extension, what function should I use instead? >> Should I just call build_int_cst_wide directly? > > You should use a different type, one that is not sign-extended. > Non-canonical constants are not allowed as we share them based on > type and value. I

Re: build_int_cstu does not work as advertised

2010-12-05 Thread Richard Guenther
On Sun, Dec 5, 2010 at 6:08 PM, Florian Weimer wrote: > Trunk has this: > > | /* Create an INT_CST node with a CST value zero extended.  */ > | > | static inline tree > | build_int_cstu (tree type, unsigned HOST_WIDE_INT cst) > | { > |   return double_int_to_tree (type, uhwi_to_double_int (cst));

Re: build_int_cstu does not work as advertised

2010-12-05 Thread Joseph S. Myers
On Sun, 5 Dec 2010, Florian Weimer wrote: > And is HOST_WIDE_INT guaraunteed to be able to hold 64 bits? I recall Only for targets that set need_64bit_hwint in config.gcc; for other targets, it depends on the host. -- Joseph S. Myers jos...@codesourcery.com

build_int_cstu does not work as advertised

2010-12-05 Thread Florian Weimer
Trunk has this: | /* Create an INT_CST node with a CST value zero extended. */ | | static inline tree | build_int_cstu (tree type, unsigned HOST_WIDE_INT cst) | { | return double_int_to_tree (type, uhwi_to_double_int (cst)); | } But the comment is misleading because of: | /* Constructs tree