summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/g++.dg/cpp0x/scoped_enum.C
Commit message (Collapse)AuthorAgeFilesLines
* * lib/g++-dg.exp (g++-dg-runtest): Run tests in C++1y mode, too.jason2014-03-071-1/+1
| | | | | | | | | | | | | | * lib/target-supports.exp (check_effective_target_c++11): Now means C++11 and up. (check_effective_target_c++11_only): New. (check_effective_target_c++11_down): New. (check_effective_target_c++1y): New. (check_effective_target_c++1y_only): New. (check_effective_target_c++98_only): Rename from check_effective_target_c++98. * g++.dg/*: Use { target c++11 } instead of -std=c++11. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208416 138bc75d-0d04-0410-961f-82ee72b054a4
* ++0x -> ++11.mrs2013-10-221-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203939 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-12 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-08-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * config/i386/i386.c (ix86_function_versions): Use error + inform. /cp 2013-08-12 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (warn_extern_redeclared_static, duplicate_decls, check_elaborated_type_specifier): Use error + inform. * friend.c (make_friend_class): Likewise. * semantics.c (finish_id_expression): Likewise. /testsuite 2013-08-12 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/constexpr-function2.C: Adjust for error -> inform changes. * g++.dg/cpp0x/constexpr-neg1.C: Likewise. * g++.dg/cpp0x/defaulted2.C: Likewise. * g++.dg/cpp0x/defaulted31.C: Likewise. * g++.dg/cpp0x/error6.C: Likewise. * g++.dg/cpp0x/gen-attrs-32.C: Likewise. * g++.dg/cpp0x/override2.C: Likewise. * g++.dg/cpp0x/parse1.C: Likewise. * g++.dg/cpp0x/scoped_enum.C: Likewise. * g++.dg/cpp0x/temp_default4.C: Likewise. * g++.dg/ext/attrib32.C: Likewise. * g++.dg/ext/gnu-inline-global-reject.C: Likewise. * g++.dg/ext/mv13.C: Likewise. * g++.dg/ext/mv7.C: Likewise. * g++.dg/ext/mv9.C: Likewise. * g++.dg/ext/pr57362.C: Likewise. * g++.dg/ext/typeof10.C: Likewise. * g++.dg/lookup/anon6.C: Likewise. * g++.dg/lookup/crash6.C: Likewise. * g++.dg/lookup/name-clash5.C: Likewise. * g++.dg/lookup/name-clash6.C: Likewise. * g++.dg/other/anon4.C: Likewise. * g++.dg/other/error15.C: Likewise. * g++.dg/other/error8.C: Likewise. * g++.dg/other/redecl2.C: Likewise. * g++.dg/parse/crash16.C: Likewise. * g++.dg/parse/crash21.C: Likewise. * g++.dg/parse/crash38.C: Likewise. * g++.dg/parse/redef2.C: Likewise. * g++.dg/parse/struct-as-enum1.C: Likewise. * g++.dg/template/crash39.C: Likewise. * g++.dg/template/redecl3.C: Likewise. * g++.dg/tls/diag-3.C: Likewise. * g++.dg/warn/Wredundant-decls-spec.C: Likewise. * g++.old-deja/g++.benjamin/typedef01.C: Likewise. * g++.old-deja/g++.benjamin/warn02.C: Likewise. * g++.old-deja/g++.brendan/crash16.C: Likewise. * g++.old-deja/g++.brendan/crash18.C: Likewise. * g++.old-deja/g++.brendan/err-msg4.C: Likewise. * g++.old-deja/g++.brendan/redecl1.C: Likewise. * g++.old-deja/g++.brendan/static3.C: Likewise. * g++.old-deja/g++.bugs/900127_02.C: Likewise. * g++.old-deja/g++.jason/binding.C: Likewise. * g++.old-deja/g++.jason/crash4.C: Likewise. * g++.old-deja/g++.jason/crash7.C: Likewise. * g++.old-deja/g++.jason/lineno.C: Likewise. * g++.old-deja/g++.jason/scoping7.C: Likewise. * g++.old-deja/g++.mike/misc3.C: Likewise. * g++.old-deja/g++.mike/net44.C: Likewise. * g++.old-deja/g++.mike/ns3.C: Likewise. * g++.old-deja/g++.ns/alias4.C: Likewise. * g++.old-deja/g++.ns/ns11.C: Likewise. * g++.old-deja/g++.other/crash23.C: Likewise. * g++.old-deja/g++.other/decl8.C: Likewise. * g++.old-deja/g++.other/linkage3.C: Likewise. * g++.old-deja/g++.other/typeck1.C: Likewise. * g++.old-deja/g++.other/typedef5.C: Likewise. * g++.old-deja/g++.pt/explicit34.C: Likewise. * g++.old-deja/g++.pt/friend36.C: Likewise. * obj-c++.dg/method-8.mm: Likewise. * obj-c++.dg/tls/diag-3.mm: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201671 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/53524jason2012-07-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | gcc/cp/ * call.c (build_conditional_expr_1): Don't warn about comparison of two enumerators before their enumeration is complete. (build_new_op_1): Call decay_conversion before warn_logical_operator. * decl.c (build_enumerator): Set DECL_CONTEXT of an enumerator to its enumeration. * decl2.c (mark_used): Call used_types_insert for enums. * semantics.c (finish_id_expression): Don't decay CONST_DECL. (finish_member_declaration): Don't change DECL_CONTEXT of enumerators. * class.c (check_field_decls): Don't change DECL_CONTEXT of enums. * typeck.c (convert_for_assignment): Don't decay CONST_DECL. (build_class_member_access_expr): Look through unscoped enums. * search.c (context_for_name_lookup): Look through unscoped enums. * pt.c (tsubst_copy_and_build): Don't decay CONST_DECL. (tsubst_copy): Use DECL_CONTEXT to find the enumeration. * tree.c (decl_linkage): Likewise. * cvt.c (ocp_convert): Check decayed expr for enum range warning. gcc/c-family/ * c-common.c (get_priority): Call default_conversion. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189174 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement opaque-enum-specifiers for C++0x.jason2010-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * tree.h (ENUM_IS_OPAQUE): New. * dwarf2out.c (gen_enumeration_type_die): Use ENUM_IS_OPAQUE. gcc/cp/ * cp-tree.h (SET_OPAQUE_ENUM_P): New. (OPAQUE_ENUM_P): New. (ENUM_FIXED_UNDERLYING_TYPE_P): New. (start_enum): Update prototype. (finish_enum_value_list): New prototype. * parser.c (cp_parser_elaborated_type_specifier): Issue a pedwarn if "enum class" is used in an elaborated-type-specifier. (cp_parser_enum_specifier): Rewrite to parse opaque-enum-specifiers. * decl.c (copy_type_enum): New. (finish_enum_value_list): New, with code from finish_enum. (finish_enum): A lot of code removed. Added a gcc_assert. (start_enum): Add parameters enumtype and is_new. Rewrite to work with opaque-enum-specifiers. * pt.c (maybe_process_partial_specialization): Allow for template specialization of enumerations, with a pedwarn. (lookup_template_class): Update call to start_enum. Call to SET_OPAQUE_ENUM_P. (tsubst_enum): Call to begin_scope, finish_scope and finish_enum_value_list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165935 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-26 Douglas Gregor <doug.gregor@gmail.com>dgregor2008-08-261-0/+76
* c-common.c (do_switch_warnings): Look through the CONST_DECLs in the enumerators of an ENUMERAL_TYPE. * dbxout.c (dbxout_type): Ditto. 2008-08-26 Douglas Gregor <doug.gregor@gmail.com> * typeck.c (type_after_usual_arithmetic_conversions): Don't do the usual arithmetic conversions on scoped enumeration types. (common_type): Ditto. (default_conversion): Don't perform integral promotions on scoped enumeration types. (build_array_ref): Scoped enumeration types can't be used as subscripts. * decl.c (start_enum): If building a C++0x scoped enumeration, enter its scope. If provided with an underlying type, check that underlying type and set up the enumeration type accordingly. (finish_enum): Only compute an underlying type if the underlying type isn't already fixed, and only convert the enumerator values now if we've just computed the underlying type. Finish the scope of C++0x scoped enumerations. (build_enumerator): For enumerations with a fixed underlying type, check the enumerator values when the enumerator is defined. (lookup_enumerator): New. * call.c (standard_conversion): Don't allow assignment from integers to scoped enumeration types, even with -fpermissive. Don't convert from scoped enumerations to bool or any arithmetic types. (build_conditional_expr): Don't per the usual arithmetic conversions for scoped enumeration types. (convert_like_real): Check complain to see if we should produce warnings. * error.c (class_key_or_enum_as_string): Print scoped enums. * cp-tree.h (MAYBE_CLASS_TYPE_P): Check CLASS_TYPE_P, not TYPE_LANG_FLAG_5. (INTEGRAL_OR_UNSCOPED_ENUMERATION_TYPE_P): New. (SCOPED_ENUM_P): New. (UNSCOPED_ENUM_P): New. (SET_SCOPED_ENUM_P): New. (ENUM_UNDERLYING_TYPE): New. * pt.c (lookup_template_class): Update the instantiation of enum types to deal with C++0x scoped enumerations and underlying types. * name-lookup.c (begin_scope): Deal with scoped enumeration scopes. (lookup_qualified_name): Deal with lookup into enumeration types. * name-lookup.h (enum scope_kind): Add sk_scoped_enum. * parser.c (cp_parser_class_or_namespace_name): Rename to... (cp_parser_qualifying_entity): ... this. Also, in C++0x mode, parse a type-name that can be an enumeration type. (cp_parser_nested_name_specifier_opt): Update with C++0x grammar. (cp_parser_elaborated_type_specifier): Parse the optional `struct' or `class' following enum (in C++0x). (cp_parser_enum_specifier): Parse C++0x scoped enumerations and enum-base clauses. 2008-08-26 Douglas Gregor <doug.gregor@gmail.com> * g++.dg/cpp0x/scoped_enum_examples.C: New. * g++.dg/cpp0x/scoped_enum.C: New. * g++.dg/cpp0x/scoped_enum_98.C: New. * g++.dg/cpp0x/enum_base_warn.C: New. * g++.dg/cpp0x/enum_base.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139611 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud