diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-07-29 01:14:24 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-07-29 01:14:24 +0000 |
commit | ee1ab43129e5d263eba81fb1f2721be503e9d148 (patch) | |
tree | aa422656fa001e4c76605059943c273de869706a /gcc/testsuite | |
parent | e4a0b392b2d0188bb1cb8ff255f409f21754af81 (diff) | |
download | gcc-ee1ab43129e5d263eba81fb1f2721be503e9d148.tar.gz |
PR c++/11667
* c-common.c (shorten_compare): Take into account differences
between C and C++ representation for enumeration types.
* tree.h (set_min_and_max_values_for_integral_type): Declare.
* stor-layout.c (set_min_and_max_values_for_integral_type): New
function, broken out from ...
(fixup_signed_type): ... here and ...
(fixup_unsigned_type): ... here.
PR c++/11667
* call.c (standard_conversion): Allow all integral->enumeral
conversions, after marking them as bad.
* decl.c (finish_enum): Make sure that all enumerators are
properly converted to the underlying type.
(build_enumerator): Set DECL_CONTEXT for namespace-scope
enumeration types.
* pt.c (tsubst_copy): Adjust handling of CONST_DECLs accordingly.
(tsubst_enum): Tidy.
* Make-lang.in (typeck.o): Depend on convert.h.
(class.o): Likewise.
(rtti.o): Likewise.
* call.c: Include convert.h.
(convert_arg_to_ellipsis): Use convert_to_real.
* class.c: Include convert.h.
(build_base_path): Use convert_to_integer.
* rtti.c: Include convert.h.
(build_headof): Use convert_to_integer.
* typeck.c: Include convert.h.
(decay_conversion): Use convert_to_integer.
(build_unary_op): Use build_nop.
(get_delta_difference): Use convert_to_integer.
(build_ptrmemfunc): Avoid unncessary conversions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69909 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/init/enum2.C | 9 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/overload1.C | 1 |
3 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index e933fab16ac..f0171688fcb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2003-07-28 Alexandre Oliva <aoliva@redhat.com> + + PR c++/11667 + * g++.dg/init/enum2.C: New test. + * g++.dg/template/overload1.C: Add "-w" option. + 2003-07-28 <hp@bitrange.com> * gcc.dg/Wdeclaration-after-statement-1.c, diff --git a/gcc/testsuite/g++.dg/init/enum2.C b/gcc/testsuite/g++.dg/init/enum2.C new file mode 100644 index 00000000000..dea7dc17be0 --- /dev/null +++ b/gcc/testsuite/g++.dg/init/enum2.C @@ -0,0 +1,9 @@ +#include <limits.h> +enum test { + z = 0, + c = UINT_MAX + 1LL +} x = z; + +int main() { + return x != z; +} diff --git a/gcc/testsuite/g++.dg/template/overload1.C b/gcc/testsuite/g++.dg/template/overload1.C index 404fc2dfed5..2225fecf730 100644 --- a/gcc/testsuite/g++.dg/template/overload1.C +++ b/gcc/testsuite/g++.dg/template/overload1.C @@ -1,3 +1,4 @@ +// { dg-options "-w" } // PR c++/9420 // Bug: We were instantiating B<int> during overload resolution for E<0. // This is wrong; the contents of B<int> are not relevant, since we can't |