PR c++/17401
* parser.c (cp_parser_pure_specifier): Emit a specific error
message with an invalid pure specifier.
* decl2.c (grok_function_init): Remove.
(grokfield): An initializer for a method is a always a pure
specifier.
PR c++/17401
* g++.dg/parse/error25.C: New test.
From-SVN: r94656
gcc/ChangeLog:
* combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND):
Do not drop the extend if we'd have to add a paradoxical subreg
later. Include optabs.h and insn-codes.h.
* Makefile.in (combine.o): Depend on $(OPTABS_H).
gcc/testsuite/ChangeLog:
* gcc.c-torture/execute/20050203-1.c: New.
From-SVN: r94655
* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Copy
EXPR_LOCUS from orig_cond to the new cond_stmt.
(vect_finish_stmt_generation): Copy EXPR_LOCUS from stmt to
the new vec_stmt.
* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call
standard_iv_increment_position. Remove call to bsi_next
(no need to bump the iterator anymore).
(vect_create_index_for_vector_ref): Call
standard_iv_increment_position. Remove second function argument.
(vect_finish_stmt_generation): Remove call to bsi_next
(no need to bump the iterator anymore).
(vect_create_data_ref_ptr): Remove second argument (bsi) in call
to vect_create_index_for_vector_ref.
* tree-vectorizer.c (vect_mark_stmts_to_be_vectorized): Check if
phis are used out of the loop.
From-SVN: r94651
PR c/17807
* c-decl.c (undef_nested_function): New variable.
(pop_scope): Diagnose undefined nested functions.
(finish_function): Don't attempt cgraph processing or genericizing
if current top-level function contained an undefined nested
function. Reset undef_nested_function at the end of a top-level
function.
testsuite:
* gcc.dg/nested-func-3.c: New test.
* gcc.dg/pr18596-3.c: Expect error for undefined nested function.
From-SVN: r94645
* Makefile.in: Rebuilt.
* Makefile.am (classes.stamp): New target, broken out from
libgcj.jar target.
($(all_java_class_files)): Depend on it.
(libgcj-@gcc_version@.jar): Likewise.
(all-recursive): Likewise.
(CLEANFILES): Include classes.stamp.
From-SVN: r94636
PR c++/19628
* cp-tree.h (builtin_valid_in_constant_expr_p): Declare.
* parser.c (cp_parser_postfix_expression): Accept function call in constant expression if builtin_valid_in_constant_expr_p is true for that function.
* pt.c (value_dependent_expression_p): Handle CALL_EXPRs properly.
* semantics.c (finish_id_expression): Accept function call in constant expression if builtin_valid_in_constant_expr_p is true for that function.
* tree.c (builtin_valid_in_constant_expr_p): New.
* g++/ext/builtin7.C: New.
* g++/ext/builtin8.C: New.
From-SVN: r94635
* config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg
arguments go on the stack. Do not put complex doubles in odd/even
pairs.
From-SVN: r94617
* config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg
arguments go on the stack. Do not put complex doubles in odd/even
pairs.
[[Split portion of a mixed commit.]]
From-SVN: r94616.2
* doc/invoke.texi: Update the options enabled at -O1, -O2,
and -O3. Update the documentation for -fgcse-sm, -fgcse-las,
-ftree-pre, and -fthread-jumps.
From-SVN: r94615
* cp-tree.h (complete_type_or_else): Remove macro.
(complete_type_or_diagnostic): Rename to complete_type_or_else
and remove last argument.
* typeck.c (complete_type_or_diagnostic): Rename to
complete_type_or_else and remove last argument.
From-SVN: r94614
PR libgcj/19681:
* Makefile.in: Rebuilt.
* Makefile.am (ordinary_java_source_files): Added new class.
* java/lang/natVMClassLoader.cc (getSystemClassLoaderInternal):
Use system_instance, not instance.
* gnu/gcj/runtime/SystemClassLoader.java: New file.
* gnu/gcj/runtime/VMClassLoader.java (init): Don't search
java.class.path.
(system_instance): New field.
(initialize): Initialize the system loader as well.
(VMClassLoader): Default to LIB_CACHE.
From-SVN: r94611
PR java/15543
* parse-scan.y (formal_parameter): Use $2 (type) instead of $$
(modifiers) when square brackets are present in a declaration for
a final paramter.
* jv-scan.c (main): Set input_filename and input_line.
From-SVN: r94598
* gcse.c (struct reg_set): Store the block index where the register
was set rather than the setting insn.
(record_one_set, compute_transp): Corresponding changes.
(pre_insert_copy_insn): Do not call replace_one_set.
(replace_one_set): Remove.
From-SVN: r94591
PR tree-optimization/19217
* tree-cfg.c (verify_expr): Use the data field to see if TP was
seen inside a PHI node. Do not do the ADDR_EXPR check if it was.
(verify_stmts): Pass (void*)1 as data to verify_expr to signal
that it is walking a PHI node.
From-SVN: r94570