7687 lines
263 KiB
Plaintext
7687 lines
263 KiB
Plaintext
2023-05-29 Release Manager
|
||
|
||
* GCC 11.4.0 released.
|
||
|
||
2022-11-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-10-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/107358
|
||
* c-typeck.c (build_binary_op): Pass operands before excess precision
|
||
promotions to scalar_to_vector call.
|
||
|
||
2022-11-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-09-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/106981
|
||
* c-typeck.c (c_tree_equal): Only strip NON_LVALUE_EXPRs at the
|
||
start. For CONSTANT_CLASS_P or CASE_CONVERT: return false if t1 and
|
||
t2 have different types.
|
||
|
||
2022-08-02 Lewis Hyatt <lhyatt@gmail.com>
|
||
|
||
Backported from master:
|
||
2022-07-10 Lewis Hyatt <lhyatt@gmail.com>
|
||
|
||
PR preprocessor/97498
|
||
* c-parser.c (c_parser_pragma): Set input_location to the
|
||
location of the pragma, rather than the start of the line.
|
||
|
||
2022-04-21 Release Manager
|
||
|
||
* GCC 11.3.0 released.
|
||
|
||
2022-03-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/104711
|
||
* c-fold.c (c_fully_fold_internal): Don't emit
|
||
-Wshift-negative-value warning if TYPE_OVERFLOW_WRAPS.
|
||
* c-typeck.c (build_binary_op): Likewise.
|
||
|
||
2022-03-29 Marek Polacek <polacek@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-03-22 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/82283
|
||
PR c/84685
|
||
* c-typeck.c (struct initializer_stack): Add 'designated' member.
|
||
(start_init): Set it.
|
||
(finish_init): Restore constructor_designated.
|
||
(push_init_level): Set constructor_designated to the value of
|
||
constructor_designated in the upper constructor_stack.
|
||
|
||
2022-01-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2022-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR objc/103639
|
||
* c-typeck.c (c_finish_bc_stmt): For break inside of switch inside of
|
||
ObjC foreach, emit normal BREAK_STMT rather than goto to label.
|
||
|
||
2022-01-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-12-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/103587
|
||
* c-parser.c (c_parser_balanced_token_sequence): For CPP_PRAGMA,
|
||
consume the pragma and silently skip to the pragma eol.
|
||
|
||
2021-12-16 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/101289
|
||
PR c/97548
|
||
* c-decl.c (get_parm_array_spec): Strip nops.
|
||
|
||
2021-07-28 Release Manager
|
||
|
||
* GCC 11.2.0 released.
|
||
|
||
2021-07-18 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
Backported from master:
|
||
2021-05-04 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* c-typeck.c (c_finish_omp_clauses): Accept float + complex
|
||
for || and && reductions.
|
||
|
||
2021-07-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-06-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/101176
|
||
* c-parser.c (c_parser_has_attribute_expression): Set source range for
|
||
the result.
|
||
|
||
2021-07-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-06-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/101171
|
||
* c-typeck.c (build_c_cast): Don't call note_integer_operands on
|
||
error_mark_node.
|
||
|
||
2021-06-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-06-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR inline-asm/100785
|
||
* c-typeck.c (c_mark_addressable): Diagnose trying to make
|
||
bit-fields addressable.
|
||
|
||
2021-06-17 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/100783
|
||
* c-objc-common.c (print_type): Handle erroneous types.
|
||
|
||
2021-06-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Backported from master:
|
||
2021-06-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/100902
|
||
* c-parser.c (c_parser_omp_target): Call c_omp_adjust_map_clauses
|
||
even when target is combined with other constructs.
|
||
|
||
2021-06-09 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR c/100920
|
||
* c-typeck.c (convert_for_assignment): Test fndecl_built_in_p to
|
||
spot built-in functions. Do not warn on pointer assignment and
|
||
initialization for storage order purposes if the RHS is a call
|
||
to a DECL_IS_MALLOC function.
|
||
|
||
2021-05-13 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/100550
|
||
* c-decl.c (get_parm_array_spec): Avoid erroneous VLA bounds.
|
||
|
||
2021-04-27 Release Manager
|
||
|
||
* GCC 11.1.0 released.
|
||
|
||
2021-04-15 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/99420
|
||
PR c/99972
|
||
* c-decl.c (pushdecl): Always propagate type attribute.
|
||
|
||
2021-04-15 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR c/98852
|
||
* c-typeck.c (c_common_type): Do not drop attributes that
|
||
affect type identity.
|
||
|
||
2021-04-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/99990
|
||
* c-decl.c (finish_decl): Don't overwrite TREE_TYPE of
|
||
error_mark_node.
|
||
|
||
2021-03-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/99565
|
||
* c-typeck.c (build_conditional_expr): Pass OEP_ADDRESS_OF_SAME_FIELD
|
||
to operand_equal_p.
|
||
|
||
2021-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/99588
|
||
* c-typeck.c (mark_exp_read): Recognize what build_atomic_assign
|
||
with modifycode NOP_EXPR produces and mark the _Atomic var as read
|
||
if found.
|
||
(build_atomic_assign): For modifycode of NOP_EXPR, use COMPOUND_EXPRs
|
||
rather than STATEMENT_LIST. Otherwise call mark_exp_read on lhs.
|
||
Set TREE_SIDE_EFFECTS on the TARGET_EXPR.
|
||
|
||
2021-03-15 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR c++/99509
|
||
* c-decl.c (finish_decl): For 'omp declare target implicit' vars,
|
||
ensure that the varpool node is marked as offloadable.
|
||
|
||
2021-03-05 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR c/99137
|
||
* c-parser.c (c_parser_oacc_clause_async): Reject comma expressions.
|
||
|
||
2021-02-24 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/97172
|
||
* c-decl.c (free_attr_access_data): Clear attribute arg spec.
|
||
|
||
2021-02-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/99136
|
||
* c-typeck.c (c_finish_return): Don't wrap retval into
|
||
EXCESS_PRECISION_EXPR in functions that return void.
|
||
|
||
2021-02-11 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-parser.c (c_parser_if_statement): Use vec_free.
|
||
|
||
2021-02-04 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/97882
|
||
* c-decl.c (locate_old_decl): Add type to diagnostic output.
|
||
(diagnose_mismatched_decls): Same.
|
||
(start_function): Introduce temporaries for better readability.
|
||
* c-typeck.c (comptypes_internal): Only consider complete enum
|
||
types in comparisons with integers.
|
||
|
||
2021-02-01 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/97172
|
||
* c-decl.c (free_attr_access_data): New function.
|
||
(c_parse_final_cleanups): Call free_attr_access_data.
|
||
|
||
2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_detach): New.
|
||
(c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DETACH clause.
|
||
(OMP_TASK_CLAUSE_MASK): Add mask for PRAGMA_OMP_CLAUSE_DETACH.
|
||
* c-typeck.c (c_finish_omp_clauses): Handle PRAGMA_OMP_CLAUSE_DETACH
|
||
clause. Prevent use of detach with mergeable and overriding the
|
||
data sharing mode of the event handle.
|
||
|
||
2021-01-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-typeck.c (c_finish_omp_clauses): For reduction build array with
|
||
unqualified element type and then call c_build_qualified_type on the
|
||
ARRAY_TYPE.
|
||
|
||
2021-01-07 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_compound_statement): Only
|
||
reallocate loop array if it is too small.
|
||
|
||
2020-12-16 Martin Uecker <muecker@gwdg.de>
|
||
|
||
PR c/98047
|
||
* c-typeck.c (build_modify_expr): Drop qualifiers.
|
||
|
||
2020-12-16 Martin Uecker <muecker@gwdg.de>
|
||
|
||
PR c/98260
|
||
* c-parser.c (c_parser_expression): Look into
|
||
nop expression when marking expressions as read.
|
||
|
||
2020-12-14 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitizer/98204
|
||
* c-typeck.c (pointer_diff): Do not emit a top-level
|
||
sanitization.
|
||
(build_binary_op): Likewise.
|
||
|
||
2020-12-09 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_allocate): New.
|
||
(c_parser_omp_construct): Call it.
|
||
|
||
2020-12-09 Richard Biener <rguenther@suse.de>
|
||
|
||
PR c/98200
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Return
|
||
early on error.
|
||
|
||
2020-12-07 Martin Uecker <muecker@gwdg.de>
|
||
|
||
PR c/97981
|
||
* c-typeck.c (convert_lvalue_to_rvalue): Move the code
|
||
that drops qualifiers to the end of the function.
|
||
|
||
2020-11-26 Martin Uecker <muecker@gwdg.de>
|
||
|
||
PR c/65455
|
||
PR c/92935
|
||
* c-parser.c (c_parser_declaration_or_fndef): Remove
|
||
redundant code to drop qualifiers of _Atomic types for __auto_type.
|
||
(c_parser_typeof_specifier): Do not drop qualifiers of _Atomic
|
||
types for __typeof__.
|
||
|
||
2020-11-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/97958
|
||
* c-parser.c (c_parser_binary_expression): For omp atomic binary
|
||
expressions, use make_node instead of build2 to avoid checking build2
|
||
performs.
|
||
|
||
2020-11-23 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/95630
|
||
* c-typeck.c (build_binary_op): Use pedwarn_c99 with OPT_Wpedantic
|
||
for comparisons of complete and incomplete pointers.
|
||
|
||
2020-11-21 Aaron Sawdey <acsawdey@linux.ibm.com>
|
||
|
||
* c-aux-info.c (gen_type): Support opaque types.
|
||
|
||
2020-11-20 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/97879
|
||
* c-decl.c (start_function): Set ATTR_FLAG_INTERNAL in flags.
|
||
|
||
2020-11-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/97911
|
||
* Make-lang.in (c.serial): Change from goal to a variable.
|
||
(.PHONY): Drop c.serial.
|
||
|
||
2020-11-20 Martin Uecker <muecker@gwdg.de>
|
||
|
||
* c-typeck.c (convert_lvalue_to_rvalue): Drop qualifiers.
|
||
|
||
2020-11-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/97860
|
||
* c-decl.c (get_parm_array_spec): Bail out of nelts is
|
||
error_operand_p.
|
||
|
||
2020-11-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* Make-lang.in (c.serial): New goal.
|
||
(.PHONY): Add c.serial c.prev.
|
||
(cc1$(exeext)): Call LINK_PROGRESS.
|
||
|
||
2020-11-13 Vladimir N. Makarov <vmakarov@redhat.com>
|
||
|
||
* c-parser.c (c_parser_asm_statement): Parse outputs for asm
|
||
goto too.
|
||
* c-typeck.c (build_asm_expr): Remove an assert checking output
|
||
absence for asm goto.
|
||
|
||
2020-11-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-typeck.c (c_finish_omp_clauses): Don't clear
|
||
OMP_CLAUSE_REDUCTION_INSCAN unless reduction_seen == -2.
|
||
|
||
2020-11-13 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR objc/77404
|
||
* c-parser.c (c_parser_objc_class_definition): Pass the
|
||
location of the class name to the interface declaration.
|
||
|
||
2020-11-10 Strager Neds <strager.nds@gmail.com>
|
||
|
||
* c-decl.c (merge_decls): Use new overload of
|
||
set_decl_section_name.
|
||
|
||
2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_target_data): Add use of
|
||
new c_omp_adjust_map_clauses function. Add GOMP_MAP_ATTACH_DETACH as
|
||
handled map clause kind.
|
||
(c_parser_omp_target_enter_data): Likewise.
|
||
(c_parser_omp_target_exit_data): Likewise.
|
||
(c_parser_omp_target): Likewise.
|
||
* c-typeck.c (handle_omp_array_sections): Adjust COMPONENT_REF case to
|
||
use GOMP_MAP_ATTACH_DETACH map kind for C_ORT_OMP region type.
|
||
(c_finish_omp_clauses): Adjust bitmap checks to allow struct decl and
|
||
same struct field access to co-exist on OpenMP construct.
|
||
|
||
2020-11-07 Martin Uecker <muecker@gwdg.de>
|
||
|
||
* c-parser.c (c_parser_label): Implement mixing of labels and code.
|
||
(c_parser_all_labels): Likewise.
|
||
|
||
2020-11-06 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
* c-parser.c (c_parser_objc_at_property_declaration):
|
||
Improve parsing fidelity. Associate better location info
|
||
with @property attributes. Clean up the interface to
|
||
objc_add_property_declaration ().
|
||
|
||
2020-11-06 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* c-decl.c (diagnose_mismatched_decls): Rename
|
||
DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
|
||
(warn_if_shadowing, implicitly_declare, names_builtin_p)
|
||
(collect_source_refs): Likewise.
|
||
* c-typeck.c (inform_declaration, inform_for_arg)
|
||
(convert_for_assignment): Likewise.
|
||
|
||
2020-11-06 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_atomic): Add openacc parameter and update
|
||
OpenACC matching.
|
||
(c_parser_omp_construct): Update call.
|
||
|
||
2020-11-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/97670
|
||
* c-typeck.c (c_finish_omp_clauses): Look through array reductions to
|
||
find underlying decl to clear in the aligned_head bitmap.
|
||
|
||
2020-11-04 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-decl.c (handle_nodiscard_attribute): New.
|
||
(std_attribute_table): Add nodiscard.
|
||
* c-parser.c (c_parser_std_attribute): Expect argument to
|
||
nodiscard attribute to be a string. Do not special-case ignoring
|
||
nodiscard.
|
||
* c-typeck.c (maybe_warn_nodiscard): New.
|
||
(build_compound_expr, emit_side_effect_warnings): Call
|
||
maybe_warn_nodiscard.
|
||
(c_process_expr_stmt, c_finish_stmt_expr): Also call
|
||
emit_side_effect_warnings if warn_unused_result.
|
||
|
||
2020-10-29 Asher Gordon <AsDaGo@posteo.net>
|
||
|
||
* c-typeck.c (free_all_tagged_tu_seen_up_to): Replace free
|
||
with XDELETE.
|
||
(finish_init): Likewise.
|
||
(pop_init_level): Likewise.
|
||
|
||
2020-10-28 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-decl.c (store_parm_decls_newstyle): Use pedwarn_c11 not
|
||
error_at for omitted parameter name.
|
||
|
||
2020-10-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_name): Handle allocate.
|
||
(c_parser_omp_clause_allocate): New function.
|
||
(c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_ALLOCATE.
|
||
(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
|
||
OMP_PARALLEL_CLAUSE_MASK, OMP_SINGLE_CLAUSE_MASK,
|
||
OMP_TASK_CLAUSE_MASK, OMP_TASKGROUP_CLAUSE_MASK,
|
||
OMP_DISTRIBUTE_CLAUSE_MASK, OMP_TEAMS_CLAUSE_MASK,
|
||
OMP_TARGET_CLAUSE_MASK, OMP_TASKLOOP_CLAUSE_MASK): Add
|
||
PRAGMA_OMP_CLAUSE_ALLOCATE.
|
||
* c-typeck.c (c_finish_omp_clauses): Handle OMP_CLAUSE_ALLOCATE.
|
||
|
||
2020-10-27 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_std_attribute_specifier): Allow duplicate
|
||
standard attributes.
|
||
|
||
2020-10-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/91741
|
||
* c-parser.c (c_parser_binary_expression): Implement -Wsizeof-array-div.
|
||
(c_parser_postfix_expression): Set PAREN_SIZEOF_EXPR.
|
||
(c_parser_expr_list): Handle PAREN_SIZEOF_EXPR like SIZEOF_EXPR.
|
||
* c-tree.h (char_type_p): Declare.
|
||
* c-typeck.c (char_type_p): No longer static.
|
||
|
||
2020-10-23 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/97552
|
||
* c-decl.c (get_parm_array_spec): Handle static VLA parameters.
|
||
|
||
2020-09-19 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/50584
|
||
* c-decl.c (lookup_last_decl): Define new function.
|
||
(c_decl_attributes): Call it.
|
||
(start_decl): Add argument and use it.
|
||
(finish_decl): Call build_attr_access_from_parms and decl_attributes.
|
||
(get_parm_array_spec): Define new function.
|
||
(push_parm_decl): Call get_parm_array_spec.
|
||
(start_function): Call warn_parm_array_mismatch. Build attribute
|
||
access and add it to current function.
|
||
* c-parser.c (c_parser_declaration_or_fndef): Diagnose mismatches
|
||
in forms of array parameters.
|
||
* c-tree.h (start_decl): Add argument.
|
||
|
||
2020-09-19 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
* c-decl.c (c_break_label, c_cont_label): Delete, and replace
|
||
with...
|
||
(in_statement): New.
|
||
(start_function): Adjust for above change.
|
||
(c_push_function_context, c_pop_function_context): Likewise.
|
||
* c-lang.h (struct language_function): Likewise.
|
||
* c-objc-common.h (LANG_HOOKS_BLOCK_MAY_FALLTHRU): Define.
|
||
* c-parser.c (objc_foreach_break_label, objc_foreach_continue_label):
|
||
New.
|
||
(c_parser_statement_after_labels): Adjust calls to c_finish_bc_stmt.
|
||
(c_parser_switch_statement): Adjust break/switch context handling
|
||
and calls to renamed functions.
|
||
(c_parser_while_statement): Adjust break/switch context handling and
|
||
build a WHILE_STMT.
|
||
(c_parser_do_statement): Ditto, with DO_STMT respectively.
|
||
(c_parser_for_statement): Ditto, with FOR_STMT respectively.
|
||
(c_parser_omp_for_loop): Adjust break/switch context handling.
|
||
* c-tree.h (c_break_label, c_cont_label): Delete.
|
||
(IN_SWITCH_STMT, IN_ITERATION_STMT): Define.
|
||
(IN_OMP_BLOCK, IN_OMP_FOR, IN_OBJC_FOREACH): Define.
|
||
(in_statement, switch_statement_break_seen_p): Declare.
|
||
(c_start_case, c_finish_case): Renamed to...
|
||
(c_start_switch, c_finish_switch).
|
||
(c_finish_bc_stmt): Adjust arguments.
|
||
* c-typeck.c (build_function_call_vec): Don't try to print
|
||
statements with %qE format.
|
||
(struct c_switch): Rename switch_expr field to switch_stmt.
|
||
Add break_stmt_seen_p field.
|
||
(c_start_case): Rename to c_start_switch. Build a SWITCH_STMT
|
||
instead of a SWITCH_EXPR. Update for changes to struct c_switch.
|
||
(do_case): Update for changes to struct c_switch.
|
||
(c_finish_case): Rename to c_finish_switch. Update for changes to
|
||
struct c_switch and change of representation from SWITCH_EXPR to
|
||
SWITCH_STMT.
|
||
(c_finish_loop): Delete.
|
||
(c_finish_bc_stmt): Update to reflect changes to break/continue
|
||
state representation. Build a BREAK_STMT or CONTINUE_STMT instead
|
||
of a GOTO_EXPR except for objc foreach loops.
|
||
|
||
2020-09-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/96867
|
||
* c-typeck.c (handle_omp_array_sections_1): Test C_ARRAY_PARAMETER
|
||
only on PARM_DECLs.
|
||
|
||
2020-08-28 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/96596
|
||
* c-decl.c (match_builtin_function_types): Avoid dealing with erroneous
|
||
argument type.
|
||
|
||
2020-08-27 Martin Liska <mliska@suse.cz>
|
||
|
||
* gimple-parser.c (c_parser_gimple_compound_statement): Set exact argument of a vector
|
||
growth function to true.
|
||
|
||
2020-08-25 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR c/96678
|
||
* c-typeck.c (handle_omp_array_sections_1): Talk about
|
||
array function parameter in the error message.
|
||
|
||
2020-08-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/96571
|
||
* c-parser.c (c_parser_generic_selection): Change match_found from bool
|
||
to int, holding index of the match. Call mark_exp_read on the selector
|
||
expression and on expressions other than the selected one.
|
||
|
||
2020-08-01 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR c/96377
|
||
* c-typeck.c (process_init_element): Split test for whether to
|
||
recurse into a record, union or array into...
|
||
(initialize_elementwise_p): ...this new function. Don't recurse
|
||
into a vector type if the initialization value is also a vector.
|
||
|
||
2020-07-31 Richard Biener <rguenther@suse.de>
|
||
|
||
PR debug/96383
|
||
* c-objc-common.h (LANG_HOOKS_FINALIZE_EARLY_DEBUG):
|
||
Define to c_common_finalize_early_debug.
|
||
|
||
2020-07-22 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_hint): Require nonnegative hint clause.
|
||
(c_parser_omp_critical): Permit hint(0) clause without named critical.
|
||
(c_parser_omp_construct): Don't assert if error_mark_node is returned.
|
||
|
||
2020-07-21 Sunil K Pandey <skpgkp2@gmail.com>
|
||
|
||
PR target/95237
|
||
* c-decl.c (finish_decl): Call target hook
|
||
lower_local_decl_alignment to lower local decl alignment.
|
||
|
||
2020-07-09 Julian Brown <julian@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR middle-end/95270
|
||
* c-typeck.c (c_finish_omp_clauses): Set OMP_CLAUSE_SIZE (bias) to zero
|
||
for standalone attach/detach clauses.
|
||
|
||
2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* c-typeck.c (convert_for_assignment): If -Wscalar-storage-order is
|
||
set, warn for conversion between pointers that point to incompatible
|
||
scalar storage orders.
|
||
|
||
2020-07-07 Kaipeng Zhou <zhoukaipeng3@huawei.com>
|
||
|
||
* c-parser.c (c_parser_statement_after_labels): Pass correct
|
||
parameters to c_parser_do_statement.
|
||
|
||
2020-06-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_expr_no_commas): Save, clear and restore
|
||
c_in_omp_for.
|
||
(c_parser_omp_for_loop): Set c_in_omp_for around some calls to avoid
|
||
premature c_fully_fold. Defer explicit c_fully_fold calls to after
|
||
c_finish_omp_for.
|
||
* c-tree.h (c_in_omp_for): Declare.
|
||
* c-typeck.c (c_in_omp_for): Define.
|
||
(build_modify_expr): Avoid c_fully_fold if c_in_omp_for.
|
||
(digest_init): Likewise.
|
||
(build_binary_op): Likewise.
|
||
|
||
2020-06-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_schedule): Reject modifier separated
|
||
from kind by comma rather than colon.
|
||
|
||
2020-06-05 Mark Wielaard <mark@klomp.org>
|
||
|
||
* c-decl.c (implicit_decl_warning): When warned and olddecl is
|
||
an undeclared builtin, then add a fixit header hint, if found.
|
||
(implicitly_declare): Add OPT_Wbuiltin_declaration_mismatch to
|
||
warning_at about implicit builtin declaration type mismatch.
|
||
|
||
2020-06-03 Mark Wielaard <mark@klomp.org>
|
||
|
||
* c-parser.c (struct c_parser): Add seen_string_literal
|
||
bitfield.
|
||
(c_parser_consume_token): Reset seen_string_literal.
|
||
(c_parser_error_richloc): Add name_hint if seen_string_literal
|
||
and next token is a CPP_NAME and we have a missing header
|
||
suggestion for the name.
|
||
(c_parser_string_literal): Set seen_string_literal.
|
||
|
||
2020-06-03 Mark Wielaard <mark@klomp.org>
|
||
|
||
* c-parser.c (c_parser_postfix_expression_after_primary): Add
|
||
scope with matching_parens after CPP_OPEN_PAREN.
|
||
|
||
2020-06-03 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
* c-objc-common.h (LANG_HOOKS_OMP_PREDETERMINED_MAPPING): Redefine.
|
||
|
||
2020-05-28 Nicolas Bértolo <nicolasbertolo@gmail.com>
|
||
|
||
* Make-lang.in: Remove extra slash.
|
||
|
||
2020-05-19 Martin Liska <mliska@suse.cz>
|
||
|
||
* c-parser.c: Fix typo.
|
||
|
||
2020-05-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_target): Set cfun->has_omp_target.
|
||
|
||
2020-05-07 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/94703
|
||
* gimple-parser.c (c_parser_parse_ssa_name): Do not set
|
||
DECL_GIMPLE_REG_P.
|
||
|
||
2020-04-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/94842
|
||
* c-decl.c (set_labels_context_r): In addition to context-less
|
||
LABEL_DECLs adjust also LABEL_DECLs with context equal to
|
||
parent function if any.
|
||
(store_parm_decls): Adjust comment.
|
||
|
||
2020-04-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR objc/94637
|
||
* c-parser.c (c_parser_objc_selector_arg): Handle CPP_SCOPE like
|
||
two CPP_COLON tokens.
|
||
|
||
2020-04-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/94629
|
||
* c-parser.c (c_parser_oacc_routine): Remove redundant assignment
|
||
to data.clauses.
|
||
|
||
2020-04-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/94593
|
||
* c-parser.c (c_parser_pragma) <case PRAGMA_OMP_REQUIRES>: Reject
|
||
requires directive when not at file scope.
|
||
|
||
2020-04-08 Tobias Burnus <tobias@codesourcery.com>
|
||
|
||
PR middle-end/94120
|
||
* c-decl.c (c_check_in_current_scope): New function.
|
||
* c-tree.h (c_check_in_current_scope): Declare it.
|
||
* c-parser.c (c_parser_oacc_declare): Add check that variables
|
||
are declared in the same scope as the directive. Fix handling
|
||
of namespace vars.
|
||
|
||
2020-04-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/94512
|
||
* c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
|
||
if c_parser_omp_master succeeded.
|
||
|
||
2020-03-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR gcov-profile/94029
|
||
PR c/94239
|
||
* c-parser.c (c_parser_declaration_or_fndef): Initialize endloc to
|
||
the function_start_locus location. Don't do that afterwards for the
|
||
__GIMPLE body parsing.
|
||
|
||
2020-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR gcov-profile/94029
|
||
* c-tree.h (finish_function): Add location_t argument defaulted to
|
||
input_location.
|
||
* c-parser.c (c_parser_compound_statement): Add endlocp argument and
|
||
set it to the locus of closing } if non-NULL.
|
||
(c_parser_compound_statement_nostart): Return locus of closing }.
|
||
(c_parser_parse_rtl_body): Likewise.
|
||
(c_parser_declaration_or_fndef): Propagate locus of closing } to
|
||
finish_function.
|
||
* c-decl.c (finish_function): Add end_loc argument, use it instead of
|
||
input_location to set function_end_locus.
|
||
|
||
2020-03-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/94172
|
||
* c-tree.h (C_TYPE_INCOMPLETE_VARS): Define to TYPE_LANG_SLOT_1
|
||
instead of TYPE_VFIELD, and support it on {RECORD,UNION,ENUMERAL}_TYPE.
|
||
(TYPE_ACTUAL_ARG_TYPES): Check that it is only used on FUNCTION_TYPEs.
|
||
* c-decl.c (pushdecl): Push C_TYPE_INCOMPLETE_VARS also to
|
||
ENUMERAL_TYPEs.
|
||
(finish_incomplete_vars): New function, moved from finish_struct. Use
|
||
relayout_decl instead of layout_decl.
|
||
(finish_struct): Remove obsolete comment about C_TYPE_INCOMPLETE_VARS
|
||
being TYPE_VFIELD. Use finish_incomplete_vars.
|
||
(finish_enum): Clear C_TYPE_INCOMPLETE_VARS. Call
|
||
finish_incomplete_vars.
|
||
* c-typeck.c (c_build_qualified_type): Clear C_TYPE_INCOMPLETE_VARS
|
||
also on ENUMERAL_TYPEs.
|
||
|
||
2020-03-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/94179
|
||
* c-fold.c (c_fully_fold_internal): Handle MEM_REF.
|
||
|
||
2020-03-13 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/94040
|
||
* c-decl.c (builtin_structptr_type_count): New constant.
|
||
(match_builtin_function_types): Reject decls that are incompatible
|
||
in types pointed to by pointers.
|
||
(diagnose_mismatched_decls): Adjust comments.
|
||
|
||
2020-03-05 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/93577
|
||
* c-typeck.c (pop_init_level): Do not diagnose initializers as
|
||
empty when initialized type is error_mark_node.
|
||
(set_designator, process_init_element): Ignore initializers for
|
||
elements of a variable-size type or of error_mark_node.
|
||
|
||
2020-03-01 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR middle-end/93926
|
||
* c-decl.c (types_close_enough_to_match): New function.
|
||
(match_builtin_function_types):
|
||
(diagnose_mismatched_decls): Add missing inform call to a warning.
|
||
|
||
2020-03-01 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/93812
|
||
* c-typeck.c (build_functype_attribute_variant): New function.
|
||
(composite_type): Call it.
|
||
|
||
2020-02-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/93912
|
||
* gimple-parser.c (c_parser_gimple_parse_bb_spec_edge_probability):
|
||
Rename last argument from probablity to probability.
|
||
|
||
2020-02-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/93576
|
||
* c-decl.c (grokdeclarator): If this_size_varies, only push size into
|
||
*expr if it has side effects.
|
||
|
||
2020-01-30 Jeff Law <law@redhat.com>
|
||
|
||
PR c/88660
|
||
* c-parser.c (c_parser_switch_statement): Make sure to request
|
||
marking the switch expr as used.
|
||
|
||
2020-01-22 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/93348
|
||
* c-typeck.c (build_c_cast): Call remove_c_maybe_const_expr on
|
||
argument with integer operands.
|
||
|
||
2020-01-16 Kerem Kat <keremkat@gmail.com>
|
||
|
||
PR c/92833
|
||
* c-parser.c (c_parser_consume_token): Fix peeked token stack pop
|
||
to support 4 available tokens.
|
||
|
||
2020-01-15 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/93072
|
||
* c-decl.c (pushdecl): Use TREE_PUBLIC, not DECL_EXTERNAL, to
|
||
determine whether to set DECL_CONTEXT.
|
||
|
||
2020-01-13 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/93241
|
||
* c-typeck.c (build_c_cast): Check for expressions with integer
|
||
operands that can occur in an unevaluated part of an integer
|
||
constant expression and call note_integer_operands as needed.
|
||
|
||
2019-01-08 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/93199
|
||
* gimple-parser.c (c_parser_parse_gimple_body): Remove __PHI IFN
|
||
permanently.
|
||
|
||
2020-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
2019-12-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* c-decl.c (collect_source_ref_cb): Delete.
|
||
(for_each_global_decl): Rename into...
|
||
(collect_source_refs): ...this. Call collect_source_ref directly.
|
||
(c_parse_final_cleanups): Always call collect_source_ref on the main
|
||
input filename.
|
||
|
||
2019-12-19 Julian Brown <julian@codesourcery.com>
|
||
Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_name): Add parsing of attach and
|
||
detach clauses.
|
||
(c_parser_omp_variable_list): Add ALLOW_DEREF optional parameter.
|
||
Allow deref (->) in variable lists if true.
|
||
(c_parser_omp_var_list_parens): Add ALLOW_DEREF optional parameter.
|
||
Pass to c_parser_omp_variable_list.
|
||
(c_parser_oacc_data_clause): Support attach and detach clauses. Update
|
||
call to c_parser_omp_variable_list.
|
||
(c_parser_oacc_all_clauses): Support attach and detach clauses.
|
||
(OACC_DATA_CLAUSE_MASK, OACC_ENTER_DATA_CLAUSE_MASK,
|
||
OACC_KERNELS_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK,
|
||
OACC_SERIAL_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_ATTACH.
|
||
(OACC_EXIT_DATA_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_DETACH.
|
||
* c-typeck.c (handle_omp_array_sections_1): Reject subarrays for attach
|
||
and detach. Support deref.
|
||
(handle_omp_array_sections): Use GOMP_MAP_ATTACH_DETACH instead of
|
||
GOMP_MAP_ALWAYS_POINTER for OpenACC.
|
||
(c_oacc_check_attachments): New function.
|
||
(c_finish_omp_clauses): Check attach/detach arguments for being
|
||
pointers using above. Support deref.
|
||
|
||
2019-12-19 Julian Brown <julian@codesourcery.com>
|
||
Maciej W. Rozycki <macro@codesourcery.com>
|
||
Tobias Burnus <tobias@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_name): Support no_create.
|
||
(c_parser_oacc_data_clause): Likewise.
|
||
(c_parser_oacc_all_clauses): Likewise.
|
||
(OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
|
||
(OACC_PARALLEL_CLAUSE_MASK, OACC_SERIAL_CLAUSE_MASK): Add
|
||
PRAGMA_OACC_CLAUSE_NO_CREATE.
|
||
* c-typeck.c (handle_omp_array_sections): Support
|
||
GOMP_MAP_NO_ALLOC.
|
||
|
||
2019-12-09 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-objc-common.c (range_label_for_type_mismatch::get_text):
|
||
Replace label_text ctor calls.
|
||
|
||
2019-12-04 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/36941
|
||
PR c/88827
|
||
* c-typeck.c (convert_lvalue_to_rvalue): Call
|
||
require_complete_type for arguments not of void types.
|
||
(build_indirect_ref): Do not diagnose dereferencing pointers to
|
||
incomplete types.
|
||
* c-tree.h (C_TYPE_ERROR_REPORTED): Remove.
|
||
|
||
2019-12-03 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/88704
|
||
* c-decl.c (store_parm_decls_oldstyle): Diagnose use of [*] in
|
||
old-style parameter definitions.
|
||
|
||
2019-12-01 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR target/92499
|
||
|
||
* c-decl.c (flexible_array_type_p): Move to common code.
|
||
|
||
2019-11-30 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* c-decl.c (start_decl): Allow initialization of variables whose
|
||
size is a POLY_INT_CST.
|
||
(finish_decl): Use verify_type_context to check whether the target
|
||
allows variables with a particular type to have static or thread-local
|
||
storage duration. Don't raise a second error if such variables do
|
||
not have a constant size.
|
||
(grokdeclarator): Use verify_type_context to check whether the
|
||
target allows fields or array elements to have a particular type.
|
||
* c-typeck.c (pointer_diff): Use verify_type_context to test whether
|
||
the target allows pointer difference for the types involved.
|
||
(build_unary_op): Likewise for pointer increment and decrement.
|
||
|
||
2019-11-29 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-parser.c (struct c_parser): Add members raw_tokens and
|
||
raw_tokens_used.
|
||
(c_lex_one_token): Add argument raw. Handle lexing raw tokens and
|
||
using previously-lexed raw tokens.
|
||
(c_parser_peek_nth_token_raw)
|
||
(c_parser_check_balanced_raw_token_sequence): New functions.
|
||
(c_parser_nth_token_starts_std_attributes): Use
|
||
c_parser_check_balanced_raw_token_sequence for Objective-C.
|
||
|
||
2019-11-25 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/91985
|
||
* c-decl.c (finish_declspecs): Use int instead of decimal
|
||
floating-point types if decimal floating-point not supported.
|
||
|
||
2019-11-25 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-tree.h (struct c_declarator): Use a structure for id member.
|
||
* c-decl.c (grokdeclarator): Extract attributes from cdk_id
|
||
declarators at the start, not when handling individual declarators
|
||
later. Use u.id.id instead of u.id.
|
||
(grokfield): Use u.id.id instead of u.id.
|
||
(build_id_declarator): Set u.id.id and u.id.attrs.
|
||
(finish_declspecs): Handle postfix attributes in case of typedef
|
||
name or typeof used.
|
||
* c-parser.c (c_parser_direct_declarator)
|
||
(c_parser_direct_declarator_inner): Place declarator for
|
||
attributes inside that for function or array, not outside. Set
|
||
u.id.attrs for identifiers.
|
||
(c_parser_parameter_declaration): Use u.id.id instead of u.id.
|
||
* gimple-parser.c (c_parser_gimple_declaration): Use u.id.id
|
||
instead of u.id.
|
||
|
||
2019-11-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/90677
|
||
* c-decl.c (identifier_global_tag): Define.
|
||
|
||
2019-11-20 Richard Biener <rguenther@suse.de>
|
||
|
||
PR c/92088
|
||
* c-decl.c (grokdeclarator): Prevent inlining of nested
|
||
function with VLA arguments.
|
||
|
||
2019-11-20 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-decl.c (c_warn_type_attributes): New function.
|
||
(groktypename, grokdeclarator, finish_declspecs): Call
|
||
c_warn_type_attributes before applying attributes to types.
|
||
* c-tree.h (c_warn_type_attributes): Declare.
|
||
|
||
2019-11-19 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-decl.c (c_warn_unused_attributes): Use pedwarn not warning for
|
||
standard attributes.
|
||
* c-parser.c (c_parser_std_attribute): Take argument for_tm. Use
|
||
pedwarn for unknown standard attributes and return error_mark_node
|
||
for them.
|
||
|
||
2019-11-18 Matthew Malcomson <matthew.malcomson@arm.com>
|
||
|
||
* c-parser.c (c_parser_parse_rtl_body): Always call
|
||
run_rtl_passes, even if startwith pass is not provided.
|
||
|
||
2019-11-15 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_std_attribute_specifier): Diagnose
|
||
duplicate standard attributes.
|
||
|
||
2019-11-15 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-decl.c (std_attribute_table): Add maybe_unused.
|
||
|
||
2019-11-15 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-decl.c (std_attribute_table): Add fallthrough.
|
||
* c-parser.c (c_parser_declaration_or_fndef): Diagnose fallthrough
|
||
attribute at top level.
|
||
|
||
2019-11-15 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-decl.c (std_attribute_table): New.
|
||
(c_init_decl_processing): Register attributes from
|
||
std_attribute_table.
|
||
* c-parser.c (c_parser_attribute_arguments): Add arguments
|
||
require_string and allow_empty_args. All callers changed.
|
||
(c_parser_std_attribute): Set require_string argument for
|
||
"deprecated" attribute.
|
||
|
||
2019-11-14 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_postfix_expression)
|
||
(c_parser_check_literal_zero): Handle CPP_UTF8CHAR.
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Likewise.
|
||
|
||
2019-11-14 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* c-typeck.c (build_conditional_expr): Use truth_type_for instead
|
||
of build_same_sized_truth_vector_type.
|
||
(build_vec_cmp): Likewise.
|
||
|
||
2019-11-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_context_selector): Don't require score
|
||
argument to fit into shwi, just to be INTEGER_CST. Diagnose
|
||
negative score.
|
||
|
||
* c-parser.c (c_parser_omp_context_selector): Rename
|
||
CTX_PROPERTY_IDLIST to CTX_PROPERTY_NAME_LIST, add CTX_PROPERTY_ID.
|
||
Use CTX_PROPERTY_ID for atomic_default_mem_order, only allow a single
|
||
identifier in that. For CTX_PROPERTY_NAME_LIST, allow identifiers
|
||
and string literals.
|
||
|
||
2019-11-14 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-tree.h (enum c_typespec_kind): Add ctsk_tagref_attrs and
|
||
ctsk_tagfirstref_attrs.
|
||
(struct c_declspecs): Update description of attrs. Add
|
||
postfix_attrs and non_std_attrs_seen_p. Increase size of
|
||
typespec_kind bit-field.
|
||
(c_warn_unused_attributes): New declaration.
|
||
(parser_xref_tag): Update prototype.
|
||
* c-decl.c (c_warn_unused_attributes): New function.
|
||
(shadow_tag_warned): Handle ctsk_tagfirstref_attrs and
|
||
ctsk_tagref_attrs. Handle attribute declarations.
|
||
(check_compound_literal_type): Handle ctsk_tagfirstref_attrs.
|
||
(grokdeclarator): Handle standard attributes.
|
||
(parser_xref_tag): Add arguments have_std_attrs and attrs. Apply
|
||
attributes to incomplete type reference.
|
||
(xref_tag): Update call to parser_xref_tag.
|
||
(declspecs_add_addrspace, declspecs_add_type)
|
||
(declspecs_add_scspec, declspecs_add_attrs): Set
|
||
non_std_attrs_seen_p.
|
||
(finish_declspecs): Apply postfix standard attributes to type.
|
||
* c-parser.c (c_token_starts_declspecs)
|
||
(c_token_starts_declaration, c_parser_next_token_starts_declspecs)
|
||
(c_parser_next_tokens_start_declaration): Update comments.
|
||
(c_parser_consume_token, c_parser_consume_pragma): Handle moving
|
||
parser->tokens[2] to parser->tokens[1].
|
||
(c_parser_nth_token_starts_std_attributes)
|
||
(c_parser_std_attribute_specifier_sequence): New functions.
|
||
(c_parser_declaration_or_fndef): Add arguments have_attrs and
|
||
attrs. All callers changed. Handle standard attributes.
|
||
(c_parser_parms_declarator, c_parser_parms_list_declarator)
|
||
(c_parser_parameter_declaration): Add argument have_gnu_attrs.
|
||
All callers changed.
|
||
(c_parser_declspecs): Add arguments start_std_attr_ok and
|
||
end_std_attr_ok. All callers changed. Handle standard
|
||
attributes.
|
||
(c_parser_enum_specifier, c_parser_struct_or_union_specifier)
|
||
(c_parser_direct_declarator, c_parser_direct_declarator_inner)
|
||
(c_parser_compound_statement_nostart, c_parser_all_labels)
|
||
(c_parser_label, c_parser_statement, c_parser_for_statement):
|
||
Handle standard attributes.
|
||
* c-parser.h (c_parser_declspecs): Update prototype.
|
||
* gimple-parser.c (c_parser_gimple_declaration): Update call to
|
||
c_parser_declspecs.
|
||
|
||
2019-11-12 Martin Liska <mliska@suse.cz>
|
||
|
||
* gimple-parser.c: Do not include params.h.
|
||
|
||
2019-11-12 Martin Liska <mliska@suse.cz>
|
||
|
||
* gimple-parser.c (c_parser_parse_gimple_body): Replace old parameter syntax
|
||
with the new one, include opts.h if needed. Use SET_OPTION_IF_UNSET
|
||
macro.
|
||
|
||
2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
|
||
Frederik Harwath <frederik@codesourcery.com>
|
||
|
||
gcc/c/
|
||
* c-parser.c (OACC_SERIAL_CLAUSE_MASK): New macro.
|
||
(c_parser_oacc_kernels_parallel): Rename function to...
|
||
(c_parser_oacc_compute): ... this. Handle PRAGMA_OACC_SERIAL.
|
||
(c_parser_omp_construct): Update accordingly.
|
||
|
||
|
||
2019-11-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_translation_unit): Diagnose declare target
|
||
without corresponding end declare target.
|
||
|
||
2019-11-08 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* c-convert.c (convert): Only handle vector conversions if one of
|
||
the types satisfies gnu_vector_type_p or if -flax-vector-conversions
|
||
allows it.
|
||
* c-typeck.c (build_array_ref): Only allow vector indexing if the
|
||
vectors satisfy gnu_vector_type_p.
|
||
(build_unary_op): Only allow unary operators to be applied to
|
||
vectors if they satisfy gnu_vector_type_p.
|
||
(digest_init): Only allow by-element initialization of vectors
|
||
if they satisfy gnu_vector_type_p.
|
||
(really_start_incremental_init): Likewise.
|
||
(push_init_level): Likewise.
|
||
(pop_init_level): Likewise.
|
||
(process_init_element): Likewise.
|
||
(build_binary_op): Only allow binary operators to be applied to
|
||
vectors if they satisfy gnu_vector_type_p.
|
||
|
||
2019-11-08 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-decl.c (grokparms): Convert () in a function definition to
|
||
(void) for C2x.
|
||
(store_parm_decls_oldstyle): Pedwarn for C2x.
|
||
(store_parm_decls): Update comment about () not generating a
|
||
prototype.
|
||
|
||
2019-11-07 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_attribute_arguments): New function.
|
||
Factored out of c_parser_gnu_attribute.
|
||
(c_parser_gnu_attribute): Use c_parser_attribute_arguments.
|
||
(c_parser_balanced_token_sequence, c_parser_std_attribute)
|
||
(c_parser_std_attribute_specifier): New functions.
|
||
(c_parser_transaction_attributes): Use
|
||
c_parser_std_attribute_specifier.
|
||
|
||
2019-11-07 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser): Remove lex_untranslated_string. Add
|
||
lex_joined_string and translate_strings_p.
|
||
(c_lex_one_token): Pass 0 or C_LEX_STRING_NO_JOIN to
|
||
c_lex_with_flags.
|
||
(c_parser_string_literal): New function.
|
||
(c_parser_static_assert_declaration_no_semi): Use
|
||
c_parser_string_literal. Do not set lex_untranslated_string.
|
||
(c_parser_asm_string_literal): Use c_parser_string_literal.
|
||
(c_parser_simple_asm_expr): Do not set lex_untranslated_string.
|
||
(c_parser_gnu_attributes): Set and restore translate_strings_p
|
||
instead of lex_untranslated_string.
|
||
(c_parser_asm_statement): Do not set lex_untranslated_string.
|
||
(c_parser_asm_operands): Likewise.
|
||
(c_parser_has_attribute_expression): Set and restore
|
||
translate_strings_p instead of lex_untranslated_string.
|
||
(c_parser_postfix_expression): Use c_parser_string_literal.
|
||
(pragma_lex): Likewise.
|
||
(c_parser_pragma_pch_preprocess): Set lex_joined_string.
|
||
(c_parse_file): Set translate_strings_p.
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression)
|
||
(c_parser_gimple_or_rtl_pass_list): Use c_parser_string_literal.
|
||
* c-parser.c (c_parser_string_literal): Declare function.
|
||
|
||
2019-11-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_finish_omp_declare_variant): Use
|
||
omp_get_context_selector instead of c_omp_get_context_selector.
|
||
|
||
2019-10-29 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* c-tree.h (c_simulate_enum_decl): Declare.
|
||
* c-decl.c (c_simulate_enum_decl): New function.
|
||
* c-objc-common.h (LANG_HOOKS_SIMULATE_ENUM_DECL): Define to the above.
|
||
|
||
2019-10-29 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* c-tree.h (c_simulate_builtin_function_decl): Declare.
|
||
* c-decl.c (c_simulate_builtin_function_decl): New function.
|
||
* c-objc-common.h (LANG_HOOKS_SIMULATE_BUILTIN_FUNCTION_DECL): Define
|
||
to the above.
|
||
|
||
2019-10-28 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/66970
|
||
* c-decl.c (names_builtin_p): Define a new function.
|
||
|
||
2019-10-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR c/92249
|
||
* gimple-parser.c (c_parser_parse_gimple_body): Make
|
||
current_bb the entry block initially to easier recover
|
||
from errors.
|
||
(c_parser_gimple_compound_statement): Adjust.
|
||
|
||
2019-10-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_finish_omp_declare_variant): Use
|
||
omp_context_selector_matches instead of
|
||
c_omp_context_selector_matches.
|
||
* c-decl.c (c_decl_attributes): Add "omp declare target block"
|
||
attribute in between declare target and end declare target
|
||
pragmas.
|
||
|
||
2019-10-15 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_attribute_any_word): Rename to
|
||
c_parser_gnu_attribute_any_word. All callers changed.
|
||
(c_parser_attribute): Rename to c_parser_gnu_attribute. All
|
||
callers changed.
|
||
(c_parser_attributes): Rename to c_parser_gnu_attributes. All
|
||
callers changed.
|
||
(c_parser_declaration_or_fndef, c_parser_declspecs)
|
||
(c_parser_enum_specifier, c_parser_struct_or_union_specifier)
|
||
(c_parser_struct_declaration, c_parser_declarator)
|
||
(c_parser_gnu_attribute, c_parser_compound_statement)
|
||
(c_parser_label, c_parser_statement, c_parser_objc_method_decl)
|
||
(c_parser_transaction_attributes): Add "gnu-" prefix to names of
|
||
attribute-related syntax productions.
|
||
|
||
2019-10-14 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* c-objc-common.c (useful_aka_type_p): Replace with...
|
||
(get_aka_type): ...this new function. Given the original type,
|
||
decide which aka type to print (if any). Only look through typedefs
|
||
if user_facing_original_type_p.
|
||
(print_type): Update accordingly.
|
||
|
||
2019-10-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_all_clauses): Change bool NESTED_P argument
|
||
into int NESTED, if it is 2, diagnose missing commas in between
|
||
clauses.
|
||
(c_parser_omp_context_selector): Pass 2 as last argument to
|
||
c_parser_omp_all_clauses.
|
||
|
||
2019-10-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_context_selector): Improve error recovery.
|
||
For simd properties, put them directly into TREE_VALUE.
|
||
(c_finish_omp_declare_variant): Call c_omp_mark_declare_variant.
|
||
If c_omp_context_selector_matches is 0, don't add attribute, otherwise
|
||
add "omp declare variant base" attribute rather than
|
||
"omp declare variant".
|
||
|
||
2019-10-11 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-decl.c (declspecs_add_type): Use pedwarn_c11 for DFP types.
|
||
|
||
2019-10-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_all_clauses): Add NESTED_P argument, if
|
||
true, terminate processing on closing paren and don't skip to end of
|
||
pragma line.
|
||
(c_parser_omp_declare_simd): Handle also declare variant.
|
||
(omp_construct_selectors, omp_device_selectors,
|
||
omp_implementation_selectors, omp_user_selectors): New variables.
|
||
(c_parser_omp_context_selector,
|
||
c_parser_omp_context_selector_specification,
|
||
c_finish_omp_declare_variant): New functions.
|
||
(c_finish_omp_declare_simd): Handle both declare simd and
|
||
declare variant.
|
||
(c_parser_omp_declare): Handle declare variant.
|
||
|
||
2019-10-02 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_asm_statement): Handle CPP_SCOPE like two
|
||
CPP_COLON tokens.
|
||
|
||
2019-10-01 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* c-objc-common.c (useful_aka_type_p): New function.
|
||
(print_type): Use it to decide whether an aka type is worth printing.
|
||
|
||
2019-09-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/88203
|
||
* c-parser.c (c_parser_predefined_identifier): New function.
|
||
(c_parser_postfix_expression): Use it.
|
||
(c_parser_omp_variable_list): Parse predefined identifiers.
|
||
* c-typeck.c (c_finish_omp_clauses): Allow predefined variables
|
||
in shared and firstprivate clauses, even when they are predetermined
|
||
shared.
|
||
|
||
2019-09-27 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* c-typeck.c (build_function_call_vec): Take the original function
|
||
decl as an optional final parameter. Pass all built-in calls to
|
||
check_builtin_function_arguments.
|
||
|
||
2019-09-20 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
PR c/91815
|
||
* c-decl.c (pushdecl): In C detect duplicate declarations across scopes
|
||
of identifiers in the external scope only for variables and functions.
|
||
|
||
2019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
PR c/78736
|
||
* c-typeck.c (convert_for_assignment): Handle Wenum-conversion.
|
||
|
||
2019-08-23 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR pch/61250
|
||
* c-parser.c (c_parse_file): Call c_common_no_more_pch ()
|
||
after determining that the first token is not
|
||
PRAGMA_GCC_PCH_PREPROCESS.
|
||
|
||
2019-08-22 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* c-parser.c (c_parser_declaration_or_fndef): Set DECL_ARGUMENTS of a
|
||
FUNCTION_DECL to the right value in the presence of nested declarators.
|
||
|
||
2019-08-13 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/91421
|
||
* c-decl.c (merge_decls): Use copy_decl_built_in_function.
|
||
|
||
2019-08-13 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR middle-end/91421
|
||
* c-decl.c (header_for_builtin_fn): Take a FUNCTION_DECL instead
|
||
of a built_in_function.
|
||
(diagnose_mismatched_decls, implicitly_declare): Update accordingly.
|
||
|
||
2019-08-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_name): Parse device_type.
|
||
(c_parser_omp_clause_device_type): New function.
|
||
(c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
|
||
(OMP_DECLARE_TARGET_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
|
||
(c_parser_omp_declare_target): Handle device_type clauses. Remove
|
||
diagnostics for declare target with clauses nested in clause-less
|
||
declare target declaration-definition-seq.
|
||
* c-typeck.c (c_finish_omp_clauses): Handle OMP_CLAUSE_DEVICE_TYPE.
|
||
|
||
2019-08-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (check_no_duplicate_clause): Simplify using
|
||
omp_find_clause.
|
||
(c_parser_omp_clause_if): Fix up printing of target {enter,exit} data
|
||
directive name modifiers.
|
||
(c_parser_omp_clause_proc_bind): Check for duplicate proc_bind clause.
|
||
|
||
PR c/91401
|
||
* c-parser.c (c_parser_omp_clause_dist_schedule): Fix up typos in the
|
||
check_no_duplicate_clause call. Comment it out, instead emit a
|
||
warning for duplicate dist_schedule clauses.
|
||
|
||
2019-08-08 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* c-decl.c (finish_enum): Clear C_TYPE_BEING_DEFINED.
|
||
|
||
2019-08-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-typeck.c (c_finish_omp_clauses): For C_ORT_OMP
|
||
OMP_CLAUSE_USE_DEVICE_* clauses use oacc_reduction_head bitmap
|
||
instead of generic_head to track duplicates.
|
||
|
||
2019-08-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_name): Parse use_device_addr clause.
|
||
(c_parser_omp_clause_use_device_addr): New function.
|
||
(c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR.
|
||
(OMP_TARGET_DATA_CLAUSE_MASK): Add PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR.
|
||
(c_parser_omp_target_data): Handle PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR
|
||
like PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR, adjust diagnostics about no
|
||
map or use_device_* clauses.
|
||
* c-typeck.c (c_finish_omp_clauses): For OMP_CLAUSE_USE_DEVICE_PTR
|
||
in OpenMP, require pointer type rather than pointer or array type.
|
||
Handle OMP_CLAUSE_USE_DEVICE_ADDR.
|
||
|
||
2019-07-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/91192
|
||
* c-parser.c (c_parser_sizeof_expression): Call set_c_expr_source_range
|
||
even if finish is UNKNOWN_LOCATION, just use start as finish in that
|
||
case.
|
||
|
||
2019-07-25 Martin Liska <mliska@suse.cz>
|
||
Dominik Infuhr <dominik.infuehr@theobroma-systems.com>
|
||
|
||
PR c++/23383
|
||
* c-decl.c (merge_decls): Merge OPERATOR_DELETE flag.
|
||
|
||
2019-07-25 Martin Liska <mliska@suse.cz>
|
||
|
||
* c-decl.c (merge_decls): Use new macros
|
||
(e.g. DECL_SET_LAMBDA_FUNCTION and DECL_LAMBDA_FUNCTION_P).
|
||
|
||
2019-07-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR tree-optimization/83518
|
||
* gimple-parser.c (c_parser_parse_gimple_body): When we have
|
||
a CFG also rebuild cgraph edges.
|
||
|
||
2019-07-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_name): Handle bind clause.
|
||
(c_parser_omp_clause_bind): New function.
|
||
(c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_BIND.
|
||
(OMP_LOOP_CLAUSE_MASK): Define.
|
||
(c_parser_omp_loop): New function.
|
||
(c_parser_omp_parallel, c_parser_omp_teams): Handle parsing of
|
||
loop combined with parallel or teams.
|
||
(c_parser_omp_construct): Handle PRAGMA_OMP_LOOP.
|
||
* c-typeck.c (c_finish_omp_clauses): Handle OMP_CLAUSE_BIND.
|
||
|
||
2019-07-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
PR c/53633
|
||
* c-decl.c (finish_function): Check targetm.warn_func_return
|
||
before issuing a -Wreturn-type warning.
|
||
|
||
2019-07-12 Alexandre Oliva <oliva@adacore.com>
|
||
|
||
* gimple-parser.c (c_parser_gimple_try_stmt): New.
|
||
(c_parser_compound_statement): Call it.
|
||
|
||
2019-07-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_name): Handle order clause.
|
||
(c_parser_omp_clause_order): New function.
|
||
(c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_ORDER.
|
||
(OMP_SIMD_CLAUSE_MASK, OMP_FOR_CLAUSE_MASK): Add
|
||
PRAGMA_OMP_CLAUSE_ORDER.
|
||
* c-typeck.c (c_finish_omp_clauses): Handle OMP_CLAUSE_ORDER.
|
||
|
||
2019-07-10 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Support
|
||
_Literal (int *) &x for address literals.
|
||
|
||
2019-07-09 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/61339
|
||
* c-decl.c (xref_tag): Change class-key of PODs to struct and others
|
||
to class.
|
||
(field_decl_cmp): Same.
|
||
* c-parser.c (c_parser_struct_or_union_specifier): Same.
|
||
* c-tree.h: Same.
|
||
* gimple-parser.c (c_parser_gimple_compound_statement): Same.
|
||
|
||
2019-07-09 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c++/61339
|
||
* c-decl.c: Change class-key from class to struct and vice versa
|
||
to match convention and avoid -Wclass-is-pod and -Wstruct-no-pod.
|
||
* gimple-parser.c: Same.
|
||
|
||
2019-07-01 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Handle
|
||
_Literal (char *) &"foo" for address literals pointing to
|
||
STRING_CSTs.
|
||
|
||
2019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
|
||
|
||
* c-parser.c (c_parse_init): Create keyword for "__intN__" type.
|
||
* c-decl.c (declspecs_add_type): Don't pedwarn about "__intN" ISO
|
||
C incompatibility if alternate "__intN__" form is used.
|
||
|
||
2019-06-24 Martin Sebor <msebor@redhat.com>
|
||
|
||
* c-typeck.c (build_binary_op): Hyphenate floating-point.
|
||
|
||
2019-06-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_pragma): Reject PRAGMA_OMP_SCAN.
|
||
(c_parser_omp_clause_reduction): Don't sorry_at on inscan reductions.
|
||
(c_parser_omp_scan_loop_body): New function.
|
||
(c_parser_omp_for_loop): Call c_parser_omp_scan_loop_body if there are
|
||
inscan reduction clauses.
|
||
* c-typeck.c (c_finish_omp_clauses): Reject mixing inscan with
|
||
non-inscan reductions on the same construct, or inscan reductions with
|
||
ordered or schedule clauses, or inscan array reductions.
|
||
|
||
2019-06-05 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/90737
|
||
* c-typeck.c (c_finish_return): Only consider functions returning
|
||
pointers as candidates for -Wreturn-local-addr.
|
||
|
||
2019-06-05 Martin Sebor <msebor@redhat.com>
|
||
|
||
* c-decl.c (start_decl): Adjust quoting and hyphenation
|
||
in diagnostics.
|
||
(finish_decl): Same.
|
||
(finish_enum): Same.
|
||
(start_function): Same.
|
||
(declspecs_add_type): Same.
|
||
* c-parser.c (warn_for_abs): Same.
|
||
* c-typeck.c (build_binary_op): Same.
|
||
|
||
2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR c/89433
|
||
* c-parser.c (c_finish_oacc_routine): Rework checking if already
|
||
marked with an OpenACC 'routine' directive.
|
||
|
||
PR c/89433
|
||
* c-parser.c (c_parser_oacc_routine): Normalize order of clauses.
|
||
(c_finish_oacc_routine): Call oacc_verify_routine_clauses.
|
||
|
||
PR c/89433
|
||
* c-parser.c (c_finish_oacc_routine): Refer to OpenACC 'routine'
|
||
clauses from "omp declare target" attribute.
|
||
|
||
2019-05-16 Martin Sebor <msebor@redhat.com>
|
||
|
||
* c-decl.c (start_decl): Quote keywords, operators, and
|
||
types in diagnostics.
|
||
(finish_decl): Same.
|
||
* c-parser.c (c_parser_asm_statement): Same.
|
||
(c_parser_conditional_expression): Same.
|
||
(c_parser_transaction_cancel): Same.
|
||
* c-typeck.c (c_common_type): Same.
|
||
(build_conditional_expr): Same.
|
||
(digest_init): Same.
|
||
(process_init_element): Same.
|
||
(build_binary_op): Same.
|
||
|
||
2019-05-17 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_statement): Handle __VEC_PERM.
|
||
(c_parser_gimple_unary_expression): Likewise.
|
||
(c_parser_gimple_parentized_ternary_expression): New function.
|
||
|
||
2019-05-16 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_statement): Handle __BIT_INSERT.
|
||
(c_parser_gimple_unary_expression): Likewise.
|
||
|
||
2019-05-15 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Handle
|
||
__BIT_FIELD_REF.
|
||
|
||
2019-05-14 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_statement): Remove
|
||
questionable auto-promotion to VIEW_CONVERT_EXPR.
|
||
(c_parser_gimple_typespec): Split out from __MEM parsing.
|
||
(c_parser_gimple_postfix_expression): Handle __VIEW_CONVERT.
|
||
* tree-pretty-print.c (dump_generic_node): Dump VIEW_CONVERT_EXPR
|
||
as __VIEW_CONVERT with -gimple.
|
||
|
||
2019-05-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* gimple-parser.c (c_parser_gimple_statement): Support __MIN and
|
||
__MAX.
|
||
(c_parser_gimple_unary_expression): Parse also binary expression
|
||
__MIN and __MAX.
|
||
(c_parser_gimple_parentized_binary_expression): New function.
|
||
|
||
2019-05-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* gimple-parser.c (struct gimple_parser): Add probability.
|
||
for gimple_parser_edge.
|
||
(gimple_parser::push_edge): Add new argument probability.
|
||
(c_parser_gimple_parse_bb_spec): Parse also probability
|
||
if present.
|
||
(c_parser_parse_gimple_body): Set edge probability.
|
||
(c_parser_gimple_compound_statement): Consume token
|
||
before calling c_parser_gimple_goto_stmt.
|
||
Parse BB counts.
|
||
(c_parser_gimple_statement): Pass new argument.
|
||
(c_parser_gimple_goto_stmt): Likewise.
|
||
(c_parser_gimple_if_stmt): Likewise.
|
||
(c_parser_gimple_or_rtl_pass_list): Parse hot_bb_threshold.
|
||
* c-parser.c (c_parser_declaration_or_fndef): Pass
|
||
hot_bb_threshold argument.
|
||
* c-tree.h (struct c_declspecs): Add hot_bb_threshold
|
||
field.
|
||
(c_parser_gimple_parse_bb_spec_edge_probability): New.
|
||
|
||
2019-04-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/90197
|
||
* c-tree.h (c_finish_loop): Add 2 further location_t arguments.
|
||
* c-parser.c (c_parser_while_statement): Adjust c_finish_loop caller.
|
||
(c_parser_do_statement): Likewise.
|
||
(c_parser_for_statement): Likewise. Formatting fixes.
|
||
* c-typeck.c (c_finish_loop): Add COND_LOCUS and INCR_LOCUS arguments,
|
||
emit DEBUG_BEGIN_STMTs if needed.
|
||
|
||
2019-04-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/89888
|
||
* c-typeck.c (struct c_switch): Remove outside_range_p member.
|
||
(c_start_case): Don't clear it.
|
||
(do_case): Adjust c_add_case_label caller.
|
||
(c_finish_case): Adjust c_do_switch_warnings caller.
|
||
|
||
PR c++/90108
|
||
* c-decl.c (merge_decls): If remove is main variant and
|
||
DECL_ORIGINAL_TYPE is some other type, remove a DECL_ORIGINAL_TYPE
|
||
variant that has newdecl as TYPE_NAME if any.
|
||
|
||
2019-04-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/89933
|
||
* c-decl.c (merge_decls): When newdecl's type is its main variant,
|
||
don't try to remove it from the variant list, but instead assert
|
||
it has no variants.
|
||
|
||
2019-04-01 Richard Biener <rguenther@suse.de>
|
||
|
||
PR c/71598
|
||
* c-tree.h (c_get_alias_set): Declare.
|
||
* c-objc-common.h (LANG_HOOKS_GET_ALIAS_SET): Use c_get_alias_set.
|
||
* c-objc-common.c (c_get_alias_set): Treat enumeral types
|
||
as the underlying integer type.
|
||
|
||
2019-03-19 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/89688
|
||
* c-decl.c (finish_decl): Call braced_lists_to_string for more
|
||
kinds of initializers.
|
||
|
||
2019-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/89734
|
||
* c-decl.c (grokdeclarator): Call c_build_qualified_type on function
|
||
return type even if quals_used is 0. Formatting fixes.
|
||
|
||
2019-03-14 Richard Biener <rguenther@suse.de>
|
||
|
||
* c-tree.h (enum c_declspec_il): New.
|
||
(struct c_declspecs): Merge gimple_p and rtl_p into declspec_il
|
||
enum bitfield.
|
||
* c-parser.c (c_parser_declaration_or_fndef): Adjust accordingly.
|
||
Pass start pass and declspec_il to c_parser_parse_gimple_body.
|
||
(c_parser_declspecs): Adjust.
|
||
* gimple-parser.c: Include cfg.h, cfghooks.h, cfganal.h, tree-cfg.h,
|
||
gimple-iterator.h, cfgloop.h, tree-phinodes.h, tree-into-ssa.h
|
||
and bitmap.h.
|
||
(struct gimple_parser): New.
|
||
(gimple_parser::push_edge): New method.
|
||
(c_parser_gimple_parse_bb_spec): New helper.
|
||
(c_parser_parse_gimple_body): Get start pass and IL specification.
|
||
Initialize SSA and CFG.
|
||
(c_parser_gimple_compound_statement): Handle CFG and SSA build.
|
||
Build a gimple_parser parsing state and pass it along.
|
||
(c_parser_gimple_statement): Change intermittend __PHI internal
|
||
function argument for the edge.
|
||
(c_parser_gimple_or_rtl_pass_list): Handle ssa, cfg flags.
|
||
(c_parser_gimple_goto_stmt): Record edges to build.
|
||
(c_parser_gimple_if_stmt): Likewise.
|
||
* gimple-parser.h (c_parser_parse_gimple_body): Adjust.
|
||
(c_parser_gimple_or_rtl_pass_list): Likewise.
|
||
|
||
2019-03-11 Martin Liska <mliska@suse.cz>
|
||
|
||
* c-decl.c (check_for_loop_decls): Wrap an option name
|
||
in a string format message and fix GNU coding style.
|
||
* c-parser.c (c_parser_declspecs): Likewise.
|
||
|
||
2019-03-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/89550
|
||
* c-decl.c (finish_function): Only set TREE_NO_WARNING if warning_at
|
||
returned true.
|
||
(c_write_global_declarations_1): Only set TREE_NO_WARNING if pedwarn
|
||
or warning returned true.
|
||
|
||
2019-02-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/89525
|
||
* c-typeck.c (convert_arguments): Call inform_declaration only if
|
||
the previous warning_at call returned true.
|
||
|
||
2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_oacc_shape_clause): Add loc formal
|
||
parameter. Adjust all users.
|
||
(c_parser_oacc_simple_clause): Replace parser with loc formal
|
||
parameter. Adjust all users.
|
||
|
||
2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
PR c/87924
|
||
* c-parser.c (c_parser_oacc_clause_wait): Add representation of wait
|
||
clause without argument as 'wait (GOMP_ASYNC_NOVAL)', adjust comments.
|
||
|
||
2019-02-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/89340
|
||
* c-decl.c (start_function): Clear TREE_PUBLIC on nested functions
|
||
before c_decl_attributes rather than after it.
|
||
|
||
2019-02-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/89211
|
||
* c-parser.c (c_parser_declaration_or_fndef): Don't update
|
||
DECL_ARGUMENTS of d if it has been defined already. Use a single if
|
||
instead of 3 nested ifs.
|
||
|
||
2019-02-06 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/88584
|
||
* c-decl.c (finish_decl): Do not complete array types for arrays
|
||
with external linkage not at file scope.
|
||
|
||
2019-02-05 Richard Biener <rguenther@suse.de>
|
||
|
||
PR c/88606
|
||
* c-decl.c (finish_struct): Reset TYPE_TRANSPARENT_AGGR on
|
||
all type variants when not supported.
|
||
|
||
2019-01-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/89061
|
||
* c-tree.h (C_DECL_COMPOUND_LITERAL_P): Define.
|
||
* c-decl.c (decl_jump_unsafe): Return false for
|
||
C_DECL_COMPOUND_LITERAL_P decls.
|
||
(build_compound_literal): Set C_DECL_COMPOUND_LITERAL_P.
|
||
|
||
2019-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/89045
|
||
* c-decl.c (build_compound_literal): Don't pushdecl if in parameter
|
||
scope.
|
||
|
||
PR c/86125
|
||
* c-decl.c (last_fileptr_type): Remove.
|
||
(last_structptr_types): New variable.
|
||
(match_builtin_function_types): Compare TYPE_MAIN_VARIANT of
|
||
{old,new}rettype instead of the types themselves. Assert
|
||
last_structptr_types array has the same number of elements
|
||
as builtin_structptr_types array. Use TYPE_MAIN_VARIANT for
|
||
argument oldtype and newtype. Instead of handling
|
||
just fileptr_type_node specially, handle all builtin_structptr_types
|
||
pointer nodes. Formatting fix.
|
||
|
||
2019-01-24 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/86125
|
||
PR c/88886
|
||
PR middle-end/86308
|
||
* c-decl.c (match_builtin_function_types): Add arguments.
|
||
(diagnose_mismatched_decls): Diagnose mismatched declarations
|
||
of built-ins more strictly.
|
||
|
||
2019-01-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/88976
|
||
* c-typeck.c (c_finish_omp_cancel): Diagnose more than one if
|
||
on #pragma omp cancel with different modifiers.
|
||
|
||
2019-01-18 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR c/51628
|
||
PR c/88664
|
||
* c-typeck.c (convert_for_assignment): Upate the
|
||
warn_for_address_or_pointer_of_packed_member call.
|
||
|
||
2019-01-16 Tom Honermann <tom@honermann.net>
|
||
Jason Merrill <jason@redhat.com>
|
||
|
||
* c-typeck.c (digest_init): Revised the error message produced for
|
||
ill-formed cases of array initialization with a string literal.
|
||
(error_init): Make variadic.
|
||
|
||
2019-01-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-typeck.c (convert_for_assignment): Fix a comment typo.
|
||
|
||
2019-01-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/88701
|
||
* c-decl.c (build_compound_literal): If not TREE_STATIC, only pushdecl
|
||
if current_function_decl is non-NULL.
|
||
|
||
2019-01-07 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/88720
|
||
PR c/88726
|
||
* c-decl.c (pop_scope): Use TREE_PUBLIC and b->nested to determine
|
||
whether a function is nested, not DECL_EXTERNAL. Diagnose inline
|
||
functions declared but never defined only for external scope, not
|
||
for other scopes.
|
||
|
||
2019-01-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/85052
|
||
* c-parser.c (c_parser_postfix_expression): Parse
|
||
__builtin_convertvector.
|
||
|
||
2019-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
2018-12-20 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR c/51628
|
||
* c-typeck.c (convert_for_assignment): Call
|
||
warn_for_address_or_pointer_of_packed_member.
|
||
|
||
2018-12-19 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* c-parser.c (c_parser_asm_statement) <RID_CONST, RID_RESTRICT>: Give
|
||
a more specific error message (instead of just falling through).
|
||
|
||
2018-12-19 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* c-parser.c (c_parser_asm_statement): Keep track of the location each
|
||
asm qualifier is first seen; use that to give nicer "duplicate asm
|
||
qualifier" messages. Delete 'quals" variable, instead pass the
|
||
"is_volatile_ flag to build_asm_stmt directly.
|
||
* c-tree.h (build_asm_stmt): Make the first arg bool instead of tree.
|
||
* c-typeck.c (build_asm_stmt): Ditto; adjust.
|
||
|
||
2018-12-19 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* c-parser.c (c_parser_asm_statement): Rewrite the loop to work without
|
||
"done" boolean variable.
|
||
|
||
2018-12-19 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c++/87504
|
||
* c-typeck.c (class maybe_range_label_for_tree_type_mismatch):
|
||
Move from here to gcc-rich-location.h and gcc-rich-location.c.
|
||
(build_binary_op): Use struct op_location_t and
|
||
class binary_op_rich_location.
|
||
|
||
2018-12-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/88426
|
||
* c-convert.c (convert): Call c_fully_fold before calling
|
||
ubsan_instrument_float_cast.
|
||
|
||
2018-12-08 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* c-parser (c_parser_asm_statement) [RID_INLINE]: Delete stray line
|
||
setting "quals".
|
||
|
||
2018-12-06 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
* c-parser.c (c_parser_asm_statement): Detect the inline keyword
|
||
after asm. Pass a flag for it to build_asm_expr.
|
||
* c-tree.h (build_asm_expr): Update declaration.
|
||
* c-typeck.c (build_asm_stmt): Add is_inline parameter. Use it to
|
||
set ASM_INLINE_P.
|
||
|
||
2018-12-06 Segher Boessenkool <segher@kernel.crashing.org>
|
||
|
||
PR inline-asm/55681
|
||
* c-parser.c (c_parser_asm_statement): Update grammar. Allow any
|
||
combination of volatile and goto, in any order, without repetitions.
|
||
|
||
2018-12-04 James Norris <jnorris@codesourcery.com>
|
||
Cesar Philippidis <cesar@codesourcery.com>
|
||
Julian Brown <julian@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_oacc_wait_list): Remove dead diagnostic
|
||
code.
|
||
|
||
2018-11-30 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Parse
|
||
_Literal (type) { ... } as empty aggregate or vector constructor.
|
||
|
||
2018-11-29 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/88091
|
||
* c-typeck.c (convert_argument): Add a parameter. Adjust indentation.
|
||
(convert_arguments): Add comments. Pass additional argument to
|
||
the function above.
|
||
|
||
2018-11-29 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/88172
|
||
PR testsuite/88208
|
||
* c-decl.c (declspec_add_alignas): Adjust call to check_user_alignment.
|
||
|
||
2018-11-23 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR testsuite/88098
|
||
* c-typeck.c (convert_arguments): Call builtin_decl_explicit instead.
|
||
(maybe_warn_builtin_no_proto_arg): Handle short enum to int promotion.
|
||
|
||
2018-11-20 Martin Sebor <msebor@redhat.com>
|
||
|
||
* c-parser.c (c_parser_has_attribute_expression): New function.
|
||
(c_parser_attribute): New function.
|
||
(c_parser_attributes): Move code into c_parser_attribute.
|
||
(c_parser_unary_expression): Handle RID_HAS_ATTRIBUTE_EXPRESSION.
|
||
|
||
2018-11-15 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/83656
|
||
* c-decl.c (header_for_builtin_fn): Declare.
|
||
(diagnose_mismatched_decls): Diagnose declarations of built-in
|
||
functions without a prototype.
|
||
* c-typeck.c (maybe_warn_builtin_no_proto_arg): New function.
|
||
(convert_argument): Same.
|
||
(convert_arguments): Factor code out into convert_argument.
|
||
Detect mismatches between built-in formal arguments in calls
|
||
to built-in without prototype.
|
||
(build_conditional_expr): Same.
|
||
(type_or_builtin_type): New function.
|
||
(convert_for_assignment): Add argument. Conditionally issue
|
||
warnings instead of errors for mismatches.
|
||
|
||
2018-11-13 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c: Replace "source_location" with "location_t".
|
||
* c-tree.h: Likewise.
|
||
* c-typeck.c: Likewise.
|
||
* gimple-parser.c: Likewise.
|
||
|
||
2018-11-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_final): Use
|
||
c_parser_expr_no_commas, convert_lvalue_to_rvalue,
|
||
c_objc_common_truthvalue_conversion, c_fully_fold and parentheses
|
||
parsing instead of c_parser_paren_condition.
|
||
(c_parser_omp_clause_if): Use c_parser_expr_no_commas,
|
||
convert_lvalue_to_rvalue, c_objc_common_truthvalue_conversion and
|
||
c_fully_fold instead of c_parser_condition.
|
||
(c_parser_omp_clause_num_threads, c_parser_omp_clause_num_tasks,
|
||
c_parser_omp_clause_grainsize, c_parser_omp_clause_priority,
|
||
c_parser_omp_clause_hint, c_parser_omp_clause_num_teams,
|
||
c_parser_omp_clause_thread_limit, c_parser_omp_clause_linear): Use
|
||
c_parser_expr_no_commas instead of c_parser_expression.
|
||
|
||
* c-parser.c (c_parser_omp_clause_reduction): Call sorry_at on
|
||
reduction clause with inscan modifier.
|
||
|
||
* c-parser.c (c_parser_omp_requires): Call sorry_at on requires
|
||
clauses other than atomic_default_mem_order.
|
||
|
||
2018-11-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c: Include memmode.h.
|
||
(c_parser_omp_depobj, c_parser_omp_requires): New functions.
|
||
(c_parser_pragma): Handle PRAGMA_OMP_DEPOBJ and PRAGMA_OMP_REQUIRES.
|
||
(c_parser_omp_clause_name): Handle nontemporal, in_reduction and
|
||
task_reduction clauses.
|
||
(c_parser_omp_variable_list): Handle OMP_CLAUSE_{IN,TASK}_REDUCTION.
|
||
For OMP_CLAUSE_DEPEND, parse clause operands as either an array
|
||
section, or lvalue assignment expression.
|
||
(c_parser_omp_clause_if): Handle cancel and simd modifiers.
|
||
(c_parser_omp_clause_lastprivate): Parse optional
|
||
conditional: modifier.
|
||
(c_parser_omp_clause_hint): Require constant integer expression rather
|
||
than just integer expression.
|
||
(c_parser_omp_clause_defaultmap): Parse new kinds of defaultmap
|
||
clause.
|
||
(c_parser_omp_clause_reduction): Add IS_OMP and KIND arguments.
|
||
Parse reduction modifiers. Pass KIND to c_parser_omp_variable_list.
|
||
(c_parser_omp_clause_nontemporal, c_parser_omp_iterators): New
|
||
functions.
|
||
(c_parser_omp_clause_depend): Parse iterator modifier and handle
|
||
iterators. Parse mutexinoutset and depobj kinds.
|
||
(c_parser_oacc_all_clauses): Adjust c_parser_omp_clause_reduction
|
||
callers.
|
||
(c_parser_omp_all_clauses): Likewise. Handle
|
||
PRAGMA_OMP_CLAUSE_NONTEMPORAL and
|
||
PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
|
||
(c_parser_omp_atomic): Parse hint and memory order clauses. Handle
|
||
default memory order from requires directive if any. Adjust
|
||
c_finish_omp_atomic caller.
|
||
(c_parser_omp_critical): Allow comma in between (name) and hint clause.
|
||
(c_parser_omp_flush): Parse flush with memory-order-clause.
|
||
(c_parser_omp_for_loop): Allow NE_EXPR even in
|
||
OpenMP loops, adjust c_finish_omp_for caller.
|
||
(OMP_SIMD_CLAUSE_MASK): Add if and nontemporal clauses.
|
||
(c_parser_omp_master): Add p_name, mask and cclauses arguments.
|
||
Allow to be called while parsing combined parallel master.
|
||
Parse combined master taskloop{, simd}.
|
||
(c_parser_omp_parallel): Parse combined
|
||
parallel master{, taskloop{, simd}} constructs.
|
||
(OMP_TASK_CLAUSE_MASK): Add in_reduction clause.
|
||
(OMP_TASKGROUP_CLAUSE_MASK): Define.
|
||
(c_parser_omp_taskgroup): Add LOC argument. Parse taskgroup clauses.
|
||
(OMP_TASKWAIT_CLAUSE_MASK): Define.
|
||
(c_parser_omp_taskwait): Handle taskwait with depend clauses.
|
||
(c_parser_omp_teams): Force a BIND_EXPR with BLOCK
|
||
around teams body. Use SET_EXPR_LOCATION.
|
||
(c_parser_omp_target_data): Allow target data
|
||
with only use_device_ptr clauses.
|
||
(c_parser_omp_target): Use SET_EXPR_LOCATION. Set
|
||
OMP_REQUIRES_TARGET_USED bit in omp_requires_mask.
|
||
(c_parser_omp_requires): New function.
|
||
(c_finish_taskloop_clauses): New function.
|
||
(OMP_TASKLOOP_CLAUSE_MASK): Add reduction and in_reduction clauses.
|
||
(c_parser_omp_taskloop): Use c_finish_taskloop_clauses. Add forward
|
||
declaration. Disallow in_reduction clause when combined with parallel
|
||
master.
|
||
(c_parser_omp_construct): Adjust c_parser_omp_master and
|
||
c_parser_omp_taskgroup callers.
|
||
* c-typeck.c (c_finish_omp_cancel): Diagnose if clause with modifier
|
||
other than cancel.
|
||
(handle_omp_array_sections_1): Handle OMP_CLAUSE_{IN,TASK}_REDUCTION
|
||
like OMP_CLAUSE_REDUCTION.
|
||
(handle_omp_array_sections): Likewise. Call save_expr on array
|
||
reductions before calling build_index_type. Handle depend clauses
|
||
with iterators.
|
||
(struct c_find_omp_var_s): New type.
|
||
(c_find_omp_var_r, c_omp_finish_iterators): New functions.
|
||
(c_finish_omp_clauses): Don't diagnose nonmonotonic clause
|
||
with static, runtime or auto schedule kinds. Call save_expr for whole
|
||
array reduction sizes. Diagnose reductions with zero sized elements
|
||
or variable length structures. Diagnose nogroup clause used with
|
||
reduction clause(s). Handle depend clause with
|
||
OMP_CLAUSE_DEPEND_DEPOBJ. Diagnose bit-fields. Require
|
||
omp_depend_t type for OMP_CLAUSE_DEPEND_DEPOBJ kinds and
|
||
some different type for other kinds. Use build_unary_op with
|
||
ADDR_EXPR and build_indirect_ref instead of c_mark_addressable.
|
||
Handle depend clauses with iterators. Remove no longer needed special
|
||
case that predetermined const qualified vars may be specified in
|
||
firstprivate clause. Complain if const qualified vars are mentioned
|
||
in data-sharing clauses other than firstprivate or shared. Use
|
||
error_at with OMP_CLAUSE_LOCATION (c) as first argument instead of
|
||
error. Formatting fix. Handle OMP_CLAUSE_NONTEMPORAL and
|
||
OMP_CLAUSE_{IN,TASK}_REDUCTION. Allow any lvalue as
|
||
OMP_CLAUSE_DEPEND operand (besides array section), adjust diagnostics.
|
||
|
||
2018-10-29 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c (implicit_decl_warning): Update "is there a suggestion"
|
||
logic for change to name_hint::operator bool.
|
||
(undeclared_variable): Likewise.
|
||
* c-parser.c (c_parser_declaration_or_fndef): Likewise.
|
||
(c_parser_parameter_declaration): Likewise.
|
||
|
||
2018-10-17 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-errors.c (pedwarn_c11): New function.
|
||
* c-parser.c (disable_extension_diagnostics): Save
|
||
warn_c11_c2x_compat and set it to 0.
|
||
(restore_extension_diagnostics): Restore warn_c11_c2x_compat.
|
||
(c_parser_static_assert_declaration_no_semi): Handle
|
||
_Static_assert without string constant.
|
||
* c-tree.h (pedwarn_c11): New prototype.
|
||
|
||
2018-10-17 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* Make-lang.in (selftest-c): New.
|
||
(C_SELFTEST_FLAGS, C_SELFTEST_DEPS, s-selftest-c, selftest-c-gdb)
|
||
(selftest-gdb, selftest-c-valgrind, selftest-valgrind): Move here
|
||
from gcc/Makefile.in.
|
||
|
||
2018-10-02 Richard Biener <rguenther@suse.de>
|
||
|
||
* c-decl.c (warn_if_shadowing): Do not test DECL_FROM_INLINE.
|
||
|
||
2018-09-26 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/87390
|
||
* c-typeck.c (build_binary_op): Use excess precision for
|
||
comparisons of integers and floating-point for C11 and later.
|
||
|
||
2018-09-26 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR c/87347
|
||
* c-parser.c (warn_for_abs): Bail out if TYPE_ARG_TYPES is NULL. Fix
|
||
comment.
|
||
|
||
2018-09-17 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-objc-common.c (range_label_for_type_mismatch::get_text):
|
||
Update for new param.
|
||
* c-typeck.c (maybe_range_label_for_tree_type_mismatch::get_text):
|
||
Likewise.
|
||
|
||
2018-09-17 Martin Jambor <mjambor@suse.cz>
|
||
|
||
PR c/63886
|
||
* c-parser.c: (warn_for_abs): New function.
|
||
(c_parser_postfix_expression_after_primary): Call it.
|
||
|
||
2018-09-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* c-typeck.c (digest_init): Shorten overlength strings.
|
||
|
||
2018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* c-decl.c (finish_decl): Call complete_flexible_array_elts.
|
||
|
||
2018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* c-decl.c (finish_decl): Call braced_list_to_string here ...
|
||
* c-parser.c (c_parser_declaration_or_fndef): ... instead of here.
|
||
|
||
2018-08-30 Alexander Monakov <amonakov@ispras.ru>
|
||
|
||
* gimple-parser.c (c_parser_gimple_binary_expression): Accept infix
|
||
"__MULT_HIGHPART" for MULT_HIGHPART_EXPR.
|
||
|
||
2018-08-27 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR 87091
|
||
* c-decl.c (implicitly_declare): Update call to
|
||
maybe_add_include_fixit to suggest overriding the location, as it
|
||
is for a note.
|
||
* c-objc-common.c (c_tree_printer): Update for conversion of
|
||
show_caret_p to a tri-state.
|
||
|
||
2018-08-27 Martin Liska <mliska@suse.cz>
|
||
|
||
* c-decl.c (locate_old_decl): Use new function
|
||
fndecl_built_in_p and remove check for FUNCTION_DECL if
|
||
possible.
|
||
(diagnose_mismatched_decls): Likewise.
|
||
(merge_decls): Likewise.
|
||
(warn_if_shadowing): Likewise.
|
||
(pushdecl): Likewise.
|
||
(implicitly_declare): Likewise.
|
||
* c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
|
||
* c-tree.h (C_DECL_ISNT_PROTOTYPE): Likewise.
|
||
* c-typeck.c (build_function_call_vec): Likewise.
|
||
(convert_arguments): Likewise.
|
||
|
||
2018-08-20 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR other/84889
|
||
* c-decl.c (pushtag): Add auto_diagnostic_group instance.
|
||
(diagnose_mismatched_decls): Likewise, in various places.
|
||
(warn_if_shadowing): Likewise.
|
||
(implicit_decl_warning): Likewise.
|
||
(implicitly_declare): Likewise.
|
||
(undeclared_variable): Likewise.
|
||
(declare_label): Likewise.
|
||
(grokdeclarator): Likewise.
|
||
(start_function): Likewise.
|
||
* c-parser.c (c_parser_declaration_or_fndef): Likewise.
|
||
(c_parser_parameter_declaration): Likewise.
|
||
(c_parser_binary_expression): Likewise.
|
||
* c-typeck.c (c_expr_sizeof_expr): Likewise.
|
||
(parser_build_binary_op): Likewise.
|
||
(build_unary_op): Likewise.
|
||
(error_init): Likewise.
|
||
(pedwarn_init): Likewise.
|
||
(warning_init): Likewise.
|
||
(convert_for_assignment): Likewise.
|
||
|
||
2018-08-15 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-objc-common.c: Include "gcc-rich-location.h".
|
||
(c_tree_printer): Move implemenation of '%T' to...
|
||
(print_type): ...this new function.
|
||
(range_label_for_type_mismatch::get_text): New function.
|
||
* c-typeck.c (convert_for_assignment): Add type labels to the rhs
|
||
range for the various ic_argpass cases.
|
||
(class maybe_range_label_for_tree_type_mismatch): New class.
|
||
(build_binary_op): Use it when calling binary_op_error.
|
||
|
||
2018-08-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* c-decl.c (start_decl): Do not warn if variables is named as main
|
||
and is a local variable.
|
||
|
||
2018-08-15 Iain Sandoe <iain@sandoe.co.uk>
|
||
|
||
PR c/19315
|
||
* c-decl.c (finish_decl): Don't add the 'extern' storage class to
|
||
objects of unknown size.
|
||
|
||
2018-08-13 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/71625
|
||
* c-parser.c (c_parser_declaration_or_fndef): Call
|
||
braced_list_to_string.
|
||
|
||
2018-08-03 Bogdan Harjoc <harjoc@gmail.com>
|
||
|
||
PR c/86690
|
||
* c-typeck.c (lookup_field): Do not use TYPE_LANG_SPECIFIC after
|
||
errors.
|
||
|
||
2018-08-01 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR tree-optimization/86650
|
||
* c-objc-common.c (c_tree_printer): Move usage of EXPR_LOCATION (t)
|
||
and TREE_BLOCK (t) from within percent_K_format to this callsite.
|
||
|
||
2018-08-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/85704
|
||
* c-typeck.c (init_field_decl_cmp): New function.
|
||
(output_pending_init_elements): Use it for field comparisons
|
||
instead of pure bit_position comparisons.
|
||
|
||
2018-07-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-decl.c (c_decl_attributes): Don't diagnose vars without mappable
|
||
type here, instead add "omp declare target implicit" attribute.
|
||
(finish_decl): Diagnose vars without mappable type here.
|
||
|
||
2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_name): Add support for finalize
|
||
and if_present. Make present_or_{copy,copyin,copyout,create} aliases
|
||
to their non-present_or_* counterparts. Make 'self' an alias to
|
||
PRAGMA_OACC_CLAUSE_HOST.
|
||
(c_parser_oacc_data_clause): Update GOMP mappings for
|
||
PRAGMA_OACC_CLAUSE_{COPY,COPYIN,COPYOUT,CREATE,DELETE}. Remove
|
||
PRAGMA_OACC_CLAUSE_{SELF,PRESENT_OR_*}.
|
||
(c_parser_oacc_all_clauses): Handle finalize and if_present clauses.
|
||
Remove support for present_or_* clauses.
|
||
(OACC_KERNELS_CLAUSE_MASK): Remove PRESENT_OR_* clauses.
|
||
(OACC_PARALLEL_CLAUSE_MASK): Likewise.
|
||
(OACC_DECLARE_CLAUSE_MASK): Likewise.
|
||
(OACC_DATA_CLAUSE_MASK): Likewise.
|
||
(OACC_ENTER_DATA_CLAUSE_MASK): Remove PRESENT_OR_* clauses.
|
||
(OACC_EXIT_DATA_CLAUSE_MASK): Add FINALIZE clause.
|
||
(OACC_UPDATE_CLAUSE_MASK): Remove SELF, add IF_PRESENT.
|
||
(c_parser_oacc_declare): Remove PRESENT_OR_* clauses.
|
||
* c-typeck.c (c_finish_omp_clauses): Handle IF_PRESENT and FINALIZE.
|
||
|
||
2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
|
||
|
||
* c-typeck.c (build_unary_op): Handle ABSU_EXPR;
|
||
* gimple-parser.c (c_parser_gimple_statement): Likewise.
|
||
(c_parser_gimple_unary_expression): Likewise.
|
||
|
||
2018-06-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/86093
|
||
* c-typeck.c (pointer_diff): Cast both pointers to unqualified types
|
||
before doing POINTER_DIFF_EXPR.
|
||
|
||
2018-06-07 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/85318
|
||
* c-decl.c (check_for_loop_decls): Add -Wc90-c99-compat warning about
|
||
for loop initial declarations.
|
||
|
||
2018-05-30 David Pagan <dave.pagan@oracle.com>
|
||
|
||
PR c/55976
|
||
* c-decl.c (grokdeclarator): Update check for return type warnings.
|
||
(start_function): Likewise.
|
||
(finish_function): Likewise.
|
||
* c-typeck.c (c_finish_return): Update check for return type warnings.
|
||
Pass OPT_Wreturn_type to pedwarn when appropriate.
|
||
|
||
2018-05-18 Richard Sandiford <richard.sandiford@linaro.org>
|
||
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Remove
|
||
__FMA_EXPR handlng.
|
||
|
||
2018-05-17 Richard Sandiford <richard.sandiford@linaro.org>
|
||
|
||
* gimple-parser.c: Include internal-fn.h.
|
||
(c_parser_gimple_statement): Treat a leading CPP_DOT as a call.
|
||
(c_parser_gimple_call_internal): New function.
|
||
(c_parser_gimple_postfix_expression): Use it to handle CPP_DOT.
|
||
Fix typos in comment.
|
||
|
||
2018-05-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/85662
|
||
* c-fold.c (c_fully_fold_internal): Use fold_offsetof rather than
|
||
fold_offsetof_1, pass TREE_TYPE (expr) as TYPE to it and drop the
|
||
fold_convert_loc.
|
||
* c-typeck.c (build_unary_op): Use fold_offsetof rather than
|
||
fold_offsetof_1, pass argtype as TYPE to it and drop the
|
||
fold_convert_loc.
|
||
|
||
2018-05-02 David Pagan <dave.pagan@oracle.com>
|
||
|
||
PR c/30552
|
||
* c-decl.c (old_style_parameter_scope): New function.
|
||
* c-parser.c (c_parser_postfix_expression): Check for statement
|
||
expressions in old-style function parameter list declarations.
|
||
* c-parser.h (old_style_parameter_scope): New extern declaration.
|
||
|
||
2018-04-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/84307
|
||
* c-decl.c (build_compound_literal): Call pushdecl (decl) even when
|
||
it is not TREE_STATIC.
|
||
* c-typeck.c (c_mark_addressable) <case COMPOUND_LITERAL_EXPR>: Mark
|
||
not just the COMPOUND_LITERAL_EXPR node itself addressable, but also
|
||
its COMPOUND_LITERAL_EXPR_DECL.
|
||
|
||
2018-03-21 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_postfix_expression): For __builtin_tgmath
|
||
where all functions return the same _FloatN or _FloatNx type,
|
||
treat integer types as _Float64 instead of double.
|
||
|
||
2018-03-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/84999
|
||
* c-typeck.c (build_binary_op): If c_common_type_for_size fails when
|
||
building vector comparison, diagnose it and return error_mark_node.
|
||
|
||
2018-03-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/84853
|
||
* c-typeck.c (build_binary_op) <case RSHIFT_EXPR, case LSHIFT_EXPR>:
|
||
If code1 is INTEGER_TYPE, only allow code0 VECTOR_TYPE if it has
|
||
INTEGER_TYPE element type.
|
||
|
||
2018-03-13 David Pagan <dave.pagan@oracle.com>
|
||
|
||
PR c/46921
|
||
* c-typeck.c (output_init_element): Ensure field initializer
|
||
expression is always evaluated if there are side effects.
|
||
|
||
2018-03-06 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/84721
|
||
* c-parser.c (add_debug_begin_stmt): Don't add DEBUG_BEGIN_STMT if
|
||
!building_stmt_list_p ().
|
||
|
||
2018-02-13 Richard Sandiford <richard.sandiford@linaro.org>
|
||
|
||
PR c/84305
|
||
* c-decl.c (grokdeclarator): Create an anonymous TYPE_DECL
|
||
in PARM and TYPENAME contexts too, but attach it to a BIND_EXPR
|
||
and include the BIND_EXPR in the list of things that need to be
|
||
pre-evaluated.
|
||
|
||
2018-02-09 Nathan Sidwell <nathan@acm.org>
|
||
|
||
PR c/84293
|
||
* c-typeck.c (build_indirect_ref, build_c_cast): Pass expr location
|
||
to strict_aliasing_warning.
|
||
|
||
2018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
* c-typeck.c (really_start_incremental_init, push_init_level,
|
||
set_nonincremental_init, output_init_element, process_init_element):
|
||
Use DECL_UNNAMED_BIT_FIELD.
|
||
|
||
2018-01-31 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/81779
|
||
* c-parser.c (c_parser_compound_statement_nostart): Call
|
||
expansion_point_location_if_in_system_header.
|
||
|
||
2018-01-17 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c++/83814
|
||
* c-fold.c (fold_for_warn): Move from c-common.c, reducing to just
|
||
the C part.
|
||
|
||
2018-01-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/83801
|
||
* c-tree.h (decl_constant_value_1): Add a bool argument.
|
||
* c-typeck.c (decl_constant_value_1): Add IN_INIT argument, allow
|
||
returning a CONSTRUCTOR if it is true. Use error_operand_p.
|
||
(decl_constant_value): Adjust caller.
|
||
* c-fold.c (c_fully_fold_internal): If in_init, pass true to
|
||
decl_constant_value_1 as IN_INIT. Otherwise, punt if
|
||
decl_constant_value returns initializer that has BLKmode or
|
||
array type.
|
||
(c_fully_fold_internal) <case COMPONENT_REF>: Fold if !lval.
|
||
|
||
2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
|
||
Alan Hayward <alan.hayward@arm.com>
|
||
David Sherwood <david.sherwood@arm.com>
|
||
|
||
* c-typeck.c (comptypes_internal, build_binary_op): Handle polynomial
|
||
TYPE_VECTOR_SUBPARTS.
|
||
|
||
2018-01-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
2018-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/83595
|
||
* c-parser.c (c_parser_braced_init, c_parser_initelt,
|
||
c_parser_conditional_expression, c_parser_cast_expression,
|
||
c_parser_sizeof_expression, c_parser_alignof_expression,
|
||
c_parser_postfix_expression, c_parser_omp_declare_reduction,
|
||
c_parser_transaction_expression): Use set_error () method instead
|
||
of setting value member to error_mark_node.
|
||
|
||
2017-12-28 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* c-decl.c (header_for_builtin_fn): Add integer rounding _Float<N>
|
||
and _Float<N>X built-in functions.
|
||
|
||
2017-12-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/83550
|
||
* c-decl.c (finish_struct): Set DECL_SOURCE_LOCATION on
|
||
TYPE_STUB_DECL and call rest_of_type_compilation before processing
|
||
incomplete vars rather than after it.
|
||
|
||
PR debug/83547
|
||
* c-typeck.c (c_finish_stmt_expr): Ignore !TREE_SIDE_EFFECTS as
|
||
indicator of ({ }), instead skip all trailing DEBUG_BEGIN_STMTs first,
|
||
and consider empty ones if there are no other stmts. For
|
||
-Wunused-value walk all statements before the one only followed by
|
||
DEBUG_BEGIN_STMTs.
|
||
|
||
2017-12-22 Mike Stump <mikestump@comcast.net>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* c-parser.c (c_parser_while_statement): Add unroll parameter and
|
||
build ANNOTATE_EXPR if present. Add 3rd operand to ANNOTATE_EXPR.
|
||
(c_parser_do_statement): Likewise.
|
||
(c_parser_for_statement): Likewise.
|
||
(c_parser_statement_after_labels): Adjust calls to above.
|
||
(c_parse_pragma_ivdep): New static function.
|
||
(c_parser_pragma_unroll): Likewise.
|
||
(c_parser_pragma) <PRAGMA_IVDEP>: Add support for pragma Unroll.
|
||
<PRAGMA_UNROLL>: New case.
|
||
|
||
2017-12-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-typeck.c (comptypes_internal, function_types_compatible_p,
|
||
perform_integral_promotions, digest_init): Replace Yoda conditions
|
||
with typical order conditions.
|
||
* c-decl.c (check_bitfield_type_and_width): Likewise.
|
||
|
||
2017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* c-typeck.c (c_safe_arg_type_equiv_p,
|
||
c_safe_function_type_cast_p): New function.
|
||
(build_c_cast): Implement -Wcast-function-type.
|
||
|
||
2017-12-14 Richard Biener <rguenther@suse.de>
|
||
|
||
PR c/83415
|
||
* c-fold.c (c_fully_fold_internal): Treat VIEW_CONVERT_EXPR
|
||
like REALPART_EXPR for the behavior of whether its operand
|
||
is an lvalue.
|
||
|
||
2017-12-12 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/82679
|
||
* c-decl.c (grokdeclarator): Check declspecs insted of atomicp.
|
||
|
||
2017-12-12 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* c-objc-common.h (LANG_HOOKS_EMITS_BEGIN_STMT): Redefine as true.
|
||
* c-parser.c (add_debug_begin_stmt): New.
|
||
(c_parser_declaration_or_fndef): Call it.
|
||
(c_parser_compound_statement_nostart): Likewise.
|
||
(c_parser_statement_after_labels): Likewise.
|
||
* c-typeck (c_finish_stmt_expr): Skip begin stmts markers.
|
||
|
||
2017-12-07 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-decl.c (build_compound_literal): Add parameter alignas_align
|
||
and set alignment of decl if nonzero.
|
||
* c-parser.c (c_keyword_starts_typename): Allow RID_ALIGNAS.
|
||
(c_parser_declspecs): Allow RID_ALIGNAS to follow a type, like a
|
||
qualifier.
|
||
(c_parser_struct_declaration): Update syntax comment.
|
||
(c_parser_type_name): Add alignas_ok argument and pass it to
|
||
c_parser_declspecs.
|
||
(c_parser_cast_expression): Pass true to c_parser_type_name and
|
||
give error if a cast used an _Alignas specifier.
|
||
(c_parser_sizeof_expression): Pass true to c_parser_type_name and
|
||
give error if sizeof (type-name) used an _Alignas specifier.
|
||
(c_parser_alignof_expression): Pass true to c_parser_type_name and
|
||
give error if _Alignof (type-name) used an _Alignas specifier.
|
||
(c_parser_postfix_expression_after_paren_type): Check specified
|
||
alignment for a compound literal and pass it to
|
||
build_compound_literal.
|
||
* c-parser.h (c_parser_type_name): Update prototype.
|
||
* c-tree.h (build_compound_literal): Update prototype.
|
||
|
||
2017-12-07 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/81544
|
||
* c-decl.c (c_decl_attributes): Look up existing declaration and
|
||
pass it to decl_attributes.
|
||
|
||
2017-12-06 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/83236
|
||
* c-decl.c (lookup_name_fuzzy): Don't suggest names that are
|
||
reserved for use by the implementation.
|
||
|
||
2017-12-06 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c: Include "c-family/c-spellcheck.h".
|
||
|
||
2017-12-05 Martin Liska <mliska@suse.cz>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-typeck.c (pointer_diff): Add new argument and instrument
|
||
pointer subtraction.
|
||
(build_binary_op): Similar for pointer comparison.
|
||
|
||
2017-12-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/79153
|
||
* c-parser.c: Include tree-iterator.h.
|
||
(c_parser_switch_statement): Emit LABEL_EXPR for the break label
|
||
into SWITCH_BODY instead of after it and set SWITCH_BREAK_LABEL_P
|
||
on it.
|
||
|
||
PR c/83222
|
||
* c-tree.h (decl_constant_value_1): Declare.
|
||
* c-typeck.c (decl_constant_value_1): New function.
|
||
(decl_constant_value): Use it.
|
||
* c-fold.c (c_fully_fold_internal): If in_init, use
|
||
decl_constant_value_1 instead of decl_constant_value.
|
||
|
||
2017-11-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_postfix_expression): Use ; instead of ;;.
|
||
|
||
2017-11-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/81275
|
||
* c-typeck.c (c_finish_case): Set SWITCH_ALL_CASES_P if
|
||
c_switch_covers_all_cases_p returns true.
|
||
|
||
2017-11-28 Julia Koval <julia.koval@intel.com>
|
||
Sebastian Peryt <sebastian.peryt@intel.com>
|
||
|
||
* Make-lang.in (c/c-array-notation.o): Remove.
|
||
* c-array-notation.c: Delete.
|
||
* c-decl.c: Remove cilkplus condition.
|
||
* c-parser.c (c_parser_cilk_simd, c_parser_cilk_for,
|
||
c_parser_cilk_verify_simd, c_parser_array_notation,
|
||
c_parser_cilk_clause_vectorlength, c_parser_cilk_grainsize,
|
||
c_parser_cilk_simd_fn_vector_attrs,
|
||
c_finish_cilk_simd_fn_tokens): Delete.
|
||
(c_parser_declaration_or_fndef): Remove cilkplus condition.
|
||
(c_parser_direct_declarator_inner): Ditto.
|
||
(CILK_SIMD_FN_CLAUSE_MASK): Delete.
|
||
(c_parser_attributes, c_parser_compound_statement,
|
||
c_parser_statement_after_labels, c_parser_if_statement,
|
||
c_parser_switch_statement, c_parser_while_statement,
|
||
c_parser_do_statement, c_parser_for_statement,
|
||
c_parser_unary_expression, c_parser_postfix_expression,
|
||
c_parser_postfix_expression_after_primary,
|
||
c_parser_pragma, c_parser_omp_clause_name, c_parser_omp_all_clauses,
|
||
c_parser_omp_for_loop, c_finish_omp_declare_simd): Remove cilkplus
|
||
support.
|
||
* c-typeck.c (build_array_ref, build_function_call_vec,
|
||
convert_arguments,
|
||
lvalue_p, build_compound_expr, c_finish_return, c_finish_if_stmt,
|
||
c_finish_loop, build_binary_op): Remove cilkplus support.
|
||
|
||
2017-11-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-typeck.c (c_start_case): Build SWITCH_EXPR using build2 instead
|
||
of build3.
|
||
|
||
2017-11-14 Boris Kolpackov <boris@codesynthesis.com>
|
||
|
||
* Make-lang.in (c.install-plugin): Install backend import library.
|
||
|
||
2017-11-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_declare_simd): Reject declare simd in
|
||
pragma_stmt context.
|
||
|
||
2017-11-23 Mike Stump <mikestump@comcast.net>
|
||
Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* c-parser.c (c_parser_while_statement): Pass 3rd operand to
|
||
ANNOTATE_EXPR.
|
||
(c_parser_do_statement): Likewise.
|
||
(c_parser_for_statement): Likewise.
|
||
|
||
2017-11-22 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c++/62170
|
||
* c-objc-common.c (c_tree_printer): Convert penultimate param from
|
||
bool to bool *. Within '%T' handling, if showing an "aka", use
|
||
"quoted" param to add appropriate quoting.
|
||
|
||
2017-11-22 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/60336
|
||
PR middle-end/67239
|
||
PR target/68355
|
||
* c-decl.c (grokdeclarator): Set DECL_PADDING_P on unnamed bit-fields.
|
||
|
||
2017-11-21 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/83056
|
||
* c-decl.c (lookup_name_fuzzy): Don't suggest names that came from
|
||
earlier failed lookups.
|
||
|
||
2017-11-21 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
* c-fold.c (c_fully_fold_internal): Handle POINTER_DIFF_EXPR.
|
||
* c-typeck.c (pointer_diff): Use POINTER_DIFF_EXPR.
|
||
|
||
2017-11-20 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/81404
|
||
* c-decl.c: Include "c-family/known-headers.h".
|
||
(get_c_name_hint): Rename to get_stdlib_header_for_name and move
|
||
to known-headers.cc.
|
||
(class suggest_missing_header): Move to known-header.h.
|
||
(lookup_name_fuzzy): Call get_c_stdlib_header_for_name rather
|
||
than get_c_name_hint.
|
||
|
||
2017-11-20 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c (get_c_name_hint): New function.
|
||
(class suggest_missing_header): New class.
|
||
(lookup_name_fuzzy): Call get_c_name_hint and use it to
|
||
suggest missing headers to the user.
|
||
|
||
2017-11-20 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c: Define INCLUDE_UNIQUE_PTR before including system.h.
|
||
Include "c-family/name-hint.h"
|
||
(implicit_decl_warning): Convert "hint" from
|
||
const char * to name_hint. Pass location to
|
||
lookup_name_fuzzy. Suppress any deferred diagnostic if the
|
||
warning was not printed.
|
||
(undeclared_variable): Likewise for "guessed_id".
|
||
(lookup_name_fuzzy): Convert return type from const char *
|
||
to name_hint. Add location_t param.
|
||
* c-parser.c: Define INCLUDE_UNIQUE_PTR before including system.h.
|
||
Include "c-family/name-hint.h"
|
||
(c_parser_declaration_or_fndef): Convert "hint" from
|
||
const char * to name_hint. Pass location to lookup_name_fuzzy.
|
||
(c_parser_parameter_declaration): Likewise.
|
||
|
||
2017-11-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/66618
|
||
PR c/69960
|
||
* c-parser.c (c_parser_omp_atomic): Pass true as LVAL to c_fully_fold
|
||
where needed.
|
||
* c-typeck.c (build_unary_op, build_modify_expr, build_asm_expr,
|
||
handle_omp_array_sections): Likewise.
|
||
(digest_init): Don't call decl_constant_value_for_optimization.
|
||
* c-tree.h (decl_constant_value_for_optimization): Removed.
|
||
* c-fold.c (c_fold_array_ref): New function.
|
||
(c_fully_fold_internal): Add LVAL argument, propagate it through
|
||
recursive calls. For VAR_P call decl_constant_value and
|
||
unshare if not LVAL and either optimizing or IN_INIT. Remove
|
||
decl_constant_value_for_optimization calls. If IN_INIT and not LVAL,
|
||
fold ARRAY_REF with STRING_CST and INTEGER_CST operands.
|
||
(c_fully_fold): Add LVAL argument, pass it through to
|
||
c_fully_fold_internal.
|
||
(decl_constant_value_for_optimization): Removed.
|
||
|
||
2017-11-15 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/81156
|
||
* c-parser.c (check_tgmath_function): New function.
|
||
(enum tgmath_parm_kind): New enum.
|
||
(c_parser_postfix_expression): Handle __builtin_tgmath.
|
||
|
||
2017-10-31 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c (implicit_decl_warning): Update for renaming of
|
||
pedwarn_at_rich_loc and warning_at_rich_loc.
|
||
(implicitly_declare): Likewise for renaming of inform_at_rich_loc.
|
||
(undeclared_variable): Likewise for renaming of error_at_rich_loc.
|
||
* c-parser.c (c_parser_declaration_or_fndef): Likewise.
|
||
(c_parser_struct_or_union_specifier): Likewise for renaming of
|
||
pedwarn_at_rich_loc.
|
||
(c_parser_parameter_declaration): Likewise for renaming of
|
||
error_at_rich_loc.
|
||
* c-typeck.c (build_component_ref): Likewise.
|
||
(build_unary_op): Likewise for renaming of inform_at_rich_loc.
|
||
(pop_init_level): Likewise for renaming of warning_at_rich_loc.
|
||
(set_init_label): Likewise for renaming of error_at_rich_loc.
|
||
|
||
2017-10-30 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_statement): Parse conditional
|
||
stmts.
|
||
|
||
2017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||
|
||
* c-decl.c (header_for_builtin_fn): Add support for copysign, fma,
|
||
fmax, fmin, and sqrt _Float<N> and _Float<N>X variants.
|
||
|
||
2017-10-25 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/7356
|
||
* c-parser.c (c_parser_declaration_or_fndef): Detect missing
|
||
semicolons.
|
||
|
||
2017-10-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR libstdc++/81706
|
||
* c-decl.c (merge_decls): Copy "omp declare simd" attributes from
|
||
newdecl to corresponding __builtin_ if any.
|
||
|
||
2017-10-24 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/82466
|
||
* c-decl.c (diagnose_mismatched_decls): Use
|
||
OPT_Wbuiltin_declaration_mismatch.
|
||
|
||
2017-10-12 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_require): Add "type_is_unique" param and
|
||
use it to guard calls to maybe_suggest_missing_token_insertion.
|
||
(c_parser_parms_list_declarator): Override default value of new
|
||
"type_is_unique" param to c_parser_require.
|
||
(c_parser_asm_statement): Likewise.
|
||
* c-parser.h (c_parser_require): Add "type_is_unique" param,
|
||
defaulting to true.
|
||
|
||
2017-10-11 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* c-decl.c (grokdeclarator): Check HAS_DECL_ASSEMBLER_NAME_P too.
|
||
|
||
2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
|
||
|
||
* c-parser.c (c_parser_cilk_clause_vectorlength): Use wi::to_wide when
|
||
operating on trees as wide_ints.
|
||
* c-typeck.c (build_c_cast, c_finish_omp_clauses): Likewise.
|
||
(c_tree_equal): Likewise.
|
||
|
||
2017-10-04 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c (push_parm_decl): Store c_parm's location into the
|
||
PARAM_DECL.
|
||
(build_c_parm): Add "loc" param and store it within the c_parm.
|
||
* c-parser.c (struct c_parser): Add "last_token_location" field.
|
||
(c_parser_consume_token): Store location of the token into the
|
||
new field.
|
||
(c_parser_declaration_or_fndef): Store params into DECL_ARGUMENTS
|
||
when handling a FUNCTION_DECL, if it doesn't already have them.
|
||
(c_parser_parameter_declaration): Generate a location for the
|
||
parameter, and pass it to the call to build_c_parm.
|
||
* c-tree.h (struct c_parm): Add field "loc".
|
||
(build_c_parm): Add location_t param.
|
||
* c-typeck.c (get_fndecl_argument_location): New function.
|
||
(inform_for_arg): New function.
|
||
(convert_for_assignment): Use inform_for_arg when dealing with
|
||
ic_argpass.
|
||
|
||
2017-09-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-decl.c (grokfield): Use SET_DECL_C_BIT_FIELD here if
|
||
width is non-NULL.
|
||
(finish_struct): Test DECL_C_BIT_FIELD instead of DECL_INITIAL,
|
||
don't SET_DECL_C_BIT_FIELD here.
|
||
|
||
PR c/82340
|
||
* c-decl.c (build_compound_literal): Use c_apply_type_quals_to_decl
|
||
instead of trying to set just TREE_READONLY manually.
|
||
|
||
2017-09-16 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR c/81875
|
||
* c-parser.c (c_parser_omp_for_loop): Fold only operands of cond, not
|
||
cond itself.
|
||
|
||
2017-09-15 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/82071
|
||
* c-typeck.c (ep_convert_and_check): Just call convert_and_check
|
||
for C11.
|
||
(build_conditional_expr): For C11, generate result with excess
|
||
precision when one argument is an integer and the other is of a
|
||
type using excess precision.
|
||
|
||
2017-09-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* c-typeck.c (build_c_cast): Implement -Wcast-align=strict.
|
||
|
||
2017-09-13 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/82167
|
||
* c-typeck.c (c_expr_sizeof_expr): Use the type of expr.value rather
|
||
than expr.original_type.
|
||
|
||
2017-09-12 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* c-decl.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
|
||
resort_sorted_fields): Moved from c-family/c-common.c.
|
||
* c-lang.h (struct sorted_fields_type): Moved from c-family/c-common.h.
|
||
|
||
2017-09-01 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/82071
|
||
* c-typeck.c (build_atomic_assign): Handle argument with excess
|
||
precision. Ensure any EXCESS_PRECISION_EXPR is present in
|
||
argument passed to build_binary_op and convert_for_assignment but
|
||
not for call to c_fully_fold.
|
||
(build_modify_expr): Do not remove EXCESS_PRECISION_EXPR early.
|
||
Ensure build_binary_op is called with argument with original
|
||
semantic type. Avoid calling c_fully_fold with an
|
||
EXCESS_PRECISION_EXPR from build_binary_op.
|
||
|
||
2017-09-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/81887
|
||
* c-parser.c (c_parser_omp_ordered): Handle -fopenmp-simd.
|
||
|
||
2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
|
||
Alan Hayward <alan.hayward@arm.com>
|
||
David Sherwood <david.sherwood@arm.com>
|
||
|
||
* c-typeck.c (build_binary_op): Use SCALAR_TYPE_MODE.
|
||
(c_common_type): Likewise. Use as_a <scalar_mode> when setting
|
||
m1 and m2 to the signed equivalent of a fixed-point
|
||
SCALAR_TYPE_MODE.
|
||
|
||
2017-08-24 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-tree.h (c_expr::get_location) Use EXPR_HAS_LOCATION rather
|
||
than CAN_HAVE_LOCATION_P when determining whether to use the
|
||
location_t value within "value".
|
||
|
||
2017-08-21 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_expr_list): Use c_expr::get_location ()
|
||
rather than peeking the location of the first token.
|
||
* c-tree.h (c_expr::get_location): New method.
|
||
|
||
2017-08-21 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-typeck.c (build_function_call_vec): Pass arg_loc to call
|
||
to check_function_arguments.
|
||
|
||
2017-08-18 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-parser.c (c_parser_postfix_expression): Remove unused code. Update
|
||
commentary.
|
||
|
||
2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
PR c/53037
|
||
* c-decl.c (merge_decls): Also merge DECL_WARN_IF_NOT_ALIGN.
|
||
(check_bitfield_type_and_width): Don't allow bit-field with
|
||
warn_if_not_aligned type.
|
||
|
||
2017-08-14 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/81117
|
||
* c-objc-common.c (c_objc_common_init): Handle 'G'.
|
||
|
||
2017-08-11 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/81795
|
||
* c-decl.c (pushtag): Only print inform if the warning was printed.
|
||
(grokdeclarator): Likewise.
|
||
|
||
2017-08-10 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_error): Rename to...
|
||
(c_parser_error_richloc): ...this, making static, and adding
|
||
"richloc" parameter, passing it to the c_parse_error call,
|
||
rather than calling c_parser_set_source_position_from_token.
|
||
(c_parser_error): Reintroduce, reimplementing in terms of the
|
||
above, converting return type from void to bool.
|
||
(class token_pair): New class.
|
||
(struct matching_paren_traits): New struct.
|
||
(matching_parens): New typedef.
|
||
(struct matching_brace_traits): New struct.
|
||
(matching_braces): New typedef.
|
||
(get_matching_symbol): New function.
|
||
(c_parser_require): Add param MATCHING_LOCATION, using it to
|
||
highlight matching "opening" tokens for missing "closing" tokens.
|
||
(c_parser_skip_until_found): Likewise.
|
||
(c_parser_static_assert_declaration_no_semi): Convert explicit
|
||
parsing of CPP_OPEN_PAREN and CPP_CLOSE_PAREN to use of
|
||
class matching_parens, so that the pertinent open parenthesis is
|
||
highlighted when there are problems locating the close
|
||
parenthesis.
|
||
(c_parser_struct_or_union_specifier): Likewise.
|
||
(c_parser_typeof_specifier): Likewise.
|
||
(c_parser_alignas_specifier): Likewise.
|
||
(c_parser_simple_asm_expr): Likewise.
|
||
(c_parser_braced_init): Likewise, for matching_braces.
|
||
(c_parser_paren_condition): Likewise, for matching_parens.
|
||
(c_parser_switch_statement): Likewise.
|
||
(c_parser_for_statement): Likewise.
|
||
(c_parser_asm_statement): Likewise.
|
||
(c_parser_asm_operands): Likewise.
|
||
(c_parser_cast_expression): Likewise.
|
||
(c_parser_sizeof_expression): Likewise.
|
||
(c_parser_alignof_expression): Likewise.
|
||
(c_parser_generic_selection): Likewise.
|
||
(c_parser_postfix_expression): Likewise for cases RID_VA_ARG,
|
||
RID_OFFSETOF, RID_TYPES_COMPATIBLE_P, RID_AT_SELECTOR,
|
||
RID_AT_PROTOCOL, RID_AT_ENCODE, reindenting as necessary.
|
||
In case CPP_OPEN_PAREN, pass loc_open_paren to the
|
||
c_parser_skip_until_found call.
|
||
(c_parser_objc_class_definition): Use class matching_parens as
|
||
above.
|
||
(c_parser_objc_method_decl): Likewise.
|
||
(c_parser_objc_try_catch_finally_statement): Likewise.
|
||
(c_parser_objc_synchronized_statement): Likewise.
|
||
(c_parser_objc_at_property_declaration): Likewise.
|
||
(c_parser_oacc_wait_list): Likewise.
|
||
(c_parser_omp_var_list_parens): Likewise.
|
||
(c_parser_omp_clause_collapse): Likewise.
|
||
(c_parser_omp_clause_default): Likewise.
|
||
(c_parser_omp_clause_if): Likewise.
|
||
(c_parser_omp_clause_num_threads): Likewise.
|
||
(c_parser_omp_clause_num_tasks): Likewise.
|
||
(c_parser_omp_clause_grainsize): Likewise.
|
||
(c_parser_omp_clause_priority): Likewise.
|
||
(c_parser_omp_clause_hint): Likewise.
|
||
(c_parser_omp_clause_defaultmap): Likewise.
|
||
(c_parser_oacc_single_int_clause): Likewise.
|
||
(c_parser_omp_clause_ordered): Likewise.
|
||
(c_parser_omp_clause_reduction): Likewise.
|
||
(c_parser_omp_clause_schedule): Likewise.
|
||
(c_parser_omp_clause_num_teams): Likewise.
|
||
(c_parser_omp_clause_thread_limit): Likewise.
|
||
(c_parser_omp_clause_aligned): Likewise.
|
||
(c_parser_omp_clause_linear): Likewise.
|
||
(c_parser_omp_clause_safelen): Likewise.
|
||
(c_parser_omp_clause_simdlen): Likewise.
|
||
(c_parser_omp_clause_depend): Likewise.
|
||
(c_parser_omp_clause_map): Likewise.
|
||
(c_parser_omp_clause_device): Likewise.
|
||
(c_parser_omp_clause_dist_schedule): Likewise.
|
||
(c_parser_omp_clause_proc_bind): Likewise.
|
||
(c_parser_omp_clause_uniform): Likewise.
|
||
(c_parser_omp_for_loop): Likewise.
|
||
(c_parser_cilk_clause_vectorlength): Likewise.
|
||
(c_parser_cilk_clause_linear): Likewise.
|
||
(c_parser_transaction_expression): Likewise.
|
||
* c-parser.h (c_parser_require): Add param matching_location with
|
||
default UNKNOWN_LOCATION.
|
||
(c_parser_error): Convert return type from void to bool.
|
||
(c_parser_skip_until_found): Add param matching_location with
|
||
default UNKNOWN_LOCATION.
|
||
|
||
2017-08-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c (build_enumerator): Use true/false instead of 1/0.
|
||
* c-tree.h (build_external_ref): Update declaration.
|
||
* c-typeck.c (build_array_ref): Use true/false instead of 1/0.
|
||
(build_external_ref): Change the type of a parameter to bool.
|
||
(parser_build_binary_op): Use true/false instead of 1/0.
|
||
(pointer_diff): Likewise.
|
||
(build_modify_expr): Likewise.
|
||
(set_designator): Change the type of a parameter to bool.
|
||
(set_init_index): Use true/false instead of 1/0.
|
||
(set_init_label): Likewise.
|
||
(output_init_element): Change the type of a parameter to bool.
|
||
(output_pending_init_elements): Use true/false instead of 1/0.
|
||
(process_init_element): Likewise.
|
||
(build_binary_op): Change the type of a parameter to bool.
|
||
|
||
2017-08-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/81233
|
||
* c-typeck.c (pedwarn_init): Make the function take a variable list.
|
||
Call emit_diagnostic_valist instead of pedwarn.
|
||
(convert_for_assignment): Unroll the PEDWARN_FOR_ASSIGNMENT macro.
|
||
Print the relevant types in diagnostics.
|
||
|
||
2017-08-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/81417
|
||
* c-array-notation.c (fix_builtin_array_notation_fn): Update calls to
|
||
build_conditional_expr.
|
||
* c-parser.c (c_parser_conditional_expression): Create locations for
|
||
EXP1 and EXP2 from their source ranges. Pass the locations down to
|
||
build_conditional_expr.
|
||
* c-tree.h (build_conditional_expr): Update declaration.
|
||
* c-typeck.c (build_conditional_expr): Add location_t parameters.
|
||
For -Wsign-compare, also print the types.
|
||
|
||
2017-08-08 Martin Liska <mliska@suse.cz>
|
||
|
||
* c-convert.c: Include header files.
|
||
* c-typeck.c: Likewise.
|
||
|
||
2017-08-07 Martin Liska <mliska@suse.cz>
|
||
|
||
* c-parser.c (c_parser_attributes): Canonicalize name of an
|
||
attribute.
|
||
|
||
2017-08-02 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/81289
|
||
* c-parser.c (c_parser_unary_expression): Use set_error.
|
||
|
||
PR c/81448
|
||
PR c/81306
|
||
* c-warn.c (warn_for_multistatement_macros): Prevent bogus
|
||
warnings. Avoid walking MACRO_MAP_LOCATIONS.
|
||
|
||
2017-07-31 Jan Hubicka <hubicka@ucw.cz>
|
||
Martin Liska <mliska@suse.cz>
|
||
|
||
* c-typeck.c (c_finish_goto_label): Build gimple predict
|
||
statement.
|
||
|
||
2017-07-31 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitize/81530
|
||
* c-convert.c (convert): Guard condition with flag_sanitize_p
|
||
also with current_function_decl non-null equality.
|
||
* c-decl.c (grokdeclarator): Likewise.
|
||
* c-typeck.c (build_binary_op): Likewise.
|
||
|
||
2017-07-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c (grokfield): Remove local variable.
|
||
|
||
2017-07-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/81364
|
||
* c-parser.c (c_parser_else_body): Don't warn about multistatement
|
||
macro expansion if the body is in { }.
|
||
(c_parser_while_statement): Likewise.
|
||
(c_parser_for_statement): Likewise.
|
||
|
||
2017-07-18 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* c-parser.c (c_parser_array_notation): Use TYPE_{MIN,MAX}_VALUE.
|
||
|
||
2017-07-14 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c (implicitly_declare): When suggesting a missing
|
||
#include, provide a fix-it hint.
|
||
|
||
2017-07-06 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-lang.c (selftest::run_c_tests): Move body to c_family_tests,
|
||
and call that instead.
|
||
* c-tree.h (selftest::run_c_tests): New decl.
|
||
|
||
2017-06-26 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/80116
|
||
* c-parser.c (c_parser_if_body): Set the location of the
|
||
body of the conditional after parsing all the labels. Call
|
||
warn_for_multistatement_macros.
|
||
(c_parser_else_body): Likewise.
|
||
(c_parser_switch_statement): Likewise.
|
||
(c_parser_while_statement): Likewise.
|
||
(c_parser_for_statement): Likewise.
|
||
(c_parser_statement): Add a default argument. Save the location
|
||
after labels have been parsed.
|
||
(c_parser_c99_block_statement): Likewise.
|
||
|
||
2017-06-19 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Handle
|
||
negated _Literals to parse _Literal (int) -1.
|
||
|
||
2017-06-13 Martin Liska <mliska@suse.cz>
|
||
|
||
PR sanitize/78204
|
||
* c-convert.c (convert): Use sanitize_flags_p.
|
||
* c-decl.c (grokdeclarator): Likewise.
|
||
* c-typeck.c (convert_for_assignment): Likewise.
|
||
(c_finish_return): Likewise.
|
||
(build_binary_op): Likewise.
|
||
|
||
2017-06-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/81006
|
||
* c-typeck.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE
|
||
to sizetype before size_binop.
|
||
|
||
2017-06-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gimple-parser.c (c_parser_parse_gimple_body): Use TDI_gimple instead
|
||
of TDI_generic.
|
||
|
||
2017-06-06 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/79983
|
||
* c-decl.c (start_struct): Use the location of TYPE_STUB_DECL of
|
||
ref.
|
||
(start_enum): Use the location of TYPE_STUB_DECL of enumtype.
|
||
|
||
2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* c-parser.c (c_parser_binary_expression): Implement the
|
||
-Wsizeof_pointer_div warning.
|
||
(c_parser_postfix_expression): Allow SIZEOF_EXPR as expr.original_code
|
||
from a parenthesized expression.
|
||
(c_parser_expr_list): Use c_last_sizeof_loc.
|
||
* c-tree.h (c_last_sizeof_loc): New external.
|
||
* c-typeck.c (c_last_sizeof_loc): New variable.
|
||
(c_expr_sizeof_expr, c_expr_sizeof_type): Assign c_last_sizeof_loc.
|
||
|
||
2017-05-31 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
PR testsuite/80580
|
||
* gimple-parser.c (c_parser_gimple_if_stmt): Check for empty labels.
|
||
|
||
2017-05-30 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-objc-common.c (c_tree_printer): Gain bool and const char **
|
||
parameters.
|
||
|
||
2017-05-24 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/80731
|
||
* c-fold.c (c_fully_fold_internal): Adjust.
|
||
* c-typeck.c (parser_build_unary_op): Adjust.
|
||
|
||
2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (OACC_KERNELS_CLAUSE_MASK): Add
|
||
"PRAGMA_OACC_CLAUSE_NUM_GANGS", "PRAGMA_OACC_CLAUSE_NUM_WORKERS",
|
||
"VECTOR_LENGTH".
|
||
|
||
2017-05-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-parser.c (c_parser_compound_statement_nostart): Remove redundant
|
||
quotes.
|
||
|
||
2017-05-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-fold.c (c_fully_fold_internal): Save the c_fully_fold_internal
|
||
result for SAVE_EXPR operand and set SAVE_EXPR_FOLDED_P even if
|
||
it returned invariant. Call tree_invariant_p unconditionally
|
||
afterwards to decide whether to return expr or op0.
|
||
|
||
2017-05-22 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* c-decl.c (c_parse_final_cleanups): Drop TDI_tu handling.
|
||
|
||
2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_default): Handle
|
||
"OMP_CLAUSE_DEFAULT_PRESENT".
|
||
|
||
2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
* config-lang.in (gtfiles): Add c-family/c-format.c.
|
||
|
||
2017-05-18 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* c-decl.c (pushdecl_top_level): Delete unused function.
|
||
|
||
2017-05-18 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c (match_builtin_function_types): Use NULL_TREE instead of 0.
|
||
(check_earlier_gotos): Likewise.
|
||
(define_label): Likewise.
|
||
(pending_xref_error): Likewise.
|
||
(smallest_type_quals_location): Likewise.
|
||
(grokdeclarator): Likewise.
|
||
(grokparms): Likewise.
|
||
(identifier_global_value): Likewise.
|
||
* c-typeck.c (set_nonincremental_init_from_string): Likewise.
|
||
(find_init_member): Likewise.
|
||
|
||
2017-05-18 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c (start_decl): Use false/true instead of 0/1.
|
||
(grokdeclarator): Likewise.
|
||
(finish_struct): Likewise.
|
||
(start_function): Change the return type to bool. Use false/true
|
||
instead of 0/1.
|
||
(declspecs_add_qual): Use UNKNOWN_LOCATION instead of 0.
|
||
* c-tree.h (start_function): Update.
|
||
* c-typeck.c (same_translation_unit_p): Change the return type to bool.
|
||
(set_designator): Change the return type to bool. Use false/true
|
||
instead of 0/1.
|
||
|
||
2017-05-17 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c: Use NULL_TREE instead of 0 where appropriate.
|
||
* c-typeck.c: Likewise.
|
||
|
||
2017-05-17 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/80659
|
||
* c-decl.c (build_compound_literal): Set DECL_ARTIFICIAL and
|
||
DECL_IGNORED_P even for non-static compound literals.
|
||
|
||
2017-05-17 Martin Liska <mliska@suse.cz>
|
||
|
||
* c-decl.c (c_parse_final_cleanups): Introduce dump_flags_t type and
|
||
use it instead of int type.
|
||
|
||
2017-05-17 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-convert.c (convert): Replace c_save_expr with save_expr. Don't
|
||
call c_fully_fold.
|
||
(convert) <case COMPLEX_TYPE>: Remove special handling of COMPLEX_TYPEs.
|
||
* c-decl.c (grokdeclarator): Replace c_save_expr with save_expr.
|
||
* c-fold.c (c_fully_fold_internal): Handle SAVE_EXPR.
|
||
* c-parser.c (c_parser_declaration_or_fndef): Replace c_save_expr with
|
||
save_expr.
|
||
(c_parser_conditional_expression): Likewise.
|
||
* c-tree.h (SAVE_EXPR_FOLDED_P): Define.
|
||
* c-typeck.c (build_modify_expr): Replace c_save_expr with save_expr.
|
||
(process_init_element): Likewise.
|
||
(build_binary_op): Likewise.
|
||
(handle_omp_array_sections_1): Likewise.
|
||
|
||
2017-05-12 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_num_gangs)
|
||
(c_parser_omp_clause_num_workers)
|
||
(c_parser_omp_clause_vector_length): Merge functions into...
|
||
(c_parser_oacc_single_int_clause): ... this new function. Adjust
|
||
all users.
|
||
|
||
2017-05-11 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* gimple-parser.c: Don't #include tree-dump.h.
|
||
|
||
2017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
PR testsuite/80580
|
||
* gimple-parser.c (c_parser_parse_ssa_name): Validate SSA name base.
|
||
|
||
2017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
PR testsuite/80580
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Handle
|
||
incorrect __MEM syntax.
|
||
|
||
2017-05-11 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
PR testsuite/80580
|
||
* gimple-parser.c (c_parser_gimple_unary_expression): Check argument
|
||
type of unary '*'.
|
||
|
||
2017-05-09 Nathan Sidwell <nathan@acm.org>
|
||
|
||
* c-tree.h (pushdecl): Declare.
|
||
|
||
2017-05-05 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c (warn_defaults_to): Replace report_diagnostic
|
||
with diagnostic_report_diagnostic.
|
||
* c-errors.c (pedwarn_c99): Likewise.
|
||
(pedwarn_c90): Likewise.
|
||
|
||
2017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
|
||
|
||
PR c++/80038
|
||
* c-gimplify.c (c_gimplify_expr): Remove calls to
|
||
cilk_gimplifY_call_params_in_spawned_fn.
|
||
|
||
2017-04-25 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_struct_or_union_specifier): Add fix-it
|
||
hint for removing extra semicolon.
|
||
|
||
2017-04-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/80468
|
||
* c-decl.c (finish_declspecs) <case cts_int_n>: If int_n_idx is not
|
||
enabled, set specs->type to integer_type_node.
|
||
|
||
2017-04-03 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* c-array-notation.c: Fix typo in comment.
|
||
|
||
2017-03-29 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/79730
|
||
* c-decl.c (finish_decl): Check VAR_P.
|
||
|
||
2017-03-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/80162
|
||
* c-tree.h (c_mark_addressable): Add array_ref_p argument.
|
||
* c-typeck.c (c_mark_addressable): Likewise. Look through
|
||
VIEW_CONVERT_EXPR unless array_ref_p and VCE is from VECTOR_TYPE
|
||
to ARRAY_TYPE.
|
||
(build_array_ref): Pass true as array_ref_p to c_mark_addressable.
|
||
|
||
2017-03-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-tree.h: Remove a C_RID_YYCODE reference.
|
||
|
||
2017-03-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/80097
|
||
* c-typeck.c (build_binary_op): Add EXCESS_PRECISION_EXPR only around
|
||
optional COMPOUND_EXPR with ubsan instrumentation.
|
||
|
||
2017-03-17 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-parser.c: Add C11 references.
|
||
|
||
2017-03-15 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-parser.c (c_parser_enum_specifier): Remove redundant line.
|
||
|
||
2017-03-11 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c (implicit_decl_warning): Add a comment. Fix formatting.
|
||
|
||
2017-03-10 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR translation/79848
|
||
* c-decl.c (declspecs_add_type): Simplify uses of "%<%s%>" to
|
||
"%qs".
|
||
* c-parser.c (c_parser_oacc_shape_clause): Likewise.
|
||
|
||
2017-03-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/79757
|
||
* c-parser.c (c_parser_declaration_or_fndef): Don't sanitize old-style
|
||
parameter declarations with initializers.
|
||
|
||
2017-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/79969
|
||
* c-decl.c (start_enum): Adjust DECL_SOURCE_LOCATION of
|
||
TYPE_STUB_DECL.
|
||
|
||
2017-03-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/79834
|
||
* c-parser.c (c_parser_pragma): Use error_at instead of c_parser_error
|
||
for "may only be used in compound statements" diagnostics, change it
|
||
such that the same translatable string is used for all pragmas. For
|
||
PRAGMA_OACC_WAIT use "acc wait" rather than "acc enter data" in the
|
||
diagnostics.
|
||
(c_parser_omp_cancellation_point, c_parser_omp_target_update,
|
||
c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Change
|
||
"may only be used in compound statements" diagnostics, such that the
|
||
same translatable string is used for all pragmas.
|
||
|
||
2017-03-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/79847
|
||
* c-decl.c (implicit_decl_warning): Add missing space.
|
||
|
||
2017-03-03 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/79758
|
||
* c-decl.c (store_parm_decls_oldstyle): Check if the element of
|
||
current_function_prototype_arg_types is error_mark_node. Fix
|
||
formatting. Use TREE_VALUE instead of TREE_TYPE.
|
||
|
||
2017-03-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/79837
|
||
* c-parser.c (c_parser_omp_clause_reduction): Don't mention
|
||
%<min%> or %<max%> in the diagnostics, instead mention identifier.
|
||
(c_parser_omp_declare_reduction): Don't mention %<min%> in the
|
||
diagnostics.
|
||
|
||
PR c/79836
|
||
* c-parser.c (c_parser_generic_selection): Use %<_Generic%>
|
||
instead of %<_Generic>.
|
||
(c_parser_omp_ordered): Use %<depend%> instead of %<depend>.
|
||
(c_parser_omp_target_exit_data): Use %<release%> instead of
|
||
%<release>.
|
||
|
||
2017-02-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_asm_statement): Use cond ? G_("...") : G_("...")
|
||
instead of just cond ? "..." : "...".
|
||
(c_parser_oacc_enter_exit_data): Use %s and ternary operator only
|
||
for "enter"/"exit" keyword.
|
||
(c_finish_oacc_routine): Don't use %s to supply portions of the
|
||
message.
|
||
|
||
2017-02-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/79588
|
||
* c-parser.c (c_parser_postfix_expression_after_primary): Don't
|
||
handle -Wrestrict here.
|
||
* c-typeck.c (build_function_call_vec): Adjust
|
||
check_function_arguments caller.
|
||
|
||
2017-02-23 Richard Biener <rguenther@suse.de>
|
||
|
||
PR c/79684
|
||
* gimple-parser.c (c_parser_gimple_statement): Use set_error
|
||
to initialize c_exprs to return.
|
||
(c_parser_gimple_binary_expression): Likewise.
|
||
(c_parser_gimple_unary_expression): Likewise.
|
||
(c_parser_gimple_postfix_expression): Likewise.
|
||
|
||
2017-02-22 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/79662
|
||
* c-typeck.c (convert_arguments): Handle error_mark_node.
|
||
|
||
2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Check return
|
||
value of c_parser_parse_ssa_name against error_mark_node and emit
|
||
error if ssa name is anonymous and written as default definition.
|
||
|
||
2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Handle
|
||
FMA_EXPR.
|
||
|
||
2017-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/79512
|
||
* c-parser.c (c_parser_omp_target): For -fopenmp-simd
|
||
ignore #pragma omp target even when not followed by identifier.
|
||
|
||
2017-02-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* gimpler-parser.c (c_parser_gimple_statement): Handle ABS_EXPR.
|
||
(c_parser_gimple_unary_expression): Likewise.
|
||
|
||
2017-02-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_oacc_declare): Add missing space in
|
||
diagnostics.
|
||
|
||
2017-02-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
PR c/79478
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Call
|
||
set_c_expr_source_range when parsing ssa-name.
|
||
|
||
2017-02-10 Prasad Ghangal <prasad.ghangal@gmail.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_binary_expression): Avoid
|
||
building IL when arguments are error_mark_node.
|
||
(c_parser_gimple_unary_expression): Likewise.
|
||
(c_parser_gimple_if_stmt): Likewise.
|
||
(c_parser_gimple_switch_stmt): Likewise.
|
||
(c_parser_gimple_return_stmt): Likewise.
|
||
(c_parser_parse_ssa_name): When name lookup fails do not build
|
||
an SSA name. Use undeclared rather than not declared in error
|
||
reporting.
|
||
|
||
2017-02-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/79428
|
||
* c-parser.c (c_parser_omp_ordered): Call c_parser_skip_to_pragma_eol
|
||
instead of c_parser_skip_until_found.
|
||
|
||
2017-02-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/79431
|
||
* c-parser.c (c_parser_omp_declare_target): Don't invoke
|
||
symtab_node::get on automatic variables.
|
||
|
||
2016-02-09 Nathan Sidwell <nathan@codesourcery.com>
|
||
Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_collapse): Disallow tile.
|
||
(c_parser_oacc_clause_tile): Disallow collapse. Fix parsing and
|
||
semantic checking.
|
||
* c-parser.c (c_parser_omp_for_loop): Accept tiling constructs.
|
||
|
||
2017-02-07 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_expr_list): Simplify.
|
||
(c_parser_gimple_postfix_expression_after_primary):
|
||
Do not use c_build_function_call_vec to avoid folding and promotion.
|
||
Simplify.
|
||
|
||
2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
|
||
|
||
PR lto/79061
|
||
* c-decl.c (pop_scope): Pass main_input_filename to
|
||
build_translation_unit_decl.
|
||
|
||
2017-01-24 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c: Include "read-rtl-function.h" and
|
||
"run-rtl-passes.h".
|
||
(c_parser_declaration_or_fndef): Rename "gimple-pass-list" in
|
||
grammar to gimple-or-rtl-pass-list. Add rtl-function-definition
|
||
production. Update for renaming of field "gimple_pass" to
|
||
"gimple_or_rtl_pass". If __RTL was seen, call
|
||
c_parser_parse_rtl_body. Convert a timevar_push/pop pair
|
||
to an auto_timevar, to cope with early exit.
|
||
(c_parser_declspecs): Update RID_GIMPLE handling for renaming of
|
||
field "gimple_pass" to "gimple_or_rtl_pass", and for renaming of
|
||
c_parser_gimple_pass_list to c_parser_gimple_or_rtl_pass_list.
|
||
Handle RID_RTL.
|
||
(c_parser_parse_rtl_body): New function.
|
||
* c-tree.h (enum c_declspec_word): Add cdw_rtl.
|
||
(struct c_declspecs): Rename field "gimple_pass" to
|
||
"gimple_or_rtl_pass". Add field "rtl_p".
|
||
* gimple-parser.c (c_parser_gimple_pass_list): Rename to...
|
||
(c_parser_gimple_or_rtl_pass_list): ...this, updating accordingly.
|
||
* gimple-parser.h (c_parser_gimple_pass_list): Rename to...
|
||
(c_parser_gimple_or_rtl_pass_list): ...this.
|
||
|
||
2017-01-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64279
|
||
* c-typeck.c (build_conditional_expr): Warn about duplicated branches.
|
||
|
||
2017-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_compound_statement): Handle
|
||
nops.
|
||
|
||
2017-01-13 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Parse
|
||
_Literal ( type-name ) number.
|
||
|
||
2017-01-12 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_postfix_expression): Parse
|
||
__MEM.
|
||
|
||
2017-01-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/72813
|
||
* c-decl.c (pop_file_scope): Set flag_syntax_only to 1 after writing
|
||
PCH file.
|
||
|
||
2017-01-11 Richard Biener <rguenther@suse.de>
|
||
|
||
PR bootstrap/79052
|
||
* gimple-parser.c (c_parser_gimple_switch_stmt): Add missing
|
||
returns on parse errors.
|
||
|
||
2017-01-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/64767
|
||
* c-parser.c (c_parser_postfix_expression): Mark zero character
|
||
constants by setting original_type in c_expr.
|
||
* c-typeck.c (parser_build_binary_op): Warn when a pointer is compared
|
||
with a zero character constant.
|
||
(char_type_p): New function.
|
||
|
||
2017-01-04 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_declaration_or_fndef): Create a
|
||
rich_location at init_loc and parse it to start_init.
|
||
(last_init_list_comma): New global.
|
||
(c_parser_braced_init): Update last_init_list_comma when parsing
|
||
commas. Pass it to pop_init_level. Pass location of closing
|
||
brace to pop_init_level.
|
||
(c_parser_postfix_expression_after_paren_type): Create a
|
||
rich_location at type_loc and parse it to start_init.
|
||
(c_parser_omp_declare_reduction): Likewise for loc.
|
||
* c-tree.h (start_init): Add rich_location * param.
|
||
(pop_init_level): Add location_t param.
|
||
* c-typeck.c (struct initializer_stack): Add field
|
||
"missing_brace_richloc".
|
||
(start_init): Add richloc param, use it to initialize
|
||
the stack node's missing_brace_richloc.
|
||
(last_init_list_comma): New decl.
|
||
(finish_implicit_inits): Pass last_init_list_comma to
|
||
pop_init_level.
|
||
(push_init_level): When finding missing open braces, add fix-it
|
||
hints to the richloc.
|
||
(pop_init_level): Add "insert_before" param and pass it
|
||
when calling pop_init_level. Add fixits about missing
|
||
close braces to any richloc. Use the richloc for the
|
||
-Wmissing-braces warning.
|
||
(set_designator): Pass last_init_list_comma to pop_init_level.
|
||
(process_init_element): Likewise.
|
||
|
||
2017-01-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
2016-12-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR bootstrap/78817
|
||
* c-typeck.c (build_function_call_vec): If check_function_arguments
|
||
returns true, set TREE_NO_WARNING on CALL_EXPR.
|
||
|
||
PR c/77767
|
||
* c-decl.c (grokdeclarator): If *expr is non-NULL, append expression
|
||
to *expr instead of overwriting it.
|
||
|
||
2016-12-20 Richard Biener <rguenther@suse.de>
|
||
|
||
* gimple-parser.c (c_parser_gimple_compound_statement): Improve
|
||
error recovery.
|
||
(c_parser_gimple_statement): Only build assigns for non-error
|
||
stmts.
|
||
(c_parser_gimple_postfix_expression_after): Improve error recovery.
|
||
|
||
2016-12-14 Martin Jambor <mjambor@suse.cz>
|
||
|
||
* c-parser.c: Include omp-general.h and omp-offload.h instead of
|
||
omp-low.h.
|
||
(c_finish_oacc_routine): Adjusted call to
|
||
get_oacc_fn_attrib, build_oacc_routine_dims and replace_oacc_fn_attrib
|
||
to use their new names.
|
||
(c_parser_oacc_enter_exit_data): Adjusted call to find_omp_clause to
|
||
use its new name.
|
||
(c_parser_oacc_update): Likewise.
|
||
(c_parser_omp_simd): Likewise.
|
||
(c_parser_omp_target_update): Likewise.
|
||
* c-typeck.c: Include omp-general.h instead of omp-low.h.
|
||
(c_finish_omp_cancel): Adjusted call to find_omp_clause to use its new
|
||
name.
|
||
(c_finish_omp_cancellation_point): Likewise.
|
||
* gimple-parser.c: Do not include omp-low.h
|
||
|
||
2016-12-02 Cesar Philippidis <cesar@codesourcery.com>
|
||
James Norris <jnorris@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_pragma): Error when PRAGMA_OACC_{ENTER_DATA,
|
||
EXIT_DATA,WAIT} are not used in compound statements.
|
||
(c_parser_oacc_enter_exit_data): Update diagnostics.
|
||
|
||
2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR c++/71973
|
||
* c-decl.c (diagnose_mismatched_decls): Use
|
||
OPT_Wbuiltin_declaration_mismatch here too.
|
||
|
||
2016-11-18 Richard Sandiford <richard.sandiford@arm.com>
|
||
Alan Hayward <alan.hayward@arm.com>
|
||
David Sherwood <david.sherwood@arm.com>
|
||
|
||
* c-decl.c (merge_decls): Use SET_DECL_MODE.
|
||
(make_label, finish_struct): Likewise.
|
||
|
||
2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
|
||
Richard Biener <rguenther@suse.de>
|
||
|
||
* Make-lang.in (C_AND_OBJC_OBJS): Add gimple-parser.o.
|
||
* config-lang.in (gtfiles): Add c/c-parser.h.
|
||
* c-tree.h (enum c_declspec_word): Add cdw_gimple.
|
||
(struct c_declspecs): Add gimple_pass member and gimple_p flag.
|
||
* c-parser.c (enum c_id_kind, struct c_token,
|
||
c_parser_next_token_is, c_parser_next_token_is_not,
|
||
c_parser_next_token_is_keyword,
|
||
enum c_lookahead_kind, enum c_dtr_syn, enum c_parser_prec):
|
||
Split out to ...
|
||
* c-parser.h: ... new header.
|
||
* c-parser.c: Include c-parser.h and gimple-parser.h.
|
||
(c_parser_peek_token, c_parser_peek_2nd_token,
|
||
c_token_starts_typename, c_parser_next_token_starts_declspecs,
|
||
c_parser_next_tokens_start_declaration, c_parser_consume_token,
|
||
c_parser_error, c_parser_require, c_parser_skip_until_found,
|
||
c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token,
|
||
c_parser_type_name): Export.
|
||
(c_parser_tokens_buf): New function.
|
||
(c_parser_error): Likewise.
|
||
(c_parser_set_error): Likewise.
|
||
(c_parser_declspecs): Handle RID_GIMPLE.
|
||
(c_parser_declaration_or_fndef): Parse __GIMPLE marked body
|
||
via c_parser_parse_gimple_body.
|
||
* c-parser.h (c_parser_peek_token, c_parser_peek_2nd_token,
|
||
c_token_starts_typename, c_parser_next_token_starts_declspecs,
|
||
c_parser_next_tokens_start_declaration, c_parser_consume_token,
|
||
c_parser_error, c_parser_require, c_parser_skip_until_found,
|
||
c_parser_declspecs, c_parser_declarator, c_parser_peek_nth_token,
|
||
c_parser_type_name): Declare.
|
||
(struct c_parser): Declare forward.
|
||
(c_parser_tokens_buf): Declare.
|
||
(c_parser_error): Likewise.
|
||
(c_parser_set_error): Likewise.
|
||
* gimple-parser.c: New file.
|
||
* gimple-parser.h: Likewise.
|
||
|
||
2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
PR c/35503
|
||
* c-parser.c (c_parser_postfix_expression_after_primary): Call
|
||
warn_for_restrict.
|
||
|
||
2016-09-11 Le-Chun Wu <lcwu@google.com>
|
||
Mark Wielaard <mjw@redhat.com>
|
||
|
||
* c-decl.c (warn_if_shadowing): Use the warning code corresponding
|
||
to the given -Wshadow= variant.
|
||
|
||
2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
||
|
||
* c-typeck.c: Include memmodel.h.
|
||
|
||
2016-10-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/77957
|
||
* c-objc-common.h (LANG_HOOKS_GETDECLS): Use hook_tree_void_null
|
||
instead of lhd_return_null_tree_v.
|
||
|
||
2016-10-07 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR c++/69733
|
||
* c-decl.c (smallest_type_quals_location): New static function.
|
||
(grokdeclarator): Try to find the correct location for an ignored
|
||
qualifier.
|
||
|
||
2016-09-26 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/7652
|
||
* c-decl.c (pop_scope): Add gcc_fallthrough.
|
||
|
||
2016-09-26 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/7652
|
||
* c-parser.c (struct c_token): Add flags field.
|
||
(c_lex_one_token): Pass it to c_lex_with_flags.
|
||
(c_parser_declaration_or_fndef): Turn __attribute__((fallthrough));
|
||
into IFN_FALLTHROUGH.
|
||
(c_parser_label): Set FALLTHROUGH_LABEL_P on labels. Handle
|
||
attribute fallthrough after a case label or default label.
|
||
(c_parser_statement_after_labels): Handle RID_ATTRIBUTE.
|
||
|
||
2016-09-24 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/77490
|
||
* c-typeck.c (build_unary_op): Warn about bit not on expressions that
|
||
have boolean value. Warn about ++/-- on booleans.
|
||
|
||
2016-09-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (incomplete_record_decls): Remove unnecessary
|
||
= vNULL initialization of file scope vec.
|
||
|
||
2016-09-16 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (lvalue_p): Use true and false instead of 1 and 0.
|
||
|
||
2016-09-14 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-array-notation.c (create_cmp_incr): Use false instead of 0.
|
||
(fix_array_notation_expr): Likewise.
|
||
* c-decl.c (finish_decl): Likewise.
|
||
* c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
|
||
* c-typeck.c (array_to_pointer_conversion): Use true instead of 1.
|
||
(function_to_pointer_conversion): Use false instead of 0.
|
||
(convert_lvalue_to_rvalue): Likewise.
|
||
(parser_build_unary_op): Likewise.
|
||
(build_atomic_assign): Likewise.
|
||
(build_unary_op): Change nonconvert parameter type to bool, use
|
||
true/false instead of 1/0.
|
||
(build_binary_op): Use true instead of 1.
|
||
|
||
2016-09-13 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_declaration_or_fndef): Update for renaming
|
||
of add_fixit_insert to add_fixit_insert_before.
|
||
|
||
2016-09-13 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (build_unary_op): Rename FLAG parameter to NOCONVERT. Use
|
||
it.
|
||
|
||
2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR c++/77496
|
||
* c-parser.c (c_parser_conditional_expression): Pass the rightmost
|
||
COMPOUND_EXPR to warn_for_omitted_condop.
|
||
|
||
2016-09-07 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-lang.c (LANG_HOOKS_GET_SUBSTRING_LOCATION): Use
|
||
c_get_substring_location for this new langhook.
|
||
|
||
2016-09-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/65467
|
||
* c-parser.c (c_parser_declspecs): Don't sorry about _Atomic if
|
||
flag_openmp.
|
||
(c_parser_omp_variable_list): Use convert_lvalue_to_rvalue
|
||
instead of mark_exp_read on low_bound/length expression.
|
||
(c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_threads,
|
||
c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
|
||
c_parser_omp_clause_priority, c_parser_omp_clause_hint,
|
||
c_parser_omp_clause_num_workers, c_parser_oacc_shape_clause,
|
||
c_parser_oacc_clause_tile, c_parser_omp_clause_schedule,
|
||
c_parser_omp_clause_vector_length, c_parser_omp_clause_num_teams,
|
||
c_parser_omp_clause_thread_limit, c_parser_omp_clause_aligned,
|
||
c_parser_omp_clause_linear, c_parser_omp_clause_safelen,
|
||
c_parser_omp_clause_simdlen, c_parser_omp_clause_device,
|
||
c_parser_omp_clause_dist_schedule): Use convert_lvalue_to_rvalue
|
||
instead of mark_expr_read.
|
||
(c_parser_omp_declare_reduction): Reject _Atomic qualified types.
|
||
* c-objc-common.h (LANG_HOOKS_OMP_CLAUSE_COPY_CTOR,
|
||
LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP): Redefine.
|
||
* c-tree.h (c_omp_clause_copy_ctor): New prototype.
|
||
* c-typeck.c (handle_omp_array_sections_1): Diagnose _Atomic qualified
|
||
array section bases outside of depend clause, for depend clause
|
||
use convert_lvalue_to_rvalue on the base.
|
||
(c_finish_omp_clauses): Reject _Atomic qualified vars in reduction,
|
||
linear, aligned, map, to and from clauses.
|
||
(c_omp_clause_copy_ctor): New function.
|
||
|
||
2016-09-01 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/7652
|
||
* c-typeck.c (composite_type): Add FALLTHRU comment.
|
||
|
||
2016-08-31 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_declaration_or_fndef): Add trailing space
|
||
to the insertion fixits for "struct", "union", and "enum".
|
||
|
||
2016-08-30 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c (implicit_decl_warning): Use add_fixit_replace
|
||
rather than add_fixit_misspelled_id.
|
||
(undeclared_variable): Likewise.
|
||
* c-parser.c (c_parser_declaration_or_fndef): Likewise. Remove
|
||
now-redundant "here" params from add_fixit_insert method calls.
|
||
(c_parser_parameter_declaration): Likewise.
|
||
* c-typeck.c (build_component_ref): Remove now-redundant range
|
||
param from add_fixit_replace method calls.
|
||
|
||
2016-08-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (parser_build_binary_op): Pass LHS to
|
||
warn_logical_not_parentheses.
|
||
|
||
2016-08-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/77323
|
||
* c-decl.c (declspecs_add_type): Set typespec_word even when __intN
|
||
or _FloatN or _FloatNx is not supported.
|
||
(finish_declspecs): Set type to integer_type_node when _FloatN or
|
||
_FloatNx is not supported.
|
||
|
||
2016-08-19 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/32187
|
||
* c-tree.h (cts_floatn_nx): New enum c_typespec_keyword value.
|
||
(struct c_declspecs): Add field floatn_nx_idx.
|
||
* c-decl.c (declspecs_add_type, finish_declspecs): Handle _FloatN
|
||
and _FloatNx type specifiers.
|
||
* c-parser.c (c_keyword_starts_typename, c_token_starts_declspecs)
|
||
(c_parser_declspecs, c_parser_attribute_any_word)
|
||
(c_parser_objc_selector): Use CASE_RID_FLOATN_NX.
|
||
* c-typeck.c (c_common_type): Handle _FloatN and _FloatNx types.
|
||
(convert_arguments): Avoid promoting _FloatN and _FloatNx types
|
||
narrower than double.
|
||
|
||
2016-08-12 Jakub Jelinek <jakub@redhat.com>
|
||
Martin Liska <mliska@suse.cz>
|
||
|
||
PR c/67410
|
||
* c-typeck.c (set_nonincremental_init_from_string): Use / instead of
|
||
% to determine val element to change. Assert that
|
||
wchar_bytes * charwidth fits into val array.
|
||
|
||
2016-08-12 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/7652
|
||
* c-parser.c (c_parser_external_declaration): Add FALLTHRU.
|
||
(c_parser_postfix_expression): Likewise.
|
||
* c-typeck.c (build_unary_op): Adjust fall through comment.
|
||
(c_mark_addressable): Likewise.
|
||
|
||
2016-08-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/72816
|
||
* c-decl.c (grokdeclarator): When adding TYPE_DOMAIN for flexible
|
||
array member through typedef, for orig_qual_indirect == 0 clear
|
||
orig_qual_type.
|
||
|
||
2016-08-08 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/64955
|
||
* c-lang.c (LANG_HOOKS_RUN_LANG_SELFTESTS): If CHECKING_P, wire
|
||
this up to selftest::run_c_tests.
|
||
(selftest::run_c_tests): New function.
|
||
|
||
2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (struct oacc_routine_data): Add error_seen and
|
||
fndecl_seen members.
|
||
(c_finish_oacc_routine): Use these.
|
||
(c_parser_declaration_or_fndef): Adjust.
|
||
(c_parser_oacc_routine): Likewise. Support more C language
|
||
constructs, and improve diagnostics. Move pragma context
|
||
checking...
|
||
(c_parser_pragma): ... here.
|
||
|
||
* c-parser.c (struct oacc_routine_data): New.
|
||
(c_parser_declaration_or_fndef, c_parser_oacc_routine): Use it.
|
||
Simplify code.
|
||
(c_finish_oacc_routine): Likewise. Don't attach clauses to "omp
|
||
declare target" attribute.
|
||
|
||
2016-08-01 Jan Beulich <jbeulich@suse.com>
|
||
|
||
* c-fold.c (c_fully_fold_internal): Also emit shift count
|
||
warnings for vector types.
|
||
* c-typeck.c (build_binary_op): Likewise.
|
||
|
||
2016-07-29 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/71742
|
||
* c-decl.c (finish_struct): Rephrase an error message.
|
||
|
||
PR c/71853
|
||
* c-parser.c (c_parser_switch_statement): Initialize ce.original_type
|
||
to error node for invalid code.
|
||
|
||
PR c/71573
|
||
* c-decl.c (implicitly_declare): Return decl early not only for
|
||
error_mark_nodes, but for anything that is not a FUNCTION_DECL.
|
||
|
||
2016-07-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/71969
|
||
* c-decl.c (finish_function): Only set DECL_DISREGARD_INLINE_LIMITS
|
||
on GNU extern inline functions.
|
||
|
||
2016-07-29 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/71583
|
||
* c-parser.c (c_parser_postfix_expression_after_paren_type): Also
|
||
check expr.value.
|
||
|
||
2016-07-22 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* c-typeck.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
|
||
|
||
2016-07-20 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c (struct edit_distance_traits<cpp_hashnode *>): Move to
|
||
spellcheck-tree.h
|
||
(best_macro_match): Likewise, converting from a typedef to a
|
||
subclass.
|
||
(find_closest_macro_cpp_cb): Move to spellcheck-tree.c.
|
||
(lookup_name_fuzzy): Update for change of best_macro_match to a
|
||
subclass with a ctor that calls cpp_forall_identifiers.
|
||
|
||
2016-07-20 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c (implicit_decl_warning): Update for conversion of
|
||
return type of lookup_name_fuzzy to const char *.
|
||
(undeclared_variable): Likewise.
|
||
(lookup_name_fuzzy): Convert return type from tree to
|
||
const char *.
|
||
* c-parser.c (c_parser_declaration_or_fndef): Update for
|
||
conversion of return type of lookup_name_fuzzy to const char *.
|
||
(c_parser_parameter_declaration): Likewise.
|
||
|
||
2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_oacc_declare): Don't scan for
|
||
GOMP_MAP_POINTER.
|
||
* c-typeck.c (handle_omp_array_sections): Mark data clauses with
|
||
GOMP_MAP_FORCE_{PRESENT,TO,FROM,TOFROM} as potentially having
|
||
zero-length subarrays.
|
||
|
||
2016-07-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/71858
|
||
* c-decl.c (implicit_decl_warning): Use FUZZY_LOOKUP_FUNCTION_NAME
|
||
instead of FUZZY_LOOKUP_NAME.
|
||
(lookup_name_fuzzy): For FUZZY_LOOKUP_FUNCTION_NAME consider
|
||
FUNCTION_DECLs, {VAR,PARM}_DECLs function pointers and macros.
|
||
|
||
2016-07-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/71858
|
||
* c-decl.c (lookup_name_fuzzy): Ignore binding->invisible.
|
||
|
||
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* c-parser.c (c_parser_generic_selection): Make type of variable
|
||
auto_vec.
|
||
(c_parser_omp_declare_simd): Likewise.
|
||
|
||
2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* c-decl.c (struct c_struct_parse_info): Change member types
|
||
from vec to auto_vec.
|
||
(start_struct): Adjust.
|
||
(finish_struct): Likewise.
|
||
|
||
2016-07-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/71719
|
||
* c-typeck.c (mark_exp_read): Handle VIEW_CONVERT_EXPR.
|
||
|
||
2016-06-29 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_pragma) <PRAGMA_OMP_CANCELLATION_POINT>:
|
||
Move pragma context checking into...
|
||
(c_parser_omp_cancellation_point): ... here, and improve
|
||
diagnostic messages.
|
||
* c-typeck.c (c_finish_omp_cancel)
|
||
(c_finish_omp_cancellation_point): Improve diagnostic messages.
|
||
|
||
2016-06-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/71685
|
||
* c-typeck.c (c_build_qualified_type): Don't clear
|
||
C_TYPE_INCOMPLETE_VARS for the main variant.
|
||
|
||
2016-06-28 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/71552
|
||
* c-typeck.c (output_init_element): Diagnose incompatible types
|
||
before non-constant initializers.
|
||
|
||
2016-06-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* Make-lang.in: Don't cat ../stage_current if it does not exist.
|
||
|
||
2016-06-23 Andi Kleen <ak@linux.intel.com>
|
||
|
||
* Make-lang.in: Add support for autofdo.
|
||
|
||
2016-06-22 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/70339
|
||
* c-decl.c: Include spellcheck-tree.h and gcc-rich-location.h.
|
||
(implicit_decl_warning): When issuing warnings for implicit
|
||
declarations, attempt to provide a suggestion via
|
||
lookup_name_fuzzy.
|
||
(undeclared_variable): Likewise when issuing errors.
|
||
(lookup_name_in_scope): Likewise.
|
||
(struct edit_distance_traits<cpp_hashnode *>): New struct.
|
||
(best_macro_match): New typedef.
|
||
(find_closest_macro_cpp_cb): New function.
|
||
(lookup_name_fuzzy): New function.
|
||
* c-parser.c: Include gcc-rich-location.h.
|
||
(c_token_starts_typename): Split out case CPP_KEYWORD into...
|
||
(c_keyword_starts_typename): ...this new function.
|
||
(c_parser_declaration_or_fndef): When issuing errors about
|
||
missing "struct" etc, add a fixit. For other kinds of errors,
|
||
attempt to provide a suggestion via lookup_name_fuzzy.
|
||
(c_parser_parms_declarator): When looking ahead to detect typos in
|
||
type names, also reject CPP_KEYWORD.
|
||
(c_parser_parameter_declaration): When issuing errors about
|
||
unknown type names, attempt to provide a suggestion via
|
||
lookup_name_fuzzy.
|
||
* c-tree.h (c_keyword_starts_typename): New prototype.
|
||
|
||
2016-06-20 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/71601
|
||
* c-typeck.c (build_conditional_expr): Return error_mark_node if
|
||
c_common_type returns error_mark_node.
|
||
|
||
2016-06-19 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/69507
|
||
* c-parser.c (c_parser_alignof_expression): Avoid diagnosing
|
||
__alignof__ (expression).
|
||
|
||
2016-06-14 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-typeck.c: Include spellcheck-tree.h rather than spellcheck.h.
|
||
|
||
2016-06-14 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-typeck.c (build_component_ref): Simplify fixit code by
|
||
using gcc_rich_location::add_fixit_misspelled_id.
|
||
(set_init_label): Likewise.
|
||
|
||
2016-06-13 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_initelt): Provide location of name for new
|
||
location_t param of set_init_label.
|
||
* c-tree.h (set_init_label): Add location_t param.
|
||
* c-typeck.c (set_init_index): Add "fieldname_loc" location_t
|
||
param and use it when issuing error messages about unrecognized
|
||
field names. Attempt to provide a fixit hint if appropriate,
|
||
otherwise update the error message to provide the type name.
|
||
|
||
2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
PR c/71381
|
||
* c-parser.c (c_parser_omp_variable_list) <OMP_CLAUSE__CACHE_>:
|
||
Loosen checking.
|
||
|
||
2016-06-08 Martin Sebor <msebor@redhat.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/70507
|
||
PR c/68120
|
||
* c-typeck.c (convert_arguments): Don't promote last argument
|
||
of BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
|
||
|
||
2016-06-08 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/71418
|
||
* c-decl.c (grokdeclarator): Check TYPE_P.
|
||
|
||
PR c/71426
|
||
* c-decl.c (get_parm_info): Don't crash on an assert on invalid
|
||
code.
|
||
|
||
2016-06-07 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_postfix_expression): In __builtin_offsetof
|
||
and structure element reference, capture the location of the
|
||
element name token and pass it to build_component_ref.
|
||
(c_parser_postfix_expression_after_primary): Likewise for
|
||
structure element dereference.
|
||
(c_parser_omp_variable_list): Likewise for
|
||
OMP_CLAUSE_{_CACHE, MAP, FROM, TO},
|
||
* c-tree.h (build_component_ref): Add location_t param.
|
||
* c-typeck.c (build_component_ref): Add location_t param
|
||
COMPONENT_LOC. Use it, if available, when issuing hints about
|
||
mispelled member names to provide a fixit replacement hint.
|
||
|
||
2016-06-06 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/71362
|
||
* c-parser.c (c_parser_direct_declarator): Set location.
|
||
|
||
2016-06-06 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (comptypes_internal): Handle comparisons of
|
||
INTEGER_TYPE, FIXED_POINT_TYPE, and REAL_TYPE nodes. Don't check
|
||
TYPE_REF_CAN_ALIAS_ALL.
|
||
|
||
2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
* c-typeck.c (c_finish_omp_clauses): Mark OpenACC reduction
|
||
arguments as addressable when async clause exists.
|
||
|
||
2016-05-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/71349
|
||
* c-parser.c (c_parser_omp_for): Don't disallow nowait clause
|
||
when combined with target construct.
|
||
|
||
2016-05-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_schedule): Warn if
|
||
OMP_CLAUSE_SCHEDULE_CHUNK_EXPR is known not to be positive.
|
||
|
||
2016-05-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/71265
|
||
* c-decl.c (c_make_fname_decl): Don't check seen_error.
|
||
|
||
PR c/71266
|
||
* c-decl.c (store_parm_decls_oldstyle): Skip non-PARM_DECLs.
|
||
|
||
2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_oacc_declare): Add support for
|
||
GOMP_MAP_FIRSTPRIVATE_POINTER.
|
||
* c-typeck.c (handle_omp_array_sections_1): Replace bool is_omp
|
||
argument with enum c_omp_region_type ort.
|
||
(handle_omp_array_sections): Likewise. Update call to
|
||
handle_omp_array_sections_1.
|
||
(c_finish_omp_clauses): Add specific errors and warning messages for
|
||
OpenACC. Use firsrtprivate pointers for OpenACC subarrays. Update
|
||
call to handle_omp_array_sections.
|
||
|
||
2016-05-24 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_oacc_routine): Tighten syntax checks.
|
||
|
||
2016-05-24 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/70434
|
||
PR c/69504
|
||
* c-typeck.c (build_array_ref): Do not complain about indexing
|
||
non-lvalue vectors. Adjust for function name change.
|
||
|
||
2016-05-20 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/71115
|
||
* c-typeck.c (error_init): Use
|
||
expansion_point_location_if_in_system_header.
|
||
(warning_init): Same.
|
||
|
||
2016-05-19 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/71171
|
||
* c-parser.c (c_parser_generic_selection): Use c_expr::set_error
|
||
in error-handling.
|
||
(c_parser_postfix_expression): Likewise.
|
||
* c-tree.h (c_expr::set_error): New method.
|
||
* c-typeck.c (parser_build_binary_op): In error-handling, ensure
|
||
that result's range is initialized.
|
||
|
||
2016-05-17 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* c-typeck.c (parser_build_unary_op): Fix formatting.
|
||
|
||
2016-05-16 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
* c-decl.c (grokdeclarator): Remove errmsg and use of
|
||
targetm.invalid_return_type.
|
||
(grokparms): Remove errmsg and use of
|
||
targetm.invalid_parameter_type.
|
||
|
||
2016-05-13 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-decl.c (grokdeclarator): For C11, discard qualifiers on
|
||
function return type.
|
||
|
||
2016-05-12 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/70756
|
||
* c-decl.c (build_compound_literal): Pass LOC down to
|
||
c_incomplete_type_error.
|
||
* c-tree.h (require_complete_type): Adjust declaration.
|
||
(c_incomplete_type_error): Likewise.
|
||
* c-typeck.c (require_complete_type): Add location parameter, pass it
|
||
down to c_incomplete_type_error.
|
||
(c_incomplete_type_error): Add location parameter, pass it down to
|
||
error_at.
|
||
(build_component_ref): Pass location down to c_incomplete_type_error.
|
||
(default_conversion): Pass location down to require_complete_type.
|
||
(build_array_ref): Likewise.
|
||
(build_function_call_vec): Likewise.
|
||
(convert_arguments): Likewise.
|
||
(build_unary_op): Likewise.
|
||
(build_c_cast): Likewise.
|
||
(build_modify_expr): Likewise.
|
||
(convert_for_assignment): Likewise.
|
||
(c_finish_omp_clauses): Likewise.
|
||
|
||
2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
PR c/43651
|
||
* c-decl.c (declspecs_add_qual): Warn when -Wduplicate-decl-specifier
|
||
is enabled.
|
||
* c-errors.c (pedwarn_c90): Return true if warned.
|
||
* c-tree.h (pedwarn_c90): Change return type to bool.
|
||
(enum c_declspec_word): Add new enumerator cdw_atomic.
|
||
|
||
2016-05-11 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/71024
|
||
* c-decl.c (diagnose_mismatched_decls): Factor out code to
|
||
diagnose_mismatched_attributes and call it.
|
||
|
||
2016-05-10 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/70255
|
||
* c-decl.c (diagnose_mismatched_decls): Warn for optimize attribute
|
||
on a declaration following the definition.
|
||
|
||
2016-05-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_switch_statement): Add IF_P argument,
|
||
parse it through to c_parser_c99_block_statement.
|
||
(c_parser_statement_after_labels): Adjust c_parser_switch_statement
|
||
caller.
|
||
|
||
2016-05-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-parser.c (c_parser_if_statement): Replace OPT_Wparentheses with
|
||
OPT_Wdangling_else.
|
||
|
||
2016-05-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/48778
|
||
* c-typeck.c (build_binary_op): Don't issue -Waddress warnings
|
||
for macro expansions.
|
||
|
||
2016-05-03 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/70859
|
||
* c-typeck.c (build_function_call_vec): Pass LOC and ARG_LOC down to
|
||
check_builtin_function_arguments.
|
||
|
||
2016-05-03 Richard Biener <rguenther@suse.de>
|
||
|
||
* Make-lang.in (cc1-checksum.c): For stage-final re-use
|
||
the checksum from the previous stage.
|
||
|
||
2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_oacc_all_clauses): Update call to
|
||
c_finish_omp_clauses.
|
||
(c_parser_omp_all_clauses): Likewise.
|
||
(c_parser_oacc_cache): Likewise.
|
||
(c_parser_oacc_loop): Likewise.
|
||
(omp_split_clauses): Likewise.
|
||
(c_parser_omp_declare_target): Likewise.
|
||
(c_parser_cilk_all_clauses): Likewise.
|
||
(c_parser_cilk_for): Likewise.
|
||
* c-typeck.c (c_finish_omp_clauses): Replace bool arguments
|
||
is_omp, declare_simd, and is_cilk with enum c_omp_region_type ort.
|
||
|
||
2016-05-02 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/70851
|
||
* c-decl.c (grokdeclarator): Diagnose when array's size has an
|
||
incomplete type.
|
||
|
||
2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
PR middle-end/70626
|
||
* c-parser.c (c_parser_oacc_loop): Don't augment mask with
|
||
OACC_LOOP_CLAUSE_MASK.
|
||
(c_parser_oacc_kernels_parallel): Update call to
|
||
c_oacc_split_loop_clauses.
|
||
|
||
2016-04-28 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-array-notation.c (fix_builtin_array_notation_fn): Fix final
|
||
argument to build_modify_expr in two cases.
|
||
|
||
2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
* c-parser.c (c_parser_postfix_expression_after_primary): Call
|
||
warn_for_memset instead of warning directly here.
|
||
|
||
2016-04-26 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/67784
|
||
* c-parser.c (c_parser_maybe_reclassify_token): New function factored
|
||
out of ...
|
||
(c_parser_for_statement): ... here.
|
||
(c_parser_if_statement): Use it.
|
||
(c_parser_switch_statement): Use it.
|
||
(c_parser_while_statement): Use it.
|
||
|
||
PR c/70791
|
||
* c-decl.c (pushdecl): Pass LOCUS down to warning.
|
||
|
||
2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
|
||
|
||
PR c++/69363
|
||
* c-parser.c (c_parser_cilk_all_clauses): Use c_finish_omp_clauses
|
||
instead of c_finish_cilk_clauses.
|
||
* c-tree.h (c_finish_omp_clauses): Add new default argument.
|
||
* c-typeck.c (c_finish_omp_clauses): Add new argument. Allow
|
||
floating-point variables in the linear clause for Cilk Plus.
|
||
|
||
2016-04-18 Michael Matz <matz@suse.de>
|
||
|
||
* c-decl.c (merge_decls): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
|
||
(grokdeclarator, parser_xref_tag, finish_enum): Use SET_TYPE_ALIGN.
|
||
|
||
2016-04-15 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/70671
|
||
* c-typeck.c (build_unary_op): Pass location down to error and
|
||
warning call.
|
||
|
||
2016-04-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/70436
|
||
* c-parser.c (c_parser_pragma): Add IF_P argument, pass it down
|
||
where needed.
|
||
(c_parser_external_declaration, c_parser_struct_or_union_specifier,
|
||
c_parser_parameter_declaration, c_parser_compound_statement_nostart,
|
||
c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist):
|
||
Adjust c_parser_pragma callers.
|
||
(c_parser_statement_after_labels): Likewise. Adjust c_parser_cilk_for
|
||
caller.
|
||
(c_parser_omp_structured_block): Add IF_P argument, pass it down to
|
||
c_parser_statement.
|
||
(c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop,
|
||
c_parser_oacc_kernels_parallel, c_parser_omp_critical,
|
||
c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master,
|
||
c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single,
|
||
c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute,
|
||
c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target,
|
||
c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize,
|
||
c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it
|
||
down where needed.
|
||
(c_parser_omp_for_loop): Likewise. Clear IF_P if nbraces.
|
||
(c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block
|
||
calls.
|
||
|
||
2016-04-13 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/70436
|
||
* c-parser.c (c_parser_statement_after_labels): Add IF_P argument and
|
||
adjust callers.
|
||
(c_parser_statement): Likewise.
|
||
(c_parser_c99_block_statement): Likewise.
|
||
(c_parser_while_statement): Likewise.
|
||
(c_parser_for_statement): Likewise.
|
||
(c_parser_if_body): Don't set IF_P here.
|
||
(c_parser_if_statement): Add IF_P argument. Set IF_P here. Warn
|
||
about dangling else here.
|
||
* c-tree.h (c_finish_if_stmt): Adjust declaration.
|
||
* c-typeck.c (c_finish_if_stmt): Remove NESTED_IF parameter. Don't
|
||
warn about dangling else here.
|
||
|
||
2016-04-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/70307
|
||
* c-fold.c (c_fully_fold_internal): Handle VEC_COND_EXPR.
|
||
|
||
2016-03-31 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/70297
|
||
* c-decl.c (merge_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN.
|
||
|
||
2016-03-18 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/70281
|
||
* c-parser.c (c_parser_postfix_expression): Set the source range
|
||
for uses of "__builtin_types_compatible_p".
|
||
|
||
2016-03-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/70280
|
||
* c-typeck.c (composite_type): Don't count void_list_node
|
||
into len, if the list is terminated by void_list_node, start
|
||
with void_list_node instead of NULL for newargs. Stop
|
||
at void_list_node.
|
||
|
||
2016-03-16 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/70093
|
||
* c-typeck.c (build_function_call_vec): Create a TARGET_EXPR for
|
||
nested functions returning VM types.
|
||
|
||
2016-03-09 Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_oacc_loop): Update cclauses and clauses
|
||
when calling c_finish_omp_clauses.
|
||
|
||
2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
PR c/69824
|
||
* c-decl.c (get_parm_info): Don't queue implicit function declarations
|
||
for later.
|
||
|
||
2016-03-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/69798
|
||
* c-parser.c (c_parser_postfix_expression): Call
|
||
c_parser_cast_expression rather than c_parser_postfix_expression.
|
||
|
||
2016-03-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69796
|
||
PR c/69974
|
||
* c-parser.c (c_parser_translation_unit): Don't change TREE_TYPE
|
||
of incomplete decls to error_mark_node.
|
||
|
||
2016-02-24 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/69819
|
||
* c-decl.c (finish_decl): Don't update the copy of the type of a
|
||
different decl type.
|
||
|
||
2016-02-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR objc/69844
|
||
* c-parser.c (c_parser_for_statement): Properly handle ObjC classes
|
||
in id_kind reclassification.
|
||
|
||
2016-02-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69835
|
||
* c-typeck.c (build_binary_op): Revert 2015-09-09 change.
|
||
|
||
2016-02-16 James Norris <jnorris@codesourcery.com>
|
||
|
||
PR c/64748
|
||
* c-parser.c (c_parser_oacc_data_clause_deviceptr): Allow parms.
|
||
|
||
2016-02-12 Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
* c-decl.c (build_null_declspecs): Zero the entire struct.
|
||
|
||
PR c/69522
|
||
* c-parser.c (c_parser_braced_init): New arg outer_obstack. All
|
||
callers changed. If nested_p is true, use it to call
|
||
finish_implicit_inits.
|
||
* c-tree.h (finish_implicit_inits): Declare.
|
||
* c-typeck.c (finish_implicit_inits): New function. Move code
|
||
from ...
|
||
(push_init_level): ... here.
|
||
(set_designator, process_init_element): Call finish_implicit_inits.
|
||
|
||
2016-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69768
|
||
* c-typeck.c (parser_build_binary_op): Strip nops from integer_zerop
|
||
arguments for -Waddress warning.
|
||
|
||
2016-02-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/69669
|
||
* c-decl.c (finish_enum): When honoring mode attribute,
|
||
make sure to use proper TYPE_MIN_VALUE and TYPE_MAX_VALUE.
|
||
|
||
2016-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/69518
|
||
* c-decl.c (finish_struct): Clear C_TYPE_INCOMPLETE_VARS in
|
||
all type variants, not just TYPE_MAIN_VARIANT.
|
||
|
||
2016-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR debug/66869
|
||
* c-decl.c (c_write_global_declarations_1): Warn with
|
||
warn_unused_function if static prototype without definition
|
||
is not C_DECL_USED.
|
||
|
||
2016-01-27 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/68062
|
||
* c-typeck.c (build_binary_op) [EQ_EXPR, GE_EXPR]: Promote operand
|
||
to unsigned, if needed. Add -Wsign-compare warning.
|
||
|
||
2016-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR tree-optimization/69483
|
||
* c-parser.c (c_parser_translation_unit): Use FOR_EACH_VEC_ELT.
|
||
|
||
2016-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
PR c/24293
|
||
* c-tree.h (incomplete_record_decls): Declare.
|
||
* c-parser.c (incomplete_record_decls): Define.
|
||
(c_parser_translation_unit): Iterate through incomplete_record_decls and
|
||
report error if any decl has zero size.
|
||
* c-decl.c (finish_decl): Append static decl with incomplete struct/union
|
||
or enum type to incomplete_record_decls.
|
||
|
||
2016-01-14 Tom de Vries <tom@codesourcery.com>
|
||
|
||
PR tree-optimization/68773
|
||
* c-parser.c (c_parser_oacc_declare, c_parser_omp_declare_target): Don't
|
||
set force_output.
|
||
|
||
2016-01-14 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/69262
|
||
* c-decl.c (grokdeclarator): Provide more information for invalid
|
||
array declarations.
|
||
|
||
2016-01-06 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_unary_expression): For dereferences, build
|
||
a combined location before calling build_indirect_ref, so that
|
||
error reports cover the full range, manually updating the c_expr
|
||
src_range.
|
||
|
||
2016-01-06 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/69099
|
||
* c-convert.c (convert) [INTEGER_TYPE]: Drop ARG. Don't pass ARG to
|
||
ubsan_instrument_float_cast. Fold EXPR. Use NULL_TREE instead of
|
||
NULL.
|
||
|
||
2016-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
2016-01-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/68908
|
||
* c-typeck.c (build_atomic_assign): Improve commentary. Add
|
||
optimization to use __atomic_fetch_* built-in if possible.
|
||
|
||
2015-12-23 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_oacc_clause_use_device): Merge function
|
||
into...
|
||
(c_parser_omp_clause_use_device_ptr): ... this function. Adjust
|
||
all users.
|
||
|
||
2015-12-22 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/69002
|
||
* c-typeck.c (build_component_ref): Warn when acessing elements of
|
||
atomic structures or unions.
|
||
|
||
2015-12-21 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-typeck.c: Include "gcc-rich-location.h".
|
||
(build_binary_op): In the two places that call binary_op_error,
|
||
create a gcc_rich_location and populate it with the location of
|
||
the binary op and its two operands.
|
||
|
||
2015-12-16 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_statement_after_labels): When calling
|
||
c_finish_return, Use the return expression's location if it has
|
||
one, falling back to the location of the first token within it.
|
||
* c-typeck.c (c_finish_return): When issuing warnings about
|
||
the incorrect presence/absence of a return value, issue a note
|
||
showing the declaration of the function.
|
||
|
||
2015-12-16 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (struct c_parser): Expand array "tokens_buf" from 2
|
||
to 4.
|
||
(c_parser_peek_nth_token): New function.
|
||
(c_parser_peek_conflict_marker): New function.
|
||
(c_parser_error): Detect conflict markers and report them as such.
|
||
|
||
2015-12-16 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_postfix_expression): Use EXPR_LOC_OR_LOC
|
||
to preserve range information for the primary expression
|
||
in the call to c_parser_postfix_expression_after_primary.
|
||
|
||
2015-12-16 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_static_assert_declaration_no_semi): Use the
|
||
expression location, falling back on the first token location,
|
||
rather than always using the latter.
|
||
|
||
2015-12-16 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64637
|
||
* c-typeck.c (c_process_expr_stmt): Use location of the expression if
|
||
available.
|
||
|
||
2015-12-15 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/68907
|
||
* c-typeck.c (build_atomic_assign): Set TREE_NO_WARNING on an
|
||
artificial decl.
|
||
|
||
2015-12-08 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_alignof_expression): Capture location of
|
||
closing parenthesis (if any), or of end of unary expression, and
|
||
use it to build a src_range for the expression.
|
||
|
||
2015-12-08 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR c/68757
|
||
* c-parser.c (c_parser_get_builtin_args): Add
|
||
"out_close_paren_loc" param, and write back to it.
|
||
(c_parser_postfix_expression): Capture the closing
|
||
parenthesis location for RID_CHOOSE_EXPR,
|
||
RID_BUILTIN_CALL_WITH_STATIC_CHAIN, RID_BUILTIN_COMPLEX,
|
||
RID_BUILTIN_SHUFFLE and use it to set the source range
|
||
for such expressions; within RID_BUILTIN_COMPLEX set
|
||
the underlying location.
|
||
|
||
2015-12-07 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/68668
|
||
* c-decl.c (grokdeclarator): If ORIG_QUAL_INDIRECT is indirect, use
|
||
TREE_TYPE of ORIG_QUAL_TYPE, otherwise decrement ORIG_QUAL_INDIRECT.
|
||
|
||
2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* c-tree.h (c_build_va_arg): Adjust prototype.
|
||
* c-parser.c (c_parser_postfix_expression): Adjust call to above.
|
||
* c-typeck.c (c_build_va_arg): Rename LOC parameter to LOC2, add LOC1
|
||
parameter, adjust throughout and issue an error if EXPR is a component
|
||
with reverse storage order.
|
||
|
||
2015-12-02 Jason Merrill <jason@redhat.com>
|
||
|
||
* c-fold.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
|
||
(c_fully_fold_internal, decl_constant_value_for_optimization):
|
||
Move from c-common.c.
|
||
* c-tree.h: Declare decl_constant_value_for_optimization.
|
||
* Make-lang.in (C_AND_OBJC_OBJS): Add c-fold.o.
|
||
|
||
2015-12-02 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/68162
|
||
* c-decl.c (grokdeclarator): Set first_non_attr_kind before
|
||
following link from declarator to next declarator. Track original
|
||
qualified type and pass it to c_build_qualified_type.
|
||
* c-typeck.c (c_build_qualified_type): Add arguments
|
||
orig_qual_type and orig_qual_indirect.
|
||
|
||
2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_name)
|
||
(c_parser_oacc_all_clauses): Alphabetical sorting.
|
||
|
||
2015-12-02 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/68533
|
||
* c-decl.c (get_parm_info): Use b->locus instead of input_location
|
||
for diagnostics.
|
||
|
||
2015-12-01 Julian Brown <julian@codesourcery.com>
|
||
Cesar Philippidis <cesar@codesourcery.com>
|
||
James Norris <James_Norris@mentor.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_name): Add use_device support.
|
||
(c_parser_oacc_clause_use_device): New function.
|
||
(c_parser_oacc_all_clauses): Add use_device support.
|
||
(OACC_HOST_DATA_CLAUSE_MASK): New macro.
|
||
(c_parser_oacc_host_data): New function.
|
||
(c_parser_omp_construct): Add host_data support.
|
||
* c-tree.h (c_finish_oacc_host_data): Add prototype.
|
||
* c-typeck.c (c_finish_oacc_host_data): New function.
|
||
(c_finish_omp_clauses): Add use_device support.
|
||
|
||
2015-11-29 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR c/67106
|
||
* c-decl.c: Set TYPE_PACKED in variants.
|
||
|
||
2015-11-27 Martin Liska <mliska@suse.cz>
|
||
|
||
PR c++/68312
|
||
* c-array-notation.c (fix_builtin_array_notation_fn):
|
||
Use release_vec_vec instead of vec::release.
|
||
(build_array_notation_expr): Likewise.
|
||
(fix_conditional_array_notations_1): Likewise.
|
||
(fix_array_notation_expr): Likewise.
|
||
(fix_array_notation_call_expr): Likewise.
|
||
|
||
2015-11-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/63326
|
||
* c-parser.c (c_parser_compound_statement_nostart): If
|
||
last_label is true, use pragma_stmt instead of pragma_compound
|
||
as second c_parser_pragma argument.
|
||
(c_parser_omp_ordered, c_parser_omp_target_update,
|
||
c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Pass
|
||
false as second argument to c_parser_skip_to_pragma_eol after
|
||
diagnosing standalone directives used in pragma_stmt context.
|
||
|
||
2015-11-24 Ilya Verbin <ilya.verbin@intel.com>
|
||
|
||
* c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING"
|
||
with "if (ENABLE_OFFLOADING)".
|
||
|
||
2015-11-23 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR objc/68438
|
||
* c-parser.c (c_parser_postfix_expression): Set up source ranges
|
||
for various Objective-C constructs: Class.name syntax,
|
||
@selector(), @protocol(), @encode(), and [] message syntax.
|
||
|
||
2015-11-20 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
PR 62314
|
||
* c-typeck.c (should_suggest_deref_p): New function.
|
||
(build_component_ref): Special-case POINTER_TYPE when
|
||
generating a "not a structure of union" error message, and
|
||
suggest a "->" rather than a ".", providing a fix-it hint.
|
||
|
||
2015-11-19 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-typeck.c (lookup_field_fuzzy): Move determination of closest
|
||
candidate into a new function, find_closest_identifier.
|
||
|
||
2015-11-19 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/68412
|
||
* c-typeck.c (parser_build_binary_op): Properly handle
|
||
C_MAYBE_CONST_EXPR before calling warn_tautological_cmp.
|
||
|
||
2015-11-17 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (set_c_expr_source_range): Bulletproof both
|
||
overloaded implementations against NULL expr->value.
|
||
(c_parser_braced_init): Set src_range for "ret" to a sane pair of
|
||
values.
|
||
(c_parser_unary_expression): Likewise when handling addresses of
|
||
labels.
|
||
(c_parser_postfix_expression): Likewise for statement expressions,
|
||
for __FUNCTION__, __PRETTY_FUNCTION_ and __func__ keywords, for
|
||
__builtin_va_arg, and for __builtin_offset_of.
|
||
(c_parser_postfix_expression_after_paren_type): Initialize expr's
|
||
src_range using the range of the braced initializer.
|
||
(c_parser_transaction_expression): Set src_range for "ret" to a
|
||
sane pair of values.
|
||
|
||
2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
|
||
|
||
* c-parser.c (c_finish_omp_declare_simd): Look for
|
||
"simd" attribute as well. Update error message.
|
||
|
||
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
|
||
|
||
* c-parser.c (c_parser_omp_declare_target): Adjust.
|
||
|
||
2015-11-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-typeck.c (c_finish_omp_clauses): Don't mark
|
||
GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable.
|
||
|
||
2015-11-14 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c: Use RECORD_OR_UNION_TYPE_P throughout.
|
||
* c-typeck.c: Likewise.
|
||
|
||
2015-11-13 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c (warn_defaults_to): Pass line_table to
|
||
rich_location ctor.
|
||
* c-errors.c (pedwarn_c99): Likewise.
|
||
(pedwarn_c90): Likewise.
|
||
* c-parser.c (set_c_expr_source_range): New functions.
|
||
(c_token::get_range): New method.
|
||
(c_token::get_finish): New method.
|
||
(c_parser_expr_no_commas): Call set_c_expr_source_range on the ret
|
||
based on the range from the start of the LHS to the end of the
|
||
RHS.
|
||
(c_parser_conditional_expression): Likewise, based on the range
|
||
from the start of the cond.value to the end of exp2.value.
|
||
(c_parser_binary_expression): Call set_c_expr_source_range on
|
||
the stack values for TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
|
||
(c_parser_cast_expression): Call set_c_expr_source_range on ret
|
||
based on the cast_loc through to the end of the expr.
|
||
(c_parser_unary_expression): Likewise, based on the
|
||
op_loc through to the end of op.
|
||
(c_parser_sizeof_expression) Likewise, based on the start of the
|
||
sizeof token through to either the closing paren or the end of
|
||
expr.
|
||
(c_parser_postfix_expression): Likewise, using the token range,
|
||
or from the open paren through to the close paren for
|
||
parenthesized expressions.
|
||
(c_parser_postfix_expression_after_primary): Likewise, for
|
||
various kinds of expression.
|
||
* c-tree.h (struct c_expr): Add field "src_range".
|
||
(c_expr::get_start): New method.
|
||
(c_expr::get_finish): New method.
|
||
(set_c_expr_source_range): New decls.
|
||
* c-typeck.c (parser_build_unary_op): Call set_c_expr_source_range
|
||
on ret for prefix unary ops.
|
||
(parser_build_binary_op): Likewise, running from the start of
|
||
arg1.value through to the end of arg2.value.
|
||
|
||
2015-11-13 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/68320
|
||
* c-parser.c (c_parser_for_statement): Treat unknown tokens as IDs.
|
||
|
||
2015-11-13 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-typeck.c: Include spellcheck.h.
|
||
(lookup_field_fuzzy_find_candidates): New function.
|
||
(lookup_field_fuzzy): New function.
|
||
(build_component_ref): If the field was not found, try using
|
||
lookup_field_fuzzy and potentially offer a suggestion.
|
||
|
||
2015-11-12 James Norris <jnorris@codesourcery.com>
|
||
Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_pragma): Handle PRAGMA_OACC_DECLARE.
|
||
(c_parser_omp_clause_name): Handle 'device_resident' clause.
|
||
(c_parser_oacc_data_clause): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
|
||
and PRAGMA_OMP_CLAUSE_LINK.
|
||
(c_parser_oacc_all_clauses): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT
|
||
and PRAGMA_OACC_CLAUSE_LINK.
|
||
(OACC_DECLARE_CLAUSE_MASK): New definition.
|
||
(c_parser_oacc_declare): New function.
|
||
|
||
2015-11-12 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/67784
|
||
* c-parser.c (c_parser_for_statement): Reclassify the token in
|
||
a correct scope.
|
||
|
||
2015-11-11 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/68107
|
||
PR c++/68266
|
||
* c-decl.c (grokdeclarator): Call valid_array_size_p. Remove code
|
||
checking the size of an array.
|
||
|
||
2015-11-11 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-array-notation.c: Remove unused header files.
|
||
* c-aux-info.c: Likewise.
|
||
* c-convert.c: Likewise.
|
||
* c-decl.c: Likewise.
|
||
* c-errors.c: Likewise.
|
||
* c-lang.c: Likewise.
|
||
* c-objc-common.c: Likewise.
|
||
* c-parser.c: Likewise.
|
||
* c-typeck.c: Likewise.
|
||
* gccspec.c: Likewise.
|
||
|
||
2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
|
||
Cesar Philippidis <cesar@codesourcery.com>
|
||
James Norris <jnorris@codesourcery.com>
|
||
Julian Brown <julian@codesourcery.com>
|
||
Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_declaration_or_fndef): Add OpenACC
|
||
routine arg.
|
||
(c_parser_declaration_or_fndef): Call c_finish_oacc_routine.
|
||
(c_parser_pragma): Parse 'acc routine'.
|
||
(OACC_ROUTINE_CLAUSE_MARK): Define.
|
||
(c_parser_oacc_routine, (c_finish_oacc_routine): New.
|
||
|
||
2015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||
|
||
PR debug/67192
|
||
* c-typeck.c (c_finish_loop): For unconditional loops, set the
|
||
location of the backward-goto to the start of the loop body.
|
||
|
||
2015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||
|
||
PR debug/67192
|
||
* c-parser.c (c_parser_while_statement): Finish the loop before
|
||
parsing ahead for misleading indentation.
|
||
(c_parser_for_statement): Likewise.
|
||
|
||
2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* c-decl.c (finish_struct): If the structure has reverse storage
|
||
order, rewrite the type of array fields with scalar component. Call
|
||
maybe_apply_pragma_scalar_storage_order on entry.
|
||
* c-typeck.c (build_unary_op) <ADDR_EXPR>: Remove left-overs. Issue
|
||
errors on bit-fields and reverse SSO here and not...
|
||
(c_mark_addressable): ...here.
|
||
(output_init_element): Adjust call to initializer_constant_valid_p.
|
||
(c_build_qualified_type): Propagate TYPE_REVERSE_STORAGE_ORDER.
|
||
|
||
2015-11-06 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c (warn_defaults_to): Update for change in signature
|
||
of diagnostic_set_info.
|
||
* c-errors.c (pedwarn_c99): Likewise.
|
||
(pedwarn_c90): Likewise.
|
||
* c-objc-common.c (c_tree_printer): Update for new "caret_p" param
|
||
for textinfo::set_location.
|
||
|
||
2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
James Norris <jnorris@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_name): Add support for
|
||
PRAGMA_OACC_CLAUSE_INDEPENDENT and PRAGMA_OACC_CLAUSE_TILE.
|
||
(c_parser_omp_clause_default): Add is_oacc argument. Handle
|
||
default(none) in OpenACC.
|
||
(c_parser_oacc_shape_clause): Allow pointer variables as gang static
|
||
arguments.
|
||
(c_parser_oacc_clause_tile): New function.
|
||
(c_parser_oacc_all_clauses): Add support for OMP_CLAUSE_DEFAULT,
|
||
OMP_CLAUSE_INDEPENDENT and OMP_CLAUSE_TILE.
|
||
(OACC_LOOP_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_{PRIVATE,INDEPENDENT,
|
||
TILE}.
|
||
(OACC_KERNELS_MASK): Add PRAGMA_OACC_CLAUSE_DEFAULT.
|
||
(OACC_PARALLEL_MASK): Add PRAGMA_OACC_CLAUSE_{DEFAULT,PRIVATE,
|
||
FIRSTPRIVATE}.
|
||
(c_parser_omp_all_clauses): Update call to c_parser_omp_clause_default.
|
||
(c_parser_oacc_update): Update the error message for missing clauses.
|
||
* c-typeck.c (c_finish_omp_clauses): Add support for OMP_CLAUSE_TILE
|
||
and OMP_CLAUSE_INDEPENDENT.
|
||
|
||
2015-11-05 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/68090
|
||
* c-parser.c (c_parser_postfix_expression_after_paren_type): Don't
|
||
deal with pre-evaluation on invalid types.
|
||
|
||
2015-11-05 Jakub Jelinek <jakub@redhat.com>
|
||
Ilya Verbin <ilya.verbin@intel.com>
|
||
|
||
* c-parser.c: Include context.h and gimple-expr.h.
|
||
(c_parser_omp_clause_schedule): Parse schedule modifiers, diagnose
|
||
monotonic together with nonmonotonic.
|
||
(c_parser_omp_for_loop): Call c_omp_check_loop_iv. Call add_stmt here.
|
||
(OMP_DISTRIBUTE_CLAUSE_MASK): Add lastprivate clause.
|
||
(c_parser_omp_target_data, c_parser_omp_target_enter_data,
|
||
c_parser_omp_target_exit_data): Allow GOMP_MAP_ALWAYS_POINTER.
|
||
(c_parser_omp_target): Likewise. Evaluate num_teams and thread_limit
|
||
expressions on combined target teams before the target.
|
||
(c_parser_omp_declare_target): If decl has "omp declare target" or
|
||
"omp declare target link" attribute, and cgraph or varpool node already
|
||
exists, then set corresponding flags. Call c_finish_omp_clauses
|
||
in the parenthesized extended-list syntax case.
|
||
* c-decl.c (c_decl_attributes): Don't diagnose block scope vars inside
|
||
declare target.
|
||
* c-typeck.c (handle_omp_array_sections_1): Allow non-zero low-bound
|
||
on OMP_CLAUSE_REDUCTION array sections.
|
||
(handle_omp_array_sections): Encode low-bound into the MEM_REF, either
|
||
into the constant offset, or for variable low-bound using
|
||
POINTER_PLUS_EXPR. For structure element based array sections use
|
||
GOMP_MAP_ALWAYS_POINTER instead of GOMP_MAP_FIRSTPRIVATE_POINTER.
|
||
(c_finish_omp_clauses): Drop generic_field_head, structure
|
||
elements are now always mapped even as array section bases,
|
||
diagnose same var in data sharing and mapping clauses. Diagnose if
|
||
linear step on declare simd is neither a constant nor a uniform
|
||
parameter. Look through POINTER_PLUS_EXPR for array section
|
||
reductions. Diagnose the same var or function appearing multiple
|
||
times on the same directive. Fix up wording for the to clause if t
|
||
is neither a FUNCTION_DECL nor a VAR_DECL. Diagnose nonmonotonic
|
||
modifier on kinds other than dynamic or guided or nonmonotonic
|
||
modifier together with ordered clause.
|
||
|
||
2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
|
||
Chung-Lin Tang <cltang@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_construct): Handle PRAGMA_OACC_ATOMIC.
|
||
|
||
2015-10-29 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-array-notation.c: Reorder #include's and remove duplicates.
|
||
* c-aux-info.c: Likewise.
|
||
* c-convert.c: Likewise.
|
||
* c-decl.c: Likewise.
|
||
* c-errors.c: Likewise.
|
||
* c-lang.c: Likewise.
|
||
* c-objc-common.c: Likewise.
|
||
* c-parser.c: Likewise.
|
||
* c-typeck.c: Likewise.
|
||
|
||
2015-10-26 Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
PR debug/66068
|
||
* c-typeck.c (c_build_qualified_type): Clear C_TYPE_INCOMPLETE_VARS
|
||
after calling build_qualified_type.
|
||
|
||
2015-10-27 Cesar Philippidis <cesar@codesourcery.com>
|
||
Thomas Schwinge <thomas@codesourcery.com>
|
||
James Norris <jnorris@codesourcery.com>
|
||
Joseph Myers <joseph@codesourcery.com>
|
||
Julian Brown <julian@codesourcery.com>
|
||
Bernd Schmidt <bschmidt@redhat.com>
|
||
|
||
* c-parser.c (c_parser_oacc_shape_clause): New.
|
||
(c_parser_oacc_simple_clause): New.
|
||
(c_parser_oacc_all_clauses): Add auto, gang, seq, vector, worker.
|
||
(OACC_LOOP_CLAUSE_MASK): Add gang, worker, vector, auto, seq.
|
||
|
||
2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
|
||
James Norris <jnorris@codesourcery.com>
|
||
Cesar Philippidis <cesar@codesourcery.com>
|
||
|
||
PR c/64765
|
||
PR c/64880
|
||
* c-parser.c (c_parser_oacc_loop): Add mask, cclauses formal
|
||
parameters, and handle these. Adjust all users.
|
||
(c_parser_oacc_kernels, c_parser_oacc_parallel): Merge functions
|
||
into...
|
||
(c_parser_oacc_kernels_parallel): ... this new function. Adjust
|
||
all users.
|
||
* c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels): Don't
|
||
declare functions.
|
||
(c_finish_omp_construct): Declare function.
|
||
* c-typeck.c (c_finish_oacc_parallel, c_finish_oacc_kernels):
|
||
Merge functions into...
|
||
(c_finish_omp_construct): ... this new function.
|
||
|
||
2015-10-22 Richard Biener <rguenther@suse.de>
|
||
|
||
* c-typeck.c (c_finish_omp_clauses): Properly convert operands
|
||
before folding a MINUS_EXPR.
|
||
|
||
2015-10-21 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/68024
|
||
* c-decl.c (start_function): Warn about vararg functions without
|
||
a prototype.
|
||
|
||
2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
|
||
|
||
* c-typeck.c (build_conditional_expr): Use boolean vector
|
||
type for vector comparison.
|
||
(build_vec_cmp): New.
|
||
(build_binary_op): Use build_vec_cmp for comparison.
|
||
|
||
2015-10-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-parser.c (is_cilkplus_vector_p): Don't define here.
|
||
|
||
2015-10-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/67964
|
||
* c-parser.c (c_parser_attributes): Break out of the loop if the
|
||
token after an attribute isn't a comma.
|
||
|
||
2015-10-13 Jakub Jelinek <jakub@redhat.com>
|
||
Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* c-parser.c (c_parser_pragma): Handle PRAGMA_OMP_ORDERED here.
|
||
(c_parser_omp_clause_name): Handle OpenMP 4.5 clauses.
|
||
(c_parser_omp_variable_list): Handle structure elements for
|
||
map, to and from clauses. Handle array sections in reduction
|
||
clause. Formatting fixes.
|
||
(c_parser_omp_clause_if): Add IS_OMP argument, handle parsing of
|
||
if clause modifiers.
|
||
(c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize,
|
||
c_parser_omp_clause_priority, c_parser_omp_clause_hint,
|
||
c_parser_omp_clause_defaultmap, c_parser_omp_clause_use_device_ptr,
|
||
c_parser_omp_clause_is_device_ptr): New functions.
|
||
(c_parser_omp_clause_ordered): Parse optional parameter.
|
||
(c_parser_omp_clause_reduction): Handle array reductions.
|
||
(c_parser_omp_clause_schedule): Parse optional simd modifier.
|
||
(c_parser_omp_clause_nogroup, c_parser_omp_clause_orderedkind): New
|
||
functions.
|
||
(c_parser_omp_clause_linear): Parse linear clause modifiers.
|
||
(c_parser_omp_clause_depend_sink): New function.
|
||
(c_parser_omp_clause_depend): Parse source/sink depend kinds.
|
||
(c_parser_omp_clause_map): Parse release/delete map kinds and
|
||
optional always modifier.
|
||
(c_parser_oacc_all_clauses): Adjust c_parser_omp_clause_if
|
||
and c_finish_omp_clauses callers.
|
||
(c_parser_omp_all_clauses): Likewise. Parse OpenMP 4.5 clauses.
|
||
Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive.
|
||
(c_parser_oacc_cache): Adjust c_finish_omp_clauses caller.
|
||
(OMP_CRITICAL_CLAUSE_MASK): Define.
|
||
(c_parser_omp_critical): Parse critical clauses.
|
||
(c_parser_omp_for_loop): Handle doacross loops, adjust
|
||
c_finish_omp_for and c_finish_omp_clauses callers.
|
||
(OMP_SIMD_CLAUSE_MASK): Add simdlen clause.
|
||
(c_parser_omp_simd): Allow ordered clause if it has no parameter.
|
||
(OMP_FOR_CLAUSE_MASK): Add linear clause.
|
||
(c_parser_omp_for): Disallow ordered clause when combined with
|
||
distribute. Disallow linear clause when combined with distribute
|
||
and not combined with simd.
|
||
(OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define.
|
||
(c_parser_omp_ordered): Add CONTEXT argument, remove LOC argument,
|
||
parse clauses and if depend clause is found, don't parse a body.
|
||
(c_parser_omp_parallel): Disallow copyin clause on target parallel.
|
||
Allow target parallel without for after it.
|
||
(OMP_TASK_CLAUSE_MASK): Add priority clause.
|
||
(OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause.
|
||
(c_parser_omp_target_data): Diagnose no map clauses or clauses with
|
||
invalid kinds.
|
||
(OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses.
|
||
(OMP_TARGET_ENTER_DATA_CLAUSE_MASK,
|
||
OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define.
|
||
(c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): New
|
||
functions.
|
||
(OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate,
|
||
defaultmap and is_device_ptr clauses.
|
||
(c_parser_omp_target): Parse target parallel and target simd. Set
|
||
OMP_TARGET_COMBINED on combined constructs. Parse target enter data
|
||
and target exit data. Diagnose invalid map kinds.
|
||
(OMP_DECLARE_TARGET_CLAUSE_MASK): Define.
|
||
(c_parser_omp_declare_target): Parse OpenMP 4.5 forms of this
|
||
construct.
|
||
(c_parser_omp_declare_reduction): Use STRIP_NOPS when checking for
|
||
&omp_priv.
|
||
(OMP_TASKLOOP_CLAUSE_MASK): Define.
|
||
(c_parser_omp_taskloop): New function.
|
||
(c_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here,
|
||
handle PRAGMA_OMP_TASKLOOP.
|
||
(c_parser_cilk_for): Adjust c_finish_omp_clauses callers.
|
||
* c-tree.h (c_finish_omp_clauses): Add two new arguments.
|
||
* c-typeck.c (handle_omp_array_sections_1): Fix comment typo.
|
||
Add IS_OMP argument, handle structure element bases, diagnose
|
||
bitfields, pass IS_OMP recursively, diagnose known zero length
|
||
array sections in depend clauses, handle array sections in reduction
|
||
clause, diagnose negative length even for pointers.
|
||
(handle_omp_array_sections): Add IS_OMP argument, use auto_vec for
|
||
types, pass IS_OMP down to handle_omp_array_sections_1, handle
|
||
array sections in reduction clause, set
|
||
OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero
|
||
length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP.
|
||
(c_finish_omp_clauses): Add IS_OMP and DECLARE_SIMD arguments.
|
||
Handle new OpenMP 4.5 clauses and new restrictions for the old ones.
|
||
|
||
2015-10-06 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-parser.c (c_parser_statement_after_labels): Use
|
||
protected_set_expr_location.
|
||
(c_parser_omp_clause_num_gangs): Likewise.
|
||
(c_parser_omp_clause_num_threads): Likewise.
|
||
(c_parser_omp_clause_num_workers): Likewise.
|
||
(c_parser_omp_clause_vector_length): Likewise.
|
||
(c_parser_omp_clause_num_teams): Likewise.
|
||
(c_parser_omp_clause_thread_limit): Likewise.
|
||
* c-typeck.c (build_c_cast): Likewise.
|
||
(c_cast_expr): Likewise.
|
||
|
||
2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* c-typeck.c (c_tree_equal): Use real_equal instead of
|
||
REAL_VALUES_EQUAL.
|
||
|
||
2015-10-04 Jason Merrill <jason@redhat.com>
|
||
|
||
* c-parser.c (c_lex_one_token): Handle @synchronized.
|
||
* c-decl.c (match_builtin_function_types): A declaration of a built-in
|
||
can change whether the function is transaction_safe.
|
||
|
||
2015-10-02 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/67730
|
||
* c-typeck.c (convert_for_assignment): Use the expansion point
|
||
location throughout.
|
||
|
||
2015-10-02 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64249
|
||
* c-parser.c (c_parser_statement_after_labels): Add CHAIN parameter
|
||
and pass it down to c_parser_if_statement.
|
||
(c_parser_else_body): Add CHAIN parameter and pass it down to
|
||
c_parser_statement_after_labels.
|
||
(c_parser_if_statement): Add CHAIN parameter. Add code to warn about
|
||
duplicated if-else-if conditions.
|
||
|
||
2015-10-01 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (convert_for_assignment): Improve commentary.
|
||
|
||
2015-09-30 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/67730
|
||
* c-typeck.c (c_finish_return): Use the expansion point location for
|
||
certain "return with value" warnings.
|
||
|
||
2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
* c-parser.c (pragma_lex): Add loc argument.
|
||
|
||
2015-09-15 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/67580
|
||
* c-decl.c (tag_exists_p): New function.
|
||
* c-parser.c (c_parser_declaration_or_fndef): Give a hint when
|
||
struct/union/enum keywords are missing.
|
||
* c-tree.h (tag_exists_p): Declare.
|
||
|
||
2015-09-15 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c (lookup_label): Return NULL_TREE instead of 0.
|
||
(lookup_tag): Change the type of THISLEVEL_ONLY to bool.
|
||
Return NULL_TREE instead of 0.
|
||
(lookup_name): Return NULL_TREE instead of 0.
|
||
(lookup_name_in_scope): Likewise.
|
||
(shadow_tag_warned): Use true instead of 1 and NULL_TREE instead of 0.
|
||
(parser_xref_tag): Use false instead of 0.
|
||
(start_struct): Use true instead of 1.
|
||
(start_enum): Use true instead of 1 and NULL_TREE instead of 0.
|
||
|
||
2015-09-14 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (set_nonincremental_init_from_string): Use
|
||
HOST_WIDE_INT_M1U when shifting a negative value.
|
||
|
||
2015-09-09 Mark Wielaard <mjw@redhat.com>
|
||
|
||
* c-typeck.c (build_binary_op): Check and warn when nonnull arg
|
||
parm against NULL.
|
||
|
||
2015-09-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/67502
|
||
* c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts
|
||
into OMP_FOR_PRE_BODY rather than before the loop.
|
||
|
||
2015-09-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/67501
|
||
* c-parser.c (c_parser_oacc_all_clauses,
|
||
c_parser_omp_all_clauses): Remove invalid clause from
|
||
list of clauses even if parser->error is set.
|
||
|
||
PR c/67500
|
||
* c-parser.c (c_parser_omp_clause_aligned,
|
||
c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen): Fix up
|
||
test for errors.
|
||
* c-decl.c (temp_pop_parm_decls): Allow b->decl equal to
|
||
error_mark_node.
|
||
|
||
PR c/67495
|
||
* c-parser.c (c_parser_omp_atomic): Use c_parser_cast_expression
|
||
instead of c_parser_unary_expression. If the result is !lvalue_p,
|
||
wrap the result of c_fully_fold into NON_LVALUE_EXPR.
|
||
|
||
2015-09-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/67279
|
||
* c-typeck.c (build_binary_op): Don't instrument static initializers.
|
||
|
||
2015-09-03 Martin Sebor <msebor@redhat.com>
|
||
|
||
PR c/66516
|
||
* c-typeck.c (convert_arguments, parser_build_unary_op,
|
||
build_conditional_expr, c_cast_expr, convert_for_assignment,
|
||
build_binary_op, _objc_common_truthvalue_conversion): Call
|
||
reject_gcc_builtin.
|
||
(c_decl_implicit): Define.
|
||
|
||
2015-09-02 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/67432
|
||
* c-parser.c (c_parser_enum_specifier): Give a better error for
|
||
an empty enum.
|
||
|
||
2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
|
||
|
||
* c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.
|
||
|
||
2015-08-12 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c (grokdeclarator): Call error_at instead of error and pass
|
||
LOC to it.
|
||
|
||
2015-08-03 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/67088
|
||
* c-decl.c (check_bitfield_type_and_width): Add location parameter.
|
||
Use it.
|
||
(grokdeclarator): Pass LOC down to check_bitfield_type_and_width.
|
||
|
||
2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
* c-parser.c (c_parser_if_body): Take token_indent_info
|
||
argument. Call warn_for_misleading_indentation even when the
|
||
body is a semicolon. Extract token_indent_infos corresponding
|
||
to the guard, body and next tokens. Adjust call to
|
||
warn_for_misleading_indentation accordingly.
|
||
(c_parser_else_body): Likewise.
|
||
(c_parser_if_statement): Likewise.
|
||
(c_parser_while_statement): Likewise.
|
||
(c_parser_for_statement): Likewise.
|
||
|
||
2015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
|
||
Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
* c-decl.c (get_parm_info): Remove static var. Update warning
|
||
message.
|
||
|
||
2015-07-27 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/66555
|
||
PR c/54979
|
||
* c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp.
|
||
|
||
2015-07-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/55095
|
||
* c-typeck.c (digest_init): Pass OPT_Wpedantic to pedwarn_init.
|
||
(build_binary_op): Warn about left shift overflows.
|
||
|
||
2015-07-09 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-array-notation.c: Adjust includes for flags.h changes.
|
||
* c-objc-common.c: Likewise.
|
||
|
||
2015-07-07 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-array-notation.c: Adjust includes.
|
||
* c-aux-info.c: Likewise.
|
||
* c-convert.c: Likewise.
|
||
* c-decl.c: Likewise.
|
||
* c-errors.c: Likewise.
|
||
* c-lang.c: Likewise.
|
||
* c-objc-common.c: Likewise.
|
||
* c-parser.c: Likewise.
|
||
* c-typeck.c: Likewise.
|
||
|
||
2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR fortran/66605
|
||
* c-decl.c (finish_function): Call do_warn_unused_parameter.
|
||
|
||
2015-06-29 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/66322
|
||
* c-typeck.c (struct c_switch): Add BOOL_COND_P and OUTSIDE_RANGE_P.
|
||
(c_start_case): Set BOOL_COND_P and OUTSIDE_RANGE_P. Don't warn
|
||
about -Wswitch-bool here.
|
||
(do_case): Update c_add_case_label call.
|
||
(c_finish_case): Update c_do_switch_warnings call.
|
||
|
||
2015-06-27 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c: Use VECTOR_TYPE_P throughout.
|
||
|
||
2015-06-26 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-array-notation.c (fix_builtin_array_notation_fn): Use
|
||
INDIRECT_REF_P.
|
||
* c-typeck.c (array_to_pointer_conversion): Likewise.
|
||
(build_unary_op): Likewise.
|
||
(c_finish_return): Likewise.
|
||
|
||
2015-06-25 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-decl.c: Remove ipa-ref.h and plugin-api.h from include list.
|
||
* c-parser.c: Likewise.
|
||
|
||
2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash
|
||
instead of pointer_hash.
|
||
(detect_field_duplicates): Likewise.
|
||
|
||
2015-06-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-array-notation.c: Use VAR_P throughout.
|
||
* c-decl.c: Likewise.
|
||
* c-objc-common.c: Likewise.
|
||
* c-parser.c: Likewise.
|
||
* c-typeck.c: Likewise.
|
||
|
||
2015-06-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c: Use is_global_var throughout.
|
||
* c-parser.c: Likewise.
|
||
* c-typeck.c: Likewise.
|
||
|
||
2015-06-17 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-array-notation.c: Do not include input.h, line-map.h or is-a.h.
|
||
* c-aux-info.c: Likewise.
|
||
* c-convert.c: Likewise.
|
||
* c-decl.c: Likewise.
|
||
* c-errors.c: Likewise.
|
||
* c-lang.c: Likewise.
|
||
* c-objc-common.c: Likewise.
|
||
* c-parser.c: Likewise.
|
||
* c-typeck.c: Likewise.
|
||
|
||
2015-06-11 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
PR middle-end/66325
|
||
* c-decl.c (start_enum): Set TYPE_PACKED consistently among type
|
||
variants.
|
||
|
||
2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
|
||
|
||
* c-decl.c (pop_scope): Register the main translation unit
|
||
through the new debug hook.
|
||
|
||
2015-06-08 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-array-notation.c : Adjust include files.
|
||
* c-aux-info.c : Likewise.
|
||
* c-convert.c : Likewise.
|
||
* c-decl.c : Likewise.
|
||
* c-errors.c : Likewise.
|
||
* c-lang.c : Likewise.
|
||
* c-lang.h : Likewise.
|
||
* c-objc-common.c : Likewise.
|
||
* c-parser.c : Likewise.
|
||
* c-typeck.c : Likewise.
|
||
|
||
2015-06-05 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* c-decl.c (finish_struct): Save C_TYPE_INCOMPLETE_VARS and
|
||
immediately clobber it.
|
||
(c_write_global_declarations_1): Remove call to
|
||
check_global_declaration_1.
|
||
(c_write_global_declarations_2): Remove.
|
||
(c_write_final_cleanups): Rename from c_write_global_declarations.
|
||
Remove call to finalize_compilation_unit.
|
||
Remove calls to debugging hooks.
|
||
* c-objc-common.c: Adjust comment for c_warn_unused_global_decl.
|
||
* c-objc-common.h: Remove LANG_HOOKS_WRITE_GLOBALS.
|
||
* c-tree.h: Remove c_write_global_declarations.
|
||
|
||
2015-06-04 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-array-notation.c: Adjust includes for restructured coretypes.h.
|
||
* c-aux-info.c: Likewise.
|
||
* c-convert.c: Likewise.
|
||
* c-decl.c: Likewise.
|
||
* c-errors.c: Likewise.
|
||
* c-lang.c: Likewise.
|
||
* c-objc-common.c: Likewise.
|
||
* c-parser.c: Likewise.
|
||
* c-typeck.c: Likewise.
|
||
|
||
2015-06-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/66341
|
||
* c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if
|
||
it is a lvalue.
|
||
|
||
2015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
* c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc.
|
||
Warn for empty struct.
|
||
(finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct.
|
||
|
||
2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
|
||
|
||
* c-decl.c (start_function): Call plugin before parsing.
|
||
(finish_function): Call plugin after parsing.
|
||
|
||
2015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
|
||
|
||
PR c/49551
|
||
* c-decl.c (merge_decls): Merge DECL_COMMON.
|
||
|
||
2015-05-22 Jim Wilson <jim.wilson@linaro.org>
|
||
|
||
* Make-lang.in (check_gcc_pallelize): Define.
|
||
|
||
2015-05-22 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/47043
|
||
* c-parser.c (c_parser_enum_specifier): Parse and apply enumerator
|
||
attributes.
|
||
|
||
2015-05-21 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of
|
||
DECL_BUILT_IN.
|
||
|
||
2015-05-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout.
|
||
* c-typeck.c: Likewise.
|
||
|
||
2015-05-19 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (start_init): Use AGGREGATE_TYPE_P.
|
||
|
||
2015-05-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/66199
|
||
* c-parser.c (c_parser_omp_for_loop): Don't add
|
||
OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving
|
||
OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES.
|
||
(c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined
|
||
constructs.
|
||
|
||
2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
|
||
|
||
* c-typeck.c (build_array_ref): Use std::swap instead of explicit
|
||
swaps.
|
||
|
||
2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR fortran/44054
|
||
* c-objc-common.c (c_tree_printer): Replace locus pointer with
|
||
accessor function.
|
||
|
||
2015-05-14 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/66066
|
||
PR c/66127
|
||
* c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic
|
||
rather than with 0.
|
||
|
||
2015-05-12 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-parser.c (c_parser_if_body): Add param "if_loc", use it
|
||
to add a call to warn_for_misleading_indentation.
|
||
(c_parser_else_body): Likewise, adding param "else_loc".
|
||
(c_parser_if_statement): Check for misleading indentation.
|
||
(c_parser_while_statement): Likewise.
|
||
(c_parser_for_statement): Likewise.
|
||
|
||
2015-05-08 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64918
|
||
* c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects.
|
||
(output_init_element): Likewise.
|
||
|
||
2015-05-07 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/65179
|
||
* c-typeck.c (build_binary_op): Warn when left shifting a negative
|
||
value.
|
||
|
||
2015-04-30 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (set_init_label): Call error_at instead of error and
|
||
pass LOC to it.
|
||
|
||
* c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print
|
||
the type of a decl.
|
||
|
||
* c-typeck.c (c_build_va_arg): Clarify the error message.
|
||
|
||
2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_oacc_enter_exit_data): Use
|
||
OMP_STANDALONE_CLAUSES.
|
||
|
||
2015-04-28 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-parser.c (c_parser_binary_expression): Remove duplicate line.
|
||
|
||
2015-04-28 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/65901
|
||
* c-typeck.c (c_build_va_arg): Require TYPE be a complete type.
|
||
|
||
2015-04-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/52085
|
||
* c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode"
|
||
attribute.
|
||
|
||
2015-04-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/65345
|
||
* c-decl.c (set_labels_context_r): New function.
|
||
(store_parm_decls): Call it via walk_tree_without_duplicates.
|
||
* c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw
|
||
instead of create_tmp_var. Build TARGET_EXPR instead of
|
||
COMPOUND_EXPR.
|
||
(build_atomic_assign): Use create_tmp_var_raw instead of
|
||
create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR.
|
||
|
||
2015-04-20 Ilya Verbin <ilya.verbin@intel.com>
|
||
|
||
* c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon.
|
||
(c_parser_omp_target_update): Add missed %> to error_at ().
|
||
|
||
2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
|
||
|
||
PR target/55143
|
||
* c-decl.c (c_default_pointer_mode): Remove definition.
|
||
* c-tree.h (c_default_pointer_mode): Remove declaration.
|
||
|
||
2015-03-27 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR c/65586
|
||
* c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't
|
||
error out.
|
||
(c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute,
|
||
c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare):
|
||
Update calls to not error for skipped omp pragmas with -fopenmp-simd.
|
||
|
||
2015-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-decl.c (c_decl_attributes): Also add "omp declare target"
|
||
attribute for DECL_EXTERNAL VAR_DECLs.
|
||
|
||
2015-03-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parse_init): Don't call xstrdup on get_identifier
|
||
argument.
|
||
|
||
2015-03-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/65120
|
||
* c-typeck.c (parser_build_binary_op): Check for tcc_comparison
|
||
before preparing arguments to warn_logical_not_parentheses.
|
||
|
||
2015-03-09 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/65120
|
||
* c-typeck.c (parser_build_binary_op): Don't warn for
|
||
!!x == y or !b == y where b is _Bool.
|
||
|
||
2015-03-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-convert.c (convert): Make use of do_ubsan_in_current_function.
|
||
* c-decl.c (grokdeclarator): Likewise.
|
||
* c-typeck.c (build_binary_op): Likewise.
|
||
|
||
2015-02-27 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/65228
|
||
* c-decl.c (start_decl): Return NULL_TREE if decl is an error node.
|
||
|
||
2015-02-14 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64768
|
||
* c-decl.c (grokdeclarator): Set the range of a flexible array member
|
||
declared through a typedef name.
|
||
|
||
2015-02-13 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/65050
|
||
* c-decl.c (grokdeclarator): Print also the type when giving
|
||
the error message about array's incomplete element type.
|
||
|
||
2015-02-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/64824
|
||
* c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec
|
||
check in the POP macro.
|
||
|
||
2015-02-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64856
|
||
* c-typeck.c (process_init_element): Don't always wrap
|
||
COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when
|
||
initializing a range of elements.
|
||
|
||
2015-02-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/64824
|
||
PR c/64868
|
||
* c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR.
|
||
|
||
2015-02-02 Bruno Loff <bruno.loff@gmail.com>
|
||
|
||
* c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after
|
||
processing enum declaration.
|
||
|
||
2015-01-29 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64709
|
||
* c-typeck.c (pop_init_level): If constructor_elements has
|
||
exactly one element with integer_zerop value, set constructor_zeroinit
|
||
to 1. Remove braces around warning_init call.
|
||
|
||
2015-01-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/64766
|
||
* c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL
|
||
of FUNCTION_DECLs with error_mark_node.
|
||
|
||
2015-01-26 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/64778
|
||
* c-typeck.c (convert_arguments): Return -1 if there are
|
||
error_args, even if we've diagnosed too many arguments.
|
||
|
||
2015-01-21 Richard Biener <rguenther@suse.de>
|
||
|
||
PR middle-end/64313
|
||
* c-decl.c (merge_decls): Call set_builtin_decl_declared_p
|
||
for builtins the user declared correctly.
|
||
|
||
2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
|
||
Bernd Schmidt <bernds@codesourcery.com>
|
||
Cesar Philippidis <cesar@codesourcery.com>
|
||
James Norris <jnorris@codesourcery.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
Ilmir Usmanov <i.usmanov@samsung.com>
|
||
|
||
* c-parser.c: Include "gomp-constants.h".
|
||
(c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum
|
||
omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.
|
||
Use OMP_CLAUSE_SET_MAP_KIND.
|
||
(c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA,
|
||
PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE.
|
||
(c_parser_omp_construct): Handle PRAGMA_OACC_CACHE,
|
||
PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP,
|
||
PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT.
|
||
(c_parser_omp_clause_name): Handle "auto", "async", "copy",
|
||
"copyout", "create", "delete", "deviceptr", "gang", "host",
|
||
"num_gangs", "num_workers", "present", "present_or_copy", "pcopy",
|
||
"present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout",
|
||
"present_or_create", "pcreate", "seq", "self", "vector",
|
||
"vector_length", "wait", "worker".
|
||
(OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK)
|
||
(OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK)
|
||
(OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK)
|
||
(OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros.
|
||
(c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_.
|
||
(c_parser_oacc_wait_list, c_parser_oacc_data_clause)
|
||
(c_parser_oacc_data_clause_deviceptr)
|
||
(c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers)
|
||
(c_parser_oacc_clause_async, c_parser_oacc_clause_wait)
|
||
(c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses)
|
||
(c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels)
|
||
(c_parser_oacc_enter_exit_data, c_parser_oacc_loop)
|
||
(c_parser_oacc_parallel, c_parser_oacc_update)
|
||
(c_parser_oacc_wait): New functions.
|
||
* c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels)
|
||
(c_finish_oacc_data): New prototypes.
|
||
* c-typeck.c: Include "gomp-constants.h".
|
||
(handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use
|
||
GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
|
||
OMP_CLAUSE_SET_MAP_KIND.
|
||
(c_finish_oacc_parallel, c_finish_oacc_kernels)
|
||
(c_finish_oacc_data): New functions.
|
||
(c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_,
|
||
OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
|
||
OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
|
||
OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG,
|
||
OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's
|
||
GOMP_MAP_FORCE_DEVICEPTR.
|
||
|
||
2015-01-09 Michael Collison <michael.collison@linaro.org>
|
||
|
||
* c-array-notation.c: Include hash-set.h, machmode.h,
|
||
vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
|
||
fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
|
||
* c-aux-info.c: Ditto.
|
||
* c-convert.c: Ditto.
|
||
* c-decl.c: Ditto.
|
||
* c-errors.c: Ditto.
|
||
* c-lang.c: Dittoxs.
|
||
* c-objc-common.c: Ditto.
|
||
* c-parser.c: Ditto.
|
||
* c-typeck.c: Include hash-set.h, machmode.h,
|
||
vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
|
||
fold-const.h, wide-int.h, inchash.h, real.h and
|
||
fixed-value.h due to flattening of tree.h.
|
||
|
||
2015-01-07 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64417
|
||
* c-typeck.c (process_init_element): Disallow initialization of
|
||
a flexible array member with a string constant if the structure
|
||
is in an array.
|
||
|
||
2015-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/64344
|
||
* c-typeck.c (convert_for_assignment, c_finish_return): For
|
||
-fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum
|
||
types also set in_late_binary_op around convert call.
|
||
* c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE
|
||
to integral type casts, if not in_late_binary_op, pass c_fully_fold
|
||
result on expr as last argument to ubsan_instrument_float_cast,
|
||
if in_late_binary_op, don't use c_save_expr but save_expr.
|
||
|
||
Update copyright years.
|
||
|
||
2015-01-05 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/64423
|
||
* c-typeck.c (build_array_ref): Pass loc down to
|
||
warn_array_subscript_with_type_char.
|
||
|
||
2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
|
||
|
||
* c-typeck.c: New behavious for pointers to arrays with qualifiers
|
||
(common-pointer-type): For pointers to arrays take qualifiers from
|
||
element type.
|
||
(build_conditional_expr): Add warnings for lost qualifiers.
|
||
(comp-target-types): Allow pointers to arrays with different qualifiers.
|
||
(convert-for-assignment): Adapt warnings for discarded qualifiers. Add
|
||
WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS
|
||
to PEDWARN_FOR_QUALIFIERS.
|
||
|
||
2014-12-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR sanitizer/64289
|
||
* c-convert.c: Include ubsan.h.
|
||
(convert): For real -> integral casts and
|
||
-fsanitize=float-cast-overflow don't call convert_to_integer, but
|
||
instead instrument the float cast directly.
|
||
|
||
2014-11-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign,
|
||
c_finish_stmt_expr): Remove NULL last argument from
|
||
create_tmp_var_raw and create_tmp_var calls.
|
||
* c-array-notation.c (fix_builtin_array_notation_fn,
|
||
build_array_notation_expr, fix_conditional_array_notations_1,
|
||
fix_array_notation_expr, fix_array_notation_call_expr): Likewise.
|
||
|
||
2014-11-28 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/63862
|
||
* c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't
|
||
convert the right operand to integer type.
|
||
|
||
2014-11-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/63877
|
||
* c-decl.c (start_function): Disable -Wmissing-declarations warning
|
||
for inline functions.
|
||
|
||
2014-11-21 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR target/63764
|
||
* c-typeck.c (build_array_ref): Adjust
|
||
convert_vector_to_pointer_for_subscript caller. If it returns true,
|
||
call non_lvalue_loc on the result.
|
||
|
||
2014-11-11 Richard Biener <rguenther@suse.de>
|
||
|
||
* c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues
|
||
to true.
|
||
|
||
2014-11-10 Andi Kleen <ak@linux.intel.com>
|
||
|
||
PR c/60804
|
||
* c-parser.c (c_parser_statement_after_labels): Call
|
||
check_no_cilk.
|
||
(c_parser_if_statement): Dito.
|
||
(c_parser_switch_statement): Dito.
|
||
(c_parser_while_statement): Dito.
|
||
(c_parser_do_statement): Dito.
|
||
(c_parser_for_statement): Dito.
|
||
* c-typeck.c (c_finish_loop): Dito.
|
||
|
||
2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
* c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and
|
||
OPT_Wshift_count_overflow in the warnings.
|
||
|
||
2014-10-30 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name,
|
||
print the stripped version as well, if they're not the same.
|
||
|
||
2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
|
||
|
||
* c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from
|
||
machine_mode.
|
||
|
||
2014-10-28 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-decl.c: Adjust include files.
|
||
* c-parser.c: Ditto.
|
||
|
||
2014-10-27 Phil Muldoon <pmuldoon@redhat.com>
|
||
Tom Tromey <tromey@redhat.com>
|
||
|
||
* c-tree.h (enum c_oracle_request): New.
|
||
(c_binding_oracle_function): New typedef.
|
||
(c_binding_oracle, c_pushtag, c_bind): Declare.
|
||
* c-decl.c (c_binding_oracle): New global.
|
||
(I_SYMBOL_CHECKED): New macro.
|
||
(i_symbol_binding): New function.
|
||
(I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine.
|
||
(I_TAG_CHECKED): New macro.
|
||
(i_tag_binding): New function.
|
||
(I_TAG_BINDING, I_TAG_DECL): Redefine.
|
||
(I_LABEL_CHECKED): New macro.
|
||
(i_label_binding): New function.
|
||
(I_LABEL_BINDING, I_LABEL_DECL): Redefine.
|
||
(c_print_identifier): Save and restore c_binding_oracle.
|
||
(c_pushtag, c_bind): New functions.
|
||
|
||
2014-10-27 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-typeck.c: Adjust include files.
|
||
|
||
2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR c++/53061
|
||
* c-objc-common.c (c_objc_common_init): Do not do diagnostics
|
||
initialization here...
|
||
(c_initialize_diagnostics): ... but here. Set defaults after
|
||
building pretty-printer.
|
||
|
||
2014-10-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/63626
|
||
* c-decl.c (pop_scope): Don't print warning in external_scope.
|
||
|
||
2014-10-19 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/63567
|
||
* c-typeck.c (output_init_element): Allow initializing objects with
|
||
static storage duration with compound literals even in C99 and add
|
||
pedwarn for it.
|
||
|
||
2014-10-17 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/63567
|
||
* c-typeck.c (digest_init): Allow initializing objects with static
|
||
storage duration with compound literals even in C99 and add pedwarn
|
||
for it.
|
||
|
||
2014-10-17 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/63543
|
||
* c-tree.h (C_TYPE_ERROR_REPORTED): Define.
|
||
* c-typeck.c (build_indirect_ref): Don't print the "dereferencing..."
|
||
error multiple times. Print the type.
|
||
|
||
2014-10-17 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/63549
|
||
* c-typeck.c (build_array_ref): Bail if the index in an incomplete
|
||
type.
|
||
|
||
2014-10-17 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally.
|
||
(start_function): Use OPT_Wimplicit_int instead of 0.
|
||
(store_parm_decls_oldstyle): Likewise.
|
||
|
||
2014-10-17 Alan Modra <amodra@gmail.com>
|
||
|
||
PR middle-end/61848
|
||
* c-decl.c (merge_decls): Don't merge section name or tls model
|
||
to newdecl symtab node, instead merge to olddecl. Override
|
||
existing olddecl section name. Set tls_model for all thread-local
|
||
vars, not just OMP thread-private ones. Remove incorrect comment.
|
||
|
||
2014-10-16 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-decl.c: Adjust include files.
|
||
|
||
2014-10-14 DJ Delorie <dj@redhat.com>
|
||
|
||
* c-parser.c (c_parse_init): Add RID entries for each __intN.
|
||
(c_token_starts_typename): Check all __intN, not just __int128.
|
||
(c_token_starts_declspecs): Likewise.
|
||
(c_parser_declspecs): Likewise.
|
||
(c_parser_attribute_any_word): Likewise.
|
||
(c_parser_objc_selector): Likewise.
|
||
* c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n.
|
||
(struct c_declspecs): Add int_n_idx field to record *which* __intN
|
||
is specified.
|
||
* c-decl.c (declspecs_add_type): Check for all __intN, not just
|
||
__int128.
|
||
(finish_declspecs): Likewise.
|
||
|
||
2014-10-13 Anthony Brandon <anthony.brandon@gmail.com>
|
||
|
||
* c-parser.c (c_parser_all_labels): New function to replace
|
||
the duplicate code.
|
||
(c_parser_statement): Call the new function.
|
||
|
||
2014-10-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/63480
|
||
* c-typeck.c (pop_init_level): Don't warn about initializing
|
||
with { }.
|
||
|
||
2014-10-07 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/59717
|
||
* c-decl.c (header_for_builtin_fn): New function.
|
||
(implicitly_declare): Suggest which header to include.
|
||
|
||
2014-10-07 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-convert.c (convert): Use error_operand_p.
|
||
* c-typeck.c (require_complete_type): Likewise.
|
||
(really_atomic_lvalue): Likewise.
|
||
(digest_init): Likewise.
|
||
(handle_omp_array_sections_1): Likewise.
|
||
|
||
2014-10-03 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/63453
|
||
* c-decl.c (pop_scope): Don't warn about "inline function declared
|
||
but never defined" for functions marked with gnu_inline attribute.
|
||
|
||
2014-09-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/63249
|
||
* c-parser.c (c_parser_omp_variable_list): Call mark_exp_read
|
||
on low_bound and length.
|
||
|
||
2014-09-24 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/61405
|
||
PR c/53874
|
||
* c-parser.c: Don't define CPP_KEYWORD.
|
||
(c_parser_switch_statement): Pass original type to c_finish_case.
|
||
* c-tree.h (c_finish_case): Update declaration.
|
||
* c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
|
||
conditionally to c_do_switch_warnings.
|
||
|
||
2014-09-03 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/62024
|
||
* c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
|
||
conversions.
|
||
|
||
2014-09-02 Jakub Jelinek <jakub@redhat.com>
|
||
Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
Igor Zamyatin <igor.zamyatin@intel.com>
|
||
|
||
* c-parser.c (c_parser_cilk_for): New function.
|
||
(c_parser_cilk_grainsize): Likewise.
|
||
(c_get_temp_regvar): Likewise.
|
||
(c_parser_statement_after_labels): Added RID_CILK_FOR case.
|
||
(c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case.
|
||
(c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks.
|
||
* c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_
|
||
case.
|
||
|
||
2014-08-27 Chen Gang <gang.chen.5i5j@gmail.com>
|
||
|
||
* c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes,
|
||
with using HOST_WIDE_INT without truncation to 'int'
|
||
|
||
2014-08-22 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/62199
|
||
* c-typeck.c (parser_build_binary_op): Adjust call to
|
||
warn_logical_not_parentheses.
|
||
|
||
2014-08-22 Igor Zamyatin <igor.zamyatin@intel.com>
|
||
|
||
PR other/62008
|
||
* c-parser.c (c_parser_array_notation): Check for correct
|
||
type of an array added.
|
||
|
||
2014-08-19 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c++/62153
|
||
* c-typeck.c (build_binary_op): If either operand of a comparison
|
||
is a boolean expression, call maybe_warn_bool_compare.
|
||
|
||
2014-08-19 Patrick Palka <ppalka@gcc.gnu.org>
|
||
|
||
PR c/45584
|
||
* c-typeck.c (build_c_cast): Do a conversion even when the
|
||
TYPE_MAIN_VARIANTs are the same.
|
||
|
||
2014-08-19 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c (diagnose_mismatched_decls): Unconditionally call
|
||
pedwarn_c99 instead of pedwarn.
|
||
(grokfield): Likewise.
|
||
(warn_defaults_to): New function.
|
||
(grokdeclarator): Call warn_defaults_to instead of pedwarn_c99.
|
||
Unconditionally call pedwarn_c99 instead of pedwarn.
|
||
(start_function): Call warn_defaults_to instead of pedwarn_c99.
|
||
(declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't
|
||
check flag_isoc11 before.
|
||
* c-errors.c (pedwarn_c99): Change the return type to bool.
|
||
Handle -Wc99-c11-compat.
|
||
* c-parser.c (disable_extension_diagnostics): Handle
|
||
warn_c99_c11_compat.
|
||
(restore_extension_diagnostics): Likewise.
|
||
(c_parser_static_assert_declaration_no_semi): Call pedwarn_c99
|
||
instead of pedwarn, don't check flag_isoc11 before.
|
||
(c_parser_declspecs): Likewise.
|
||
(c_parser_alignas_specifier): Likewise.
|
||
(c_parser_alignof_expression): Likewise.
|
||
(c_parser_generic_selection): Likewise.
|
||
* c-tree.h (pedwarn_c99): Update declaration.
|
||
* c-typeck.c (c_finish_return): Call pedwarn or warning_at instead
|
||
of pedwarn_c99.
|
||
|
||
2014-08-19 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally
|
||
to pedwarn_c90.
|
||
* c-errors.c: Include "opts.h".
|
||
(pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better.
|
||
* c-parser.c (disable_extension_diagnostics): Handle negative value
|
||
of warn_c90_c99_compat, too.
|
||
(restore_extension_diagnostics): Likewise.
|
||
(c_parser_compound_statement_nostart): Pass
|
||
OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90.
|
||
|
||
2014-08-12 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>:
|
||
Add pedwarn.
|
||
(c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>:
|
||
Likewise.
|
||
(c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise.
|
||
|
||
2014-08-10 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/51849
|
||
* c-decl.c (build_array_declarator): Remove check for !flag_isoc99.
|
||
Call pedwarn_c90 instead of pedwarn.
|
||
(check_bitfield_type_and_width): Likewise.
|
||
(declspecs_add_qual): Likewise.
|
||
(declspecs_add_type): Likewise.
|
||
(warn_variable_length_array): Unify function for -pedantic and -Wvla.
|
||
Adjust to only call pedwarn_c90.
|
||
(grokdeclarator): Remove pedantic && !flag_isoc99 check. Call
|
||
pedwarn_c90 instead of pedwarn.
|
||
* c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat.
|
||
* c-parser.c (disable_extension_diagnostics): Handle
|
||
warn_c90_c99_compat.
|
||
(restore_extension_diagnostics): Likewise.
|
||
(c_parser_enum_specifier): Remove check for !flag_isoc99. Call
|
||
pedwarn_c90 instead of pedwarn.
|
||
(c_parser_initelt): Likewise.
|
||
(c_parser_postfix_expression): Likewise.
|
||
(c_parser_postfix_expression_after_paren_type): Likewise.
|
||
(c_parser_compound_statement_nostart): Remove check for !flag_isoc99.
|
||
* c-tree.h: Fix formatting.
|
||
* c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call
|
||
pedwarn_c90 instead of pedwarn.
|
||
|
||
2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* c-typeck.c: Remove include of pointer-set.h.
|
||
|
||
2014-08-07 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (pointer_diff): Remove P - (P + CST) optimization.
|
||
|
||
2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* c-typeck.c: Use hash_map instead of pointer_map.
|
||
|
||
2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* c-decl.c: Use hash_set instead of pointer_set.
|
||
|
||
2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
|
||
|
||
PR middle-end/61455
|
||
* c-array-notation.c (expand_array_notations): Handling
|
||
of DECL_EXPR added.
|
||
|
||
2014-07-31 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR c++/60517
|
||
* c-typeck.c (c_finish_return): Return 0 instead of the address of
|
||
a local variable.
|
||
|
||
2014-07-30 Tom Tromey <tromey@redhat.com>
|
||
|
||
* c-typeck.c (struct constructor_stack) <designator_depth>: New
|
||
field.
|
||
(really_start_incremental_init, push_init_level): Initialize
|
||
designator_depth.
|
||
(pop_init_level): Set global designator_depth.
|
||
(process_init_element): Check for designated_init attribute.
|
||
|
||
2014-07-20 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/61852
|
||
* c-decl.c (implicit_decl_warning): Add location_t parameter. Use it.
|
||
(implicitly_declare): Pass location to implicit_decl_warning.
|
||
|
||
2014-07-14 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/61294
|
||
* c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask.
|
||
If non-NULL, call c_parser_check_literal_zero.
|
||
(c_parser_check_literal_zero): New function.
|
||
(c_parser_postfix_expression_after_primary): Adjust
|
||
c_parser_expr_list caller, handle -Wmemset-transposed-args.
|
||
|
||
2014-07-06 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/6940
|
||
* c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER.
|
||
* c-tree.h (C_ARRAY_PARAMETER): Define.
|
||
* c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array
|
||
function parameter.
|
||
|
||
2014-07-02 Jan Hubicka <hubicka@ucw.cz>
|
||
Chen Gang <gang.chen.5i5j@gmail.com>
|
||
|
||
* c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before
|
||
releasing symbol.
|
||
|
||
2014-07-01 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion
|
||
instead of 0 to WARN_FOR_ASSIGNMENT.
|
||
|
||
2014-07-01 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/58286
|
||
* c-typeck.c (convert_for_assignment): Pass
|
||
OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT.
|
||
|
||
2014-06-30 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c (grokdeclarator): Don't instrument VLAs if the function
|
||
has no_sanitize_undefined attribute.
|
||
|
||
2014-06-30 Igor Zamyatin <igor.zamyatin@intel.com>
|
||
|
||
PR middle-end/57541
|
||
* c-array-notation.c (fix_builtin_array_notation_fn):
|
||
Check for 0 arguments in builtin call. Check that bultin argument is
|
||
correct.
|
||
* c-parser.c (c_parser_array_notation): Check for incorrect initial
|
||
index.
|
||
|
||
2014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* c-parser.c (c_parser_declaration_or_fndef): Discard all type
|
||
qualifiers in __auto_type for atomic types.
|
||
(c_parser_typeof_specifier): Discard all type qualifiers in
|
||
__typeof__ for atomic types.
|
||
|
||
2014-06-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/61162
|
||
* c-parser.c (c_parser_statement_after_labels): Pass the location of
|
||
the return expression to c_finish_return.
|
||
|
||
2014-06-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-typeck.c (c_finish_omp_clauses): Make sure
|
||
OMP_CLAUSE_LINEAR_STEP has correct type.
|
||
|
||
2014-06-24 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* c-decl.c: Adjust.
|
||
|
||
2014-06-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_for_loop): For
|
||
#pragma omp parallel for simd move lastprivate clause from parallel
|
||
to for rather than simd.
|
||
|
||
2014-06-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (parser_build_binary_op): Don't call
|
||
warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR.
|
||
|
||
2014-06-15 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* c-parser.c (c_parser_omp_threadprivate): Likewise.
|
||
* c-decl.c (merge_decls): Likewise.
|
||
|
||
2014-06-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/36446
|
||
* c-typeck.c (error_init): Call inform instead of error_at.
|
||
(pedwarn_init): Call inform instead of pedwarn.
|
||
(warning_init): Call inform instead of warning_at.
|
||
|
||
2014-06-07 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* c-decl.c (merge_decls): Use set_decl_section_name.
|
||
(duplicate_decls): Remove node if it exists.
|
||
|
||
2014-06-05 S. Gilles <sgilles@terpmail.umd.edu>
|
||
|
||
PR c/53119
|
||
* c-typeck.c (push_init_level, process_init_element,
|
||
pop_init_level): Correct check for zero initialization, move
|
||
missing brace warning to respect zero initialization.
|
||
|
||
2014-06-05 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/56724
|
||
* c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass.
|
||
|
||
2014-06-05 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/49706
|
||
* c-typeck.c (parser_build_binary_op): Warn when logical not is used
|
||
on the left hand side operand of a comparison.
|
||
|
||
2014-06-05 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/48062
|
||
* c-decl.c (warn_if_shadowing): Call inform instead of warning_at.
|
||
Print note only if the warning was printed.
|
||
|
||
2014-06-04 Igor Zamyatin <igor.zamyatin@intel.com>
|
||
|
||
PR c/58942
|
||
* c-array-notation.c (fix_builtin_array_notation_fn): Handle the case
|
||
with a pointer.
|
||
|
||
2014-06-03 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/60439
|
||
* c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
|
||
c_start_case.
|
||
* c-tree.h (c_start_case): Update.
|
||
* c-typeck.c (c_start_case): Add new boolean parameter. Warn if
|
||
switch condition has boolean value.
|
||
|
||
2014-06-02 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-decl.c: Include builtins.h.
|
||
* c-parser.c: Likewise.
|
||
|
||
2014-05-27 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/56724
|
||
* c-typeck.c (convert_arguments): Get location of a parameter. Change
|
||
error and warning calls to error_at and warning_at. Pass location of
|
||
a parameter to it. Call warning_at with OPT_Wtraditional_conversion.
|
||
(convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and
|
||
WARN_FOR_QUALIFIERS. Pass expr_loc to those.
|
||
|
||
2014-05-26 Igor Zamyatin <igor.zamyatin@intel.com>
|
||
|
||
PR c/61191
|
||
* c-array-notation.c (fix_builtin_array_notation_fn): Check invalid
|
||
function parameters.
|
||
|
||
2014-05-23 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* c-decl.c (merge_decls): Preserve symtab node pointers.
|
||
(duplicate_decls): Free new decl.
|
||
|
||
2014-05-23 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-typeck.c (c_finish_omp_clauses): Remove duplicated variable
|
||
initialization.
|
||
|
||
* c-parser.c (c_parser_omp_target): Return bool values.
|
||
|
||
2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_clause_thread_limit): Rename
|
||
num_teams_loc variable to num_thread_limit_loc.
|
||
|
||
2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
|
||
|
||
* c-array-notation.c (expand_array_notations): Use void_node
|
||
instead of void_zero_node.
|
||
|
||
2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
|
||
|
||
* c-decl.c (finish_struct): Adjust.
|
||
(finish_enum): Likewise.
|
||
(bind): Adjust.
|
||
(record_inline_static): Likewise.
|
||
(push_scope): Likewise.
|
||
(make_label): Likewise.
|
||
(lookup_label_for_goto): Likewise.
|
||
(finish_struct): Likewise.
|
||
(finish_enum): Likewise.
|
||
(store_parm_decls): Likewise.
|
||
(c_push_function_context): Likewise.
|
||
* c-lang.h: Remove usage of variable_size gty attribute.
|
||
* c-parser.c (c_parse_init): Adjust.
|
||
(c_parse_file): Likewise.
|
||
|
||
2014-05-13 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/61162
|
||
* c-typeck.c (convert_for_assignment): Pass location to
|
||
WARN_FOR_ASSIGNMENT instead of input_location.
|
||
|
||
2014-05-10 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to
|
||
maybe_warn_string_init.
|
||
(c_parser_postfix_expression_after_paren_type): Pass type_loc to
|
||
maybe_warn_string_init.
|
||
* c-tree.h (maybe_warn_string_init): Update declaration.
|
||
* c-typeck.c (maybe_warn_string_init): Add location parameter.
|
||
Call pedwarn_init with loc instead of with input_location.
|
||
(digest_init): Pass init_loc to maybe_warn_string_init.
|
||
(pop_init_level): Call pedwarn_init with loc instead of with
|
||
input_location.
|
||
(set_init_index): Likewise.
|
||
(process_init_element): Likewise.
|
||
|
||
2014-05-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/61096
|
||
* c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level.
|
||
(c_parser_initelt): Pass location to set_init_label. Pass array index
|
||
location to set_init_index.
|
||
* c-tree.h (push_init_level): Update declaration.
|
||
(pop_init_level): Likewise.
|
||
(set_init_index): Likewise.
|
||
(set_init_label): Likewise.
|
||
* c-typeck.c (error_init): Add location parameter. Call error_at
|
||
instead of error.
|
||
(digest_init): Pass init_loc to error_init.
|
||
(really_start_incremental_init):
|
||
(push_init_level): Add location parameter. Pass loc to pop_init_level
|
||
and error_init.
|
||
(pop_init_level): Likewise.
|
||
(set_designator): Add location parameter. Pass loc to pop_init_level,
|
||
push_init_level, and error_init.
|
||
(set_init_index): Add location parameter. Pass loc to error_init and
|
||
set_designator.
|
||
(set_init_label): Likewise.
|
||
(output_init_element): Pass loc to error_init.
|
||
(process_init_element): Pass loc to error_init, pop_init_level,
|
||
pedwarn_init, and push_init_level.
|
||
|
||
2014-05-09 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/50459
|
||
* c-parser.c (c_parser_attributes): Parse the arguments as an
|
||
expression-list if the attribute takes identifier.
|
||
|
||
2014-05-08 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/61053
|
||
* c-decl.c (grokdeclarator): Use min_align_of_type instead of
|
||
TYPE_ALIGN_UNIT.
|
||
|
||
2014-05-08 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/61077
|
||
* c-decl.c (start_function): Warn for _Atomic-qualified return type
|
||
of main.
|
||
|
||
2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
|
||
Mike Stump <mikestump@comcast.net>
|
||
Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN.
|
||
(finish_enum): Use wide-int interfaces.
|
||
* c-parser.c (c_parser_cilk_clause_vectorlength): Likewise.
|
||
* c-typeck.c (build_c_cast): Likewise.
|
||
(set_nonincremental_init_from_string): Likewise.
|
||
(c_tree_equal): Likewise.
|
||
|
||
2014-05-02 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/25801
|
||
* c-typeck.c (c_size_in_bytes): Update comment. Don't call error.
|
||
Return size_one_node when the type is not complete.
|
||
(pointer_diff): Remove comment.
|
||
(build_unary_op): Improve error messages.
|
||
|
||
2014-05-02 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (c_finish_return): Separate warning_at calls.
|
||
|
||
2014-05-02 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-tree.h (error_init): Remove declaration.
|
||
(pedwarn_init): Likewise.
|
||
* c-typeck.c (error_init): Make static and move above.
|
||
(pedwarn_init): Likewise.
|
||
(warning_init): Move above.
|
||
(maybe_warn_string_init): Likewise.
|
||
|
||
2014-05-01 Jeff Law <law@redhat.com>
|
||
|
||
Revert:
|
||
|
||
2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
|
||
* c-parser.c (c_parser_sizeof_expression): Reorganize slightly to
|
||
avoid goto.
|
||
|
||
2014-05-02 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/60784
|
||
* c-typeck.c (push_init_level): Set constructor_designated to
|
||
p->designated for structures.
|
||
|
||
2014-05-01 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/60915
|
||
* c-parser.c (c_parser_declaration_or_fndef): Give better error if
|
||
function-definition has an attribute after the declarator.
|
||
|
||
2014-05-01 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/60257
|
||
* c-typeck.c (warning_init): Add location_t parameter. Call
|
||
warning_at instead of warning.
|
||
(push_init_level): Pass input_location to warning_init.
|
||
(add_pending_init): Add location_t parameter. Pass loc to
|
||
warning_init.
|
||
(set_nonincremental_init): Pass input_location to add_pending_init.
|
||
(set_nonincremental_init_from_string): Likewise.
|
||
(output_init_element): Pass loc to warning_init and to
|
||
add_pending_init.
|
||
|
||
2014-05-01 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/43395
|
||
* c-typeck.c (c_finish_return): Distinguish between label and variable
|
||
when warning about returning local address.
|
||
|
||
2014-05-01 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/29467
|
||
* c-decl.c (declspecs_add_type): Pedwarn if boolean types are used
|
||
in C89 mode.
|
||
|
||
2014-05-01 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/43245
|
||
* c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers
|
||
instead of 0 to WARN_FOR_QUALIFIERS.
|
||
|
||
2014-05-01 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/56989
|
||
* c-typeck.c (default_conversion): Use better location for
|
||
error call.
|
||
|
||
2014-04-30 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (build_binary_op): Call ubsan_instrument_division
|
||
also when SANITIZE_FLOAT_DIVIDE is on.
|
||
|
||
2014-04-30 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/60139
|
||
* c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn
|
||
and pedwarn_init. Use loc insted of input_location.
|
||
|
||
2014-04-30 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/60351
|
||
* c-typeck.c (build_binary_op): Use location when warning about
|
||
shift count.
|
||
|
||
2014-04-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/18079
|
||
* c-decl.c (diagnose_mismatched_decls): Warn for mismatched
|
||
always_inline/noinline and hot/cold attributes.
|
||
|
||
2014-04-25 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/60114
|
||
* c-parser.c (c_parser_initelt): Pass input_location to
|
||
process_init_element.
|
||
(c_parser_initval): Pass loc to process_init_element.
|
||
* c-tree.h (process_init_element): Adjust declaration.
|
||
* c-typeck.c (push_init_level): Pass input_location to
|
||
process_init_element.
|
||
(pop_init_level): Likewise.
|
||
(set_designator): Likewise.
|
||
(output_init_element): Add location_t parameter. Pass loc to
|
||
digest_init.
|
||
(output_pending_init_elements): Pass input_location to
|
||
output_init_element.
|
||
(process_init_element): Add location_t parameter. Pass loc to
|
||
output_init_element.
|
||
|
||
2014-04-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-parser.c (c_parser_omp_atomic): Allow seq_cst before
|
||
atomic-clause, allow comma in between atomic-clause and
|
||
seq_cst.
|
||
|
||
2014-04-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/59073
|
||
* c-parser.c (c_parser_omp_parallel): If c_parser_omp_for
|
||
fails, don't set OM_PARALLEL_COMBINED and return NULL.
|
||
|
||
2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
|
||
|
||
PR middle-end/60469
|
||
* c-array-notation.c (fix_builtin_array_notation_fn): Use
|
||
create_tmp_var instead build_decl for creating temps.
|
||
(build_array_notation_expr): Likewise.
|
||
(fix_conditional_array_notations_1): Likewise.
|
||
(fix_array_notation_expr): Likewise.
|
||
(fix_array_notation_call_expr): Likewise.
|
||
|
||
2014-03-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/60689
|
||
* c-tree.h (c_build_function_call_vec): New prototype.
|
||
* c-typeck.c (build_function_call_vec): Don't call
|
||
resolve_overloaded_builtin here.
|
||
(c_build_function_call_vec): New wrapper function around
|
||
build_function_call_vec. Call resolve_overloaded_builtin here.
|
||
(convert_lvalue_to_rvalue, build_function_call, build_atomic_assign):
|
||
Call c_build_function_call_vec instead of build_function_call_vec.
|
||
* c-parser.c (c_parser_postfix_expression_after_primary): Likewise.
|
||
* c-decl.c (finish_decl): Likewise.
|
||
|
||
2014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR c/55383
|
||
* c-typeck.c: Use correct format string in cast-qual warning
|
||
|
||
2014-03-07 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-decl.c (c_decl_attributes): Use
|
||
lang_hooks.types.omp_mappable_type.
|
||
* c-typeck.c (c_finish_omp_clauses): Likewise.
|
||
|
||
2014-03-06 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/60197
|
||
* c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead
|
||
of checking tree code.
|
||
|
||
2014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
|
||
|
||
* c-parser.c (c_parser_declspecs): Replace call to error by error_at.
|
||
(c_parser_parameter_declaration): Likewise.
|
||
|
||
2014-02-19 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/60195
|
||
* c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp.
|
||
Call mark_exp_read on exp.value.
|
||
(build_atomic_assign): Set TREE_NO_WARNING on val and old. Set
|
||
TREE_ADDRESSABLE on old instead of val.
|
||
(emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING.
|
||
|
||
2014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com>
|
||
|
||
* c-parser.c (c_parser_get_builtin_args): Replace calls to
|
||
C_EXPR_APPEND by vec_safe_push.
|
||
* c-tree.h (C_EXPR_APPEND): Remove.
|
||
|
||
2014-01-31 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/59963
|
||
* c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to
|
||
build_function_call_vec.
|
||
(build_function_call): Likewise.
|
||
(build_atomic_assign): Likewise.
|
||
(build_function_call_vec): Add arg_loc parameter. Use it.
|
||
(convert_arguments): Likewise.
|
||
(convert_for_assignment): Rename rhs_loc to expr_loc.
|
||
* c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list.
|
||
(c_parser_objc_keywordexpr): Likewise.
|
||
(c_parser_postfix_expression_after_primary): Call
|
||
build_function_call_vec with expr_loc rather than op_loc.
|
||
Call c_parser_expr_list to fill arg_loc. Pass arg_loc to
|
||
build_function_call_vec.
|
||
(c_parser_expr_list): Add locations parameter. Fill it with locations
|
||
of function arguments.
|
||
* c-decl.c (finish_decl): Pass vNULL to build_function_call_vec.
|
||
|
||
2014-01-30 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/59940
|
||
* c-typeck.c (build_function_call_vec): Use loc parameter.
|
||
(convert_arguments): Add location parameter. Use it.
|
||
(ep_convert_and_check): Likewise.
|
||
(build_atomic_assign): Adjust convert_for_assignment call.
|
||
(build_modify_expr): Likewise.
|
||
(digest_init): Likewise.
|
||
(c_finish_return): Likewise.
|
||
(build_conditional_expr): Adjust ep_convert_and_check calls.
|
||
(convert_for_assignment): Add rhs_loc parameter. Use it.
|
||
(build_binary_op): Adjust convert_and_check and ep_convert_and_check
|
||
calls.
|
||
|
||
2014-01-30 Richard Biener <rguenther@suse.de>
|
||
|
||
PR c/59905
|
||
* c-typeck.c (build_function_call_vec): Do not replace calls
|
||
to a function via an incompatible type with a runtime abort.
|
||
|
||
2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-parser.c (c_parser_declaration_or_fndef): Replaced
|
||
flag_enable_cilkplus with flag_cilkplus.
|
||
(c_parser_direct_declarator_inner): Likewise.
|
||
(c_parser_attribute_any_word): Likewise.
|
||
(c_parser_attributes): Likewise.
|
||
(c_parser_compound_statement): Likewise.
|
||
(c_parser_statement_after_labels): Likewise.
|
||
(c_parser_if_statement): Likewise.
|
||
(c_parser_switch_statement): Likewise.
|
||
(c_parser_do_statement): Likewise.
|
||
(c_parser_for_statement): Likewise.
|
||
(c_parser_unary_expression): Likewise.
|
||
(c_parser_postfix_expression): Likewise.
|
||
(c_parser_postfix_expression_after_primary): Likewise.
|
||
(c_parser_postfix_expression_after_primary): Likewise.
|
||
(c_parser_omp_clause_name): Likewise.
|
||
(c_finish_omp_declare_simd): Likewise.
|
||
(c_parser_cilk_verify_simd): Likewise.
|
||
* c-typeck.c (build_array_ref): Likewise.
|
||
(build_function_call_vec): Likewise.
|
||
(convert_arguments): Likewise.
|
||
(build_compound_expr): Likewise.
|
||
(c_finish_return): Likewise.
|
||
(c_finish_if_stmt): Likewise.
|
||
(c_finish_loop): Likewise.
|
||
(build_binary_op): Likewise.
|
||
|
||
2014-01-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/59846
|
||
* c-typeck.c (parser_build_binary_op): Use location instead of
|
||
input_location.
|
||
(build_binary_op): Pass location to shorten_compare.
|
||
|
||
2014-01-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/58346
|
||
* c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to
|
||
an empty aggregate.
|
||
|
||
2014-01-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/59871
|
||
* c-typeck.c (build_compound_expr): Warn even for right-hand operand
|
||
of a comma expression.
|
||
(emit_side_effect_warnings): Likewise.
|
||
|
||
2014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
PR c/59825
|
||
* c-array-notation.c (expand_array_notation_exprs): Rewrote this
|
||
function to use walk_tree and moved a lot of its functionality to
|
||
expand_array_notations.
|
||
(expand_array_notations): New function.
|
||
|
||
2014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function"
|
||
attribute an attribute without value.
|
||
|
||
2014-01-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR middle-end/58809
|
||
* c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR,
|
||
BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
|
||
|
||
2014-01-22 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/59891
|
||
* c-typeck.c (build_conditional_expr): Call c_fully_fold instead
|
||
of remove_c_maybe_const_expr on op1 and op2.
|
||
|
||
2014-01-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/58943
|
||
* c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
|
||
effects, preevaluate rhs using SAVE_EXPR first.
|
||
|
||
2014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
PR c++/59631
|
||
* c-parser.c (c_parser_postfix_expression): Replaced consecutive if
|
||
statements with if-elseif statements.
|
||
|
||
2014-01-06 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/57773
|
||
* c-decl.c (check_bitfield_type_and_width): Warn for implementation
|
||
defined bit-field types only in ISO C.
|
||
|
||
2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
Update copyright years
|
||
|
||
2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* c-array-notation.c: Use the standard form for the copyright notice.
|
||
|
||
2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field.
|
||
(c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens
|
||
field in parser is not empty. If not-empty, call the function
|
||
c_parser_finish_omp_declare_simd.
|
||
(c_parser_cilk_clause_vectorlength): Modified function to be shared
|
||
between SIMD-enabled functions and #pragma simd. Added new parameter.
|
||
(c_parser_cilk_all_clauses): Modified the usage of the function
|
||
c_parser_cilk_clause_vectorlength as mentioned above.
|
||
(c_parser_cilk_simd_fn_vector_attrs): New function.
|
||
(c_finish_cilk_simd_fn_tokens): Likewise.
|
||
(is_cilkplus_vector_p): Likewise.
|
||
(c_parser_omp_clause_name): Added checking for "vectorlength,"
|
||
"nomask," and "mask" strings in clause name.
|
||
(c_parser_omp_all_clauses): Added 3 new case statements:
|
||
PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and
|
||
PRAGMA_CILK_CLAUSE_NOMASK.
|
||
(c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a
|
||
check for vector attribute and if so call the function
|
||
c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled,
|
||
called the function c_finish_cilk_simd_fn_tokens.
|
||
(c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in
|
||
parser field is non-empty. If so, parse them as you would parse
|
||
the omp declare simd pragma.
|
||
(c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn.
|
||
Added a check when step is a parameter and flag it as error.
|
||
(CILK_SIMD_FN_CLAUSE_MASK): New #define.
|
||
(c_parser_cilk_clause_name): Changed pragma_cilk_clause to
|
||
pragma_omp_clause.
|
||
|
||
2013-12-17 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* c-parser.c (c_parser_omp_parallel): Fix description.
|
||
|
||
2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove.
|
||
(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
|
||
(LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
|
||
* c-typeck.c (cilk_install_body_with_frame_cleanup): New function.
|
||
|
||
2013-12-04 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/52023
|
||
* c-parser.c (c_parser_alignas_specifier): Use
|
||
c_sizeof_or_alignof_type instead of c_alignof.
|
||
(c_parser_alignof_expression): Likewise, with min_alignof
|
||
parameter depending on alignof spelling used.
|
||
|
||
2013-12-04 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/54113
|
||
* c-decl.c (start_function): Don't warn for missing prototype for
|
||
inline functions.
|
||
|
||
2013-12-03 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/59351
|
||
* c-decl.c (build_compound_literal): Allow compound literals with
|
||
empty initial value.
|
||
|
||
2013-12-02 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/58235
|
||
* c-typeck.c (build_modify_expr): Diagnose assignment to
|
||
expression with array type.
|
||
|
||
2013-11-29 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/42262
|
||
* c-typeck.c (process_init_element): Do not treat a string as
|
||
initializing a whole array when used with a designator for an
|
||
individual element.
|
||
|
||
2013-11-29 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/57574
|
||
* c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of
|
||
an inline function following a static declaration.
|
||
|
||
2013-11-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/59310
|
||
* c-parser.c (c_parser_omp_target): Copy "#pragma omp target"
|
||
to p_name before calling c_parser_omp_teams instead of after.
|
||
(c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser
|
||
argument. Remove unused p_name variable.
|
||
|
||
2013-11-27 Aldy Hernandez <aldyh@redhat.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-decl.c (c_builtin_function_ext_scope): Avoid binding if
|
||
external_scope is NULL.
|
||
|
||
2013-11-27 Tom de Vries <tom@codesourcery.com>
|
||
Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR c++/59032
|
||
* c-typeck.c (build_unary_op): Allow vector increment and decrement.
|
||
|
||
2013-11-22 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-typeck.c: Add required include files from gimple.h.
|
||
|
||
2013-11-22 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* c-decl.c (define_label, shadow_tag_warned)
|
||
(check_bitfield_type_and_width, grokdeclarator, grokparms,
|
||
store_parm_decls_newstyle, store_parm_decls_oldstyle)
|
||
(declspecs_add_type): Remove use of in_system_header macro.
|
||
* c-parser.c (c_parser_unary_expression): Likewise.
|
||
* c-typeck.c (store_init_value, process_init_element)
|
||
(c_start_case): Likewise.
|
||
|
||
* c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE
|
||
macro.
|
||
|
||
* c-parser.c (c_parser_set_source_position_from_token): Remove
|
||
reference to in_system_header from comment.
|
||
|
||
2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* c-decl.c (grokdeclarator): Update comment to refer to
|
||
tree_to_[su]hwi rather than tree_low_cst.
|
||
|
||
2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with
|
||
tree_to_uhwi throughout.
|
||
|
||
2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi
|
||
throughout.
|
||
|
||
2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
|
||
|
||
* c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p
|
||
throughout.
|
||
|
||
2013-11-15 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* c-parser.c (c_parser_cilk_simd): New.
|
||
(c_parser_cilk_verify_simd): New.
|
||
(c_parser_pragma): Add case for PRAGMA_CILK_SIMD.
|
||
(c_parser_omp_for_loop): Add case for NE_EXPR.
|
||
Set c_break_label for CILK_SIMD.
|
||
(c_parser_cilk_clause_vectorlength): New.
|
||
(c_parser_cilk_clause_linear): New.
|
||
(c_parser_cilk_clause_name): New.
|
||
(c_parser_cilk_all_clauses): New.
|
||
* c-typeck.c (build_unary_op): Pass location argument to
|
||
readonly_error.
|
||
(build_modify_expr): Same.
|
||
(build_asm_expr): Same.
|
||
(c_finish_bc_stmt): Error on break/continue in loops.
|
||
|
||
2013-11-14 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-typeck.c: Include only gimplify.h and gimple.h as needed.
|
||
|
||
2013-11-14 Diego Novillo <dnovillo@google.com>
|
||
|
||
* c-decl.c: Include print-tree.h.
|
||
Include stor-layout.h.
|
||
Include varasm.h.
|
||
Include attribs.h.
|
||
Include stringpool.h.
|
||
* c-lang.c: Include fold-const.h.
|
||
* c-parser.c: Include stringpool.h.
|
||
Include attribs.h.
|
||
Include stor-layout.h.
|
||
Include varasm.h.
|
||
Include trans-mem.h.
|
||
* c-typeck.c: Include stor-layout.h.
|
||
Include trans-mem.h.
|
||
Include varasm.h.
|
||
Include stmt.h.
|
||
|
||
2013-11-13 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-tree.h (c_typespec_keyword): Add cts_auto_type.
|
||
* c-decl.c (declspecs_add_type, finish_declspecs): Handle
|
||
__auto_type.
|
||
* c-parser.c (c_token_starts_typename, c_token_starts_declspecs)
|
||
(c_parser_attribute_any_word, c_parser_objc_selector): Handle
|
||
RID_AUTO_TYPE.
|
||
(c_parser_declspecs): Take argument AUTO_TYPE_OK.
|
||
(c_parser_declaration_or_fndef, c_parser_struct_declaration)
|
||
(c_parser_declarator, c_parser_direct_declarator_inner)
|
||
(c_parser_parameter_declaration, c_parser_type_name): All callers
|
||
changed.
|
||
(c_parser_declaration_or_fndef): Handle declarations with type
|
||
determined from the initializer.
|
||
|
||
2013-11-12 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-typeck.c: Include gimplify.h.
|
||
|
||
2013-11-12 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-tree.h (struct c_declspecs): Add thread_gnu_p field.
|
||
* c-parser.c (c_parser_declspecs): Mention _Thread_local in
|
||
comment.
|
||
* c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread
|
||
or _Thread_local as appropriate in diagnostics.
|
||
(build_null_declspecs): Initialize ret->thread_gnu_p.
|
||
(declspecs_add_scspec): Handle either __thread or _Thread_local
|
||
for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if
|
||
pedantic. Do not disallow _Thread_local extern and _Thread_local
|
||
static.
|
||
|
||
2013-11-07 Joseph Myers <joseph@codesourcery.com>
|
||
Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-aux-info.c (gen_type): Handle atomic qualifier.
|
||
* c-decl.c (validate_proto_after_old_defn): Do not remove atomic
|
||
qualifiers when compating types.
|
||
(shadow_tag_warned): Handle atomic_p in declspecs.
|
||
(quals_from_declspecs): Likewise.
|
||
(start_decl): Use c_type_promotes_to when promoting argument
|
||
types.
|
||
(grokdeclarator): Handle _Atomic.
|
||
(get_parm_info): Diagnose any qualifier on "void" as only
|
||
parameter.
|
||
(store_parm_decls_oldstyle): Do not remove atomic qualifiers when
|
||
comparing types. Use c_type_promotes_to when promoting argument
|
||
types.
|
||
(finish_function): Use c_type_promotes_to when promoting argument
|
||
types.
|
||
(build_null_declspecs): Handle atomic_p in declspecs.
|
||
(declspecs_add_qual): Handle RID_ATOMIC.
|
||
* c-parser.c (c_token_starts_typename, c_token_is_qualifier)
|
||
(c_token_starts_declspecs): Handle RID_ATOMIC.
|
||
(c_parser_declspecs): Handle atomic type specifiers and
|
||
qualifiers.
|
||
(c_parser_typeof_specifier): Remove const and _Atomic qualifiers
|
||
from types of expressions with atomic type.
|
||
(c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue.
|
||
(c_parser_attribute_any_word): Handle RID_ATOMIC.
|
||
(c_parser_initializer, c_parser_initelt, c_parser_initval)
|
||
(c_parser_statement_after_labels, c_parser_switch_statement)
|
||
(c_parser_for_statement, c_parser_expr_no_commas)
|
||
(c_parser_conditional_expression, c_parser_binary_expression)
|
||
(c_parser_cast_expression, c_parser_unary_expression)
|
||
(c_parser_postfix_expression)
|
||
(c_parser_postfix_expression_after_primary, c_parser_expression):
|
||
Use convert_lvalue_to_rvalue.
|
||
(c_parser_expression_conv, c_parser_expr_list): Document
|
||
conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue.
|
||
(c_parser_objc_synchronized_statement): Use
|
||
convert_lvalue_to_rvalue.
|
||
(c_parser_objc_selector): Handle RID_ATOMIC.
|
||
(c_parser_objc_receiver, c_parser_array_notation): Use
|
||
convert_lvalue_to_rvalue.
|
||
* c-tree.h (ctsk_typeof): Adjust comment to mention use for
|
||
_Atomic (type-name).
|
||
(struct c_declspecs): Add atomic_p field.
|
||
(convert_lvalue_to_rvalue): Declare.
|
||
* c-typeck.c (c_type_promotes_to): Promote atomic types to
|
||
corresponding atomic types.
|
||
(qualify_type): Don't add _Atomic qualifiers from second argument.
|
||
(comp_target_types): Do not allow _Atomic mismatches.
|
||
(type_lists_compatible_p): Do not remove atomic qualifiers when
|
||
comparing types.
|
||
(really_atomic_lvalue, convert_lvalue_to_rvalue)
|
||
(build_atomic_assign): New functions.
|
||
(build_unary_op): Use build_atomic_assign for atomic increment and
|
||
decrement.
|
||
(build_conditional_expr): Do not treat _Atomic void as a qualified
|
||
version of void.
|
||
(build_modify_expr): Use build_atomic_assign for atomic LHS.
|
||
(find_anonymous_field_with_type, convert_to_anonymous_field)
|
||
(convert_for_assignment): Do not remove atomic qualifiers when
|
||
comparing types.
|
||
(digest_init): Do not accept initialization of arrays of atomic
|
||
elements by string constants.
|
||
(build_asm_expr): Use convert_lvalue_to_rvalue.
|
||
(build_binary_op): Do not treat _Atomic void as a qualified
|
||
version of void.
|
||
|
||
2013-11-06 DJ Delorie <dj@redhat.com>
|
||
|
||
* c-decl.c (locate_old_decl): If a previous conflicting decl is
|
||
both explicit and builtin, print the location of the explicit one.
|
||
|
||
2013-11-05 Tobias Burnus <burnus@net-b.de>
|
||
|
||
* c-parser.c (c_parser_omp_for, c_parser_omp_parallel,
|
||
c_parser_omp_distribute, c_parser_omp_teams,
|
||
c_parser_omp_target, c_parser_omp_declare): Handle
|
||
-fopenmp-simd.
|
||
|
||
2013-11-03 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-decl.c (grokdeclarator): Add VLA instrumentation.
|
||
|
||
2013-11-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to
|
||
check_dup_generic at the end, unless remove is true.
|
||
(c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after
|
||
remove = true;.
|
||
(c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise.
|
||
|
||
2013-10-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause
|
||
with decl that is not pointer nor array.
|
||
|
||
2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-decl.c (finish_function): Added a call for insert_cilk_frame when
|
||
a spawning function is found.
|
||
* c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define.
|
||
(LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
|
||
(LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
|
||
* c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC
|
||
case.
|
||
(c_parser_postfix_expression): Added RID_CILK_SPAWN case.
|
||
* c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma
|
||
expr.
|
||
(c_finish_return): Added a check to reject _Cilk_spawn in return
|
||
expression.
|
||
(build_cilk_spawn): New function.
|
||
(build_cilk_sync): Likewise.
|
||
* Makefile.in (c-decl.o): Added cilk.h in dependency list.
|
||
|
||
2013-10-27 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR other/33426
|
||
* c-parser.c (c_parser_while_statement, c_parser_while_statement,
|
||
c_parser_pragma): Add GCC ivdep support to 'do' and 'while'.
|
||
(c_parser_statement_after_labels): Update calls.
|
||
|
||
2013-10-24 Tobias Burnus <burnus@net-b.de>
|
||
|
||
PR other/33426
|
||
* c-parser.c (c_parser_pragma, c_parser_for_statement):
|
||
Handle PRAGMA_IVDEP.
|
||
(c_parser_statement_after_labels): Update call.
|
||
|
||
2013-10-24 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-parser.c (c_parser_struct_declaration): Add a comment.
|
||
(c_parser_declarator): Don't allow _Alignas here.
|
||
|
||
2013-10-17 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* c-parser.c: Include omp-low.h.
|
||
* c-typeck.c: Likewise.
|
||
|
||
2013-10-17 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/58267
|
||
* c-parser.c (c_parser_declspecs): Add alignspec_ok parameter.
|
||
Document syntax of the array-declarator.
|
||
(c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs
|
||
are not permitted.
|
||
(c_parser_declaration_or_fndef): Adjust c_parser_declspecs call.
|
||
(c_parser_struct_declaration): Likewise.
|
||
(c_parser_declarator): Likewise.
|
||
(c_parser_direct_declarator_inner): Likewise.
|
||
(c_parser_parameter_declaration): Likewise.
|
||
(c_parser_type_name): Likewise.
|
||
|
||
2013-10-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-lang.h (current_omp_declare_target_attribute): New extern
|
||
decl.
|
||
* c-parser.c: Include c-lang.h.
|
||
(struct c_parser): Change tokens to c_token *.
|
||
Add tokens_buf field. Change tokens_avail type to unsigned int.
|
||
(c_parser_consume_token): If parser->tokens isn't
|
||
&parser->tokens_buf[0], increment parser->tokens.
|
||
(c_parser_consume_pragma): Likewise.
|
||
(enum pragma_context): Add pragma_struct and pragma_param.
|
||
(c_parser_external_declaration): Adjust
|
||
c_parser_declaration_or_fndef caller.
|
||
(c_parser_declaration_or_fndef): Add omp_declare_simd_clauses
|
||
argument, if it is non-vNULL vector, call c_finish_omp_declare_simd.
|
||
Adjust recursive call.
|
||
(c_parser_struct_or_union_specifier): Use pragma_struct instead
|
||
of pragma_external.
|
||
(c_parser_parameter_declaration): Use pragma_param instead of
|
||
pragma_external.
|
||
(c_parser_compound_statement_nostart, c_parser_label,
|
||
c_parser_for_statement): Adjust
|
||
c_parser_declaration_or_fndef callers.
|
||
(c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass
|
||
it through to c_parser_conditional_expression.
|
||
(c_parser_conditional_expression): Add omp_atomic_lhs argument,
|
||
pass it through to c_parser_binary_expression. Adjust recursive
|
||
call.
|
||
(c_parser_binary_expression): Remove prec argument, add
|
||
omp_atomic_lhs argument instead. Always start from PREC_NONE, if
|
||
omp_atomic_lhs is non-NULL and one of the arguments of toplevel
|
||
binop matches it, use build2 instead of parser_build_binary_op.
|
||
(c_parser_pragma): Handle PRAGMA_OMP_CANCEL,
|
||
PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET,
|
||
PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION.
|
||
Handle pragma_struct and pragma_param the same as pragma_external.
|
||
(c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names.
|
||
(c_parser_omp_variable_list): Parse array sections for
|
||
OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses.
|
||
(c_parser_omp_clause_collapse): Fully fold collapse expression.
|
||
(c_parser_omp_clause_reduction): Handle user defined reductions.
|
||
(c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind,
|
||
c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit,
|
||
c_parser_omp_clause_aligned, c_parser_omp_clause_linear,
|
||
c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen,
|
||
c_parser_omp_clause_depend, c_parser_omp_clause_map,
|
||
c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule,
|
||
c_parser_omp_clause_proc_bind, c_parser_omp_clause_to,
|
||
c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions.
|
||
(c_parser_omp_all_clauses): Add finish_p argument. Don't call
|
||
c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses.
|
||
(c_parser_omp_atomic): Parse seq_cst clause, pass true if it is
|
||
present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms.
|
||
(c_parser_omp_for_loop): Add CODE argument, pass it through
|
||
to c_finish_omp_for. Change last argument to cclauses,
|
||
and adjust uses to grab parallel clauses from the array of all
|
||
the split clauses. Adjust c_parser_binary_expression,
|
||
c_parser_declaration_or_fndef and c_finish_omp_for callers.
|
||
(omp_split_clauses): New function.
|
||
(c_parser_omp_simd): New function.
|
||
(c_parser_omp_for): Add p_name, mask and cclauses arguments.
|
||
Allow the function to be called also when parsing combined constructs,
|
||
and call c_parser_omp_simd when parsing for simd.
|
||
(c_parser_omp_sections_scope): If section-sequence doesn't start with
|
||
#pragma omp section, require exactly one structured-block instead of
|
||
sequence of statements.
|
||
(c_parser_omp_sections): Add p_name, mask and cclauses arguments.
|
||
Allow the function to be called also when parsing combined constructs.
|
||
(c_parser_omp_parallel): Add p_name, mask and cclauses arguments.
|
||
Allow the function to be called also when parsing combined
|
||
constructs.
|
||
(c_parser_omp_taskgroup, c_parser_omp_cancel,
|
||
c_parser_omp_cancellation_point, c_parser_omp_distribute,
|
||
c_parser_omp_teams, c_parser_omp_target_data,
|
||
c_parser_omp_target_update, c_parser_omp_target,
|
||
c_parser_omp_declare_simd, c_finish_omp_declare_simd,
|
||
c_parser_omp_declare_target, c_parser_omp_end_declare_target,
|
||
c_parser_omp_declare_reduction, c_parser_omp_declare): New functions.
|
||
(c_parser_omp_construct): Add p_name and mask vars. Handle
|
||
PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP,
|
||
PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel
|
||
and c_parser_omp_sections callers.
|
||
(c_parse_file): Initialize tparser.tokens and the_parser->tokens here.
|
||
(OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK,
|
||
OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1.
|
||
(OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND.
|
||
(OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add
|
||
OMP_CLAUSE_DEPEND.
|
||
(OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK,
|
||
OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK,
|
||
OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK,
|
||
OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK,
|
||
OMP_DECLARE_SIMD_CLAUSE_MASK): Define.
|
||
* c-typeck.c: Include tree-inline.h.
|
||
(c_finish_omp_cancel, c_finish_omp_cancellation_point,
|
||
handle_omp_array_sections_1, handle_omp_array_sections,
|
||
c_clone_omp_udr, c_find_omp_placeholder_r): New functions.
|
||
(c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and
|
||
user defined reductions.
|
||
(c_tree_equal): New function.
|
||
* c-tree.h (temp_store_parm_decls, temp_pop_parm_decls,
|
||
c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal,
|
||
c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup,
|
||
c_check_omp_declare_reduction_r): New prototypes.
|
||
* c-decl.c (current_omp_declare_target_attribute): New variable.
|
||
(c_decl_attributes): New function.
|
||
(start_decl, start_function): Use it instead of decl_attributes.
|
||
(temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id,
|
||
c_omp_reduction_decl, c_omp_reduction_lookup,
|
||
c_check_omp_declare_reduction_r): New functions.
|
||
|
||
2013-09-25 Tom Tromey <tromey@redhat.com>
|
||
|
||
* Make-lang.in (c/gccspec.o): Remove.
|
||
(CFLAGS-c/gccspec.o): New variable.
|
||
(cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o)
|
||
(c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o)
|
||
(c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove.
|
||
|
||
2013-09-25 Tom Tromey <tromey@redhat.com>
|
||
|
||
* Make-lang.in (c/gccspec.o): Don't use subshell.
|
||
|
||
2013-09-18 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitize/58443
|
||
* c-typeck.c (build_binary_op): Properly honor -fsanitize options.
|
||
Remove unnecessary check.
|
||
|
||
2013-09-18 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR sanitizer/58411
|
||
* c-typeck.c (build_binary_op): Don't sanitize function if it has the
|
||
no_sanitize_undefined attribute.
|
||
|
||
2013-09-13 Kai Tietz <ktietz@redhat.com>
|
||
|
||
PR target/57848
|
||
* c-decl.c (c_builtin_function_ext_scope): Remove
|
||
wrong assumption that it is never called on prexisting
|
||
symbol.
|
||
|
||
2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
|
||
|
||
* c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p.
|
||
|
||
2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||
|
||
* c-objc-common.c (c_tree_printer): Tidy.
|
||
|
||
2013-08-30 Marek Polacek <polacek@redhat.com>
|
||
|
||
* c-typeck.c (build_binary_op): Add division by zero and shift
|
||
instrumentation.
|
||
|
||
2013-08-26 Joern Rennecke <joern.rennecke@embecosm.com>
|
||
Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/35649
|
||
* c-typeck.c (c_common_type): Prefer double_type_node over
|
||
other REAL_TYPE types with the same precision.
|
||
(convert_arguments): Likewise.
|
||
|
||
2013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||
|
||
* c-objc-common.c (c_tree_printer): Document the nature of the cast.
|
||
(c_initialize_diagnostics): Call a destructor for the early printer.
|
||
|
||
2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||
|
||
* c-objc-common.c (c_initialize_diagnostics): Simplify C pretty
|
||
printer initialization.
|
||
|
||
2013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
PR c/57490
|
||
* c-array-notation.c (fix_conditional_array_notations_1): Added a
|
||
check for truth values.
|
||
(expand_array_notation_exprs): Added truth values case. Removed an
|
||
unwanted else. Added for-loop to walk through subtrees in default
|
||
case.
|
||
|
||
2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
|
||
|
||
* c-objc-common.c (c_initialize_diagnostics): Don't call pp_base.
|
||
|
||
2013-07-23 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-parser.c (struct c_generic_association): Fix typo.
|
||
|
||
2013-07-23 Tom Tromey <tromey@redhat.com>
|
||
Joseph Myers <joseph@codesourcery.com>
|
||
|
||
* c-parser.c (struct c_generic_association): New.
|
||
(c_generic_association_d): New typedef.
|
||
(c_parser_generic_selection): New function.
|
||
(c_parser_postfix_expression): Handle RID_GENERIC.
|
||
|
||
2013-07-13 Jason Merrill <jason@redhat.com>
|
||
|
||
PR c++/57793
|
||
* c-decl.c (finish_struct): Check for too-large class.
|
||
|
||
2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
|
||
|
||
PR c/57821
|
||
* c-typeck.c (set_init_index): When folding, check for index overflow.
|
||
|
||
2013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-parser.c (c_parser_array_notation): Removed rejection of array
|
||
notations in an array of function pointers.
|
||
|
||
2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-array-notation.c (make_triplet_val_inv): New function.
|
||
(create_cmp_incr): Likewise.
|
||
(create_array_refs): Likewise.
|
||
(fix_builtin_array_notation_fn): Replaced all mallocs with tree vec.
|
||
Also modularized common parts between functions and called the function.
|
||
(build_array_notation_expr): Likewise.
|
||
(fix_conditional_array_notations_1): Likewise.
|
||
(fix_array_notation_expr): Likewise.
|
||
(fix_array_notation_call_expr): Likewise.
|
||
|
||
2013-06-18 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/57630
|
||
* c-decl.c (check_for_loop_decls): Improve diagnostics messages.
|
||
|
||
2013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-array-notation.c (build_array_notation_expr): Reject array notation
|
||
mismatch between LHS and RHS even inside a call_expr. Also, removed
|
||
a couple while statements that were dead code.
|
||
|
||
2013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-array-notation.c (fix_builtin_array_notation_fn): Fully folded
|
||
excessive precision expressions in function parameters. Also removed
|
||
couple unwanted while statements.
|
||
|
||
2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-array-notation.c (expand_array_notation_exprs): Added
|
||
ARRAY_NOTATION_REF case.
|
||
|
||
2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-array-notation.c (length_mismatch_in_expr_p): Moved this
|
||
function to c-family/array-notation-common.c.
|
||
(is_cilkplus_reduce_builtin): Likewise.
|
||
(find_rank): Likewise.
|
||
(extract_array_notation_exprs): Likewise.
|
||
(replace_array_notations): Likewise.
|
||
(find_inv_trees): Likewise.
|
||
(replace_inv_trees): Likewise.
|
||
(contains_array_notation_expr): Likewise.
|
||
(find_correct_array_notation_type): Likewise.
|
||
(replace_invariant_exprs): Initialized additional_tcodes to NULL.
|
||
(struct inv_list): Moved this to c-family/array-notation-common.c.
|
||
* c-tree.h (is_cilkplus_builtin_reduce): Remove prototype.
|
||
|
||
2013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-typeck.c (convert_arguments): Moved checking of builtin cilkplus
|
||
reduction functions outside the for-loop. Added a check if the fundecl
|
||
is non-NULL. Finally, removed an unwanted if-statement, and made the
|
||
body unconditional.
|
||
|
||
2013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the
|
||
condition of the if-statement matches the rank of else-block and then-
|
||
block when array notations are used.
|
||
* c-parser.c (c_parser_declaration_or_fndef): Expanded array notation
|
||
expression after the entire function body is parsed.
|
||
(c_parser_expr_no_commas): Delayed creating array notation expressions
|
||
to the end of function parsing.
|
||
* c-array-notation.c (fix_conditional_array_notations_1): Expanded the
|
||
whole if-statement instead of just the condition.
|
||
(expand_array_notation_exprs): Added MODIFY_EXPR case.
|
||
|
||
2013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
PR c/57474
|
||
* c-array-notation.c (build_array_notation_expr): Initialized rhs_length
|
||
array to NULL_TREE if they are unused. Also added a check for the
|
||
field to be NULL before its fields are used in future.
|
||
|
||
2013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
PR bootstrap/57450
|
||
* c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
|
||
(build_array_notation_expr): Likewise.
|
||
|
||
2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
|
||
|
||
* c-typeck.c (build_array_ref): Added a check to see if array's
|
||
index is greater than one. If true, then emit an error.
|
||
(build_function_call_vec): Exclude error reporting and checking
|
||
for builtin array-notation functions.
|
||
(convert_arguments): Likewise.
|
||
(c_finish_return): Added a check for array notations as a return
|
||
expression. If true, then emit an error.
|
||
(c_finish_loop): Added a check for array notations in a loop
|
||
condition. If true then emit an error.
|
||
(lvalue_p): Added a ARRAY_NOTATION_REF case.
|
||
(build_binary_op): Added a check for array notation expr inside
|
||
op1 and op0. If present, we call another function to find correct
|
||
type.
|
||
* Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o.
|
||
* c-parser.c (c_parser_compound_statement): Check if array
|
||
notation code is used in tree, if so, then transform them into
|
||
appropriate C code.
|
||
(c_parser_expr_no_commas): Check if array notation is used in LHS
|
||
or RHS, if so, then build array notation expression instead of
|
||
regular modify.
|
||
(c_parser_postfix_expression_after_primary): Added a check for
|
||
colon(s) after square braces, if so then handle it like an array
|
||
notation. Also, break up array notations in unary op if found.
|
||
(c_parser_direct_declarator_inner): Added a check for array
|
||
notation.
|
||
(c_parser_compound_statement): Added a check for array notation in
|
||
a stmt. If one is present, then expand array notation expr.
|
||
(c_parser_if_statement): Likewise.
|
||
(c_parser_switch_statement): Added a check for array notations in
|
||
a switch statement's condition. If true, then output an error.
|
||
(c_parser_while_statement): Similarly, but for a while.
|
||
(c_parser_do_statement): Similarly, but for a do-while.
|
||
(c_parser_for_statement): Similarly, but for a for-loop.
|
||
(c_parser_unary_expression): Check if array notation is used in a
|
||
pre-increment or pre-decrement expression. If true, then expand
|
||
them.
|
||
(c_parser_array_notation): New function.
|
||
* c-array-notation.c: New file.
|
||
* c-tree.h (is_cilkplus_reduce_builtin): Protoize.
|
||
|
||
2013-05-23 Mike Stump <mikestump@comcast.net>
|
||
|
||
* c-typeck.c (convert_for_assignment): Handle references to memory
|
||
spaces better.
|
||
|
||
2013-05-16 Jason Merrill <jason@redhat.com>
|
||
|
||
* Make-lang.in (cc1$(exeext)): Use link mutex.
|
||
|
||
2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
* c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns
|
||
to simply use OPT_Wpointer_arith.
|
||
(build_unary_op): Likewise.
|
||
|
||
2013-04-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/19449
|
||
* c-parser.c (c_parser_get_builtin_args): Add choose_expr_p
|
||
argument. If set, or it temporarily for parsing of the first
|
||
argument into force_folding_builtin_constant_p.
|
||
(c_parser_postfix_expression): Adjust callers.
|
||
|
||
2013-03-21 Richard Biener <rguenther@suse.de>
|
||
|
||
* c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P
|
||
instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly.
|
||
|
||
2013-02-12 Marek Polacek <polacek@redhat.com>
|
||
|
||
PR c/44938
|
||
* c-parser.c (c_parser_postfix_expression_after_primary): Initialize
|
||
origtypes to NULL.
|
||
|
||
2013-01-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/56078
|
||
* c-typeck.c (set_nonincremental_init_from_string): If
|
||
constructor_max_index is NULL, treat it as if tree_int_cst_lt
|
||
returned false.
|
||
(process_init_element): Likewise.
|
||
|
||
2012-12-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c++/55619
|
||
* c-parser.c (c_parser_asm_operands): Remove CONVERT_P
|
||
argument, don't call default_function_array_conversion
|
||
nor c_fully_fold here.
|
||
(c_parser_asm_statement): Adjust callers.
|
||
* c-typeck.c (build_asm_expr): Call c_fully_fold on inputs
|
||
and outputs here, and call default_function_array_conversion
|
||
on inputs that don't need to be addressable.
|
||
|
||
2012-12-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/39464
|
||
* c-typeck.c (convert_for_assignment): For -Wpointer-sign
|
||
warning require that both c_common_unsigned_type as well as
|
||
c_common_signed_type is the same for both mvl and mvr types.
|
||
|
||
2012-11-16 Diego Novillo <dnovillo@google.com>
|
||
|
||
Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
|
||
|
||
* c-common.c: Use new vec API in vec.h.
|
||
* c-common.h: Likewise.
|
||
* c-gimplify.c: Likewise.
|
||
* c-pragma.c: Likewise.
|
||
* c-pretty-print.c: Likewise.
|
||
* c-pretty-print.h: Likewise.
|
||
* c-semantics.c: Likewise.
|
||
* c-decl.c: Likewise.
|
||
* c-parser.c: Likewise.
|
||
* c-tree.h: Likewise.
|
||
* c-typeck.c: Likewise.
|
||
|
||
2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||
|
||
PR c++/54930
|
||
* c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr.
|
||
|
||
2012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||
|
||
PR c/53066
|
||
* c-decl.c (warn_if_shadowing): Do not warn if a variable
|
||
shadows a function, unless the variable is a function or a
|
||
pointer-to-function.
|
||
|
||
2012-10-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/54381
|
||
* c-parser.c (struct c_tree_loc_pair): Removed.
|
||
(c_parser_expr_list): Remove struct c_tree_loc_pair * argument,
|
||
add location_t * and tree * arguments, fill in array of 3
|
||
sizeof_arg trees and corresponding locs.
|
||
(c_parser_attributes, c_parser_objc_keywordexpr): Adjust
|
||
c_parser_expr_list callers.
|
||
(c_parser_postfix_expression_after_primary): Likewise. Pass
|
||
array of 3 sizeof_arg trees and locs (corresponding to first
|
||
3 arguments) to sizeof_pointer_memaccess_warning.
|
||
|
||
2012-10-09 Lawrence Crowl <crowl@google.com>
|
||
|
||
* Make-lang.in (c-decl.o): Add dependence on hash-table.h.
|
||
* c-decl.c (detect_field_duplicates_hash): Change to new type-safe
|
||
hash table.
|
||
|
||
2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR c++/54194
|
||
* c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
|
||
call.
|
||
|
||
2012-10-09 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR c++/54427
|
||
* c-typeck.c: Include c-common.h.
|
||
(enum stv_conv): Moved to c-common.h.
|
||
(scalar_to_vector): Moved to c-common.c.
|
||
(build_binary_op): Adapt to scalar_to_vector's new prototype.
|
||
* Make-lang.in: c-typeck.c depends on c-common.h.
|
||
|
||
2012-10-04 Arnaud Charlet <charlet@adacore.com>
|
||
|
||
* c-decl.c (c_write_global_declarations): Fix handling of
|
||
-fdump-ada-spec*.
|
||
|
||
2012-09-30 Sharad Singhai <singhai@google.com>
|
||
|
||
* c-decl.c (c_write_global_declarations): Use a different method
|
||
to determine if the dump has ben initialized.
|
||
|
||
2012-09-14 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/54552
|
||
* c-typeck.c (c_cast_expr): When casting to a type requiring
|
||
C_MAYBE_CONST_EXPR to be created, pass the inner expression to
|
||
c_fully_fold first.
|
||
|
||
2012-09-14 Joseph Myers <joseph@codesourcery.com>
|
||
|
||
PR c/54103
|
||
* c-typeck.c (build_unary_op): Pass original argument of
|
||
TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove
|
||
any C_MAYBE_CONST_EXPR, if it has integer operands.
|
||
(build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR,
|
||
TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR
|
||
to c_objc_common_truthvalue_conversion, then remove any
|
||
C_MAYBE_CONST_EXPR, if they have integer operands. Use
|
||
c_objc_common_truthvalue_conversion not
|
||
c_common_truthvalue_conversion.
|
||
(c_objc_common_truthvalue_conversion): Build NE_EXPR directly and
|
||
call note_integer_operands for arguments with integer operands
|
||
that are not integer constants.
|
||
|
||
2012-09-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/54559
|
||
* c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or
|
||
COMPLEX_TYPE with in_late_binary_op set temporarily to true.
|
||
|
||
2012-08-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/54428
|
||
* c-convert.c (convert): Don't call fold_convert_loc if
|
||
TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e
|
||
is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from
|
||
COMPLEX_TYPE -> COMPLEX_TYPE conversion.
|
||
|
||
2012-08-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR c/54355
|
||
* c-decl.c (c_parser_label): Pass true as nested and fix up comments
|
||
for nested and empty_ok arguments in the call to
|
||
c_parser_declaration_or_fndef.
|
||
|
||
2012-08-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* c-tree.h (c_last_sizeof_arg): Declare.
|
||
* c-parser.c (struct c_tree_loc_pair): New type.
|
||
(c_parser_expr_list): Add sizeof_arg argument. Fill it in if
|
||
non-NULL.
|
||
(c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers.
|
||
(c_parser_postfix_expression_after_primary): Likewise. Call
|
||
sizeof_pointer_memaccess_warning if needed.
|
||
(sizeof_ptr_memacc_comptypes): New function.
|
||
* c-typeck.c (c_last_sizeof_arg): New global variable.
|
||
(c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it.
|
||
|
||
2012-07-24 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* c-lang.h (lang_decl): Add variable_size GTY option.
|
||
|
||
2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
* c-decl.c: Include dumpfile.h instead of tree-dump.h.
|
||
* Make-lang.in: Fix dependencies.
|
||
|
||
2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
|
||
|
||
* Make-lang.in: New file, rules migrated from gcc/Makefile.in
|
||
and add language Makefile hooks.
|
||
* config-lang.in: New file.
|
||
* c-config-lang.in: Moved from gcc/config-lang.in to here, and
|
||
add the required "normal" config-lang.in rules.
|
||
* c-lang.h: Moved from gcc/ to here.
|
||
* c-tree.h: Likewise.
|
||
* c-objc-common.c: Likewise.
|
||
* c-objc-common.h: Likewise.
|
||
* c-typeck.c: Likewise.
|
||
* c-convert.c: Likewise.
|
||
* c-lang.c: Likewise.
|
||
* c-aux-info.c: Likewise.
|
||
* c-errors.c: Likewise.
|
||
* gccspec.c: Likewise.
|
||
* c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h.
|
||
* c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h.
|
||
|
||
Copyright (C) 2012-2021 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|