12017-12-10 Tom de Vries <tom@codesourcery.com> 2 3 backport from trunk: 4 PR c/81875 5 2017-09-16 Tom de Vries <tom@codesourcery.com> 6 7 * c-parser.c (c_parser_omp_for_loop): Fold only operands of cond, not 8 cond itself. 9 102017-07-04 Release Manager 11 12 * GCC 6.4.0 released. 13 142017-06-08 Jakub Jelinek <jakub@redhat.com> 15 16 PR c/81006 17 * c-typeck.c (handle_omp_array_sections_1): Convert TYPE_MAX_VALUE 18 to sizetype before size_binop. 19 202017-05-05 Jakub Jelinek <jakub@redhat.com> 21 22 Backported from mainline 23 2017-03-21 Jakub Jelinek <jakub@redhat.com> 24 25 PR c/80097 26 * c-typeck.c (build_binary_op): Add EXCESS_PRECISION_EXPR only around 27 optional COMPOUND_EXPR with ubsan instrumentation. 28 29 2017-02-16 Jakub Jelinek <jakub@redhat.com> 30 31 PR c++/79512 32 * c-parser.c (c_parser_omp_target): For -fopenmp-simd 33 ignore #pragma omp target even when not followed by identifier. 34 352017-02-15 Jakub Jelinek <jakub@redhat.com> 36 37 Backported from mainline 38 2017-02-09 Jakub Jelinek <jakub@redhat.com> 39 40 PR c/79431 41 * c-parser.c (c_parser_omp_declare_target): Don't invoke 42 symtab_node::get on automatic variables. 43 442016-12-21 Jakub Jelinek <jakub@redhat.com> 45 46 PR c/77767 47 * c-decl.c (grokdeclarator): If *expr is non-NULL, append expression 48 to *expr instead of overwriting it. 49 502016-12-21 Release Manager 51 52 * GCC 6.3.0 released. 53 542016-11-05 Martin Sebor <msebor@redhat.com> 55 56 Backport from trunk. 57 PR c/71115 58 * c-typeck.c (error_init): Use 59 expansion_point_location_if_in_system_header. 60 (warning_init): Same. 61 622016-08-22 Release Manager 63 64 * GCC 6.2.0 released. 65 662016-08-12 Jakub Jelinek <jakub@redhat.com> 67 Martin Liska <mliska@suse.cz> 68 69 PR c/67410 70 * c-typeck.c (set_nonincremental_init_from_string): Use / instead of 71 % to determine val element to change. Assert that 72 wchar_bytes * charwidth fits into val array. 73 742016-08-11 Jakub Jelinek <jakub@redhat.com> 75 76 Backported from mainline 77 2016-08-11 Jakub Jelinek <jakub@redhat.com> 78 79 PR c/72816 80 * c-decl.c (grokdeclarator): When adding TYPE_DOMAIN for flexible 81 array member through typedef, for orig_qual_indirect == 0 clear 82 orig_qual_type. 83 842016-07-02 Jakub Jelinek <jakub@redhat.com> 85 86 Backported from mainline 87 2016-06-29 Jakub Jelinek <jakub@redhat.com> 88 89 PR c/71685 90 * c-typeck.c (c_build_qualified_type): Don't clear 91 C_TYPE_INCOMPLETE_VARS for the main variant. 92 932016-06-10 Thomas Schwinge <thomas@codesourcery.com> 94 95 PR c/71381 96 Backport from trunk r237290: 97 * c-parser.c (c_parser_omp_variable_list) <OMP_CLAUSE__CACHE_>: 98 Loosen checking. 99 1002016-05-30 Jakub Jelinek <jakub@redhat.com> 101 102 PR c++/71349 103 * c-parser.c (c_parser_omp_for): Don't disallow nowait clause 104 when combined with target construct. 105 1062016-05-19 David Malcolm <dmalcolm@redhat.com> 107 108 Backport from trunk r236488. 109 PR c/71171 110 * c-parser.c (c_parser_generic_selection): Use c_expr::set_error 111 in error-handling. 112 (c_parser_postfix_expression): Likewise. 113 * c-tree.h (c_expr::set_error): New method. 114 * c-typeck.c (parser_build_binary_op): In error-handling, ensure 115 that result's range is initialized. 116 1172016-04-29 Cesar Philippidis <cesar@codesourcery.com> 118 119 PR middle-end/70626 120 * c-parser.c (c_parser_oacc_loop): Don't augment mask with 121 OACC_LOOP_CLAUSE_MASK. 122 (c_parser_oacc_kernels_parallel): Update call to 123 c_oacc_split_loop_clauses. 124 1252016-04-27 Release Manager 126 127 * GCC 6.1.0 released. 128 1292016-04-15 Marek Polacek <polacek@redhat.com> 130 131 PR c/70671 132 * c-typeck.c (build_unary_op): Pass location down to error and 133 warning call. 134 1352016-04-15 Jakub Jelinek <jakub@redhat.com> 136 137 PR c/70436 138 * c-parser.c (c_parser_pragma): Add IF_P argument, pass it down 139 where needed. 140 (c_parser_external_declaration, c_parser_struct_or_union_specifier, 141 c_parser_parameter_declaration, c_parser_compound_statement_nostart, 142 c_parser_objc_class_instance_variables, c_parser_objc_methodprotolist): 143 Adjust c_parser_pragma callers. 144 (c_parser_statement_after_labels): Likewise. Adjust c_parser_cilk_for 145 caller. 146 (c_parser_omp_structured_block): Add IF_P argument, pass it down to 147 c_parser_statement. 148 (c_parser_oacc_data, c_parser_oacc_host_data, c_parser_oacc_loop, 149 c_parser_oacc_kernels_parallel, c_parser_omp_critical, 150 c_parser_omp_simd, c_parser_omp_for, c_parser_omp_master, 151 c_parser_omp_ordered, c_parser_omp_parallel, c_parser_omp_single, 152 c_parser_omp_task, c_parser_omp_taskgroup, c_parser_omp_distribute, 153 c_parser_omp_teams, c_parser_omp_target_data, c_parser_omp_target, 154 c_parser_omp_taskloop, c_parser_omp_construct, c_parser_cilk_grainsize, 155 c_parser_cilk_simd, c_parser_cilk_for): Add IF_P argument, pass it 156 down where needed. 157 (c_parser_omp_for_loop): Likewise. Clear IF_P if nbraces. 158 (c_parser_omp_sections_scope): Adjust c_parser_omp_structured_block 159 calls. 160 1612016-04-13 Marek Polacek <polacek@redhat.com> 162 163 PR c/70436 164 * c-parser.c (c_parser_statement_after_labels): Add IF_P argument and 165 adjust callers. 166 (c_parser_statement): Likewise. 167 (c_parser_c99_block_statement): Likewise. 168 (c_parser_while_statement): Likewise. 169 (c_parser_for_statement): Likewise. 170 (c_parser_if_body): Don't set IF_P here. 171 (c_parser_if_statement): Add IF_P argument. Set IF_P here. Warn 172 about dangling else here. 173 * c-tree.h (c_finish_if_stmt): Adjust declaration. 174 * c-typeck.c (c_finish_if_stmt): Remove NESTED_IF parameter. Don't 175 warn about dangling else here. 176 1772016-04-04 Marek Polacek <polacek@redhat.com> 178 179 PR c/70307 180 * c-fold.c (c_fully_fold_internal): Handle VEC_COND_EXPR. 181 1822016-03-31 Marek Polacek <polacek@redhat.com> 183 184 PR c/70297 185 * c-decl.c (merge_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN. 186 1872016-03-18 David Malcolm <dmalcolm@redhat.com> 188 189 PR c/70281 190 * c-parser.c (c_parser_postfix_expression): Set the source range 191 for uses of "__builtin_types_compatible_p". 192 1932016-03-17 Jakub Jelinek <jakub@redhat.com> 194 195 PR c/70280 196 * c-typeck.c (composite_type): Don't count void_list_node 197 into len, if the list is terminated by void_list_node, start 198 with void_list_node instead of NULL for newargs. Stop 199 at void_list_node. 200 2012016-03-16 Marek Polacek <polacek@redhat.com> 202 203 PR c/70093 204 * c-typeck.c (build_function_call_vec): Create a TARGET_EXPR for 205 nested functions returning VM types. 206 2072016-03-09 Cesar Philippidis <cesar@codesourcery.com> 208 209 * c-parser.c (c_parser_oacc_loop): Update cclauses and clauses 210 when calling c_finish_omp_clauses. 211 2122016-03-04 Bernd Schmidt <bschmidt@redhat.com> 213 214 PR c/69824 215 * c-decl.c (get_parm_info): Don't queue implicit function declarations 216 for later. 217 2182016-03-04 Marek Polacek <polacek@redhat.com> 219 220 PR c/69798 221 * c-parser.c (c_parser_postfix_expression): Call 222 c_parser_cast_expression rather than c_parser_postfix_expression. 223 2242016-03-01 Jakub Jelinek <jakub@redhat.com> 225 226 PR c/69796 227 PR c/69974 228 * c-parser.c (c_parser_translation_unit): Don't change TREE_TYPE 229 of incomplete decls to error_mark_node. 230 2312016-02-24 Marek Polacek <polacek@redhat.com> 232 233 PR c/69819 234 * c-decl.c (finish_decl): Don't update the copy of the type of a 235 different decl type. 236 2372016-02-23 Jakub Jelinek <jakub@redhat.com> 238 239 PR objc/69844 240 * c-parser.c (c_parser_for_statement): Properly handle ObjC classes 241 in id_kind reclassification. 242 2432016-02-16 Jakub Jelinek <jakub@redhat.com> 244 245 PR c/69835 246 * c-typeck.c (build_binary_op): Revert 2015-09-09 change. 247 2482016-02-16 James Norris <jnorris@codesourcery.com> 249 250 PR c/64748 251 * c-parser.c (c_parser_oacc_data_clause_deviceptr): Allow parms. 252 2532016-02-12 Bernd Schmidt <bschmidt@redhat.com> 254 255 * c-decl.c (build_null_declspecs): Zero the entire struct. 256 257 PR c/69522 258 * c-parser.c (c_parser_braced_init): New arg outer_obstack. All 259 callers changed. If nested_p is true, use it to call 260 finish_implicit_inits. 261 * c-tree.h (finish_implicit_inits): Declare. 262 * c-typeck.c (finish_implicit_inits): New function. Move code 263 from ... 264 (push_init_level): ... here. 265 (set_designator, process_init_element): Call finish_implicit_inits. 266 2672016-02-11 Jakub Jelinek <jakub@redhat.com> 268 269 PR c/69768 270 * c-typeck.c (parser_build_binary_op): Strip nops from integer_zerop 271 arguments for -Waddress warning. 272 2732016-02-04 Jakub Jelinek <jakub@redhat.com> 274 275 PR c/69669 276 * c-decl.c (finish_enum): When honoring mode attribute, 277 make sure to use proper TYPE_MIN_VALUE and TYPE_MAX_VALUE. 278 2792016-01-29 Jakub Jelinek <jakub@redhat.com> 280 281 PR debug/69518 282 * c-decl.c (finish_struct): Clear C_TYPE_INCOMPLETE_VARS in 283 all type variants, not just TYPE_MAIN_VARIANT. 284 2852016-01-27 Jakub Jelinek <jakub@redhat.com> 286 287 PR debug/66869 288 * c-decl.c (c_write_global_declarations_1): Warn with 289 warn_unused_function if static prototype without definition 290 is not C_DECL_USED. 291 2922016-01-27 Marek Polacek <polacek@redhat.com> 293 294 PR c/68062 295 * c-typeck.c (build_binary_op) [EQ_EXPR, GE_EXPR]: Promote operand 296 to unsigned, if needed. Add -Wsign-compare warning. 297 2982016-01-26 Jakub Jelinek <jakub@redhat.com> 299 300 PR tree-optimization/69483 301 * c-parser.c (c_parser_translation_unit): Use FOR_EACH_VEC_ELT. 302 3032016-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 304 305 PR c/24293 306 * c-tree.h (incomplete_record_decls): Declare. 307 * c-parser.c (incomplete_record_decls): Define. 308 (c_parser_translation_unit): Iterate through incomplete_record_decls and 309 report error if any decl has zero size. 310 * c-decl.c (finish_decl): Append static decl with incomplete struct/union 311 or enum type to incomplete_record_decls. 312 3132016-01-14 Tom de Vries <tom@codesourcery.com> 314 315 PR tree-optimization/68773 316 * c-parser.c (c_parser_oacc_declare, c_parser_omp_declare_target): Don't 317 set force_output. 318 3192016-01-14 Marek Polacek <polacek@redhat.com> 320 321 PR c/69262 322 * c-decl.c (grokdeclarator): Provide more information for invalid 323 array declarations. 324 3252016-01-06 David Malcolm <dmalcolm@redhat.com> 326 327 * c-parser.c (c_parser_unary_expression): For dereferences, build 328 a combined location before calling build_indirect_ref, so that 329 error reports cover the full range, manually updating the c_expr 330 src_range. 331 3322016-01-06 Marek Polacek <polacek@redhat.com> 333 334 PR sanitizer/69099 335 * c-convert.c (convert) [INTEGER_TYPE]: Drop ARG. Don't pass ARG to 336 ubsan_instrument_float_cast. Fold EXPR. Use NULL_TREE instead of 337 NULL. 338 3392016-01-04 Jakub Jelinek <jakub@redhat.com> 340 341 Update copyright years. 342 3432016-01-04 Marek Polacek <polacek@redhat.com> 344 345 PR c/68908 346 * c-typeck.c (build_atomic_assign): Improve commentary. Add 347 optimization to use __atomic_fetch_* built-in if possible. 348 3492015-12-23 Thomas Schwinge <thomas@codesourcery.com> 350 351 * c-parser.c (c_parser_oacc_clause_use_device): Merge function 352 into... 353 (c_parser_omp_clause_use_device_ptr): ... this function. Adjust 354 all users. 355 3562015-12-22 Marek Polacek <polacek@redhat.com> 357 358 PR c/69002 359 * c-typeck.c (build_component_ref): Warn when acessing elements of 360 atomic structures or unions. 361 3622015-12-21 David Malcolm <dmalcolm@redhat.com> 363 364 * c-typeck.c: Include "gcc-rich-location.h". 365 (build_binary_op): In the two places that call binary_op_error, 366 create a gcc_rich_location and populate it with the location of 367 the binary op and its two operands. 368 3692015-12-16 David Malcolm <dmalcolm@redhat.com> 370 371 * c-parser.c (c_parser_statement_after_labels): When calling 372 c_finish_return, Use the return expression's location if it has 373 one, falling back to the location of the first token within it. 374 * c-typeck.c (c_finish_return): When issuing warnings about 375 the incorrect presence/absence of a return value, issue a note 376 showing the declaration of the function. 377 3782015-12-16 David Malcolm <dmalcolm@redhat.com> 379 380 * c-parser.c (struct c_parser): Expand array "tokens_buf" from 2 381 to 4. 382 (c_parser_peek_nth_token): New function. 383 (c_parser_peek_conflict_marker): New function. 384 (c_parser_error): Detect conflict markers and report them as such. 385 3862015-12-16 David Malcolm <dmalcolm@redhat.com> 387 388 * c-parser.c (c_parser_postfix_expression): Use EXPR_LOC_OR_LOC 389 to preserve range information for the primary expression 390 in the call to c_parser_postfix_expression_after_primary. 391 3922015-12-16 David Malcolm <dmalcolm@redhat.com> 393 394 * c-parser.c (c_parser_static_assert_declaration_no_semi): Use the 395 expression location, falling back on the first token location, 396 rather than always using the latter. 397 3982015-12-16 Marek Polacek <polacek@redhat.com> 399 400 PR c/64637 401 * c-typeck.c (c_process_expr_stmt): Use location of the expression if 402 available. 403 4042015-12-15 Marek Polacek <polacek@redhat.com> 405 406 PR c/68907 407 * c-typeck.c (build_atomic_assign): Set TREE_NO_WARNING on an 408 artificial decl. 409 4102015-12-08 David Malcolm <dmalcolm@redhat.com> 411 412 * c-parser.c (c_parser_alignof_expression): Capture location of 413 closing parenthesis (if any), or of end of unary expression, and 414 use it to build a src_range for the expression. 415 4162015-12-08 David Malcolm <dmalcolm@redhat.com> 417 418 PR c/68757 419 * c-parser.c (c_parser_get_builtin_args): Add 420 "out_close_paren_loc" param, and write back to it. 421 (c_parser_postfix_expression): Capture the closing 422 parenthesis location for RID_CHOOSE_EXPR, 423 RID_BUILTIN_CALL_WITH_STATIC_CHAIN, RID_BUILTIN_COMPLEX, 424 RID_BUILTIN_SHUFFLE and use it to set the source range 425 for such expressions; within RID_BUILTIN_COMPLEX set 426 the underlying location. 427 4282015-12-07 Marek Polacek <polacek@redhat.com> 429 430 PR c/68668 431 * c-decl.c (grokdeclarator): If ORIG_QUAL_INDIRECT is indirect, use 432 TREE_TYPE of ORIG_QUAL_TYPE, otherwise decrement ORIG_QUAL_INDIRECT. 433 4342015-12-04 Eric Botcazou <ebotcazou@adacore.com> 435 436 * c-tree.h (c_build_va_arg): Adjust prototype. 437 * c-parser.c (c_parser_postfix_expression): Adjust call to above. 438 * c-typeck.c (c_build_va_arg): Rename LOC parameter to LOC2, add LOC1 439 parameter, adjust throughout and issue an error if EXPR is a component 440 with reverse storage order. 441 4422015-12-02 Jason Merrill <jason@redhat.com> 443 444 * c-fold.c (c_disable_warnings, c_enable_warnings, c_fully_fold) 445 (c_fully_fold_internal, decl_constant_value_for_optimization): 446 Move from c-common.c. 447 * c-tree.h: Declare decl_constant_value_for_optimization. 448 * Make-lang.in (C_AND_OBJC_OBJS): Add c-fold.o. 449 4502015-12-02 Joseph Myers <joseph@codesourcery.com> 451 452 PR c/68162 453 * c-decl.c (grokdeclarator): Set first_non_attr_kind before 454 following link from declarator to next declarator. Track original 455 qualified type and pass it to c_build_qualified_type. 456 * c-typeck.c (c_build_qualified_type): Add arguments 457 orig_qual_type and orig_qual_indirect. 458 4592015-12-02 Thomas Schwinge <thomas@codesourcery.com> 460 461 * c-parser.c (c_parser_omp_clause_name) 462 (c_parser_oacc_all_clauses): Alphabetical sorting. 463 4642015-12-02 Jakub Jelinek <jakub@redhat.com> 465 466 PR c/68533 467 * c-decl.c (get_parm_info): Use b->locus instead of input_location 468 for diagnostics. 469 4702015-12-01 Julian Brown <julian@codesourcery.com> 471 Cesar Philippidis <cesar@codesourcery.com> 472 James Norris <James_Norris@mentor.com> 473 474 * c-parser.c (c_parser_omp_clause_name): Add use_device support. 475 (c_parser_oacc_clause_use_device): New function. 476 (c_parser_oacc_all_clauses): Add use_device support. 477 (OACC_HOST_DATA_CLAUSE_MASK): New macro. 478 (c_parser_oacc_host_data): New function. 479 (c_parser_omp_construct): Add host_data support. 480 * c-tree.h (c_finish_oacc_host_data): Add prototype. 481 * c-typeck.c (c_finish_oacc_host_data): New function. 482 (c_finish_omp_clauses): Add use_device support. 483 4842015-11-29 Jan Hubicka <hubicka@ucw.cz> 485 486 PR c/67106 487 * c-decl.c: Set TYPE_PACKED in variants. 488 4892015-11-27 Martin Liska <mliska@suse.cz> 490 491 PR c++/68312 492 * c-array-notation.c (fix_builtin_array_notation_fn): 493 Use release_vec_vec instead of vec::release. 494 (build_array_notation_expr): Likewise. 495 (fix_conditional_array_notations_1): Likewise. 496 (fix_array_notation_expr): Likewise. 497 (fix_array_notation_call_expr): Likewise. 498 4992015-11-27 Jakub Jelinek <jakub@redhat.com> 500 501 PR c/63326 502 * c-parser.c (c_parser_compound_statement_nostart): If 503 last_label is true, use pragma_stmt instead of pragma_compound 504 as second c_parser_pragma argument. 505 (c_parser_omp_ordered, c_parser_omp_target_update, 506 c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Pass 507 false as second argument to c_parser_skip_to_pragma_eol after 508 diagnosing standalone directives used in pragma_stmt context. 509 5102015-11-24 Ilya Verbin <ilya.verbin@intel.com> 511 512 * c-parser.c (c_parser_oacc_declare): Replace "ifdef ENABLE_OFFLOADING" 513 with "if (ENABLE_OFFLOADING)". 514 5152015-11-23 David Malcolm <dmalcolm@redhat.com> 516 517 PR objc/68438 518 * c-parser.c (c_parser_postfix_expression): Set up source ranges 519 for various Objective-C constructs: Class.name syntax, 520 @selector(), @protocol(), @encode(), and [] message syntax. 521 5222015-11-20 David Malcolm <dmalcolm@redhat.com> 523 524 PR 62314 525 * c-typeck.c (should_suggest_deref_p): New function. 526 (build_component_ref): Special-case POINTER_TYPE when 527 generating a "not a structure of union" error message, and 528 suggest a "->" rather than a ".", providing a fix-it hint. 529 5302015-11-19 David Malcolm <dmalcolm@redhat.com> 531 532 * c-typeck.c (lookup_field_fuzzy): Move determination of closest 533 candidate into a new function, find_closest_identifier. 534 5352015-11-19 Marek Polacek <polacek@redhat.com> 536 537 PR c/68412 538 * c-typeck.c (parser_build_binary_op): Properly handle 539 C_MAYBE_CONST_EXPR before calling warn_tautological_cmp. 540 5412015-11-17 David Malcolm <dmalcolm@redhat.com> 542 543 * c-parser.c (set_c_expr_source_range): Bulletproof both 544 overloaded implementations against NULL expr->value. 545 (c_parser_braced_init): Set src_range for "ret" to a sane pair of 546 values. 547 (c_parser_unary_expression): Likewise when handling addresses of 548 labels. 549 (c_parser_postfix_expression): Likewise for statement expressions, 550 for __FUNCTION__, __PRETTY_FUNCTION_ and __func__ keywords, for 551 __builtin_va_arg, and for __builtin_offset_of. 552 (c_parser_postfix_expression_after_paren_type): Initialize expr's 553 src_range using the range of the braced initializer. 554 (c_parser_transaction_expression): Set src_range for "ret" to a 555 sane pair of values. 556 5572015-11-16 Kirill Yukhin <kirill.yukhin@intel.com> 558 559 * c-parser.c (c_finish_omp_declare_simd): Look for 560 "simd" attribute as well. Update error message. 561 5622015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> 563 564 * c-parser.c (c_parser_omp_declare_target): Adjust. 565 5662015-11-14 Jakub Jelinek <jakub@redhat.com> 567 568 * c-typeck.c (c_finish_omp_clauses): Don't mark 569 GOMP_MAP_FIRSTPRIVATE_POINTER decls addressable. 570 5712015-11-14 Marek Polacek <polacek@redhat.com> 572 573 * c-decl.c: Use RECORD_OR_UNION_TYPE_P throughout. 574 * c-typeck.c: Likewise. 575 5762015-11-13 David Malcolm <dmalcolm@redhat.com> 577 578 * c-decl.c (warn_defaults_to): Pass line_table to 579 rich_location ctor. 580 * c-errors.c (pedwarn_c99): Likewise. 581 (pedwarn_c90): Likewise. 582 * c-parser.c (set_c_expr_source_range): New functions. 583 (c_token::get_range): New method. 584 (c_token::get_finish): New method. 585 (c_parser_expr_no_commas): Call set_c_expr_source_range on the ret 586 based on the range from the start of the LHS to the end of the 587 RHS. 588 (c_parser_conditional_expression): Likewise, based on the range 589 from the start of the cond.value to the end of exp2.value. 590 (c_parser_binary_expression): Call set_c_expr_source_range on 591 the stack values for TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR. 592 (c_parser_cast_expression): Call set_c_expr_source_range on ret 593 based on the cast_loc through to the end of the expr. 594 (c_parser_unary_expression): Likewise, based on the 595 op_loc through to the end of op. 596 (c_parser_sizeof_expression) Likewise, based on the start of the 597 sizeof token through to either the closing paren or the end of 598 expr. 599 (c_parser_postfix_expression): Likewise, using the token range, 600 or from the open paren through to the close paren for 601 parenthesized expressions. 602 (c_parser_postfix_expression_after_primary): Likewise, for 603 various kinds of expression. 604 * c-tree.h (struct c_expr): Add field "src_range". 605 (c_expr::get_start): New method. 606 (c_expr::get_finish): New method. 607 (set_c_expr_source_range): New decls. 608 * c-typeck.c (parser_build_unary_op): Call set_c_expr_source_range 609 on ret for prefix unary ops. 610 (parser_build_binary_op): Likewise, running from the start of 611 arg1.value through to the end of arg2.value. 612 6132015-11-13 Marek Polacek <polacek@redhat.com> 614 615 PR c/68320 616 * c-parser.c (c_parser_for_statement): Treat unknown tokens as IDs. 617 6182015-11-13 David Malcolm <dmalcolm@redhat.com> 619 620 * c-typeck.c: Include spellcheck.h. 621 (lookup_field_fuzzy_find_candidates): New function. 622 (lookup_field_fuzzy): New function. 623 (build_component_ref): If the field was not found, try using 624 lookup_field_fuzzy and potentially offer a suggestion. 625 6262015-11-12 James Norris <jnorris@codesourcery.com> 627 Joseph Myers <joseph@codesourcery.com> 628 629 * c-parser.c (c_parser_pragma): Handle PRAGMA_OACC_DECLARE. 630 (c_parser_omp_clause_name): Handle 'device_resident' clause. 631 (c_parser_oacc_data_clause): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT 632 and PRAGMA_OMP_CLAUSE_LINK. 633 (c_parser_oacc_all_clauses): Handle PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT 634 and PRAGMA_OACC_CLAUSE_LINK. 635 (OACC_DECLARE_CLAUSE_MASK): New definition. 636 (c_parser_oacc_declare): New function. 637 6382015-11-12 Marek Polacek <polacek@redhat.com> 639 640 PR c/67784 641 * c-parser.c (c_parser_for_statement): Reclassify the token in 642 a correct scope. 643 6442015-11-11 Marek Polacek <polacek@redhat.com> 645 646 PR c/68107 647 PR c++/68266 648 * c-decl.c (grokdeclarator): Call valid_array_size_p. Remove code 649 checking the size of an array. 650 6512015-11-11 Andrew MacLeod <amacleod@redhat.com> 652 653 * c-array-notation.c: Remove unused header files. 654 * c-aux-info.c: Likewise. 655 * c-convert.c: Likewise. 656 * c-decl.c: Likewise. 657 * c-errors.c: Likewise. 658 * c-lang.c: Likewise. 659 * c-objc-common.c: Likewise. 660 * c-parser.c: Likewise. 661 * c-typeck.c: Likewise. 662 * gccspec.c: Likewise. 663 6642015-11-09 Thomas Schwinge <thomas@codesourcery.com> 665 Cesar Philippidis <cesar@codesourcery.com> 666 James Norris <jnorris@codesourcery.com> 667 Julian Brown <julian@codesourcery.com> 668 Nathan Sidwell <nathan@codesourcery.com> 669 670 c/ 671 * c-parser.c (c_parser_declaration_or_fndef): Add OpenACC 672 routine arg. 673 (c_parser_declaration_or_fndef): Call c_finish_oacc_routine. 674 (c_parser_pragma): Parse 'acc routine'. 675 (OACC_ROUTINE_CLAUSE_MARK): Define. 676 (c_parser_oacc_routine, (c_finish_oacc_routine): New. 677 6782015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com> 679 680 PR debug/67192 681 * c-typeck.c (c_finish_loop): For unconditional loops, set the 682 location of the backward-goto to the start of the loop body. 683 6842015-11-09 Andreas Arnez <arnez@linux.vnet.ibm.com> 685 686 PR debug/67192 687 * c-parser.c (c_parser_while_statement): Finish the loop before 688 parsing ahead for misleading indentation. 689 (c_parser_for_statement): Likewise. 690 6912015-11-08 Eric Botcazou <ebotcazou@adacore.com> 692 693 * c-decl.c (finish_struct): If the structure has reverse storage 694 order, rewrite the type of array fields with scalar component. Call 695 maybe_apply_pragma_scalar_storage_order on entry. 696 * c-typeck.c (build_unary_op) <ADDR_EXPR>: Remove left-overs. Issue 697 errors on bit-fields and reverse SSO here and not... 698 (c_mark_addressable): ...here. 699 (output_init_element): Adjust call to initializer_constant_valid_p. 700 (c_build_qualified_type): Propagate TYPE_REVERSE_STORAGE_ORDER. 701 7022015-11-06 David Malcolm <dmalcolm@redhat.com> 703 704 * c-decl.c (warn_defaults_to): Update for change in signature 705 of diagnostic_set_info. 706 * c-errors.c (pedwarn_c99): Likewise. 707 (pedwarn_c90): Likewise. 708 * c-objc-common.c (c_tree_printer): Update for new "caret_p" param 709 for textinfo::set_location. 710 7112015-11-05 Cesar Philippidis <cesar@codesourcery.com> 712 Thomas Schwinge <thomas@codesourcery.com> 713 James Norris <jnorris@codesourcery.com> 714 715 * c-parser.c (c_parser_omp_clause_name): Add support for 716 PRAGMA_OACC_CLAUSE_INDEPENDENT and PRAGMA_OACC_CLAUSE_TILE. 717 (c_parser_omp_clause_default): Add is_oacc argument. Handle 718 default(none) in OpenACC. 719 (c_parser_oacc_shape_clause): Allow pointer variables as gang static 720 arguments. 721 (c_parser_oacc_clause_tile): New function. 722 (c_parser_oacc_all_clauses): Add support for OMP_CLAUSE_DEFAULT, 723 OMP_CLAUSE_INDEPENDENT and OMP_CLAUSE_TILE. 724 (OACC_LOOP_CLAUSE_MASK): Add PRAGMA_OACC_CLAUSE_{PRIVATE,INDEPENDENT, 725 TILE}. 726 (OACC_KERNELS_MASK): Add PRAGMA_OACC_CLAUSE_DEFAULT. 727 (OACC_PARALLEL_MASK): Add PRAGMA_OACC_CLAUSE_{DEFAULT,PRIVATE, 728 FIRSTPRIVATE}. 729 (c_parser_omp_all_clauses): Update call to c_parser_omp_clause_default. 730 (c_parser_oacc_update): Update the error message for missing clauses. 731 * c-typeck.c (c_finish_omp_clauses): Add support for OMP_CLAUSE_TILE 732 and OMP_CLAUSE_INDEPENDENT. 733 7342015-11-05 Marek Polacek <polacek@redhat.com> 735 736 PR c/68090 737 * c-parser.c (c_parser_postfix_expression_after_paren_type): Don't 738 deal with pre-evaluation on invalid types. 739 7402015-11-05 Jakub Jelinek <jakub@redhat.com> 741 Ilya Verbin <ilya.verbin@intel.com> 742 743 * c-parser.c: Include context.h and gimple-expr.h. 744 (c_parser_omp_clause_schedule): Parse schedule modifiers, diagnose 745 monotonic together with nonmonotonic. 746 (c_parser_omp_for_loop): Call c_omp_check_loop_iv. Call add_stmt here. 747 (OMP_DISTRIBUTE_CLAUSE_MASK): Add lastprivate clause. 748 (c_parser_omp_target_data, c_parser_omp_target_enter_data, 749 c_parser_omp_target_exit_data): Allow GOMP_MAP_ALWAYS_POINTER. 750 (c_parser_omp_target): Likewise. Evaluate num_teams and thread_limit 751 expressions on combined target teams before the target. 752 (c_parser_omp_declare_target): If decl has "omp declare target" or 753 "omp declare target link" attribute, and cgraph or varpool node already 754 exists, then set corresponding flags. Call c_finish_omp_clauses 755 in the parenthesized extended-list syntax case. 756 * c-decl.c (c_decl_attributes): Don't diagnose block scope vars inside 757 declare target. 758 * c-typeck.c (handle_omp_array_sections_1): Allow non-zero low-bound 759 on OMP_CLAUSE_REDUCTION array sections. 760 (handle_omp_array_sections): Encode low-bound into the MEM_REF, either 761 into the constant offset, or for variable low-bound using 762 POINTER_PLUS_EXPR. For structure element based array sections use 763 GOMP_MAP_ALWAYS_POINTER instead of GOMP_MAP_FIRSTPRIVATE_POINTER. 764 (c_finish_omp_clauses): Drop generic_field_head, structure 765 elements are now always mapped even as array section bases, 766 diagnose same var in data sharing and mapping clauses. Diagnose if 767 linear step on declare simd is neither a constant nor a uniform 768 parameter. Look through POINTER_PLUS_EXPR for array section 769 reductions. Diagnose the same var or function appearing multiple 770 times on the same directive. Fix up wording for the to clause if t 771 is neither a FUNCTION_DECL nor a VAR_DECL. Diagnose nonmonotonic 772 modifier on kinds other than dynamic or guided or nonmonotonic 773 modifier together with ordered clause. 774 7752015-11-03 Thomas Schwinge <thomas@codesourcery.com> 776 Chung-Lin Tang <cltang@codesourcery.com> 777 778 * c-parser.c (c_parser_omp_construct): Handle PRAGMA_OACC_ATOMIC. 779 7802015-10-29 Andrew MacLeod <amacleod@redhat.com> 781 782 * c-array-notation.c: Reorder #include's and remove duplicates. 783 * c-aux-info.c: Likewise. 784 * c-convert.c: Likewise. 785 * c-decl.c: Likewise. 786 * c-errors.c: Likewise. 787 * c-lang.c: Likewise. 788 * c-objc-common.c: Likewise. 789 * c-parser.c: Likewise. 790 * c-typeck.c: Likewise. 791 7922015-10-26 Jim Wilson <jim.wilson@linaro.org> 793 794 PR debug/66068 795 * c-typeck.c (c_build_qualified_type): Clear C_TYPE_INCOMPLETE_VARS 796 after calling build_qualified_type. 797 7982015-10-27 Cesar Philippidis <cesar@codesourcery.com> 799 Thomas Schwinge <thomas@codesourcery.com> 800 James Norris <jnorris@codesourcery.com> 801 Joseph Myers <joseph@codesourcery.com> 802 Julian Brown <julian@codesourcery.com> 803 Bernd Schmidt <bschmidt@redhat.com> 804 805 * c-parser.c (c_parser_oacc_shape_clause): New. 806 (c_parser_oacc_simple_clause): New. 807 (c_parser_oacc_all_clauses): Add auto, gang, seq, vector, worker. 808 (OACC_LOOP_CLAUSE_MASK): Add gang, worker, vector, auto, seq. 809 8102015-10-27 Thomas Schwinge <thomas@codesourcery.com> 811 James Norris <jnorris@codesourcery.com> 812 Cesar Philippidis <cesar@codesourcery.com> 813 814 PR c/64765 815 PR c/64880 816 * c-parser.c (c_parser_oacc_loop): Add mask, cclauses formal 817 parameters, and handle these. Adjust all users. 818 (c_parser_oacc_kernels, c_parser_oacc_parallel): Merge functions 819 into... 820 (c_parser_oacc_kernels_parallel): ... this new function. Adjust 821 all users. 822 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels): Don't 823 declare functions. 824 (c_finish_omp_construct): Declare function. 825 * c-typeck.c (c_finish_oacc_parallel, c_finish_oacc_kernels): 826 Merge functions into... 827 (c_finish_omp_construct): ... this new function. 828 8292015-10-22 Richard Biener <rguenther@suse.de> 830 831 * c-typeck.c (c_finish_omp_clauses): Properly convert operands 832 before folding a MINUS_EXPR. 833 8342015-10-21 Marek Polacek <polacek@redhat.com> 835 836 PR c/68024 837 * c-decl.c (start_function): Warn about vararg functions without 838 a prototype. 839 8402015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com> 841 842 * c-typeck.c (build_conditional_expr): Use boolean vector 843 type for vector comparison. 844 (build_vec_cmp): New. 845 (build_binary_op): Use build_vec_cmp for comparison. 846 8472015-10-20 Marek Polacek <polacek@redhat.com> 848 849 * c-parser.c (is_cilkplus_vector_p): Don't define here. 850 8512015-10-20 Marek Polacek <polacek@redhat.com> 852 853 PR c/67964 854 * c-parser.c (c_parser_attributes): Break out of the loop if the 855 token after an attribute isn't a comma. 856 8572015-10-13 Jakub Jelinek <jakub@redhat.com> 858 Aldy Hernandez <aldyh@redhat.com> 859 860 * c-parser.c (c_parser_pragma): Handle PRAGMA_OMP_ORDERED here. 861 (c_parser_omp_clause_name): Handle OpenMP 4.5 clauses. 862 (c_parser_omp_variable_list): Handle structure elements for 863 map, to and from clauses. Handle array sections in reduction 864 clause. Formatting fixes. 865 (c_parser_omp_clause_if): Add IS_OMP argument, handle parsing of 866 if clause modifiers. 867 (c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize, 868 c_parser_omp_clause_priority, c_parser_omp_clause_hint, 869 c_parser_omp_clause_defaultmap, c_parser_omp_clause_use_device_ptr, 870 c_parser_omp_clause_is_device_ptr): New functions. 871 (c_parser_omp_clause_ordered): Parse optional parameter. 872 (c_parser_omp_clause_reduction): Handle array reductions. 873 (c_parser_omp_clause_schedule): Parse optional simd modifier. 874 (c_parser_omp_clause_nogroup, c_parser_omp_clause_orderedkind): New 875 functions. 876 (c_parser_omp_clause_linear): Parse linear clause modifiers. 877 (c_parser_omp_clause_depend_sink): New function. 878 (c_parser_omp_clause_depend): Parse source/sink depend kinds. 879 (c_parser_omp_clause_map): Parse release/delete map kinds and 880 optional always modifier. 881 (c_parser_oacc_all_clauses): Adjust c_parser_omp_clause_if 882 and c_finish_omp_clauses callers. 883 (c_parser_omp_all_clauses): Likewise. Parse OpenMP 4.5 clauses. 884 Parse "to" as OMP_CLAUSE_TO_DECLARE if on declare target directive. 885 (c_parser_oacc_cache): Adjust c_finish_omp_clauses caller. 886 (OMP_CRITICAL_CLAUSE_MASK): Define. 887 (c_parser_omp_critical): Parse critical clauses. 888 (c_parser_omp_for_loop): Handle doacross loops, adjust 889 c_finish_omp_for and c_finish_omp_clauses callers. 890 (OMP_SIMD_CLAUSE_MASK): Add simdlen clause. 891 (c_parser_omp_simd): Allow ordered clause if it has no parameter. 892 (OMP_FOR_CLAUSE_MASK): Add linear clause. 893 (c_parser_omp_for): Disallow ordered clause when combined with 894 distribute. Disallow linear clause when combined with distribute 895 and not combined with simd. 896 (OMP_ORDERED_CLAUSE_MASK, OMP_ORDERED_DEPEND_CLAUSE_MASK): Define. 897 (c_parser_omp_ordered): Add CONTEXT argument, remove LOC argument, 898 parse clauses and if depend clause is found, don't parse a body. 899 (c_parser_omp_parallel): Disallow copyin clause on target parallel. 900 Allow target parallel without for after it. 901 (OMP_TASK_CLAUSE_MASK): Add priority clause. 902 (OMP_TARGET_DATA_CLAUSE_MASK): Add use_device_ptr clause. 903 (c_parser_omp_target_data): Diagnose no map clauses or clauses with 904 invalid kinds. 905 (OMP_TARGET_UPDATE_CLAUSE_MASK): Add depend and nowait clauses. 906 (OMP_TARGET_ENTER_DATA_CLAUSE_MASK, 907 OMP_TARGET_EXIT_DATA_CLAUSE_MASK): Define. 908 (c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): New 909 functions. 910 (OMP_TARGET_CLAUSE_MASK): Add depend, nowait, private, firstprivate, 911 defaultmap and is_device_ptr clauses. 912 (c_parser_omp_target): Parse target parallel and target simd. Set 913 OMP_TARGET_COMBINED on combined constructs. Parse target enter data 914 and target exit data. Diagnose invalid map kinds. 915 (OMP_DECLARE_TARGET_CLAUSE_MASK): Define. 916 (c_parser_omp_declare_target): Parse OpenMP 4.5 forms of this 917 construct. 918 (c_parser_omp_declare_reduction): Use STRIP_NOPS when checking for 919 &omp_priv. 920 (OMP_TASKLOOP_CLAUSE_MASK): Define. 921 (c_parser_omp_taskloop): New function. 922 (c_parser_omp_construct): Don't handle PRAGMA_OMP_ORDERED here, 923 handle PRAGMA_OMP_TASKLOOP. 924 (c_parser_cilk_for): Adjust c_finish_omp_clauses callers. 925 * c-tree.h (c_finish_omp_clauses): Add two new arguments. 926 * c-typeck.c (handle_omp_array_sections_1): Fix comment typo. 927 Add IS_OMP argument, handle structure element bases, diagnose 928 bitfields, pass IS_OMP recursively, diagnose known zero length 929 array sections in depend clauses, handle array sections in reduction 930 clause, diagnose negative length even for pointers. 931 (handle_omp_array_sections): Add IS_OMP argument, use auto_vec for 932 types, pass IS_OMP down to handle_omp_array_sections_1, handle 933 array sections in reduction clause, set 934 OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION if map could be zero 935 length array section, use GOMP_MAP_FIRSTPRIVATE_POINTER for IS_OMP. 936 (c_finish_omp_clauses): Add IS_OMP and DECLARE_SIMD arguments. 937 Handle new OpenMP 4.5 clauses and new restrictions for the old ones. 938 9392015-10-06 Marek Polacek <polacek@redhat.com> 940 941 * c-parser.c (c_parser_statement_after_labels): Use 942 protected_set_expr_location. 943 (c_parser_omp_clause_num_gangs): Likewise. 944 (c_parser_omp_clause_num_threads): Likewise. 945 (c_parser_omp_clause_num_workers): Likewise. 946 (c_parser_omp_clause_vector_length): Likewise. 947 (c_parser_omp_clause_num_teams): Likewise. 948 (c_parser_omp_clause_thread_limit): Likewise. 949 * c-typeck.c (build_c_cast): Likewise. 950 (c_cast_expr): Likewise. 951 9522015-10-05 Richard Sandiford <richard.sandiford@arm.com> 953 954 * c-typeck.c (c_tree_equal): Use real_equal instead of 955 REAL_VALUES_EQUAL. 956 9572015-10-04 Jason Merrill <jason@redhat.com> 958 959 * c-parser.c (c_lex_one_token): Handle @synchronized. 960 * c-decl.c (match_builtin_function_types): A declaration of a built-in 961 can change whether the function is transaction_safe. 962 9632015-10-02 Marek Polacek <polacek@redhat.com> 964 965 PR c/67730 966 * c-typeck.c (convert_for_assignment): Use the expansion point 967 location throughout. 968 9692015-10-02 Marek Polacek <polacek@redhat.com> 970 971 PR c/64249 972 * c-parser.c (c_parser_statement_after_labels): Add CHAIN parameter 973 and pass it down to c_parser_if_statement. 974 (c_parser_else_body): Add CHAIN parameter and pass it down to 975 c_parser_statement_after_labels. 976 (c_parser_if_statement): Add CHAIN parameter. Add code to warn about 977 duplicated if-else-if conditions. 978 9792015-10-01 Marek Polacek <polacek@redhat.com> 980 981 * c-typeck.c (convert_for_assignment): Improve commentary. 982 9832015-09-30 Marek Polacek <polacek@redhat.com> 984 985 PR c/67730 986 * c-typeck.c (c_finish_return): Use the expansion point location for 987 certain "return with value" warnings. 988 9892015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org> 990 991 * c-parser.c (pragma_lex): Add loc argument. 992 9932015-09-15 Marek Polacek <polacek@redhat.com> 994 995 PR c/67580 996 * c-decl.c (tag_exists_p): New function. 997 * c-parser.c (c_parser_declaration_or_fndef): Give a hint when 998 struct/union/enum keywords are missing. 999 * c-tree.h (tag_exists_p): Declare. 1000 10012015-09-15 Marek Polacek <polacek@redhat.com> 1002 1003 * c-decl.c (lookup_label): Return NULL_TREE instead of 0. 1004 (lookup_tag): Change the type of THISLEVEL_ONLY to bool. 1005 Return NULL_TREE instead of 0. 1006 (lookup_name): Return NULL_TREE instead of 0. 1007 (lookup_name_in_scope): Likewise. 1008 (shadow_tag_warned): Use true instead of 1 and NULL_TREE instead of 0. 1009 (parser_xref_tag): Use false instead of 0. 1010 (start_struct): Use true instead of 1. 1011 (start_enum): Use true instead of 1 and NULL_TREE instead of 0. 1012 10132015-09-14 Marek Polacek <polacek@redhat.com> 1014 1015 * c-typeck.c (set_nonincremental_init_from_string): Use 1016 HOST_WIDE_INT_M1U when shifting a negative value. 1017 10182015-09-09 Mark Wielaard <mjw@redhat.com> 1019 1020 * c-typeck.c (build_binary_op): Check and warn when nonnull arg 1021 parm against NULL. 1022 10232015-09-10 Jakub Jelinek <jakub@redhat.com> 1024 1025 PR c/67502 1026 * c-parser.c (c_parser_omp_for_loop): Emit DECL_EXPR stmts 1027 into OMP_FOR_PRE_BODY rather than before the loop. 1028 10292015-09-09 Jakub Jelinek <jakub@redhat.com> 1030 1031 PR c/67501 1032 * c-parser.c (c_parser_oacc_all_clauses, 1033 c_parser_omp_all_clauses): Remove invalid clause from 1034 list of clauses even if parser->error is set. 1035 1036 PR c/67500 1037 * c-parser.c (c_parser_omp_clause_aligned, 1038 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen): Fix up 1039 test for errors. 1040 * c-decl.c (temp_pop_parm_decls): Allow b->decl equal to 1041 error_mark_node. 1042 1043 PR c/67495 1044 * c-parser.c (c_parser_omp_atomic): Use c_parser_cast_expression 1045 instead of c_parser_unary_expression. If the result is !lvalue_p, 1046 wrap the result of c_fully_fold into NON_LVALUE_EXPR. 1047 10482015-09-04 Marek Polacek <polacek@redhat.com> 1049 1050 PR sanitizer/67279 1051 * c-typeck.c (build_binary_op): Don't instrument static initializers. 1052 10532015-09-03 Martin Sebor <msebor@redhat.com> 1054 1055 PR c/66516 1056 * c-typeck.c (convert_arguments, parser_build_unary_op, 1057 build_conditional_expr, c_cast_expr, convert_for_assignment, 1058 build_binary_op, _objc_common_truthvalue_conversion): Call 1059 reject_gcc_builtin. 1060 (c_decl_implicit): Define. 1061 10622015-09-02 Marek Polacek <polacek@redhat.com> 1063 1064 PR c/67432 1065 * c-parser.c (c_parser_enum_specifier): Give a better error for 1066 an empty enum. 1067 10682015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> 1069 1070 * c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs. 1071 10722015-08-12 Marek Polacek <polacek@redhat.com> 1073 1074 * c-decl.c (grokdeclarator): Call error_at instead of error and pass 1075 LOC to it. 1076 10772015-08-03 Marek Polacek <polacek@redhat.com> 1078 1079 PR c/67088 1080 * c-decl.c (check_bitfield_type_and_width): Add location parameter. 1081 Use it. 1082 (grokdeclarator): Pass LOC down to check_bitfield_type_and_width. 1083 10842015-08-02 Patrick Palka <ppalka@gcc.gnu.org> 1085 1086 * c-parser.c (c_parser_if_body): Take token_indent_info 1087 argument. Call warn_for_misleading_indentation even when the 1088 body is a semicolon. Extract token_indent_infos corresponding 1089 to the guard, body and next tokens. Adjust call to 1090 warn_for_misleading_indentation accordingly. 1091 (c_parser_else_body): Likewise. 1092 (c_parser_if_statement): Likewise. 1093 (c_parser_while_statement): Likewise. 1094 (c_parser_for_statement): Likewise. 1095 10962015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com> 1097 Manuel López-Ibáñez <manu@gcc.gnu.org> 1098 1099 * c-decl.c (get_parm_info): Remove static var. Update warning 1100 message. 1101 11022015-07-27 Marek Polacek <polacek@redhat.com> 1103 1104 PR c++/66555 1105 PR c/54979 1106 * c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp. 1107 11082015-07-20 Marek Polacek <polacek@redhat.com> 1109 1110 PR c++/55095 1111 * c-typeck.c (digest_init): Pass OPT_Wpedantic to pedwarn_init. 1112 (build_binary_op): Warn about left shift overflows. 1113 11142015-07-09 Andrew MacLeod <amacleod@redhat.com> 1115 1116 * c-array-notation.c: Adjust includes for flags.h changes. 1117 * c-objc-common.c: Likewise. 1118 11192015-07-07 Andrew MacLeod <amacleod@redhat.com> 1120 1121 * c-array-notation.c: Adjust includes. 1122 * c-aux-info.c: Likewise. 1123 * c-convert.c: Likewise. 1124 * c-decl.c: Likewise. 1125 * c-errors.c: Likewise. 1126 * c-lang.c: Likewise. 1127 * c-objc-common.c: Likewise. 1128 * c-parser.c: Likewise. 1129 * c-typeck.c: Likewise. 1130 11312015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org> 1132 1133 PR fortran/66605 1134 * c-decl.c (finish_function): Call do_warn_unused_parameter. 1135 11362015-06-29 Marek Polacek <polacek@redhat.com> 1137 1138 PR c/66322 1139 * c-typeck.c (struct c_switch): Add BOOL_COND_P and OUTSIDE_RANGE_P. 1140 (c_start_case): Set BOOL_COND_P and OUTSIDE_RANGE_P. Don't warn 1141 about -Wswitch-bool here. 1142 (do_case): Update c_add_case_label call. 1143 (c_finish_case): Update c_do_switch_warnings call. 1144 11452015-06-27 Marek Polacek <polacek@redhat.com> 1146 1147 * c-typeck.c: Use VECTOR_TYPE_P throughout. 1148 11492015-06-26 Marek Polacek <polacek@redhat.com> 1150 1151 * c-array-notation.c (fix_builtin_array_notation_fn): Use 1152 INDIRECT_REF_P. 1153 * c-typeck.c (array_to_pointer_conversion): Likewise. 1154 (build_unary_op): Likewise. 1155 (c_finish_return): Likewise. 1156 11572015-06-25 Andrew MacLeod <amacleod@redhat.com> 1158 1159 * c-decl.c: Remove ipa-ref.h and plugin-api.h from include list. 1160 * c-parser.c: Likewise. 1161 11622015-06-25 Richard Sandiford <richard.sandiford@arm.com> 1163 1164 * c-decl.c (detect_field_duplicates_hash): Use nofree_ptr_hash 1165 instead of pointer_hash. 1166 (detect_field_duplicates): Likewise. 1167 11682015-06-25 Marek Polacek <polacek@redhat.com> 1169 1170 * c-array-notation.c: Use VAR_P throughout. 1171 * c-decl.c: Likewise. 1172 * c-objc-common.c: Likewise. 1173 * c-parser.c: Likewise. 1174 * c-typeck.c: Likewise. 1175 11762015-06-25 Marek Polacek <polacek@redhat.com> 1177 1178 * c-decl.c: Use is_global_var throughout. 1179 * c-parser.c: Likewise. 1180 * c-typeck.c: Likewise. 1181 11822015-06-17 Andrew MacLeod <amacleod@redhat.com> 1183 1184 * c-array-notation.c: Do not include input.h, line-map.h or is-a.h. 1185 * c-aux-info.c: Likewise. 1186 * c-convert.c: Likewise. 1187 * c-decl.c: Likewise. 1188 * c-errors.c: Likewise. 1189 * c-lang.c: Likewise. 1190 * c-objc-common.c: Likewise. 1191 * c-parser.c: Likewise. 1192 * c-typeck.c: Likewise. 1193 11942015-06-11 Jan Hubicka <hubicka@ucw.cz> 1195 1196 PR middle-end/66325 1197 * c-decl.c (start_enum): Set TYPE_PACKED consistently among type 1198 variants. 1199 12002015-06-11 Pierre-Marie de Rodat <derodat@adacore.com> 1201 1202 * c-decl.c (pop_scope): Register the main translation unit 1203 through the new debug hook. 1204 12052015-06-08 Andrew MacLeod <amacleod@redhat.com> 1206 1207 * c-array-notation.c : Adjust include files. 1208 * c-aux-info.c : Likewise. 1209 * c-convert.c : Likewise. 1210 * c-decl.c : Likewise. 1211 * c-errors.c : Likewise. 1212 * c-lang.c : Likewise. 1213 * c-lang.h : Likewise. 1214 * c-objc-common.c : Likewise. 1215 * c-parser.c : Likewise. 1216 * c-typeck.c : Likewise. 1217 12182015-06-05 Aldy Hernandez <aldyh@redhat.com> 1219 1220 * c-decl.c (finish_struct): Save C_TYPE_INCOMPLETE_VARS and 1221 immediately clobber it. 1222 (c_write_global_declarations_1): Remove call to 1223 check_global_declaration_1. 1224 (c_write_global_declarations_2): Remove. 1225 (c_write_final_cleanups): Rename from c_write_global_declarations. 1226 Remove call to finalize_compilation_unit. 1227 Remove calls to debugging hooks. 1228 * c-objc-common.c: Adjust comment for c_warn_unused_global_decl. 1229 * c-objc-common.h: Remove LANG_HOOKS_WRITE_GLOBALS. 1230 * c-tree.h: Remove c_write_global_declarations. 1231 12322015-06-04 Andrew MacLeod <amacleod@redhat.com> 1233 1234 * c-array-notation.c: Adjust includes for restructured coretypes.h. 1235 * c-aux-info.c: Likewise. 1236 * c-convert.c: Likewise. 1237 * c-decl.c: Likewise. 1238 * c-errors.c: Likewise. 1239 * c-lang.c: Likewise. 1240 * c-objc-common.c: Likewise. 1241 * c-parser.c: Likewise. 1242 * c-typeck.c: Likewise. 1243 12442015-06-04 Marek Polacek <polacek@redhat.com> 1245 1246 PR c/66341 1247 * c-typeck.c (build_c_cast): Wrap VALUE into NON_LVALUE_EXPR if 1248 it is a lvalue. 1249 12502015-06-03 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 1251 1252 * c-decl.c (warn_cxx_compat_finish_struct): New parameters code, record_loc. 1253 Warn for empty struct. 1254 (finish_struct): Pass TREE_CODE(t) and loc to warn_cxx_compat_finish_struct. 1255 12562015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com> 1257 1258 * c-decl.c (start_function): Call plugin before parsing. 1259 (finish_function): Call plugin after parsing. 1260 12612015-06-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 1262 1263 PR c/49551 1264 * c-decl.c (merge_decls): Merge DECL_COMMON. 1265 12662015-05-22 Jim Wilson <jim.wilson@linaro.org> 1267 1268 * Make-lang.in (check_gcc_pallelize): Define. 1269 12702015-05-22 Marek Polacek <polacek@redhat.com> 1271 1272 PR c/47043 1273 * c-parser.c (c_parser_enum_specifier): Parse and apply enumerator 1274 attributes. 1275 12762015-05-21 Marek Polacek <polacek@redhat.com> 1277 1278 * c-typeck.c (inform_declaration): Use DECL_IS_BUILTIN instead of 1279 DECL_BUILT_IN. 1280 12812015-05-20 Marek Polacek <polacek@redhat.com> 1282 1283 * c-decl.c: Use VAR_OR_FUNCTION_DECL_P throughout. 1284 * c-typeck.c: Likewise. 1285 12862015-05-19 Marek Polacek <polacek@redhat.com> 1287 1288 * c-typeck.c (start_init): Use AGGREGATE_TYPE_P. 1289 12902015-05-19 Jakub Jelinek <jakub@redhat.com> 1291 1292 PR middle-end/66199 1293 * c-parser.c (c_parser_omp_for_loop): Don't add 1294 OMP_CLAUSE_SHARED to OMP_PARALLEL_CLAUSES when moving 1295 OMP_CLAUSE_LASTPRIVATE clause to OMP_FOR_CLAUSES. 1296 (c_parser_omp_teams): Set OMP_TEAMS_COMBINED for combined 1297 constructs. 1298 12992015-05-19 Mikhail Maltsev <maltsevm@gmail.com> 1300 1301 * c-typeck.c (build_array_ref): Use std::swap instead of explicit 1302 swaps. 1303 13042015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> 1305 1306 PR fortran/44054 1307 * c-objc-common.c (c_tree_printer): Replace locus pointer with 1308 accessor function. 1309 13102015-05-14 Marek Polacek <polacek@redhat.com> 1311 1312 PR c/66066 1313 PR c/66127 1314 * c-typeck.c (digest_init): Call pedwarn_init with OPT_Wpedantic 1315 rather than with 0. 1316 13172015-05-12 David Malcolm <dmalcolm@redhat.com> 1318 1319 * c-parser.c (c_parser_if_body): Add param "if_loc", use it 1320 to add a call to warn_for_misleading_indentation. 1321 (c_parser_else_body): Likewise, adding param "else_loc". 1322 (c_parser_if_statement): Check for misleading indentation. 1323 (c_parser_while_statement): Likewise. 1324 (c_parser_for_statement): Likewise. 1325 13262015-05-08 Marek Polacek <polacek@redhat.com> 1327 1328 PR c/64918 1329 * c-typeck.c (add_pending_init): Use OPT_Woverride_init_side_effects. 1330 (output_init_element): Likewise. 1331 13322015-05-07 Marek Polacek <polacek@redhat.com> 1333 1334 PR c/65179 1335 * c-typeck.c (build_binary_op): Warn when left shifting a negative 1336 value. 1337 13382015-04-30 Marek Polacek <polacek@redhat.com> 1339 1340 * c-typeck.c (set_init_label): Call error_at instead of error and 1341 pass LOC to it. 1342 1343 * c-typeck.c (c_incomplete_type_error): Refactor to use %qT. Print 1344 the type of a decl. 1345 1346 * c-typeck.c (c_build_va_arg): Clarify the error message. 1347 13482015-04-29 Thomas Schwinge <thomas@codesourcery.com> 1349 1350 * c-parser.c (c_parser_oacc_enter_exit_data): Use 1351 OMP_STANDALONE_CLAUSES. 1352 13532015-04-28 Marek Polacek <polacek@redhat.com> 1354 1355 * c-parser.c (c_parser_binary_expression): Remove duplicate line. 1356 13572015-04-28 Marek Polacek <polacek@redhat.com> 1358 1359 PR c/65901 1360 * c-typeck.c (c_build_va_arg): Require TYPE be a complete type. 1361 13622015-04-25 Marek Polacek <polacek@redhat.com> 1363 1364 PR c/52085 1365 * c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode" 1366 attribute. 1367 13682015-04-23 Marek Polacek <polacek@redhat.com> 1369 1370 PR c/65345 1371 * c-decl.c (set_labels_context_r): New function. 1372 (store_parm_decls): Call it via walk_tree_without_duplicates. 1373 * c-typeck.c (convert_lvalue_to_rvalue): Use create_tmp_var_raw 1374 instead of create_tmp_var. Build TARGET_EXPR instead of 1375 COMPOUND_EXPR. 1376 (build_atomic_assign): Use create_tmp_var_raw instead of 1377 create_tmp_var. Build TARGET_EXPRs instead of MODIFY_EXPR. 1378 13792015-04-20 Ilya Verbin <ilya.verbin@intel.com> 1380 1381 * c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon. 1382 (c_parser_omp_target_update): Add missed %> to error_at (). 1383 13842015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 1385 1386 PR target/55143 1387 * c-decl.c (c_default_pointer_mode): Remove definition. 1388 * c-tree.h (c_default_pointer_mode): Remove declaration. 1389 13902015-03-27 Tobias Burnus <burnus@net-b.de> 1391 1392 PR c/65586 1393 * c-parser.c (c_parser_skip_to_pragma_eol): Optionally, don't 1394 error out. 1395 (c_parser_omp_for, c_parser_omp_parallel, c_parser_omp_distribute, 1396 c_parser_omp_teams, c_parser_omp_target, c_parser_omp_declare): 1397 Update calls to not error for skipped omp pragmas with -fopenmp-simd. 1398 13992015-03-19 Jakub Jelinek <jakub@redhat.com> 1400 1401 * c-decl.c (c_decl_attributes): Also add "omp declare target" 1402 attribute for DECL_EXTERNAL VAR_DECLs. 1403 14042015-03-11 Jakub Jelinek <jakub@redhat.com> 1405 1406 * c-parser.c (c_parse_init): Don't call xstrdup on get_identifier 1407 argument. 1408 14092015-03-10 Jakub Jelinek <jakub@redhat.com> 1410 1411 PR c/65120 1412 * c-typeck.c (parser_build_binary_op): Check for tcc_comparison 1413 before preparing arguments to warn_logical_not_parentheses. 1414 14152015-03-09 Jakub Jelinek <jakub@redhat.com> 1416 1417 PR c/65120 1418 * c-typeck.c (parser_build_binary_op): Don't warn for 1419 !!x == y or !b == y where b is _Bool. 1420 14212015-03-09 Marek Polacek <polacek@redhat.com> 1422 1423 * c-convert.c (convert): Make use of do_ubsan_in_current_function. 1424 * c-decl.c (grokdeclarator): Likewise. 1425 * c-typeck.c (build_binary_op): Likewise. 1426 14272015-02-27 Marek Polacek <polacek@redhat.com> 1428 1429 PR c/65228 1430 * c-decl.c (start_decl): Return NULL_TREE if decl is an error node. 1431 14322015-02-14 Marek Polacek <polacek@redhat.com> 1433 1434 PR c/64768 1435 * c-decl.c (grokdeclarator): Set the range of a flexible array member 1436 declared through a typedef name. 1437 14382015-02-13 Marek Polacek <polacek@redhat.com> 1439 1440 PR c/65050 1441 * c-decl.c (grokdeclarator): Print also the type when giving 1442 the error message about array's incomplete element type. 1443 14442015-02-11 Jakub Jelinek <jakub@redhat.com> 1445 1446 PR c/64824 1447 * c-parser.c (c_parser_binary_expression): Fix OpenMP stack[sp].prec 1448 check in the POP macro. 1449 14502015-02-09 Marek Polacek <polacek@redhat.com> 1451 1452 PR c/64856 1453 * c-typeck.c (process_init_element): Don't always wrap 1454 COMPOUND_LITERAL_EXPR in a SAVE_EXPR in C99 mode when 1455 initializing a range of elements. 1456 14572015-02-04 Jakub Jelinek <jakub@redhat.com> 1458 1459 PR c/64824 1460 PR c/64868 1461 * c-parser.c (c_parser_omp_atomic): Handle RDIV_EXPR. 1462 14632015-02-02 Bruno Loff <bruno.loff@gmail.com> 1464 1465 * c-parser.c (c_parser_declspecs): Call invoke_plugin_callbacks after 1466 processing enum declaration. 1467 14682015-01-29 Marek Polacek <polacek@redhat.com> 1469 1470 PR c/64709 1471 * c-typeck.c (pop_init_level): If constructor_elements has 1472 exactly one element with integer_zerop value, set constructor_zeroinit 1473 to 1. Remove braces around warning_init call. 1474 14752015-01-27 Jakub Jelinek <jakub@redhat.com> 1476 1477 PR c/64766 1478 * c-typeck.c (store_init_value): Don't overwrite DECL_INITIAL 1479 of FUNCTION_DECLs with error_mark_node. 1480 14812015-01-26 Jakub Jelinek <jakub@redhat.com> 1482 1483 PR c/64778 1484 * c-typeck.c (convert_arguments): Return -1 if there are 1485 error_args, even if we've diagnosed too many arguments. 1486 14872015-01-21 Richard Biener <rguenther@suse.de> 1488 1489 PR middle-end/64313 1490 * c-decl.c (merge_decls): Call set_builtin_decl_declared_p 1491 for builtins the user declared correctly. 1492 14932015-01-15 Thomas Schwinge <thomas@codesourcery.com> 1494 Bernd Schmidt <bernds@codesourcery.com> 1495 Cesar Philippidis <cesar@codesourcery.com> 1496 James Norris <jnorris@codesourcery.com> 1497 Jakub Jelinek <jakub@redhat.com> 1498 Ilmir Usmanov <i.usmanov@samsung.com> 1499 1500 * c-parser.c: Include "gomp-constants.h". 1501 (c_parser_omp_clause_map): Use enum gomp_map_kind instead of enum 1502 omp_clause_map_kind. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. 1503 Use OMP_CLAUSE_SET_MAP_KIND. 1504 (c_parser_pragma): Handle PRAGMA_OACC_ENTER_DATA, 1505 PRAGMA_OACC_EXIT_DATA, PRAGMA_OACC_UPDATE. 1506 (c_parser_omp_construct): Handle PRAGMA_OACC_CACHE, 1507 PRAGMA_OACC_DATA, PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, 1508 PRAGMA_OACC_PARALLEL, PRAGMA_OACC_WAIT. 1509 (c_parser_omp_clause_name): Handle "auto", "async", "copy", 1510 "copyout", "create", "delete", "deviceptr", "gang", "host", 1511 "num_gangs", "num_workers", "present", "present_or_copy", "pcopy", 1512 "present_or_copyin", "pcopyin", "present_or_copyout", "pcopyout", 1513 "present_or_create", "pcreate", "seq", "self", "vector", 1514 "vector_length", "wait", "worker". 1515 (OACC_DATA_CLAUSE_MASK, OACC_KERNELS_CLAUSE_MASK) 1516 (OACC_ENTER_DATA_CLAUSE_MASK, OACC_EXIT_DATA_CLAUSE_MASK) 1517 (OACC_LOOP_CLAUSE_MASK, OACC_PARALLEL_CLAUSE_MASK) 1518 (OACC_UPDATE_CLAUSE_MASK, OACC_WAIT_CLAUSE_MASK): New macros. 1519 (c_parser_omp_variable_list): Handle OMP_CLAUSE__CACHE_. 1520 (c_parser_oacc_wait_list, c_parser_oacc_data_clause) 1521 (c_parser_oacc_data_clause_deviceptr) 1522 (c_parser_omp_clause_num_gangs, c_parser_omp_clause_num_workers) 1523 (c_parser_oacc_clause_async, c_parser_oacc_clause_wait) 1524 (c_parser_omp_clause_vector_length, c_parser_oacc_all_clauses) 1525 (c_parser_oacc_cache, c_parser_oacc_data, c_parser_oacc_kernels) 1526 (c_parser_oacc_enter_exit_data, c_parser_oacc_loop) 1527 (c_parser_oacc_parallel, c_parser_oacc_update) 1528 (c_parser_oacc_wait): New functions. 1529 * c-tree.h (c_finish_oacc_parallel, c_finish_oacc_kernels) 1530 (c_finish_oacc_data): New prototypes. 1531 * c-typeck.c: Include "gomp-constants.h". 1532 (handle_omp_array_sections): Handle GOMP_MAP_FORCE_DEVICEPTR. Use 1533 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use 1534 OMP_CLAUSE_SET_MAP_KIND. 1535 (c_finish_oacc_parallel, c_finish_oacc_kernels) 1536 (c_finish_oacc_data): New functions. 1537 (c_finish_omp_clauses): Handle OMP_CLAUSE__CACHE_, 1538 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS, 1539 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, 1540 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_GANG, 1541 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, and OMP_CLAUSE_MAP's 1542 GOMP_MAP_FORCE_DEVICEPTR. 1543 15442015-01-09 Michael Collison <michael.collison@linaro.org> 1545 1546 * c-array-notation.c: Include hash-set.h, machmode.h, 1547 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 1548 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h. 1549 * c-aux-info.c: Ditto. 1550 * c-convert.c: Ditto. 1551 * c-decl.c: Ditto. 1552 * c-errors.c: Ditto. 1553 * c-lang.c: Dittoxs. 1554 * c-objc-common.c: Ditto. 1555 * c-parser.c: Ditto. 1556 * c-typeck.c: Include hash-set.h, machmode.h, 1557 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 1558 fold-const.h, wide-int.h, inchash.h, real.h and 1559 fixed-value.h due to flattening of tree.h. 1560 15612015-01-07 Marek Polacek <polacek@redhat.com> 1562 1563 PR c/64417 1564 * c-typeck.c (process_init_element): Disallow initialization of 1565 a flexible array member with a string constant if the structure 1566 is in an array. 1567 15682015-01-05 Jakub Jelinek <jakub@redhat.com> 1569 1570 PR sanitizer/64344 1571 * c-typeck.c (convert_for_assignment, c_finish_return): For 1572 -fsanitize=float-cast-overflow casts from REAL_TYPE to integer/enum 1573 types also set in_late_binary_op around convert call. 1574 * c-convert.c (convert): For -fsanitize=float-cast-overflow REAL_TYPE 1575 to integral type casts, if not in_late_binary_op, pass c_fully_fold 1576 result on expr as last argument to ubsan_instrument_float_cast, 1577 if in_late_binary_op, don't use c_save_expr but save_expr. 1578 1579 Update copyright years. 1580 15812015-01-05 Marek Polacek <polacek@redhat.com> 1582 1583 PR c/64423 1584 * c-typeck.c (build_array_ref): Pass loc down to 1585 warn_array_subscript_with_type_char. 1586 15872014-12-20 Martin Uecker <uecker@eecs.berkeley.edu> 1588 1589 * c-typeck.c: New behavious for pointers to arrays with qualifiers 1590 (common-pointer-type): For pointers to arrays take qualifiers from 1591 element type. 1592 (build_conditional_expr): Add warnings for lost qualifiers. 1593 (comp-target-types): Allow pointers to arrays with different qualifiers. 1594 (convert-for-assignment): Adapt warnings for discarded qualifiers. Add 1595 WARNING_FOR_QUALIFIERS macro and rename WARN_FOR_QUALIFIERS 1596 to PEDWARN_FOR_QUALIFIERS. 1597 15982014-12-17 Jakub Jelinek <jakub@redhat.com> 1599 1600 PR sanitizer/64289 1601 * c-convert.c: Include ubsan.h. 1602 (convert): For real -> integral casts and 1603 -fsanitize=float-cast-overflow don't call convert_to_integer, but 1604 instead instrument the float cast directly. 1605 16062014-11-29 Jakub Jelinek <jakub@redhat.com> 1607 1608 * c-typeck.c (convert_lvalue_to_rvalue, build_atomic_assign, 1609 c_finish_stmt_expr): Remove NULL last argument from 1610 create_tmp_var_raw and create_tmp_var calls. 1611 * c-array-notation.c (fix_builtin_array_notation_fn, 1612 build_array_notation_expr, fix_conditional_array_notations_1, 1613 fix_array_notation_expr, fix_array_notation_call_expr): Likewise. 1614 16152014-11-28 Marek Polacek <polacek@redhat.com> 1616 1617 PR c/63862 1618 * c-typeck.c (build_binary_op) <RSHIFT_EXPR, LSHIFT_EXPR>: Don't 1619 convert the right operand to integer type. 1620 16212014-11-25 Marek Polacek <polacek@redhat.com> 1622 1623 PR c/63877 1624 * c-decl.c (start_function): Disable -Wmissing-declarations warning 1625 for inline functions. 1626 16272014-11-21 Jakub Jelinek <jakub@redhat.com> 1628 1629 PR target/63764 1630 * c-typeck.c (build_array_ref): Adjust 1631 convert_vector_to_pointer_for_subscript caller. If it returns true, 1632 call non_lvalue_loc on the result. 1633 16342014-11-11 Richard Biener <rguenther@suse.de> 1635 1636 * c-decl.c (c_init_decl_processing): Do not set pedantic_lvalues 1637 to true. 1638 16392014-11-10 Andi Kleen <ak@linux.intel.com> 1640 1641 PR c/60804 1642 * c-parser.c (c_parser_statement_after_labels): Call 1643 check_no_cilk. 1644 (c_parser_if_statement): Dito. 1645 (c_parser_switch_statement): Dito. 1646 (c_parser_while_statement): Dito. 1647 (c_parser_do_statement): Dito. 1648 (c_parser_for_statement): Dito. 1649 * c-typeck.c (c_finish_loop): Dito. 1650 16512014-11-10 Paolo Carlini <paolo.carlini@oracle.com> 1652 1653 * c-typeck.c (build_binary_op): Use OPT_Wshift_count_negative and 1654 OPT_Wshift_count_overflow in the warnings. 1655 16562014-10-30 Marek Polacek <polacek@redhat.com> 1657 1658 * c-objc-common.c (c_tree_printer) <case 'T'>: For a typedef name, 1659 print the stripped version as well, if they're not the same. 1660 16612014-10-29 Richard Sandiford <richard.sandiford@arm.com> 1662 1663 * c-decl.c, c-tree.h, c-typeck.c: Remove redundant enum from 1664 machine_mode. 1665 16662014-10-28 Andrew MacLeod <amacleod@redhat.com> 1667 1668 * c-decl.c: Adjust include files. 1669 * c-parser.c: Ditto. 1670 16712014-10-27 Phil Muldoon <pmuldoon@redhat.com> 1672 Tom Tromey <tromey@redhat.com> 1673 1674 * c-tree.h (enum c_oracle_request): New. 1675 (c_binding_oracle_function): New typedef. 1676 (c_binding_oracle, c_pushtag, c_bind): Declare. 1677 * c-decl.c (c_binding_oracle): New global. 1678 (I_SYMBOL_CHECKED): New macro. 1679 (i_symbol_binding): New function. 1680 (I_SYMBOL_BINDING, I_SYMBOL_DECL): Redefine. 1681 (I_TAG_CHECKED): New macro. 1682 (i_tag_binding): New function. 1683 (I_TAG_BINDING, I_TAG_DECL): Redefine. 1684 (I_LABEL_CHECKED): New macro. 1685 (i_label_binding): New function. 1686 (I_LABEL_BINDING, I_LABEL_DECL): Redefine. 1687 (c_print_identifier): Save and restore c_binding_oracle. 1688 (c_pushtag, c_bind): New functions. 1689 16902014-10-27 Andrew MacLeod <amacleod@redhat.com> 1691 1692 * c-typeck.c: Adjust include files. 1693 16942014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org> 1695 1696 PR c++/53061 1697 * c-objc-common.c (c_objc_common_init): Do not do diagnostics 1698 initialization here... 1699 (c_initialize_diagnostics): ... but here. Set defaults after 1700 building pretty-printer. 1701 17022014-10-23 Marek Polacek <polacek@redhat.com> 1703 1704 PR c/63626 1705 * c-decl.c (pop_scope): Don't print warning in external_scope. 1706 17072014-10-19 Marek Polacek <polacek@redhat.com> 1708 1709 PR c/63567 1710 * c-typeck.c (output_init_element): Allow initializing objects with 1711 static storage duration with compound literals even in C99 and add 1712 pedwarn for it. 1713 17142014-10-17 Marek Polacek <polacek@redhat.com> 1715 1716 PR c/63567 1717 * c-typeck.c (digest_init): Allow initializing objects with static 1718 storage duration with compound literals even in C99 and add pedwarn 1719 for it. 1720 17212014-10-17 Marek Polacek <polacek@redhat.com> 1722 1723 PR c/63543 1724 * c-tree.h (C_TYPE_ERROR_REPORTED): Define. 1725 * c-typeck.c (build_indirect_ref): Don't print the "dereferencing..." 1726 error multiple times. Print the type. 1727 17282014-10-17 Marek Polacek <polacek@redhat.com> 1729 1730 PR c/63549 1731 * c-typeck.c (build_array_ref): Bail if the index in an incomplete 1732 type. 1733 17342014-10-17 Marek Polacek <polacek@redhat.com> 1735 1736 * c-decl.c (grokdeclarator): Use OPT_Wimplicit_int unconditionally. 1737 (start_function): Use OPT_Wimplicit_int instead of 0. 1738 (store_parm_decls_oldstyle): Likewise. 1739 17402014-10-17 Alan Modra <amodra@gmail.com> 1741 1742 PR middle-end/61848 1743 * c-decl.c (merge_decls): Don't merge section name or tls model 1744 to newdecl symtab node, instead merge to olddecl. Override 1745 existing olddecl section name. Set tls_model for all thread-local 1746 vars, not just OMP thread-private ones. Remove incorrect comment. 1747 17482014-10-16 Andrew MacLeod <amacleod@redhat.com> 1749 1750 * c-decl.c: Adjust include files. 1751 17522014-10-14 DJ Delorie <dj@redhat.com> 1753 1754 * c-parser.c (c_parse_init): Add RID entries for each __intN. 1755 (c_token_starts_typename): Check all __intN, not just __int128. 1756 (c_token_starts_declspecs): Likewise. 1757 (c_parser_declspecs): Likewise. 1758 (c_parser_attribute_any_word): Likewise. 1759 (c_parser_objc_selector): Likewise. 1760 * c-tree.h (c_typespec_keyword): cts_int128 -> cts_int_n. 1761 (struct c_declspecs): Add int_n_idx field to record *which* __intN 1762 is specified. 1763 * c-decl.c (declspecs_add_type): Check for all __intN, not just 1764 __int128. 1765 (finish_declspecs): Likewise. 1766 17672014-10-13 Anthony Brandon <anthony.brandon@gmail.com> 1768 1769 * c-parser.c (c_parser_all_labels): New function to replace 1770 the duplicate code. 1771 (c_parser_statement): Call the new function. 1772 17732014-10-09 Marek Polacek <polacek@redhat.com> 1774 1775 PR c/63480 1776 * c-typeck.c (pop_init_level): Don't warn about initializing 1777 with { }. 1778 17792014-10-07 Marek Polacek <polacek@redhat.com> 1780 1781 PR c/59717 1782 * c-decl.c (header_for_builtin_fn): New function. 1783 (implicitly_declare): Suggest which header to include. 1784 17852014-10-07 Marek Polacek <polacek@redhat.com> 1786 1787 * c-convert.c (convert): Use error_operand_p. 1788 * c-typeck.c (require_complete_type): Likewise. 1789 (really_atomic_lvalue): Likewise. 1790 (digest_init): Likewise. 1791 (handle_omp_array_sections_1): Likewise. 1792 17932014-10-03 Marek Polacek <polacek@redhat.com> 1794 1795 PR c/63453 1796 * c-decl.c (pop_scope): Don't warn about "inline function declared 1797 but never defined" for functions marked with gnu_inline attribute. 1798 17992014-09-25 Jakub Jelinek <jakub@redhat.com> 1800 1801 PR c++/63249 1802 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read 1803 on low_bound and length. 1804 18052014-09-24 Marek Polacek <polacek@redhat.com> 1806 1807 PR c/61405 1808 PR c/53874 1809 * c-parser.c: Don't define CPP_KEYWORD. 1810 (c_parser_switch_statement): Pass original type to c_finish_case. 1811 * c-tree.h (c_finish_case): Update declaration. 1812 * c-typeck.c (c_finish_case): Add TYPE parameter. Pass it 1813 conditionally to c_do_switch_warnings. 1814 18152014-09-03 Marek Polacek <polacek@redhat.com> 1816 1817 PR c/62024 1818 * c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op 1819 conversions. 1820 18212014-09-02 Jakub Jelinek <jakub@redhat.com> 1822 Balaji V. Iyer <balaji.v.iyer@intel.com> 1823 Igor Zamyatin <igor.zamyatin@intel.com> 1824 1825 * c-parser.c (c_parser_cilk_for): New function. 1826 (c_parser_cilk_grainsize): Likewise. 1827 (c_get_temp_regvar): Likewise. 1828 (c_parser_statement_after_labels): Added RID_CILK_FOR case. 1829 (c_parser_pragma): Added PRAGMA_CILK_GRAINSIZE case. 1830 (c_parser_omp_for_loop): Added CILK_FOR and CILK_SIMD checks. 1831 * c-typeck.c (c_finish_omp_clauses): Added OMP_CLAUSE__CILK_FOR_COUNT_ 1832 case. 1833 18342014-08-27 Chen Gang <gang.chen.5i5j@gmail.com> 1835 1836 * c-aux-info.c (gen_type): Resize 'buff' from 10 to 23 bytes, 1837 with using HOST_WIDE_INT without truncation to 'int' 1838 18392014-08-22 Marek Polacek <polacek@redhat.com> 1840 1841 PR c++/62199 1842 * c-typeck.c (parser_build_binary_op): Adjust call to 1843 warn_logical_not_parentheses. 1844 18452014-08-22 Igor Zamyatin <igor.zamyatin@intel.com> 1846 1847 PR other/62008 1848 * c-parser.c (c_parser_array_notation): Check for correct 1849 type of an array added. 1850 18512014-08-19 Marek Polacek <polacek@redhat.com> 1852 1853 PR c++/62153 1854 * c-typeck.c (build_binary_op): If either operand of a comparison 1855 is a boolean expression, call maybe_warn_bool_compare. 1856 18572014-08-19 Patrick Palka <ppalka@gcc.gnu.org> 1858 1859 PR c/45584 1860 * c-typeck.c (build_c_cast): Do a conversion even when the 1861 TYPE_MAIN_VARIANTs are the same. 1862 18632014-08-19 Marek Polacek <polacek@redhat.com> 1864 1865 * c-decl.c (diagnose_mismatched_decls): Unconditionally call 1866 pedwarn_c99 instead of pedwarn. 1867 (grokfield): Likewise. 1868 (warn_defaults_to): New function. 1869 (grokdeclarator): Call warn_defaults_to instead of pedwarn_c99. 1870 Unconditionally call pedwarn_c99 instead of pedwarn. 1871 (start_function): Call warn_defaults_to instead of pedwarn_c99. 1872 (declspecs_add_scspec): Call pedwarn_c99 instead of pedwarn, don't 1873 check flag_isoc11 before. 1874 * c-errors.c (pedwarn_c99): Change the return type to bool. 1875 Handle -Wc99-c11-compat. 1876 * c-parser.c (disable_extension_diagnostics): Handle 1877 warn_c99_c11_compat. 1878 (restore_extension_diagnostics): Likewise. 1879 (c_parser_static_assert_declaration_no_semi): Call pedwarn_c99 1880 instead of pedwarn, don't check flag_isoc11 before. 1881 (c_parser_declspecs): Likewise. 1882 (c_parser_alignas_specifier): Likewise. 1883 (c_parser_alignof_expression): Likewise. 1884 (c_parser_generic_selection): Likewise. 1885 * c-tree.h (pedwarn_c99): Update declaration. 1886 * c-typeck.c (c_finish_return): Call pedwarn or warning_at instead 1887 of pedwarn_c99. 1888 18892014-08-19 Marek Polacek <polacek@redhat.com> 1890 1891 * c-decl.c (warn_variable_length_array): Pass OPT_Wvla unconditionally 1892 to pedwarn_c90. 1893 * c-errors.c: Include "opts.h". 1894 (pedwarn_c90): Rewrite to handle -Wno-c90-c99-compat better. 1895 * c-parser.c (disable_extension_diagnostics): Handle negative value 1896 of warn_c90_c99_compat, too. 1897 (restore_extension_diagnostics): Likewise. 1898 (c_parser_compound_statement_nostart): Pass 1899 OPT_Wdeclaration_after_statement unconditionally to pedwarn_c90. 1900 19012014-08-12 Marek Polacek <polacek@redhat.com> 1902 1903 * c-parser.c (c_parser_postfix_expression) <case RID_FUNCTION_NAME>: 1904 Add pedwarn. 1905 (c_parser_postfix_expression) <case RID_PRETTY_FUNCTION_NAME>: 1906 Likewise. 1907 (c_parser_postfix_expression) <case RID_C99_FUNCTION_NAME>: Likewise. 1908 19092014-08-10 Marek Polacek <polacek@redhat.com> 1910 1911 PR c/51849 1912 * c-decl.c (build_array_declarator): Remove check for !flag_isoc99. 1913 Call pedwarn_c90 instead of pedwarn. 1914 (check_bitfield_type_and_width): Likewise. 1915 (declspecs_add_qual): Likewise. 1916 (declspecs_add_type): Likewise. 1917 (warn_variable_length_array): Unify function for -pedantic and -Wvla. 1918 Adjust to only call pedwarn_c90. 1919 (grokdeclarator): Remove pedantic && !flag_isoc99 check. Call 1920 pedwarn_c90 instead of pedwarn. 1921 * c-errors.c (pedwarn_c90): Handle -Wc90-c99-compat. 1922 * c-parser.c (disable_extension_diagnostics): Handle 1923 warn_c90_c99_compat. 1924 (restore_extension_diagnostics): Likewise. 1925 (c_parser_enum_specifier): Remove check for !flag_isoc99. Call 1926 pedwarn_c90 instead of pedwarn. 1927 (c_parser_initelt): Likewise. 1928 (c_parser_postfix_expression): Likewise. 1929 (c_parser_postfix_expression_after_paren_type): Likewise. 1930 (c_parser_compound_statement_nostart): Remove check for !flag_isoc99. 1931 * c-tree.h: Fix formatting. 1932 * c-typeck.c (build_array_ref): Remove check for !flag_isoc99. Call 1933 pedwarn_c90 instead of pedwarn. 1934 19352014-08-07 Trevor Saunders <tsaunders@mozilla.com> 1936 1937 * c-typeck.c: Remove include of pointer-set.h. 1938 19392014-08-07 Marek Polacek <polacek@redhat.com> 1940 1941 * c-typeck.c (pointer_diff): Remove P - (P + CST) optimization. 1942 19432014-08-02 Trevor Saunders <tsaunders@mozilla.com> 1944 1945 * c-typeck.c: Use hash_map instead of pointer_map. 1946 19472014-08-02 Trevor Saunders <tsaunders@mozilla.com> 1948 1949 * c-decl.c: Use hash_set instead of pointer_set. 1950 19512014-08-01 Igor Zamyatin <igor.zamyatin@intel.com> 1952 1953 PR middle-end/61455 1954 * c-array-notation.c (expand_array_notations): Handling 1955 of DECL_EXPR added. 1956 19572014-07-31 Marc Glisse <marc.glisse@inria.fr> 1958 1959 PR c++/60517 1960 * c-typeck.c (c_finish_return): Return 0 instead of the address of 1961 a local variable. 1962 19632014-07-30 Tom Tromey <tromey@redhat.com> 1964 1965 * c-typeck.c (struct constructor_stack) <designator_depth>: New 1966 field. 1967 (really_start_incremental_init, push_init_level): Initialize 1968 designator_depth. 1969 (pop_init_level): Set global designator_depth. 1970 (process_init_element): Check for designated_init attribute. 1971 19722014-07-20 Marek Polacek <polacek@redhat.com> 1973 1974 PR c/61852 1975 * c-decl.c (implicit_decl_warning): Add location_t parameter. Use it. 1976 (implicitly_declare): Pass location to implicit_decl_warning. 1977 19782014-07-14 Jakub Jelinek <jakub@redhat.com> 1979 1980 PR middle-end/61294 1981 * c-parser.c (c_parser_expr_list): Add new argument literal_zero_mask. 1982 If non-NULL, call c_parser_check_literal_zero. 1983 (c_parser_check_literal_zero): New function. 1984 (c_parser_postfix_expression_after_primary): Adjust 1985 c_parser_expr_list caller, handle -Wmemset-transposed-args. 1986 19872014-07-06 Marek Polacek <polacek@redhat.com> 1988 1989 PR c/6940 1990 * c-decl.c (grokdeclarator): Set C_ARRAY_PARAMETER. 1991 * c-tree.h (C_ARRAY_PARAMETER): Define. 1992 * c-typeck.c (c_expr_sizeof_expr): Warn when using sizeof on an array 1993 function parameter. 1994 19952014-07-02 Jan Hubicka <hubicka@ucw.cz> 1996 Chen Gang <gang.chen.5i5j@gmail.com> 1997 1998 * c-decl.c (duplicate_decls): CLear DECL_STRUCT_FUNCTION before 1999 releasing symbol. 2000 20012014-07-01 Marek Polacek <polacek@redhat.com> 2002 2003 * c-typeck.c (convert_for_assignment): Pass OPT_Wint_conversion 2004 instead of 0 to WARN_FOR_ASSIGNMENT. 2005 20062014-07-01 Marek Polacek <polacek@redhat.com> 2007 2008 PR c/58286 2009 * c-typeck.c (convert_for_assignment): Pass 2010 OPT_Wincompatible_pointer_types instead of 0 to WARN_FOR_ASSIGNMENT. 2011 20122014-06-30 Marek Polacek <polacek@redhat.com> 2013 2014 * c-decl.c (grokdeclarator): Don't instrument VLAs if the function 2015 has no_sanitize_undefined attribute. 2016 20172014-06-30 Igor Zamyatin <igor.zamyatin@intel.com> 2018 2019 PR middle-end/57541 2020 * c-array-notation.c (fix_builtin_array_notation_fn): 2021 Check for 0 arguments in builtin call. Check that bultin argument is 2022 correct. 2023 * c-parser.c (c_parser_array_notation): Check for incorrect initial 2024 index. 2025 20262014-06-27 Sebastian Huber <sebastian.huber@embedded-brains.de> 2027 2028 * c-parser.c (c_parser_declaration_or_fndef): Discard all type 2029 qualifiers in __auto_type for atomic types. 2030 (c_parser_typeof_specifier): Discard all type qualifiers in 2031 __typeof__ for atomic types. 2032 20332014-06-25 Marek Polacek <polacek@redhat.com> 2034 2035 PR c/61162 2036 * c-parser.c (c_parser_statement_after_labels): Pass the location of 2037 the return expression to c_finish_return. 2038 20392014-06-25 Jakub Jelinek <jakub@redhat.com> 2040 2041 * c-typeck.c (c_finish_omp_clauses): Make sure 2042 OMP_CLAUSE_LINEAR_STEP has correct type. 2043 20442014-06-24 Trevor Saunders <tsaunders@mozilla.com> 2045 2046 * c-decl.c: Adjust. 2047 20482014-06-24 Jakub Jelinek <jakub@redhat.com> 2049 2050 * c-parser.c (c_parser_omp_for_loop): For 2051 #pragma omp parallel for simd move lastprivate clause from parallel 2052 to for rather than simd. 2053 20542014-06-23 Marek Polacek <polacek@redhat.com> 2055 2056 * c-typeck.c (parser_build_binary_op): Don't call 2057 warn_logical_not_parentheses if the RHS is TRUTH_NOT_EXPR. 2058 20592014-06-15 Jan Hubicka <hubicka@ucw.cz> 2060 2061 * c-parser.c (c_parser_omp_threadprivate): Likewise. 2062 * c-decl.c (merge_decls): Likewise. 2063 20642014-06-09 Marek Polacek <polacek@redhat.com> 2065 2066 PR c/36446 2067 * c-typeck.c (error_init): Call inform instead of error_at. 2068 (pedwarn_init): Call inform instead of pedwarn. 2069 (warning_init): Call inform instead of warning_at. 2070 20712014-06-07 Jan Hubicka <hubicka@ucw.cz> 2072 2073 * c-decl.c (merge_decls): Use set_decl_section_name. 2074 (duplicate_decls): Remove node if it exists. 2075 20762014-06-05 S. Gilles <sgilles@terpmail.umd.edu> 2077 2078 PR c/53119 2079 * c-typeck.c (push_init_level, process_init_element, 2080 pop_init_level): Correct check for zero initialization, move 2081 missing brace warning to respect zero initialization. 2082 20832014-06-05 Marek Polacek <polacek@redhat.com> 2084 2085 PR c/56724 2086 * c-typeck.c (convert_for_assignment): Use expr_loc for ic_argpass. 2087 20882014-06-05 Marek Polacek <polacek@redhat.com> 2089 2090 PR c/49706 2091 * c-typeck.c (parser_build_binary_op): Warn when logical not is used 2092 on the left hand side operand of a comparison. 2093 20942014-06-05 Marek Polacek <polacek@redhat.com> 2095 2096 PR c/48062 2097 * c-decl.c (warn_if_shadowing): Call inform instead of warning_at. 2098 Print note only if the warning was printed. 2099 21002014-06-04 Igor Zamyatin <igor.zamyatin@intel.com> 2101 2102 PR c/58942 2103 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case 2104 with a pointer. 2105 21062014-06-03 Marek Polacek <polacek@redhat.com> 2107 2108 PR c/60439 2109 * c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to 2110 c_start_case. 2111 * c-tree.h (c_start_case): Update. 2112 * c-typeck.c (c_start_case): Add new boolean parameter. Warn if 2113 switch condition has boolean value. 2114 21152014-06-02 Andrew MacLeod <amacleod@redhat.com> 2116 2117 * c-decl.c: Include builtins.h. 2118 * c-parser.c: Likewise. 2119 21202014-05-27 Marek Polacek <polacek@redhat.com> 2121 2122 PR c/56724 2123 * c-typeck.c (convert_arguments): Get location of a parameter. Change 2124 error and warning calls to error_at and warning_at. Pass location of 2125 a parameter to it. Call warning_at with OPT_Wtraditional_conversion. 2126 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and 2127 WARN_FOR_QUALIFIERS. Pass expr_loc to those. 2128 21292014-05-26 Igor Zamyatin <igor.zamyatin@intel.com> 2130 2131 PR c/61191 2132 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid 2133 function parameters. 2134 21352014-05-23 Jan Hubicka <hubicka@ucw.cz> 2136 2137 * c-decl.c (merge_decls): Preserve symtab node pointers. 2138 (duplicate_decls): Free new decl. 2139 21402014-05-23 Thomas Schwinge <thomas@codesourcery.com> 2141 2142 * c-typeck.c (c_finish_omp_clauses): Remove duplicated variable 2143 initialization. 2144 2145 * c-parser.c (c_parser_omp_target): Return bool values. 2146 21472014-05-22 Thomas Schwinge <thomas@codesourcery.com> 2148 2149 * c-parser.c (c_parser_omp_clause_thread_limit): Rename 2150 num_teams_loc variable to num_thread_limit_loc. 2151 21522014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com> 2153 2154 * c-array-notation.c (expand_array_notations): Use void_node 2155 instead of void_zero_node. 2156 21572014-05-17 Trevor Saunders <tsaunders@mozilla.com> 2158 2159 * c-decl.c (finish_struct): Adjust. 2160 (finish_enum): Likewise. 2161 (bind): Adjust. 2162 (record_inline_static): Likewise. 2163 (push_scope): Likewise. 2164 (make_label): Likewise. 2165 (lookup_label_for_goto): Likewise. 2166 (finish_struct): Likewise. 2167 (finish_enum): Likewise. 2168 (store_parm_decls): Likewise. 2169 (c_push_function_context): Likewise. 2170 * c-lang.h: Remove usage of variable_size gty attribute. 2171 * c-parser.c (c_parse_init): Adjust. 2172 (c_parse_file): Likewise. 2173 21742014-05-13 Marek Polacek <polacek@redhat.com> 2175 2176 PR c/61162 2177 * c-typeck.c (convert_for_assignment): Pass location to 2178 WARN_FOR_ASSIGNMENT instead of input_location. 2179 21802014-05-10 Marek Polacek <polacek@redhat.com> 2181 2182 * c-parser.c (c_parser_declaration_or_fndef): Pass init_loc to 2183 maybe_warn_string_init. 2184 (c_parser_postfix_expression_after_paren_type): Pass type_loc to 2185 maybe_warn_string_init. 2186 * c-tree.h (maybe_warn_string_init): Update declaration. 2187 * c-typeck.c (maybe_warn_string_init): Add location parameter. 2188 Call pedwarn_init with loc instead of with input_location. 2189 (digest_init): Pass init_loc to maybe_warn_string_init. 2190 (pop_init_level): Call pedwarn_init with loc instead of with 2191 input_location. 2192 (set_init_index): Likewise. 2193 (process_init_element): Likewise. 2194 21952014-05-09 Marek Polacek <polacek@redhat.com> 2196 2197 PR c/61096 2198 * c-parser.c (c_parser_braced_init): Pass brace_loc to push_init_level. 2199 (c_parser_initelt): Pass location to set_init_label. Pass array index 2200 location to set_init_index. 2201 * c-tree.h (push_init_level): Update declaration. 2202 (pop_init_level): Likewise. 2203 (set_init_index): Likewise. 2204 (set_init_label): Likewise. 2205 * c-typeck.c (error_init): Add location parameter. Call error_at 2206 instead of error. 2207 (digest_init): Pass init_loc to error_init. 2208 (really_start_incremental_init): 2209 (push_init_level): Add location parameter. Pass loc to pop_init_level 2210 and error_init. 2211 (pop_init_level): Likewise. 2212 (set_designator): Add location parameter. Pass loc to pop_init_level, 2213 push_init_level, and error_init. 2214 (set_init_index): Add location parameter. Pass loc to error_init and 2215 set_designator. 2216 (set_init_label): Likewise. 2217 (output_init_element): Pass loc to error_init. 2218 (process_init_element): Pass loc to error_init, pop_init_level, 2219 pedwarn_init, and push_init_level. 2220 22212014-05-09 Marek Polacek <polacek@redhat.com> 2222 2223 PR c/50459 2224 * c-parser.c (c_parser_attributes): Parse the arguments as an 2225 expression-list if the attribute takes identifier. 2226 22272014-05-08 Marek Polacek <polacek@redhat.com> 2228 2229 PR c/61053 2230 * c-decl.c (grokdeclarator): Use min_align_of_type instead of 2231 TYPE_ALIGN_UNIT. 2232 22332014-05-08 Marek Polacek <polacek@redhat.com> 2234 2235 PR c/61077 2236 * c-decl.c (start_function): Warn for _Atomic-qualified return type 2237 of main. 2238 22392014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com> 2240 Mike Stump <mikestump@comcast.net> 2241 Richard Sandiford <rdsandiford@googlemail.com> 2242 2243 * c-decl.c (check_bitfield_type_and_width): Use TYPE_SIGN. 2244 (finish_enum): Use wide-int interfaces. 2245 * c-parser.c (c_parser_cilk_clause_vectorlength): Likewise. 2246 * c-typeck.c (build_c_cast): Likewise. 2247 (set_nonincremental_init_from_string): Likewise. 2248 (c_tree_equal): Likewise. 2249 22502014-05-02 Marek Polacek <polacek@redhat.com> 2251 2252 PR c/25801 2253 * c-typeck.c (c_size_in_bytes): Update comment. Don't call error. 2254 Return size_one_node when the type is not complete. 2255 (pointer_diff): Remove comment. 2256 (build_unary_op): Improve error messages. 2257 22582014-05-02 Marek Polacek <polacek@redhat.com> 2259 2260 * c-typeck.c (c_finish_return): Separate warning_at calls. 2261 22622014-05-02 Marek Polacek <polacek@redhat.com> 2263 2264 * c-tree.h (error_init): Remove declaration. 2265 (pedwarn_init): Likewise. 2266 * c-typeck.c (error_init): Make static and move above. 2267 (pedwarn_init): Likewise. 2268 (warning_init): Move above. 2269 (maybe_warn_string_init): Likewise. 2270 22712014-05-01 Jeff Law <law@redhat.com> 2272 2273 Revert: 2274 2275 2014-04-24 Prathamesh Kulkarni <bilbotheelffriend@gmail.com> 2276 * c-parser.c (c_parser_sizeof_expression): Reorganize slightly to 2277 avoid goto. 2278 22792014-05-02 Marek Polacek <polacek@redhat.com> 2280 2281 PR c/60784 2282 * c-typeck.c (push_init_level): Set constructor_designated to 2283 p->designated for structures. 2284 22852014-05-01 Marek Polacek <polacek@redhat.com> 2286 2287 PR c/60915 2288 * c-parser.c (c_parser_declaration_or_fndef): Give better error if 2289 function-definition has an attribute after the declarator. 2290 22912014-05-01 Marek Polacek <polacek@redhat.com> 2292 2293 PR c/60257 2294 * c-typeck.c (warning_init): Add location_t parameter. Call 2295 warning_at instead of warning. 2296 (push_init_level): Pass input_location to warning_init. 2297 (add_pending_init): Add location_t parameter. Pass loc to 2298 warning_init. 2299 (set_nonincremental_init): Pass input_location to add_pending_init. 2300 (set_nonincremental_init_from_string): Likewise. 2301 (output_init_element): Pass loc to warning_init and to 2302 add_pending_init. 2303 23042014-05-01 Marek Polacek <polacek@redhat.com> 2305 2306 PR c/43395 2307 * c-typeck.c (c_finish_return): Distinguish between label and variable 2308 when warning about returning local address. 2309 23102014-05-01 Marek Polacek <polacek@redhat.com> 2311 2312 PR c/29467 2313 * c-decl.c (declspecs_add_type): Pedwarn if boolean types are used 2314 in C89 mode. 2315 23162014-05-01 Marek Polacek <polacek@redhat.com> 2317 2318 PR c/43245 2319 * c-typeck.c (convert_for_assignment): Pass OPT_Wdiscarded_qualifiers 2320 instead of 0 to WARN_FOR_QUALIFIERS. 2321 23222014-05-01 Marek Polacek <polacek@redhat.com> 2323 2324 PR c/56989 2325 * c-typeck.c (default_conversion): Use better location for 2326 error call. 2327 23282014-04-30 Marek Polacek <polacek@redhat.com> 2329 2330 * c-typeck.c (build_binary_op): Call ubsan_instrument_division 2331 also when SANITIZE_FLOAT_DIVIDE is on. 2332 23332014-04-30 Marek Polacek <polacek@redhat.com> 2334 2335 PR c/60139 2336 * c-typeck.c (output_init_element): Pass OPT_Wpedantic to pedwarn 2337 and pedwarn_init. Use loc insted of input_location. 2338 23392014-04-30 Marek Polacek <polacek@redhat.com> 2340 2341 PR c/60351 2342 * c-typeck.c (build_binary_op): Use location when warning about 2343 shift count. 2344 23452014-04-25 Marek Polacek <polacek@redhat.com> 2346 2347 PR c/18079 2348 * c-decl.c (diagnose_mismatched_decls): Warn for mismatched 2349 always_inline/noinline and hot/cold attributes. 2350 23512014-04-25 Marek Polacek <polacek@redhat.com> 2352 2353 PR c/60114 2354 * c-parser.c (c_parser_initelt): Pass input_location to 2355 process_init_element. 2356 (c_parser_initval): Pass loc to process_init_element. 2357 * c-tree.h (process_init_element): Adjust declaration. 2358 * c-typeck.c (push_init_level): Pass input_location to 2359 process_init_element. 2360 (pop_init_level): Likewise. 2361 (set_designator): Likewise. 2362 (output_init_element): Add location_t parameter. Pass loc to 2363 digest_init. 2364 (output_pending_init_elements): Pass input_location to 2365 output_init_element. 2366 (process_init_element): Add location_t parameter. Pass loc to 2367 output_init_element. 2368 23692014-04-24 Jakub Jelinek <jakub@redhat.com> 2370 2371 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before 2372 atomic-clause, allow comma in between atomic-clause and 2373 seq_cst. 2374 23752014-04-22 Jakub Jelinek <jakub@redhat.com> 2376 2377 PR c/59073 2378 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for 2379 fails, don't set OM_PARALLEL_COMBINED and return NULL. 2380 23812014-04-12 Igor Zamyatin <igor.zamyatin@intel.com> 2382 2383 PR middle-end/60469 2384 * c-array-notation.c (fix_builtin_array_notation_fn): Use 2385 create_tmp_var instead build_decl for creating temps. 2386 (build_array_notation_expr): Likewise. 2387 (fix_conditional_array_notations_1): Likewise. 2388 (fix_array_notation_expr): Likewise. 2389 (fix_array_notation_call_expr): Likewise. 2390 23912014-03-28 Jakub Jelinek <jakub@redhat.com> 2392 2393 PR c++/60689 2394 * c-tree.h (c_build_function_call_vec): New prototype. 2395 * c-typeck.c (build_function_call_vec): Don't call 2396 resolve_overloaded_builtin here. 2397 (c_build_function_call_vec): New wrapper function around 2398 build_function_call_vec. Call resolve_overloaded_builtin here. 2399 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign): 2400 Call c_build_function_call_vec instead of build_function_call_vec. 2401 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise. 2402 * c-decl.c (finish_decl): Likewise. 2403 24042014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org> 2405 2406 PR c/55383 2407 * c-typeck.c: Use correct format string in cast-qual warning 2408 24092014-03-07 Thomas Schwinge <thomas@codesourcery.com> 2410 2411 * c-decl.c (c_decl_attributes): Use 2412 lang_hooks.types.omp_mappable_type. 2413 * c-typeck.c (c_finish_omp_clauses): Likewise. 2414 24152014-03-06 Marek Polacek <polacek@redhat.com> 2416 2417 PR c/60197 2418 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead 2419 of checking tree code. 2420 24212014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com> 2422 2423 * c-parser.c (c_parser_declspecs): Replace call to error by error_at. 2424 (c_parser_parameter_declaration): Likewise. 2425 24262014-02-19 Marek Polacek <polacek@redhat.com> 2427 2428 PR c/60195 2429 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp. 2430 Call mark_exp_read on exp.value. 2431 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set 2432 TREE_ADDRESSABLE on old instead of val. 2433 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING. 2434 24352014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com> 2436 2437 * c-parser.c (c_parser_get_builtin_args): Replace calls to 2438 C_EXPR_APPEND by vec_safe_push. 2439 * c-tree.h (C_EXPR_APPEND): Remove. 2440 24412014-01-31 Marek Polacek <polacek@redhat.com> 2442 2443 PR c/59963 2444 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to 2445 build_function_call_vec. 2446 (build_function_call): Likewise. 2447 (build_atomic_assign): Likewise. 2448 (build_function_call_vec): Add arg_loc parameter. Use it. 2449 (convert_arguments): Likewise. 2450 (convert_for_assignment): Rename rhs_loc to expr_loc. 2451 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list. 2452 (c_parser_objc_keywordexpr): Likewise. 2453 (c_parser_postfix_expression_after_primary): Call 2454 build_function_call_vec with expr_loc rather than op_loc. 2455 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to 2456 build_function_call_vec. 2457 (c_parser_expr_list): Add locations parameter. Fill it with locations 2458 of function arguments. 2459 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec. 2460 24612014-01-30 Marek Polacek <polacek@redhat.com> 2462 2463 PR c/59940 2464 * c-typeck.c (build_function_call_vec): Use loc parameter. 2465 (convert_arguments): Add location parameter. Use it. 2466 (ep_convert_and_check): Likewise. 2467 (build_atomic_assign): Adjust convert_for_assignment call. 2468 (build_modify_expr): Likewise. 2469 (digest_init): Likewise. 2470 (c_finish_return): Likewise. 2471 (build_conditional_expr): Adjust ep_convert_and_check calls. 2472 (convert_for_assignment): Add rhs_loc parameter. Use it. 2473 (build_binary_op): Adjust convert_and_check and ep_convert_and_check 2474 calls. 2475 24762014-01-30 Richard Biener <rguenther@suse.de> 2477 2478 PR c/59905 2479 * c-typeck.c (build_function_call_vec): Do not replace calls 2480 to a function via an incompatible type with a runtime abort. 2481 24822014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com> 2483 2484 * c-parser.c (c_parser_declaration_or_fndef): Replaced 2485 flag_enable_cilkplus with flag_cilkplus. 2486 (c_parser_direct_declarator_inner): Likewise. 2487 (c_parser_attribute_any_word): Likewise. 2488 (c_parser_attributes): Likewise. 2489 (c_parser_compound_statement): Likewise. 2490 (c_parser_statement_after_labels): Likewise. 2491 (c_parser_if_statement): Likewise. 2492 (c_parser_switch_statement): Likewise. 2493 (c_parser_do_statement): Likewise. 2494 (c_parser_for_statement): Likewise. 2495 (c_parser_unary_expression): Likewise. 2496 (c_parser_postfix_expression): Likewise. 2497 (c_parser_postfix_expression_after_primary): Likewise. 2498 (c_parser_postfix_expression_after_primary): Likewise. 2499 (c_parser_omp_clause_name): Likewise. 2500 (c_finish_omp_declare_simd): Likewise. 2501 (c_parser_cilk_verify_simd): Likewise. 2502 * c-typeck.c (build_array_ref): Likewise. 2503 (build_function_call_vec): Likewise. 2504 (convert_arguments): Likewise. 2505 (build_compound_expr): Likewise. 2506 (c_finish_return): Likewise. 2507 (c_finish_if_stmt): Likewise. 2508 (c_finish_loop): Likewise. 2509 (build_binary_op): Likewise. 2510 25112014-01-23 Marek Polacek <polacek@redhat.com> 2512 2513 PR c/59846 2514 * c-typeck.c (parser_build_binary_op): Use location instead of 2515 input_location. 2516 (build_binary_op): Pass location to shorten_compare. 2517 25182014-01-23 Marek Polacek <polacek@redhat.com> 2519 2520 PR c/58346 2521 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to 2522 an empty aggregate. 2523 25242014-01-23 Marek Polacek <polacek@redhat.com> 2525 2526 PR c/59871 2527 * c-typeck.c (build_compound_expr): Warn even for right-hand operand 2528 of a comma expression. 2529 (emit_side_effect_warnings): Likewise. 2530 25312014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com> 2532 2533 PR c/59825 2534 * c-array-notation.c (expand_array_notation_exprs): Rewrote this 2535 function to use walk_tree and moved a lot of its functionality to 2536 expand_array_notations. 2537 (expand_array_notations): New function. 2538 25392014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com> 2540 2541 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function" 2542 attribute an attribute without value. 2543 25442014-01-23 Jakub Jelinek <jakub@redhat.com> 2545 2546 PR middle-end/58809 2547 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR, 2548 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs. 2549 25502014-01-22 Marek Polacek <polacek@redhat.com> 2551 2552 PR c/59891 2553 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead 2554 of remove_c_maybe_const_expr on op1 and op2. 2555 25562014-01-15 Jakub Jelinek <jakub@redhat.com> 2557 2558 PR c/58943 2559 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side 2560 effects, preevaluate rhs using SAVE_EXPR first. 2561 25622014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com> 2563 2564 PR c++/59631 2565 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if 2566 statements with if-elseif statements. 2567 25682014-01-06 Marek Polacek <polacek@redhat.com> 2569 2570 PR c/57773 2571 * c-decl.c (check_bitfield_type_and_width): Warn for implementation 2572 defined bit-field types only in ISO C. 2573 25742014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 2575 2576 Update copyright years 2577 25782014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 2579 2580 * c-array-notation.c: Use the standard form for the copyright notice. 2581 25822013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com> 2583 2584 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field. 2585 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens 2586 field in parser is not empty. If not-empty, call the function 2587 c_parser_finish_omp_declare_simd. 2588 (c_parser_cilk_clause_vectorlength): Modified function to be shared 2589 between SIMD-enabled functions and #pragma simd. Added new parameter. 2590 (c_parser_cilk_all_clauses): Modified the usage of the function 2591 c_parser_cilk_clause_vectorlength as mentioned above. 2592 (c_parser_cilk_simd_fn_vector_attrs): New function. 2593 (c_finish_cilk_simd_fn_tokens): Likewise. 2594 (is_cilkplus_vector_p): Likewise. 2595 (c_parser_omp_clause_name): Added checking for "vectorlength," 2596 "nomask," and "mask" strings in clause name. 2597 (c_parser_omp_all_clauses): Added 3 new case statements: 2598 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and 2599 PRAGMA_CILK_CLAUSE_NOMASK. 2600 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a 2601 check for vector attribute and if so call the function 2602 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled, 2603 called the function c_finish_cilk_simd_fn_tokens. 2604 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in 2605 parser field is non-empty. If so, parse them as you would parse 2606 the omp declare simd pragma. 2607 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn. 2608 Added a check when step is a parameter and flag it as error. 2609 (CILK_SIMD_FN_CLAUSE_MASK): New #define. 2610 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to 2611 pragma_omp_clause. 2612 26132013-12-17 Thomas Schwinge <thomas@codesourcery.com> 2614 2615 * c-parser.c (c_parser_omp_parallel): Fix description. 2616 26172013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com> 2618 2619 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove. 2620 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise. 2621 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise. 2622 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function. 2623 26242013-12-04 Joseph Myers <joseph@codesourcery.com> 2625 2626 PR c/52023 2627 * c-parser.c (c_parser_alignas_specifier): Use 2628 c_sizeof_or_alignof_type instead of c_alignof. 2629 (c_parser_alignof_expression): Likewise, with min_alignof 2630 parameter depending on alignof spelling used. 2631 26322013-12-04 Marek Polacek <polacek@redhat.com> 2633 2634 PR c/54113 2635 * c-decl.c (start_function): Don't warn for missing prototype for 2636 inline functions. 2637 26382013-12-03 Marek Polacek <polacek@redhat.com> 2639 2640 PR c/59351 2641 * c-decl.c (build_compound_literal): Allow compound literals with 2642 empty initial value. 2643 26442013-12-02 Joseph Myers <joseph@codesourcery.com> 2645 2646 PR c/58235 2647 * c-typeck.c (build_modify_expr): Diagnose assignment to 2648 expression with array type. 2649 26502013-11-29 Joseph Myers <joseph@codesourcery.com> 2651 2652 PR c/42262 2653 * c-typeck.c (process_init_element): Do not treat a string as 2654 initializing a whole array when used with a designator for an 2655 individual element. 2656 26572013-11-29 Joseph Myers <joseph@codesourcery.com> 2658 2659 PR c/57574 2660 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of 2661 an inline function following a static declaration. 2662 26632013-11-28 Jakub Jelinek <jakub@redhat.com> 2664 2665 PR c/59310 2666 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target" 2667 to p_name before calling c_parser_omp_teams instead of after. 2668 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser 2669 argument. Remove unused p_name variable. 2670 26712013-11-27 Aldy Hernandez <aldyh@redhat.com> 2672 Jakub Jelinek <jakub@redhat.com> 2673 2674 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if 2675 external_scope is NULL. 2676 26772013-11-27 Tom de Vries <tom@codesourcery.com> 2678 Marc Glisse <marc.glisse@inria.fr> 2679 2680 PR c++/59032 2681 * c-typeck.c (build_unary_op): Allow vector increment and decrement. 2682 26832013-11-22 Andrew MacLeod <amacleod@redhat.com> 2684 2685 * c-typeck.c: Add required include files from gimple.h. 2686 26872013-11-22 David Malcolm <dmalcolm@redhat.com> 2688 2689 * c-decl.c (define_label, shadow_tag_warned) 2690 (check_bitfield_type_and_width, grokdeclarator, grokparms, 2691 store_parm_decls_newstyle, store_parm_decls_oldstyle) 2692 (declspecs_add_type): Remove use of in_system_header macro. 2693 * c-parser.c (c_parser_unary_expression): Likewise. 2694 * c-typeck.c (store_init_value, process_init_element) 2695 (c_start_case): Likewise. 2696 2697 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE 2698 macro. 2699 2700 * c-parser.c (c_parser_set_source_position_from_token): Remove 2701 reference to in_system_header from comment. 2702 27032013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 2704 2705 * c-decl.c (grokdeclarator): Update comment to refer to 2706 tree_to_[su]hwi rather than tree_low_cst. 2707 27082013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 2709 2710 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with 2711 tree_to_uhwi throughout. 2712 27132013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 2714 2715 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi 2716 throughout. 2717 27182013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 2719 2720 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p 2721 throughout. 2722 27232013-11-15 Aldy Hernandez <aldyh@redhat.com> 2724 2725 * c-parser.c (c_parser_cilk_simd): New. 2726 (c_parser_cilk_verify_simd): New. 2727 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD. 2728 (c_parser_omp_for_loop): Add case for NE_EXPR. 2729 Set c_break_label for CILK_SIMD. 2730 (c_parser_cilk_clause_vectorlength): New. 2731 (c_parser_cilk_clause_linear): New. 2732 (c_parser_cilk_clause_name): New. 2733 (c_parser_cilk_all_clauses): New. 2734 * c-typeck.c (build_unary_op): Pass location argument to 2735 readonly_error. 2736 (build_modify_expr): Same. 2737 (build_asm_expr): Same. 2738 (c_finish_bc_stmt): Error on break/continue in loops. 2739 27402013-11-14 Andrew MacLeod <amacleod@redhat.com> 2741 2742 * c-typeck.c: Include only gimplify.h and gimple.h as needed. 2743 27442013-11-14 Diego Novillo <dnovillo@google.com> 2745 2746 * c-decl.c: Include print-tree.h. 2747 Include stor-layout.h. 2748 Include varasm.h. 2749 Include attribs.h. 2750 Include stringpool.h. 2751 * c-lang.c: Include fold-const.h. 2752 * c-parser.c: Include stringpool.h. 2753 Include attribs.h. 2754 Include stor-layout.h. 2755 Include varasm.h. 2756 Include trans-mem.h. 2757 * c-typeck.c: Include stor-layout.h. 2758 Include trans-mem.h. 2759 Include varasm.h. 2760 Include stmt.h. 2761 27622013-11-13 Joseph Myers <joseph@codesourcery.com> 2763 2764 * c-tree.h (c_typespec_keyword): Add cts_auto_type. 2765 * c-decl.c (declspecs_add_type, finish_declspecs): Handle 2766 __auto_type. 2767 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs) 2768 (c_parser_attribute_any_word, c_parser_objc_selector): Handle 2769 RID_AUTO_TYPE. 2770 (c_parser_declspecs): Take argument AUTO_TYPE_OK. 2771 (c_parser_declaration_or_fndef, c_parser_struct_declaration) 2772 (c_parser_declarator, c_parser_direct_declarator_inner) 2773 (c_parser_parameter_declaration, c_parser_type_name): All callers 2774 changed. 2775 (c_parser_declaration_or_fndef): Handle declarations with type 2776 determined from the initializer. 2777 27782013-11-12 Andrew MacLeod <amacleod@redhat.com> 2779 2780 * c-typeck.c: Include gimplify.h. 2781 27822013-11-12 Joseph Myers <joseph@codesourcery.com> 2783 2784 * c-tree.h (struct c_declspecs): Add thread_gnu_p field. 2785 * c-parser.c (c_parser_declspecs): Mention _Thread_local in 2786 comment. 2787 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread 2788 or _Thread_local as appropriate in diagnostics. 2789 (build_null_declspecs): Initialize ret->thread_gnu_p. 2790 (declspecs_add_scspec): Handle either __thread or _Thread_local 2791 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if 2792 pedantic. Do not disallow _Thread_local extern and _Thread_local 2793 static. 2794 27952013-11-07 Joseph Myers <joseph@codesourcery.com> 2796 Andrew MacLeod <amacleod@redhat.com> 2797 2798 * c-aux-info.c (gen_type): Handle atomic qualifier. 2799 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic 2800 qualifiers when compating types. 2801 (shadow_tag_warned): Handle atomic_p in declspecs. 2802 (quals_from_declspecs): Likewise. 2803 (start_decl): Use c_type_promotes_to when promoting argument 2804 types. 2805 (grokdeclarator): Handle _Atomic. 2806 (get_parm_info): Diagnose any qualifier on "void" as only 2807 parameter. 2808 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when 2809 comparing types. Use c_type_promotes_to when promoting argument 2810 types. 2811 (finish_function): Use c_type_promotes_to when promoting argument 2812 types. 2813 (build_null_declspecs): Handle atomic_p in declspecs. 2814 (declspecs_add_qual): Handle RID_ATOMIC. 2815 * c-parser.c (c_token_starts_typename, c_token_is_qualifier) 2816 (c_token_starts_declspecs): Handle RID_ATOMIC. 2817 (c_parser_declspecs): Handle atomic type specifiers and 2818 qualifiers. 2819 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers 2820 from types of expressions with atomic type. 2821 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue. 2822 (c_parser_attribute_any_word): Handle RID_ATOMIC. 2823 (c_parser_initializer, c_parser_initelt, c_parser_initval) 2824 (c_parser_statement_after_labels, c_parser_switch_statement) 2825 (c_parser_for_statement, c_parser_expr_no_commas) 2826 (c_parser_conditional_expression, c_parser_binary_expression) 2827 (c_parser_cast_expression, c_parser_unary_expression) 2828 (c_parser_postfix_expression) 2829 (c_parser_postfix_expression_after_primary, c_parser_expression): 2830 Use convert_lvalue_to_rvalue. 2831 (c_parser_expression_conv, c_parser_expr_list): Document 2832 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue. 2833 (c_parser_objc_synchronized_statement): Use 2834 convert_lvalue_to_rvalue. 2835 (c_parser_objc_selector): Handle RID_ATOMIC. 2836 (c_parser_objc_receiver, c_parser_array_notation): Use 2837 convert_lvalue_to_rvalue. 2838 * c-tree.h (ctsk_typeof): Adjust comment to mention use for 2839 _Atomic (type-name). 2840 (struct c_declspecs): Add atomic_p field. 2841 (convert_lvalue_to_rvalue): Declare. 2842 * c-typeck.c (c_type_promotes_to): Promote atomic types to 2843 corresponding atomic types. 2844 (qualify_type): Don't add _Atomic qualifiers from second argument. 2845 (comp_target_types): Do not allow _Atomic mismatches. 2846 (type_lists_compatible_p): Do not remove atomic qualifiers when 2847 comparing types. 2848 (really_atomic_lvalue, convert_lvalue_to_rvalue) 2849 (build_atomic_assign): New functions. 2850 (build_unary_op): Use build_atomic_assign for atomic increment and 2851 decrement. 2852 (build_conditional_expr): Do not treat _Atomic void as a qualified 2853 version of void. 2854 (build_modify_expr): Use build_atomic_assign for atomic LHS. 2855 (find_anonymous_field_with_type, convert_to_anonymous_field) 2856 (convert_for_assignment): Do not remove atomic qualifiers when 2857 comparing types. 2858 (digest_init): Do not accept initialization of arrays of atomic 2859 elements by string constants. 2860 (build_asm_expr): Use convert_lvalue_to_rvalue. 2861 (build_binary_op): Do not treat _Atomic void as a qualified 2862 version of void. 2863 28642013-11-06 DJ Delorie <dj@redhat.com> 2865 2866 * c-decl.c (locate_old_decl): If a previous conflicting decl is 2867 both explicit and builtin, print the location of the explicit one. 2868 28692013-11-05 Tobias Burnus <burnus@net-b.de> 2870 2871 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel, 2872 c_parser_omp_distribute, c_parser_omp_teams, 2873 c_parser_omp_target, c_parser_omp_declare): Handle 2874 -fopenmp-simd. 2875 28762013-11-03 Marek Polacek <polacek@redhat.com> 2877 2878 * c-decl.c (grokdeclarator): Add VLA instrumentation. 2879 28802013-11-01 Jakub Jelinek <jakub@redhat.com> 2881 2882 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to 2883 check_dup_generic at the end, unless remove is true. 2884 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after 2885 remove = true;. 2886 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise. 2887 28882013-10-31 Jakub Jelinek <jakub@redhat.com> 2889 2890 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause 2891 with decl that is not pointer nor array. 2892 28932013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com> 2894 2895 * c-decl.c (finish_function): Added a call for insert_cilk_frame when 2896 a spawning function is found. 2897 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define. 2898 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise. 2899 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise. 2900 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC 2901 case. 2902 (c_parser_postfix_expression): Added RID_CILK_SPAWN case. 2903 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma 2904 expr. 2905 (c_finish_return): Added a check to reject _Cilk_spawn in return 2906 expression. 2907 (build_cilk_spawn): New function. 2908 (build_cilk_sync): Likewise. 2909 * Makefile.in (c-decl.o): Added cilk.h in dependency list. 2910 29112013-10-27 Tobias Burnus <burnus@net-b.de> 2912 2913 PR other/33426 2914 * c-parser.c (c_parser_while_statement, c_parser_while_statement, 2915 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'. 2916 (c_parser_statement_after_labels): Update calls. 2917 29182013-10-24 Tobias Burnus <burnus@net-b.de> 2919 2920 PR other/33426 2921 * c-parser.c (c_parser_pragma, c_parser_for_statement): 2922 Handle PRAGMA_IVDEP. 2923 (c_parser_statement_after_labels): Update call. 2924 29252013-10-24 Marek Polacek <polacek@redhat.com> 2926 2927 * c-parser.c (c_parser_struct_declaration): Add a comment. 2928 (c_parser_declarator): Don't allow _Alignas here. 2929 29302013-10-17 Andrew MacLeod <amacleod@redhat.com> 2931 2932 * c-parser.c: Include omp-low.h. 2933 * c-typeck.c: Likewise. 2934 29352013-10-17 Marek Polacek <polacek@redhat.com> 2936 2937 PR c/58267 2938 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter. 2939 Document syntax of the array-declarator. 2940 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs 2941 are not permitted. 2942 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call. 2943 (c_parser_struct_declaration): Likewise. 2944 (c_parser_declarator): Likewise. 2945 (c_parser_direct_declarator_inner): Likewise. 2946 (c_parser_parameter_declaration): Likewise. 2947 (c_parser_type_name): Likewise. 2948 29492013-10-11 Jakub Jelinek <jakub@redhat.com> 2950 2951 * c-lang.h (current_omp_declare_target_attribute): New extern 2952 decl. 2953 * c-parser.c: Include c-lang.h. 2954 (struct c_parser): Change tokens to c_token *. 2955 Add tokens_buf field. Change tokens_avail type to unsigned int. 2956 (c_parser_consume_token): If parser->tokens isn't 2957 &parser->tokens_buf[0], increment parser->tokens. 2958 (c_parser_consume_pragma): Likewise. 2959 (enum pragma_context): Add pragma_struct and pragma_param. 2960 (c_parser_external_declaration): Adjust 2961 c_parser_declaration_or_fndef caller. 2962 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses 2963 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd. 2964 Adjust recursive call. 2965 (c_parser_struct_or_union_specifier): Use pragma_struct instead 2966 of pragma_external. 2967 (c_parser_parameter_declaration): Use pragma_param instead of 2968 pragma_external. 2969 (c_parser_compound_statement_nostart, c_parser_label, 2970 c_parser_for_statement): Adjust 2971 c_parser_declaration_or_fndef callers. 2972 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass 2973 it through to c_parser_conditional_expression. 2974 (c_parser_conditional_expression): Add omp_atomic_lhs argument, 2975 pass it through to c_parser_binary_expression. Adjust recursive 2976 call. 2977 (c_parser_binary_expression): Remove prec argument, add 2978 omp_atomic_lhs argument instead. Always start from PREC_NONE, if 2979 omp_atomic_lhs is non-NULL and one of the arguments of toplevel 2980 binop matches it, use build2 instead of parser_build_binary_op. 2981 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL, 2982 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET, 2983 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION. 2984 Handle pragma_struct and pragma_param the same as pragma_external. 2985 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names. 2986 (c_parser_omp_variable_list): Parse array sections for 2987 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses. 2988 (c_parser_omp_clause_collapse): Fully fold collapse expression. 2989 (c_parser_omp_clause_reduction): Handle user defined reductions. 2990 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind, 2991 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit, 2992 c_parser_omp_clause_aligned, c_parser_omp_clause_linear, 2993 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen, 2994 c_parser_omp_clause_depend, c_parser_omp_clause_map, 2995 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule, 2996 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to, 2997 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions. 2998 (c_parser_omp_all_clauses): Add finish_p argument. Don't call 2999 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses. 3000 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is 3001 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms. 3002 (c_parser_omp_for_loop): Add CODE argument, pass it through 3003 to c_finish_omp_for. Change last argument to cclauses, 3004 and adjust uses to grab parallel clauses from the array of all 3005 the split clauses. Adjust c_parser_binary_expression, 3006 c_parser_declaration_or_fndef and c_finish_omp_for callers. 3007 (omp_split_clauses): New function. 3008 (c_parser_omp_simd): New function. 3009 (c_parser_omp_for): Add p_name, mask and cclauses arguments. 3010 Allow the function to be called also when parsing combined constructs, 3011 and call c_parser_omp_simd when parsing for simd. 3012 (c_parser_omp_sections_scope): If section-sequence doesn't start with 3013 #pragma omp section, require exactly one structured-block instead of 3014 sequence of statements. 3015 (c_parser_omp_sections): Add p_name, mask and cclauses arguments. 3016 Allow the function to be called also when parsing combined constructs. 3017 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments. 3018 Allow the function to be called also when parsing combined 3019 constructs. 3020 (c_parser_omp_taskgroup, c_parser_omp_cancel, 3021 c_parser_omp_cancellation_point, c_parser_omp_distribute, 3022 c_parser_omp_teams, c_parser_omp_target_data, 3023 c_parser_omp_target_update, c_parser_omp_target, 3024 c_parser_omp_declare_simd, c_finish_omp_declare_simd, 3025 c_parser_omp_declare_target, c_parser_omp_end_declare_target, 3026 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions. 3027 (c_parser_omp_construct): Add p_name and mask vars. Handle 3028 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP, 3029 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel 3030 and c_parser_omp_sections callers. 3031 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here. 3032 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK, 3033 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. 3034 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND. 3035 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add 3036 OMP_CLAUSE_DEPEND. 3037 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK, 3038 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK, 3039 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK, 3040 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK, 3041 OMP_DECLARE_SIMD_CLAUSE_MASK): Define. 3042 * c-typeck.c: Include tree-inline.h. 3043 (c_finish_omp_cancel, c_finish_omp_cancellation_point, 3044 handle_omp_array_sections_1, handle_omp_array_sections, 3045 c_clone_omp_udr, c_find_omp_placeholder_r): New functions. 3046 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and 3047 user defined reductions. 3048 (c_tree_equal): New function. 3049 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls, 3050 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal, 3051 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup, 3052 c_check_omp_declare_reduction_r): New prototypes. 3053 * c-decl.c (current_omp_declare_target_attribute): New variable. 3054 (c_decl_attributes): New function. 3055 (start_decl, start_function): Use it instead of decl_attributes. 3056 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id, 3057 c_omp_reduction_decl, c_omp_reduction_lookup, 3058 c_check_omp_declare_reduction_r): New functions. 3059 30602013-09-25 Tom Tromey <tromey@redhat.com> 3061 3062 * Make-lang.in (c/gccspec.o): Remove. 3063 (CFLAGS-c/gccspec.o): New variable. 3064 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o) 3065 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o) 3066 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove. 3067 30682013-09-25 Tom Tromey <tromey@redhat.com> 3069 3070 * Make-lang.in (c/gccspec.o): Don't use subshell. 3071 30722013-09-18 Marek Polacek <polacek@redhat.com> 3073 3074 PR sanitize/58443 3075 * c-typeck.c (build_binary_op): Properly honor -fsanitize options. 3076 Remove unnecessary check. 3077 30782013-09-18 Marek Polacek <polacek@redhat.com> 3079 3080 PR sanitizer/58411 3081 * c-typeck.c (build_binary_op): Don't sanitize function if it has the 3082 no_sanitize_undefined attribute. 3083 30842013-09-13 Kai Tietz <ktietz@redhat.com> 3085 3086 PR target/57848 3087 * c-decl.c (c_builtin_function_ext_scope): Remove 3088 wrong assumption that it is never called on prexisting 3089 symbol. 3090 30912013-09-08 Joern Rennecke <joern.rennecke@embecosm.com> 3092 3093 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p. 3094 30952013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net> 3096 3097 * c-objc-common.c (c_tree_printer): Tidy. 3098 30992013-08-30 Marek Polacek <polacek@redhat.com> 3100 3101 * c-typeck.c (build_binary_op): Add division by zero and shift 3102 instrumentation. 3103 31042013-08-26 Joern Rennecke <joern.rennecke@embecosm.com> 3105 Joseph Myers <joseph@codesourcery.com> 3106 3107 PR c/35649 3108 * c-typeck.c (c_common_type): Prefer double_type_node over 3109 other REAL_TYPE types with the same precision. 3110 (convert_arguments): Likewise. 3111 31122013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net> 3113 3114 * c-objc-common.c (c_tree_printer): Document the nature of the cast. 3115 (c_initialize_diagnostics): Call a destructor for the early printer. 3116 31172013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net> 3118 3119 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty 3120 printer initialization. 3121 31222013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com> 3123 3124 PR c/57490 3125 * c-array-notation.c (fix_conditional_array_notations_1): Added a 3126 check for truth values. 3127 (expand_array_notation_exprs): Added truth values case. Removed an 3128 unwanted else. Added for-loop to walk through subtrees in default 3129 case. 3130 31312013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net> 3132 3133 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base. 3134 31352013-07-23 Joseph Myers <joseph@codesourcery.com> 3136 3137 * c-parser.c (struct c_generic_association): Fix typo. 3138 31392013-07-23 Tom Tromey <tromey@redhat.com> 3140 Joseph Myers <joseph@codesourcery.com> 3141 3142 * c-parser.c (struct c_generic_association): New. 3143 (c_generic_association_d): New typedef. 3144 (c_parser_generic_selection): New function. 3145 (c_parser_postfix_expression): Handle RID_GENERIC. 3146 31472013-07-13 Jason Merrill <jason@redhat.com> 3148 3149 PR c++/57793 3150 * c-decl.c (finish_struct): Check for too-large class. 3151 31522013-07-04 Joern Rennecke <joern.rennecke@embecosm.com> 3153 3154 PR c/57821 3155 * c-typeck.c (set_init_index): When folding, check for index overflow. 3156 31572013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com> 3158 3159 * c-parser.c (c_parser_array_notation): Removed rejection of array 3160 notations in an array of function pointers. 3161 31622013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com> 3163 3164 * c-array-notation.c (make_triplet_val_inv): New function. 3165 (create_cmp_incr): Likewise. 3166 (create_array_refs): Likewise. 3167 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec. 3168 Also modularized common parts between functions and called the function. 3169 (build_array_notation_expr): Likewise. 3170 (fix_conditional_array_notations_1): Likewise. 3171 (fix_array_notation_expr): Likewise. 3172 (fix_array_notation_call_expr): Likewise. 3173 31742013-06-18 Marek Polacek <polacek@redhat.com> 3175 3176 PR c/57630 3177 * c-decl.c (check_for_loop_decls): Improve diagnostics messages. 3178 31792013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com> 3180 3181 * c-array-notation.c (build_array_notation_expr): Reject array notation 3182 mismatch between LHS and RHS even inside a call_expr. Also, removed 3183 a couple while statements that were dead code. 3184 31852013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com> 3186 3187 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded 3188 excessive precision expressions in function parameters. Also removed 3189 couple unwanted while statements. 3190 31912013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com> 3192 3193 * c-array-notation.c (expand_array_notation_exprs): Added 3194 ARRAY_NOTATION_REF case. 3195 31962013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com> 3197 3198 * c-array-notation.c (length_mismatch_in_expr_p): Moved this 3199 function to c-family/array-notation-common.c. 3200 (is_cilkplus_reduce_builtin): Likewise. 3201 (find_rank): Likewise. 3202 (extract_array_notation_exprs): Likewise. 3203 (replace_array_notations): Likewise. 3204 (find_inv_trees): Likewise. 3205 (replace_inv_trees): Likewise. 3206 (contains_array_notation_expr): Likewise. 3207 (find_correct_array_notation_type): Likewise. 3208 (replace_invariant_exprs): Initialized additional_tcodes to NULL. 3209 (struct inv_list): Moved this to c-family/array-notation-common.c. 3210 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype. 3211 32122013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com> 3213 3214 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus 3215 reduction functions outside the for-loop. Added a check if the fundecl 3216 is non-NULL. Finally, removed an unwanted if-statement, and made the 3217 body unconditional. 3218 32192013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com> 3220 3221 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the 3222 condition of the if-statement matches the rank of else-block and then- 3223 block when array notations are used. 3224 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation 3225 expression after the entire function body is parsed. 3226 (c_parser_expr_no_commas): Delayed creating array notation expressions 3227 to the end of function parsing. 3228 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the 3229 whole if-statement instead of just the condition. 3230 (expand_array_notation_exprs): Added MODIFY_EXPR case. 3231 32322013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com> 3233 3234 PR c/57474 3235 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length 3236 array to NULL_TREE if they are unused. Also added a check for the 3237 field to be NULL before its fields are used in future. 3238 32392013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3240 3241 PR bootstrap/57450 3242 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi. 3243 (build_array_notation_expr): Likewise. 3244 32452013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com> 3246 3247 * c-typeck.c (build_array_ref): Added a check to see if array's 3248 index is greater than one. If true, then emit an error. 3249 (build_function_call_vec): Exclude error reporting and checking 3250 for builtin array-notation functions. 3251 (convert_arguments): Likewise. 3252 (c_finish_return): Added a check for array notations as a return 3253 expression. If true, then emit an error. 3254 (c_finish_loop): Added a check for array notations in a loop 3255 condition. If true then emit an error. 3256 (lvalue_p): Added a ARRAY_NOTATION_REF case. 3257 (build_binary_op): Added a check for array notation expr inside 3258 op1 and op0. If present, we call another function to find correct 3259 type. 3260 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o. 3261 * c-parser.c (c_parser_compound_statement): Check if array 3262 notation code is used in tree, if so, then transform them into 3263 appropriate C code. 3264 (c_parser_expr_no_commas): Check if array notation is used in LHS 3265 or RHS, if so, then build array notation expression instead of 3266 regular modify. 3267 (c_parser_postfix_expression_after_primary): Added a check for 3268 colon(s) after square braces, if so then handle it like an array 3269 notation. Also, break up array notations in unary op if found. 3270 (c_parser_direct_declarator_inner): Added a check for array 3271 notation. 3272 (c_parser_compound_statement): Added a check for array notation in 3273 a stmt. If one is present, then expand array notation expr. 3274 (c_parser_if_statement): Likewise. 3275 (c_parser_switch_statement): Added a check for array notations in 3276 a switch statement's condition. If true, then output an error. 3277 (c_parser_while_statement): Similarly, but for a while. 3278 (c_parser_do_statement): Similarly, but for a do-while. 3279 (c_parser_for_statement): Similarly, but for a for-loop. 3280 (c_parser_unary_expression): Check if array notation is used in a 3281 pre-increment or pre-decrement expression. If true, then expand 3282 them. 3283 (c_parser_array_notation): New function. 3284 * c-array-notation.c: New file. 3285 * c-tree.h (is_cilkplus_reduce_builtin): Protoize. 3286 32872013-05-23 Mike Stump <mikestump@comcast.net> 3288 3289 * c-typeck.c (convert_for_assignment): Handle references to memory 3290 spaces better. 3291 32922013-05-16 Jason Merrill <jason@redhat.com> 3293 3294 * Make-lang.in (cc1$(exeext)): Use link mutex. 3295 32962013-04-24 Paolo Carlini <paolo.carlini@oracle.com> 3297 3298 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns 3299 to simply use OPT_Wpointer_arith. 3300 (build_unary_op): Likewise. 3301 33022013-04-03 Jakub Jelinek <jakub@redhat.com> 3303 3304 PR c/19449 3305 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p 3306 argument. If set, or it temporarily for parsing of the first 3307 argument into force_folding_builtin_constant_p. 3308 (c_parser_postfix_expression): Adjust callers. 3309 33102013-03-21 Richard Biener <rguenther@suse.de> 3311 3312 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P 3313 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly. 3314 33152013-02-12 Marek Polacek <polacek@redhat.com> 3316 3317 PR c/44938 3318 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize 3319 origtypes to NULL. 3320 33212013-01-24 Jakub Jelinek <jakub@redhat.com> 3322 3323 PR c/56078 3324 * c-typeck.c (set_nonincremental_init_from_string): If 3325 constructor_max_index is NULL, treat it as if tree_int_cst_lt 3326 returned false. 3327 (process_init_element): Likewise. 3328 33292012-12-20 Jakub Jelinek <jakub@redhat.com> 3330 3331 PR c++/55619 3332 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P 3333 argument, don't call default_function_array_conversion 3334 nor c_fully_fold here. 3335 (c_parser_asm_statement): Adjust callers. 3336 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs 3337 and outputs here, and call default_function_array_conversion 3338 on inputs that don't need to be addressable. 3339 33402012-12-18 Jakub Jelinek <jakub@redhat.com> 3341 3342 PR c/39464 3343 * c-typeck.c (convert_for_assignment): For -Wpointer-sign 3344 warning require that both c_common_unsigned_type as well as 3345 c_common_signed_type is the same for both mvl and mvr types. 3346 33472012-11-16 Diego Novillo <dnovillo@google.com> 3348 3349 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec) 3350 3351 * c-common.c: Use new vec API in vec.h. 3352 * c-common.h: Likewise. 3353 * c-gimplify.c: Likewise. 3354 * c-pragma.c: Likewise. 3355 * c-pretty-print.c: Likewise. 3356 * c-pretty-print.h: Likewise. 3357 * c-semantics.c: Likewise. 3358 * c-decl.c: Likewise. 3359 * c-parser.c: Likewise. 3360 * c-tree.h: Likewise. 3361 * c-typeck.c: Likewise. 3362 33632012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com> 3364 3365 PR c++/54930 3366 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr. 3367 33682012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org> 3369 3370 PR c/53066 3371 * c-decl.c (warn_if_shadowing): Do not warn if a variable 3372 shadows a function, unless the variable is a function or a 3373 pointer-to-function. 3374 33752012-10-12 Jakub Jelinek <jakub@redhat.com> 3376 3377 PR c/54381 3378 * c-parser.c (struct c_tree_loc_pair): Removed. 3379 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument, 3380 add location_t * and tree * arguments, fill in array of 3 3381 sizeof_arg trees and corresponding locs. 3382 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust 3383 c_parser_expr_list callers. 3384 (c_parser_postfix_expression_after_primary): Likewise. Pass 3385 array of 3 sizeof_arg trees and locs (corresponding to first 3386 3 arguments) to sizeof_pointer_memaccess_warning. 3387 33882012-10-09 Lawrence Crowl <crowl@google.com> 3389 3390 * Make-lang.in (c-decl.o): Add dependence on hash-table.h. 3391 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe 3392 hash table. 3393 33942012-10-09 Paolo Carlini <paolo.carlini@oracle.com> 3395 3396 PR c++/54194 3397 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses 3398 call. 3399 34002012-10-09 Marc Glisse <marc.glisse@inria.fr> 3401 3402 PR c++/54427 3403 * c-typeck.c: Include c-common.h. 3404 (enum stv_conv): Moved to c-common.h. 3405 (scalar_to_vector): Moved to c-common.c. 3406 (build_binary_op): Adapt to scalar_to_vector's new prototype. 3407 * Make-lang.in: c-typeck.c depends on c-common.h. 3408 34092012-10-04 Arnaud Charlet <charlet@adacore.com> 3410 3411 * c-decl.c (c_write_global_declarations): Fix handling of 3412 -fdump-ada-spec*. 3413 34142012-09-30 Sharad Singhai <singhai@google.com> 3415 3416 * c-decl.c (c_write_global_declarations): Use a different method 3417 to determine if the dump has ben initialized. 3418 34192012-09-14 Joseph Myers <joseph@codesourcery.com> 3420 3421 PR c/54552 3422 * c-typeck.c (c_cast_expr): When casting to a type requiring 3423 C_MAYBE_CONST_EXPR to be created, pass the inner expression to 3424 c_fully_fold first. 3425 34262012-09-14 Joseph Myers <joseph@codesourcery.com> 3427 3428 PR c/54103 3429 * c-typeck.c (build_unary_op): Pass original argument of 3430 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove 3431 any C_MAYBE_CONST_EXPR, if it has integer operands. 3432 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR, 3433 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR 3434 to c_objc_common_truthvalue_conversion, then remove any 3435 C_MAYBE_CONST_EXPR, if they have integer operands. Use 3436 c_objc_common_truthvalue_conversion not 3437 c_common_truthvalue_conversion. 3438 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and 3439 call note_integer_operands for arguments with integer operands 3440 that are not integer constants. 3441 34422012-09-13 Jakub Jelinek <jakub@redhat.com> 3443 3444 PR c/54559 3445 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or 3446 COMPLEX_TYPE with in_late_binary_op set temporarily to true. 3447 34482012-08-31 Jakub Jelinek <jakub@redhat.com> 3449 3450 PR c/54428 3451 * c-convert.c (convert): Don't call fold_convert_loc if 3452 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e 3453 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from 3454 COMPLEX_TYPE -> COMPLEX_TYPE conversion. 3455 34562012-08-24 Jakub Jelinek <jakub@redhat.com> 3457 3458 PR c/54355 3459 * c-decl.c (c_parser_label): Pass true as nested and fix up comments 3460 for nested and empty_ok arguments in the call to 3461 c_parser_declaration_or_fndef. 3462 34632012-08-17 Jakub Jelinek <jakub@redhat.com> 3464 3465 * c-tree.h (c_last_sizeof_arg): Declare. 3466 * c-parser.c (struct c_tree_loc_pair): New type. 3467 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if 3468 non-NULL. 3469 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers. 3470 (c_parser_postfix_expression_after_primary): Likewise. Call 3471 sizeof_pointer_memaccess_warning if needed. 3472 (sizeof_ptr_memacc_comptypes): New function. 3473 * c-typeck.c (c_last_sizeof_arg): New global variable. 3474 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it. 3475 34762012-07-24 Uros Bizjak <ubizjak@gmail.com> 3477 3478 * c-lang.h (lang_decl): Add variable_size GTY option. 3479 34802012-07-16 Steven Bosscher <steven@gcc.gnu.org> 3481 3482 * c-decl.c: Include dumpfile.h instead of tree-dump.h. 3483 * Make-lang.in: Fix dependencies. 3484 34852012-06-29 Steven Bosscher <steven@gcc.gnu.org> 3486 3487 * Make-lang.in: New file, rules migrated from gcc/Makefile.in 3488 and add language Makefile hooks. 3489 * config-lang.in: New file. 3490 * c-config-lang.in: Moved from gcc/config-lang.in to here, and 3491 add the required "normal" config-lang.in rules. 3492 * c-lang.h: Moved from gcc/ to here. 3493 * c-tree.h: Likewise. 3494 * c-objc-common.c: Likewise. 3495 * c-objc-common.h: Likewise. 3496 * c-typeck.c: Likewise. 3497 * c-convert.c: Likewise. 3498 * c-lang.c: Likewise. 3499 * c-aux-info.c: Likewise. 3500 * c-errors.c: Likewise. 3501 * gccspec.c: Likewise. 3502 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h. 3503 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h. 3504 3505Copyright (C) 2012-2016 Free Software Foundation, Inc. 3506 3507Copying and distribution of this file, with or without modification, 3508are permitted in any medium without royalty provided the copyright 3509notice and this notice are preserved. 3510