Age | Commit message (Collapse) | Author | Files | Lines |
|
invalid code)
PR c++/47207
* decl2.c (decl_constant_var_p): A constexpr var needs an
initializer to be constant.
* semantics.c (cxx_eval_constant_expression): Complain about
constexpr var used in its own initializer.
* call.c (set_up_extended_ref_temp): Set
DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P too.
From-SVN: r170365
|
|
(function_decl) in same_type_ignoring_top_level_qualifiers_p, at cp/typeck.c:1407 with -fno-elide-constructors)
PR c++/47199
* semantics.c (cxx_eval_call_expression): Call
cxx_eval_constant_expression in trivial shortcut.
From-SVN: r170356
|
|
conversion function template)
PR c++/46831
* call.c (convert_class_to_reference): Don't try to set up a
second conv sequence for non-viable candidates.
From-SVN: r170354
|
|
PR c++/47703
* error.c (location_of): Handle non-tagged types.
From-SVN: r170349
|
|
PR c++/46472
* method.c (process_subob_fn): Instantiate constexpr templates.
* optimize.c (maybe_clone_body): Propagate DECL_DECLARED_CONSTEXPR_P.
From-SVN: r170348
|
|
template parameter)
PR c++/46394
gcc/cp/
PR c++/46394
* pt.c (tsubst_pack_expansion): do not use
cp_tree_equal/same_type_p to detect an expansion of a parameter
pack.
gcc/testsuite/
PR c++/46394
* g++.dg/template/typedef38.C: New test.
From-SVN: r170341
|
|
with -fno-elide-constructors)
PR c++/47503
* semantics.c (cxx_eval_call_expression): Shortcut trivial copy.
From-SVN: r170330
|
|
or union_type or qual_union_type, have error_mark in finish_non_static_data_member, at cp/semantics.c:1513)
/cp
2011-02-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/47795
* semantics.c (finish_non_static_data_member): Early return if
object is error_mark_node.
/testsuite
2011-02-18 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/47795
* g++.dg/cpp0x/lambda/lambda-ice3.C: New.
From-SVN: r170275
|
|
with missing #include <initializer_list>)
PR c++/47208
gcc/cp/
PR c++/47208
* pt.c (do_auto_deduction): Do not mention error_mark_node in
diagnostics.
* semantics.c (finish_id_expression): Do not pass erroneous decl
to decl_constant_var_p.
gcc/testsuite/
PR c++/47208
* g++.dg/cpp0x/auto21.C: New test.
From-SVN: r170268
|
|
incorrectly issued for update through reference wrapper)
PR c++/47783
* cvt.c (convert_from_reference): Call mark_exp_read.
* g++.dg/warn/Wunused-parm-4.C: New test.
From-SVN: r170255
|
|
Fix PR c++/47172
gcc/cp/
PR c++/47172
* pt.c (finish_call_expr): Consider a call expression that has a
dependent "this" pointer as being dependent. Add comments.
(dependent_type_p, type_dependent_expression_p): Update comments.
gcc/testsuite/
* g++.dg/template/inherit6.C: New test.
From-SVN: r170240
|
|
return type on parameter pack size))
PR c++/47326
gcc/cp/
PR c++/47326
* pt.c (tsubst_copy)<case SIZEOF_EXPR>: Ensure that even pack
expansion arguments are not evaluated.
gcc/testsuite/
PR c++/47326
* g++.dg/cpp0x/variadic106.C: New test.
From-SVN: r170222
|
|
instantiate a strongly typed enum with new)
PR c++/47704
* cp-tree.h (ENUM_FIXED_UNDERLYING_TYPE_P): Use TYPE_LANG_FLAG_5
instead of TYPE_LANG_FLAG_3.
* pt.c (lookup_template_class): Copy over
ENUM_FIXED_UNDERLYING_TYPE_P.
* g++.dg/cpp0x/enum8.C: New test.
From-SVN: r170209
|
|
PR c++/46807
* method.c (synthesized_method_walk): Always exit early for
trivial fn in C++98 mode.
From-SVN: r170207
|
|
kind sizeof_expr)
PR c++/47482
* parser.c (cp_parser_enumerator_definition): Call
fold_non_dependent_expr.
From-SVN: r170156
|
|
From-SVN: r170111
|
|
* config/t-darwin (config/darwin.h.rebuild): Harden against parallel builds.
cp:
* Make-lang.in (objcp/plugin/parser.h): Harden against parallel builds.
From-SVN: r170108
|
|
* config/t-darwin (build/slashify1): Harden against rebuilds.
* config/slashify.c: Nix parms to quite the build.
cp:
(build/slashify): Harden against rebuilds.
From-SVN: r170107
|
|
objcp:
* plugin/parser.h: Add arguments to all plugins.
cp:
* parser.c (cp_parser_primary_expression): Add arguments to all the plugins.
From-SVN: r170105
|
|
objcp:
* plugin/lex.h: Plugify.
cp:
* lex.c: Plugify.
* Make-lang.in (objcp/plugin/lex.h): Likewise.
From-SVN: r170104
|
|
2011-02-13 Tobias Burnus <burnus@net-b.de>
* parser.c (cp_parser_declaration): Remove unused variable.
From-SVN: r170103
|
|
* Make-lang.in (cp/parser.o): Move c-family/c-objc.h dependancy
down.
From-SVN: r170102
|
|
gcc:
* config/t-darwin (build/slashify): Allow others to reuse easier.
objcp:
* Make-lang.in (obj-c++.tags): Plugify Objective-C++.
* plugin/parser.h: Likewise.
* plugin/parser.c: Likewise.
cp:
* Make-lang.in (build/slashify): Plugify Objective-C++.
(cp/parser.o): Likewise.
(objcp/plugin/parser.h): Likewise.
From-SVN: r170101
|
|
gcc/cp/
* pt.c (finish_call_expr, dependent_type_p)
(type_dependent_expression_p): Revert the previous attempt to fix
PR c++/47172.
gcc/testsuite/
* g++.dg/template/inherit6.C: Reverted.
From-SVN: r170055
|
|
Fix PR c++/47172
gcc/cp/
PR c++/47172
* pt.c (finish_call_expr): Consider a call expression that has a
dependent "this" pointer as being dependent. Add comments.
(dependent_type_p, type_dependent_expression_p): Update comments.
gcc/testsuite/
* g++.dg/template/inherit6.C: New test.
From-SVN: r170045
|
|
* decl.c (cp_make_fname_decl): Set DECL_THIS_STATIC at toplevel.
* semantics.c (finish_fname): Only return the name if we're in
a function.
From-SVN: r170009
|
|
constants.
* decl.c (build_enumerator): Don't perform integral promotions on
non-integral constants.
From-SVN: r170008
|
|
From-SVN: r170007
|
|
stripped an enclosing array.
* class.c (type_has_constexpr_default_constructor): Make sure the
caller stripped an enclosing array.
* init.c (perform_member_init): Strip arrays before calling it.
From-SVN: r170006
|
|
potential_constant_expression_1, at cp/semantics.c:7711)
PR c++/47511
* semantics.c (potential_constant_expression_1): Handle TEMPLATE_DECL.
From-SVN: r170005
|
|
tsubst, at cp/pt.c:10500)
Fix PR c++/47398
gcc/cp/
PR c++/47398
* tree.c (cp_tree_equal)<TEMPLATE_PARM_INDEX>: Take the number of
template parameters in account.
gcc/testsuite/
PR c++/47398
* g++.dg/template/typedef37.C: New test.
* g++.dg/template/param1.C: Adjust expected error message.
From-SVN: r169807
|
|
gcc/c-family/
PR c++/46890
* c-common.h (keyword_is_decl_specifier): Declare.
* c-common.c (keyword_is_decl_specifier): Define.
(keyword_is_function_specifier): New function.
gcc/cp/
PR c++/46890
* parser.c (cp_parser_class_specifier): Fix setting of
want_semicolon.
gcc/testsuite/
PR c++/46890
* g++.dg/parser/semicolon3.C: Adjust.
* g++.dg/parser/semicolon4.C: New testcase.
* g++.dg/pr46890.C: New testcase.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r169797
|
|
cp/semantics.c:5509)
PR c++/47416
* semantics.c (build_data_member_initialization): Handle
STATEMENT_LIST always instead of just for CLEANUP_BODY.
* g++.dg/cpp0x/pr47416.C: New test.
From-SVN: r169447
|
|
gcc:
* configure.ac (gcc_cv_ld_static_option): Define.
(gcc_cv_ld_dynamic_option): Define.
(gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
instead.
(HAVE_LD_STATIC_DYNAMIC): Update message.
(LD_STATIC_OPTION): Define.
(LD_DYNAMIC_OPTION): Define.
* configure: Regenerate.
* config.in: Regenerate.
* gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
HAVE_LD_STATIC_DYNAMIC]: Use them.
gcc/cp:
* g++spec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
gcc/fortran:
* gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
gcc/go:
* gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
From-SVN: r169435
|
|
Fix PR c++/47311
gcc/cp/
PR c++/47311
* cp-tree.h (fixup_template_parms): Declare.
* pt.c (end_template_parm_list): Do not fixup template parms here.
(fixup_template_parms): Remove static. Fix typo in the
comments. Remove useless code statement.
(fixup_template_parm): For a template template parameter, fixup
its attributes before fixing up its type.
* parser.c
(cp_parser_template_declaration_after_export): After parsing
template parameters fixup their types.
gcc/testsuite/
PR c++/47311
* g++.dg/template/param2.C: New test.
From-SVN: r169377
|
|
PR c++/47476
* semantics.c (potential_constant_expression_1): Handle
TRUTH_XOR_EXPR.
* g++.dg/cpp0x/pr47476.C: New test.
From-SVN: r169306
|
|
* gcc/c-family/ChangeLog: Add missing PR reference.
* gcc/ChangeLog: Likewise.
* gcc/cp/ChangeLog: Likewise.
* gcc/testsuite/ChangeLog: Likewise.
From-SVN: r169269
|
|
gcc/c-family/ChangeLog:
* c.opt (-fkeep-inline-dllexport): New switch.
gcc/ChangeLog:
* tree.c (handle_dll_attribute): Handle it.
* doc/extend.texi (@item dllexport): Mention it.
* doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
gcc/cp/ChangeLog:
* semantics.c (expand_or_defer_fn_1): Handle it.
* decl2.c (decl_needed_p): Likewise.
gcc/testsuite/ChangeLog:
* gcc.dg/dll-9a.c: New test file.
* gcc.dg/dll-11.c: Likewise.
* gcc.dg/dll-12.c: Likewise.
* gcc.dg/dll-12a.c: Likewise.
* gcc.dg/dll-11a.c: Likewise.
* gcc.dg/dll-9.c: Likewise.
* gcc.dg/dll-10.c: Likewise.
* gcc.dg/dll-10a.c: Likewise.
* g++.dg/ext/dllexport4a.cc: Likewise.
* g++.dg/ext/dllexport4.C: Likewise.
* g++.dg/ext/dllexport5.C: Likewise.
* g++.dg/ext/dllexport5a.cc: Likewise.
From-SVN: r169268
|
|
build_data_member_initialization, add cp/semantics.c:5483)
PR c++/47041
* semantics.c (build_constexpr_constructor_member_initializers):
Handle trivial copy.
From-SVN: r169108
|
|
-fno-for-scope and for(;;) inside a template)
PR c++/47388
* semantics.c (begin_for_stmt): If -fno-for-scope, don't
assume init must be NULL if scope is NULL.
(begin_range_for_stmt): Likewise.
* g++.dg/cpp0x/range-for10.C: New test.
* g++.dg/template/for1.C: New test.
From-SVN: r169105
|
|
variable with template)
PR c++/46552
* semantics.c (cxx_eval_constant_expression): Handle OFFSET_REF.
From-SVN: r169099
|
|
(hashtab.c:650))
PR c++/46977
* semantics.c (potential_constant_expression_1): Split out from
potential_constant_expression. Add want_rval parm. Handle
template expression forms. Don't enforce restriction on address
of automatic variable here. Add a couple of diagnostics that
had been missing.
(require_potential_constant_expression): New entry point.
(build_data_member_initialization, register_constexpr_fundef): Adjust.
(maybe_constant_value): Check potential_constant_expression.
* pt.c (fold_non_dependent_expr_sfinae): Likewise.
* tree.c (build_vec_init_expr): Adjust.
From-SVN: r169096
|
|
PR c++/47303
* decl2.c (finish_anon_union): Only call mangle_decl if TREE_STATIC
or DECL_EXTERNAL.
* g++.dg/template/anonunion1.C: New test.
From-SVN: r169000
|
|
PR c++/47067
* semantics.c (base_field_constructor_elt): New fn.
(cxx_eval_bare_aggregate): Use it.
(build_data_member_initialization): Leave COMPONENT_REF for
vfield inits.
From-SVN: r168937
|
|
* parser.c (cp_parser_range_for): Remove the "unused variable" warning
workaround.
From-SVN: r168936
|
|
2011-01-15 Giovanni Funchal <gafunchal@gmail.com>
Jonathan Wakely <jwakely.gcc@gmail.com>
PR c++/33558
* decl.c (grokdeclarator): Reject mutable reference members.
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r168843
|
|
PR c++/47289
* pt.c (coerce_template_parms): Fix error recovery.
From-SVN: r168822
|
|
PR c++/46903
* typeck2.c (check_narrowing): Only check arithmetic types.
From-SVN: r168783
|
|
PR c++/46688
* tree.c (build_vec_init_expr): Handle flexible array
properly.
From-SVN: r168782
|
|
-fvisibility-ms-compat)
2011-01-13 Kai Tietz <kai.tietz@onevision.com>
PR c++/47213
* g++.dg/ext/pr47213.C: New.
2011-01-13 Kai Tietz <kai.tietz@onevision.com>
PR c++/47213
* cp-tree.h (CLASSTYPE_VISIBILITY): Use
TYPE_MAIN_DECL instead of TYPE_NAME.
(CLASSTYPE_VISIBILITY_SPECIFIED): Likewise.
* decl2.c (determine_visibility): Add check
of CLASS_TYPE_P for underlying_type.
2011-01-13 Kai Tietz <kai.tietz@onevision.com>
PR c++/47213
* config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
PE specific hook.
* config/i386/i386-protos.h (i386_pe_assemble_visibility):
New function prototype.
* config/i386/winnt.c (i386_pe_assemble_visibility):
Warn only if attribute was specified by user.
From-SVN: r168763
|