1 2025-05-23 Release Manager 2 3 * GCC 14.3.0 released. 4 5 2025-05-15 Jakub Jelinek <jakub (a] redhat.com> 6 7 Backported from master: 8 2025-02-13 Jakub Jelinek <jakub (a] redhat.com> 9 10 PR c++/118822 11 * c-common.h (WHILE_COND_CLEANUP): Change description in comment. 12 (FOR_COND_CLEANUP): Likewise. 13 * c-gimplify.cc (genericize_c_loop): Adjust for COND_CLEANUP 14 being CLEANUP_STMT/TRY_FINALLY_EXPR trailing nesting depth 15 instead of actual cleanup. 16 17 2025-05-15 Jakub Jelinek <jakub (a] redhat.com> 18 19 Backported from master: 20 2025-02-07 Jakub Jelinek <jakub (a] redhat.com> 21 Jason Merrill <jason (a] redhat.com> 22 23 PR c++/86769 24 * c-common.def (FOR_STMT): Add 2 operands and document them. 25 (WHILE_STMT): Likewise. 26 * c-common.h (WHILE_COND_PREP, WHILE_COND_CLEANUP): Define. 27 (FOR_COND_PREP, FOR_COND_CLEANUP): Define. 28 * c-gimplify.cc (genericize_c_loop): Add COND_PREP and COND_CLEANUP 29 arguments, handle them if they are non-NULL. 30 (genericize_for_stmt, genericize_while_stmt, genericize_do_stmt): 31 Adjust callers. 32 33 2025-03-22 Martin Uecker <uecker (a] tugraz.at> 34 35 Backported from master: 36 2024-10-31 Martin Uecker <uecker (a] tugraz.at> 37 38 PR c/117145 39 PR c/117245 40 PR c/100420 41 * c-pretty-print.cc (c_pretty_printer::direct_abstract_declarator): 42 Detect arrays of unspecified size. 43 44 2025-03-13 Eric Botcazou <ebotcazou (a] adacore.com> 45 46 PR ada/119265 47 * c-ada-spec.cc (dump_ada_node) <INTEGER_TYPE>: Deal with typedefs 48 of unsigned __int128. 49 50 2025-03-05 Marek Polacek <polacek (a] redhat.com> 51 52 Backported from master: 53 2025-03-05 Marek Polacek <polacek (a] redhat.com> 54 55 PR c++/115580 56 * c-common.cc (check_function_arguments): Return early if 57 c_inhibit_evaluation_warnings. 58 59 2025-01-09 Jakub Jelinek <jakub (a] redhat.com> 60 61 Backported from master: 62 2024-11-26 Jakub Jelinek <jakub (a] redhat.com> 63 64 PR middle-end/43374 65 * c-cppbuiltin.cc (builtin_define_decimal_float_constants): Use 66 get_max_float. 67 68 2025-01-09 Jakub Jelinek <jakub (a] redhat.com> 69 70 Backported from master: 71 2024-11-22 Jakub Jelinek <jakub (a] redhat.com> 72 73 PR c/117641 74 * c-common.cc (sync_resolve_size): For size 16 with _BitInt 75 on targets where TImode isn't supported, use goto incompatible if 76 !fetch. 77 78 2025-01-09 Jakub Jelinek <jakub (a] redhat.com> 79 80 Backported from master: 81 2024-11-19 Jakub Jelinek <jakub (a] redhat.com> 82 83 PR c/117641 84 * c-common.cc (sync_resolve_size): For size == 16 fetch of 85 BITINT_TYPE if TImode isn't supported scalar mode diagnose 86 and return 0 if orig_format instead of returning 16. 87 88 2024-10-23 Jakub Jelinek <jakub (a] redhat.com> 89 90 Backported from master: 91 2024-10-22 Jakub Jelinek <jakub (a] redhat.com> 92 93 PR c/117230 94 * c-warn.cc (sizeof_pointer_memaccess_warning): Only compare 95 TYPE_PRECISION of TREE_TYPE (type) to precision of char if 96 TREE_TYPE (type) is integral type. 97 98 2024-10-01 Jason Merrill <jason (a] redhat.com> 99 100 * c-cppbuiltin.cc (c_cpp_builtins): Don't define __cpp_concepts 101 before C++17. 102 103 2024-08-01 Release Manager 104 105 * GCC 14.2.0 released. 106 107 2024-07-03 Lewis Hyatt <lhyatt (a] gmail.com> 108 109 PR pch/115312 110 * c-opts.cc (c_common_init): Call c_init_preprocess() before 111 c_finish_options() so that a parser is available to process any 112 includes specified on the command line. 113 114 2024-06-25 Andrew Pinski <quic_apinski (a] quicinc.com> 115 116 Backported from master: 117 2024-06-25 Andrew Pinski <quic_apinski (a] quicinc.com> 118 119 PR c++/115624 120 * c.opt (Wnrvo): Add Warning property. 121 122 2024-06-17 Jakub Jelinek <jakub (a] redhat.com> 123 124 Backported from master: 125 2024-06-17 Jakub Jelinek <jakub (a] redhat.com> 126 127 PR c/115290 128 * c-warn.cc (do_warn_array_compare): Use %E rather than %D for 129 printing op0 and op1; if those operands aren't decls, also print 130 parens around them. 131 132 2024-05-15 Richard Biener <rguenther (a] suse.de> 133 134 Backported from master: 135 2024-05-07 Richard Biener <rguenther (a] suse.de> 136 137 PR middle-end/114931 138 * c-common.cc (complete_array_type): Set TYPE_STRUCTURAL_EQUALITY_P 139 before probing with type_hash_canon. 140 141 2024-05-07 Andrew Pinski <quic_apinski (a] quicinc.com> 142 143 Backported from master: 144 2024-05-07 Andrew Pinski <quic_apinski (a] quicinc.com> 145 146 PR c++/89224 147 * c-common.cc (convert_vector_to_array_for_subscript): Call build_qualified_type 148 for the inner type. 149 150 2024-05-07 Release Manager 151 152 * GCC 14.1.0 released. 153 154 2024-04-23 Jakub Jelinek <jakub (a] redhat.com> 155 156 * c-attribs.cc (handle_objc_nullability_attribute): Spelling fix: 157 recognised -> recognized. 158 159 2024-04-23 Jakub Jelinek <jakub (a] redhat.com> 160 161 * c.opt (Wstrict-flex-arrays): Spelling fix: inproper -> improper. 162 163 2024-04-19 Jakub Jelinek <jakub (a] redhat.com> 164 165 PR c/114780 166 * c-common.cc (check_function_sentinel): Allow as sentinel any 167 argument of NULLPTR_TYPE. 168 169 2024-04-13 Mark Wielaard <mark (a] klomp.org> 170 171 * c.opt.urls: Regenerate. 172 173 2024-04-12 Jason Merrill <jason (a] redhat.com> 174 Patrick Palka <ppalka (a] redhat.com> 175 176 PR c++/113141 177 * c.opt: Add -Wcast-user-defined. 178 179 2024-04-05 Marek Polacek <polacek (a] redhat.com> 180 181 * c-warn.cc (warn_about_parentheses): Remove an #undef. 182 183 2024-03-27 Jakub Jelinek <jakub (a] redhat.com> 184 185 PR tree-optimization/114469 186 * c-common.cc (resolve_overloaded_builtin): For _BitInt result 187 on !extended targets convert result to the _BitInt type before 188 using VIEW_CONVERT_EXPR. 189 190 2024-03-26 Jakub Jelinek <jakub (a] redhat.com> 191 192 PR c++/112724 193 * c-pretty-print.cc (pp_c_cast_expression, 194 c_pretty_printer::expression): Handle EXCESS_PRECISION_EXPR like 195 NOP_EXPR. 196 197 2024-03-19 Jakub Jelinek <jakub (a] redhat.com> 198 199 PR c/114364 200 * c-omp.cc (enum check_loop_binding_expr_ctx): New type. 201 (check_loop_binding_expr): Remove context argument, add ctx 202 argument with check_loop_binding_expr_ctx type at the end. Don't 203 create diagnostic message from multiple pieces. 204 (c_omp_check_loop_binding_exprs): Adjust callers. 205 206 2024-03-08 Jakub Jelinek <jakub (a] redhat.com> 207 208 * c-common.cc (resolve_overloaded_atomic_exchange): Instead of setting 209 p1 to VIEW_CONVERT_EXPR<I_type> (*p1), set it to MEM_REF with p1 and 210 (typeof (p1)) 0 operands and I_type type. 211 (resolve_overloaded_atomic_compare_exchange): Similarly for p2. 212 213 2024-03-05 Mark Wielaard <mark (a] klomp.org> 214 215 * c.opt.urls: Regenerate. 216 217 2024-03-05 Patrick Palka <ppalka (a] redhat.com> 218 219 * c.opt (Wglobal-module): New warning. 220 221 2024-03-04 Mark Wielaard <mark (a] klomp.org> 222 223 * c.opt.urls: Regenerate. 224 225 2024-02-22 Jakub Jelinek <jakub (a] redhat.com> 226 227 PR c/114007 228 * c-lex.cc (c_common_has_attribute): Parse 2 CPP_COLONs with 229 the first one with COLON_SCOPE flag the same as CPP_SCOPE. 230 231 2024-02-10 Marek Polacek <polacek (a] redhat.com> 232 233 DR 2237 234 PR c++/107126 235 PR c++/97202 236 * c-opts.cc (c_common_post_options): In C++20 or with -Wc++20-compat, 237 turn on -Wtemplate-id-cdtor. 238 * c.opt (Wtemplate-id-cdtor): New. 239 240 2024-02-10 Jakub Jelinek <jakub (a] redhat.com> 241 242 * c-format.cc (gcc_diag_length_specs): Add t and z modifiers. 243 (PP_FORMAT_CHAR_TABLE, gcc_gfc_char_table): Add entries for t and 244 z modifiers. 245 246 2024-02-10 Jakub Jelinek <jakub (a] redhat.com> 247 248 * c-ada-spec.cc (dump_template_types): Use HOST_SIZE_T_PRINT_UNSIGNED 249 and casts to fmt_size_t instead of "%lu" and casts to unsigned long. 250 251 2024-02-01 Lewis Hyatt <lhyatt (a] gmail.com> 252 253 PR preprocessor/105608 254 * c-pch.cc (c_common_read_pch): Adjust line map so that libcpp 255 assigns a location to restored macros which is the same location 256 that triggered the PCH include. 257 258 2024-01-31 Marek Polacek <polacek (a] redhat.com> 259 260 * c-opts.cc (c_common_post_options): Add an inform saying that 261 -fconcepts-ts is deprecated and will be removed in GCC 15. 262 263 2024-01-27 Lewis Hyatt <lhyatt (a] gmail.com> 264 265 PR preprocessor/105608 266 * c-pch.cc (c_common_read_pch): Start a new line map before asking 267 libcpp to restore macros defined prior to reading the PCH, instead 268 of afterward. 269 270 2024-01-23 Jakub Jelinek <jakub (a] redhat.com> 271 272 PR c/113518 273 * c-common.cc (atomic_bitint_fetch_using_cas_loop): Call c_fully_fold 274 on lhs_addr, val and model for C. 275 276 2024-01-23 Sandra Loosemore <sandra (a] codesourcery.com> 277 278 * c.opt: Improve sorting of warning options. 279 280 2024-01-16 Eric Botcazou <ebotcazou (a] adacore.com> 281 282 PR ada/113397 283 * c-ada-spec.cc (check_type_name_conflict): Add guard for the 284 presence of DECL_NAME on a TYPE_DECL. 285 286 2024-01-11 Julian Brown <julian (a] codesourcery.com> 287 288 * c-pretty-print.cc (c_pretty_printer::postfix_expression, 289 c_pretty_printer::expression): Add OMP_ARRAY_SECTION support. 290 291 2024-01-09 waffl3x <waffl3x (a] protonmail.com> 292 293 PR c++/102609 294 PR c++/102609 295 C++23 P0847R7 (deducing this) - diagnostics. 296 * c-cppbuiltin.cc (c_cpp_builtins): Define 297 __cpp_explicit_this_parameter=202110L feature test macro. 298 299 2024-01-09 Jakub Jelinek <jakub (a] redhat.com> 300 301 PR c/113262 302 * c-attribs.cc (handle_copy_attribute): Don't use 303 DECL_SOURCE_LOCATION (decl) if decl is not DECL_P, use input_location 304 instead. Formatting fixes. 305 306 2024-01-09 Julian Brown <julian (a] codesourcery.com> 307 308 * c-common.h (c_omp_address_inspector): Remove static from get_origin 309 and maybe_unconvert_ref methods. 310 * c-omp.cc (c_omp_split_clauses): Support OMP_ARRAY_SECTION. 311 (c_omp_address_inspector::map_supported_p): Handle OMP_ARRAY_SECTION. 312 (c_omp_address_inspector::get_origin): Avoid dereferencing possibly 313 NULL type when processing template decls. 314 (c_omp_address_inspector::maybe_unconvert_ref): Likewise. 315 316 2024-01-04 David Malcolm <dmalcolm (a] redhat.com> 317 318 * c.opt.urls: New file, autogenerated by regenerate-opt-urls.py. 319 320 2023-12-21 Jakub Jelinek <jakub (a] redhat.com> 321 322 * c.opt (Walloc-size): Enable also for C++ and ObjC++. 323 324 2023-12-21 Jakub Jelinek <jakub (a] redhat.com> 325 326 PR sanitizer/113092 327 * c-ubsan.cc (ubsan_instrument_shift): Workaround for missing 328 ubsan _BitInt support for the shift count. 329 330 2023-12-20 Florian Weimer <fweimer (a] redhat.com> 331 332 PR c/113050 333 * c-common.cc (get_atomic_generic_size): Use 334 OPT_Wdiscarded_qualifiers instead of 335 OPT_Wincompatible_pointer_types. 336 337 2023-12-20 Jakub Jelinek <jakub (a] redhat.com> 338 339 * c.opt (Wcalloc-transposed-args): New warning. 340 * c-common.h (warn_for_calloc, warn_for_alloc_size): Declare. 341 * c-warn.cc (warn_for_calloc, warn_for_alloc_size): New functions. 342 343 2023-12-16 Andrew Carlotti <andrew.carlotti (a] arm.com> 344 345 * c-attribs.cc (attr_target_exclusions): Make 346 target/target_clones exclusion target-dependent. 347 (attr_target_clones_exclusions): Ditto, and add target_version. 348 (attr_target_version_exclusions): New. 349 (c_common_attribute_table): Add target_version. 350 (handle_target_version_attribute): New. 351 (handle_target_attribute): Amend comment. 352 (handle_target_clones_attribute): Ditto. 353 354 2023-12-16 Andrew Carlotti <andrew.carlotti (a] arm.com> 355 356 * c-attribs.cc (attr_always_inline_exclusions): New. 357 (attr_target_exclusions): Ditto. 358 (attr_target_clones_exclusions): Ditto. 359 (c_common_attribute_table): Add new exclusion lists. 360 (handle_noinline_attribute): Remove custom exclusion handling. 361 (handle_always_inline_attribute): Ditto. 362 (handle_target_attribute): Ditto. 363 (handle_target_clones_attribute): Ditto. 364 365 2023-12-13 Patrick Palka <ppalka (a] redhat.com> 366 367 * c.opt: Add -fdiagnostics-all-candidates. 368 369 2023-12-13 Jason Merrill <jason (a] redhat.com> 370 371 * c-warn.cc (check_address_or_pointer_of_packed_member): 372 Rename to check_address_of_packed_member. 373 (check_and_warn_address_or_pointer_of_packed_member): 374 Rename to check_and_warn_address_of_packed_member. 375 (warn_for_address_or_pointer_of_packed_member): 376 Rename to warn_for_address_of_packed_member. 377 * c-common.h: Adjust. 378 379 2023-12-13 Jason Merrill <jason (a] redhat.com> 380 381 * c-warn.cc (check_address_or_pointer_of_packed_member): 382 Remove warning based on TYPE_PACKED. 383 384 2023-12-13 Julian Brown <julian (a] codesourcery.com> 385 386 * c-common.h (c_omp_region_type): Add C_ORT_EXIT_DATA, 387 C_ORT_OMP_EXIT_DATA and C_ORT_ACC_TARGET. 388 (omp_addr_token): Add forward declaration. 389 (c_omp_address_inspector): New class. 390 * c-omp.cc (c_omp_adjust_map_clauses): Mark decls addressable here, but 391 do not change any mapping node types. 392 (c_omp_address_inspector::unconverted_ref_origin, 393 c_omp_address_inspector::component_access_p, 394 c_omp_address_inspector::check_clause, 395 c_omp_address_inspector::get_root_term, 396 c_omp_address_inspector::map_supported_p, 397 c_omp_address_inspector::get_origin, 398 c_omp_address_inspector::maybe_unconvert_ref, 399 c_omp_address_inspector::maybe_zero_length_array_section, 400 c_omp_address_inspector::expand_array_base, 401 c_omp_address_inspector::expand_component_selector, 402 c_omp_address_inspector::expand_map_clause): New methods. 403 (omp_expand_access_chain): New function. 404 405 2023-12-12 Richard Biener <rguenther (a] suse.de> 406 407 PR ipa/92606 408 * c-attribs.cc (handle_noicf_attribute): Also allow the 409 attribute on global variables. 410 411 2023-12-10 Ken Matsui <kmatsui (a] gcc.gnu.org> 412 Patrick Palka <ppalka (a] redhat.com> 413 414 * c-common.cc (c_common_reswords): Remove all mappings of 415 built-in traits. 416 * c-common.h (enum rid): Remove all RID values for built-in 417 traits. 418 419 2023-12-07 Andrew Pinski <pinskia (a] gmail.com> 420 Jakub Jelinek <jakub (a] redhat.com> 421 422 PR preprocessor/111965 423 * c-opts.cc (c_common_handle_option) <case OPT_fdebug_cpp>: Set 424 cpp_opts->debug to value rather than 1. 425 426 2023-12-06 David Malcolm <dmalcolm (a] redhat.com> 427 428 * c-opts.cc (c_diagnostic_finalizer): Make "diagnostic" param 429 const. 430 431 2023-12-06 Alexandre Oliva <oliva (a] adacore.com> 432 433 * c-attribs.cc: Include ipa-strub.h. 434 (handle_strub_attribute): New. 435 (c_common_attribute_table): Add strub. 436 437 2023-12-05 Richard Sandiford <richard.sandiford (a] arm.com> 438 439 * c-attribs.cc (c_common_gnu_attribute_table): Add extra 440 braces to work around PR 16333 in older compilers. 441 442 2023-12-05 Richard Biener <rguenther (a] suse.de> 443 444 PR c/89270 445 * c-common.cc (c_common_type_for_size): Consider 446 registered_builtin_types. 447 448 2023-12-05 Marek Polacek <polacek (a] redhat.com> 449 450 PR c++/107687 451 PR c++/110997 452 * c-cppbuiltin.cc (c_cpp_builtins): Update __cpp_consteval. 453 * c-opts.cc (c_common_post_options): Pre-C++20, unset 454 flag_immediate_escalation. 455 * c.opt (fimmediate-escalation): New option. 456 457 2023-12-02 Richard Sandiford <richard.sandiford (a] arm.com> 458 459 * c-common.h (c_common_attribute_table): Replace with... 460 (c_common_gnu_attribute_table): ...this. 461 (c_common_format_attribute_table): Change type to 462 scoped_attribute_specs. 463 * c-attribs.cc (c_common_attribute_table): Replace with... 464 (c_common_gnu_attributes, c_common_gnu_attribute_table): ...these 465 new globals. 466 (c_common_format_attribute_table): Change type to 467 scoped_attribute_specs, using... 468 (c_common_format_attributes): ...this as the underlying array. 469 470 2023-12-01 Florian Weimer <fweimer (a] redhat.com> 471 472 * c.opt (Wdeclaration-missing-parameter-type): New. 473 474 2023-11-30 Jakub Jelinek <jakub (a] redhat.com> 475 476 PR c++/110349 477 * c-cppbuiltin.cc (c_cpp_builtins): Predefine 478 __cpp_placeholder_variables=202306L for C++26. 479 480 2023-11-29 Alexandre Oliva <oliva (a] adacore.com> 481 482 * c-attribs.cc (c_common_attribute_table): Add hardbool. 483 (handle_hardbool_attribute): New. 484 (type_valid_for_vector_size): Reject hardbool. 485 * c-common.cc (convert_and_check): Skip warnings for convert 486 and check for hardbool. 487 (c_hardbool_type_attr_1): New. 488 * c-common.h (c_hardbool_type_attr): New. 489 490 2023-11-27 Alex Coplan <alex.coplan (a] arm.com> 491 Iain Sandoe <iain (a] sandoe.co.uk> 492 493 PR c++/60512 494 * c-common.cc (struct hf_feature_info): New. 495 (c_common_register_feature): New. 496 (init_has_feature): New. 497 (has_feature_p): New. 498 * c-common.h (c_common_has_feature): New. 499 (c_family_register_lang_features): New. 500 (c_common_register_feature): New. 501 (has_feature_p): New. 502 * c-lex.cc (init_c_lex): Plumb through has_feature callback. 503 (c_common_has_builtin): Generalize and move common part ... 504 (c_common_lex_availability_macro): ... here. 505 (c_common_has_feature): New. 506 * c-ppoutput.cc (init_pp_output): Plumb through has_feature. 507 508 2023-11-24 Lewis Hyatt <lhyatt (a] gmail.com> 509 510 PR pch/112319 511 * c-ppoutput.cc (cb_read_pch): Reinitialize the frontend parser 512 after loading a PCH. 513 514 2023-11-24 Tobias Burnus <tobias (a] codesourcery.com> 515 516 * c.opt (-Wopenmp): Add missing tailing '.'. 517 518 2023-11-24 Tobias Burnus <tobias (a] codesourcery.com> 519 520 * c.opt (Wopenmp): Add, enable by default. 521 522 2023-11-23 Marek Polacek <polacek (a] redhat.com> 523 524 * c-opts.cc: Include "target.h". 525 (c_finish_options): Maybe cpp_define _FORTIFY_SOURCE 526 and _GLIBCXX_ASSERTIONS. 527 528 2023-11-23 Jakub Jelinek <jakub (a] redhat.com> 529 530 * c-common.h (enum rid): Add RID_BUILTIN_STDC: New. 531 * c-common.cc (c_common_reswords): Add __builtin_stdc_bit_ceil, 532 __builtin_stdc_bit_floor, __builtin_stdc_bit_width, 533 __builtin_stdc_count_ones, __builtin_stdc_count_zeros, 534 __builtin_stdc_first_leading_one, __builtin_stdc_first_leading_zero, 535 __builtin_stdc_first_trailing_one, __builtin_stdc_first_trailing_zero, 536 __builtin_stdc_has_single_bit, __builtin_stdc_leading_ones, 537 __builtin_stdc_leading_zeros, __builtin_stdc_trailing_ones and 538 __builtin_stdc_trailing_zeros. Move __builtin_assoc_barrier 539 alphabetically earlier. 540 541 2023-11-23 Jakub Jelinek <jakub (a] redhat.com> 542 543 PR c++/110348 544 * c.opt (Wc++26-extensions): New option. 545 * c-cppbuiltin.cc (c_cpp_builtins): For C++26 predefine 546 __cpp_static_assert to 202306L rather than 201411L. 547 548 2023-11-19 David Malcolm <dmalcolm (a] redhat.com> 549 550 * c-lex.cc: Include "rich-location.h". 551 552 2023-11-18 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 553 554 * c-cppbuiltin.cc (c_cpp_builtins): Define 555 __LIBGCC_HAVE_LIBATOMIC for libgcov. 556 557 2023-11-18 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 558 559 Revert: 560 2021-08-16 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 561 562 * c-cppbuiltin.c (c_cpp_builtins): Define 563 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true. 564 565 2023-11-17 Jakub Jelinek <jakub (a] redhat.com> 566 567 PR c++/107571 568 * c-gimplify.cc (genericize_c_loop): For C++ mark IFN_FALLTHROUGH 569 call at the end of loop body as TREE_NOTHROW. 570 571 2023-11-14 Lewis Hyatt <lhyatt (a] gmail.com> 572 573 PR pch/9471 574 PR pch/47857 575 * c-opts.cc (c_common_post_options): Set cpp_opts->main_search 576 so libcpp knows it is compiling a header file separately. 577 578 2023-11-14 David Malcolm <dmalcolm (a] redhat.com> 579 580 * c-warn.cc (conversion_warning): Update call to 581 global_dc->m_option_enabled to use option_enabled_p. 582 583 2023-11-14 David Malcolm <dmalcolm (a] redhat.com> 584 585 * c-common.cc (c_get_substring_location): Use global_dc's 586 file_cache. 587 * c-format.cc (get_corrected_substring): Likewise. 588 * c-indentation.cc (get_visual_column): Add file_cache param. 589 (get_first_nws_vis_column): Likewise. 590 (detect_intervening_unindent): Likewise. 591 (should_warn_for_misleading_indentation): Use global_dc's 592 file_cache. 593 (assert_get_visual_column_succeeds): Add file_cache param. 594 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): Likewise. 595 (assert_get_visual_column_fails): Likewise. 596 (define ASSERT_GET_VISUAL_COLUMN_FAILS): Likewise. 597 (selftest::test_get_visual_column): Create and use a temporary 598 file_cache. 599 600 2023-11-14 Jakub Jelinek <jakub (a] redhat.com> 601 602 PR c/111309 603 * c-common.cc (check_builtin_function_arguments): Handle 604 BUILT_IN_{CLZ,CTZ,CLRSB,FFS,PARITY,POPCOUNT}G. 605 * c-gimplify.cc (c_gimplify_expr): If __builtin_c[lt]zg second 606 argument hasn't been folded into constant yet, transform it to one 607 argument call inside of a COND_EXPR which for first argument 0 608 returns the second argument. 609 610 2023-11-11 Martin Uecker <uecker (a] tugraz.at> 611 612 PR c/110815 613 PR c/112428 614 * c-attribs.cc (build_attr_access_from_parms): Synthesize 615 nonnull attribute for parameters declared with `static`. 616 617 2023-11-09 Florian Weimer <fweimer (a] redhat.com> 618 619 * c.opt (Wreturn-mismatch): New. 620 621 2023-11-08 Florian Weimer <fweimer (a] redhat.com> 622 623 * c.opt (fpermissive): Enable for C and ObjC. 624 * c-opts.cc (c_common_post_options): Enable -fpermissive. 625 626 2023-11-07 Joseph Myers <joseph (a] codesourcery.com> 627 628 * c-format.h (T2X_UI): Rename to T23_UI. 629 (T2X_UL): Rename to T23_UL. 630 (T2X_ULL): Rename to T23_ULL. 631 (T2X_US): Rename to T23_US. 632 (T2X_UC): Rename to T23_UC. 633 (T2X_ST): Rename to T23_ST. 634 (T2X_UPD): Rename to T23_UPD. 635 (T2X_UIM): Rename to T23_UIM. 636 (T2X_D32): Rename to T23_D32. 637 (T2X_D64): Rename to T23_D64. 638 (T2X_D128): Rename to T23_D128. 639 (T2X_I8): Rename to T23_I8. 640 (T2X_I16): Rename to T23_I16. 641 (T2X_I32): Rename to T23_I32. 642 (T2X_I64): Rename to T23_I64. 643 (T2X_U8): Rename to T23_U8. 644 (T2X_U16): Rename to T23_U16. 645 (T2X_U32): Rename to T23_U32. 646 (T2X_U64): Rename to T23_U64. 647 (T2X_IF8): Rename to T23_IF8. 648 (T2X_IF16): Rename to T23_IF16. 649 (T2X_IF32): Rename to T23_IF32. 650 (T2X_IF64): Rename to T23_IF64. 651 (T2X_UF8): Rename to T23_UF8. 652 (T2X_UF16): Rename to T23_UF16. 653 (T2X_UF32): Rename to T23_UF32. 654 (T2X_UF64): Rename to T23_UF64. 655 * c-format.cc: Update all uses of T2X_* macros to use T23_*. 656 657 2023-11-07 Kwok Cheung Yeung <kcy (a] codesourcery.com> 658 659 * c-attribs.cc (c_common_attribute_table): Add attribute for 660 indirect functions. 661 * c-pragma.h (enum parma_omp_clause): Add entry for indirect clause. 662 663 2023-11-07 Joseph Myers <joseph (a] codesourcery.com> 664 665 * c-common.cc (flag_isoc2x): Rename to flag_isoc23. 666 (c_common_reswords): Use D_C23 instead of D_C2X. 667 * c-common.h: Refer throughout to C23 instead of C2X in comments. 668 (D_C2X): Rename to D_C23. 669 (flag_isoc2x): Rename to flag_isoc23. 670 * c-cppbuiltin.cc (builtin_define_float_constants): Use 671 flag_isoc23 instead of flag_isoc2x. Refer to C23 instead of C2x 672 in comments. 673 * c-format.cc: Use STD_C23 instead of STD_C2X and flag_isoc23 674 instead of flag_isoc2x. Refer to C23 instead of C2X in comments. 675 * c-format.h: Use STD_C23 instead of STD_C2X. 676 * c-lex.cc: Use warn_c11_c23_compat instead of warn_c11_c2x_compat 677 and flag_isoc23 instead of flag_isoc2x. Refer to C23 instead of 678 C2X in diagnostics. 679 * c-opts.cc: Use flag_isoc23 instead of flag_isoc2x. Refer to C23 680 instead of C2X in comments. 681 (set_std_c2x): Rename to set_std_c23. 682 * c.opt (Wc11-c23-compat): Use CPP(cpp_warn_c11_c23_compat) 683 CppReason(CPP_W_C11_C23_COMPAT) Var(warn_c11_c23_compat) instead 684 of CPP(cpp_warn_c11_c2x_compat) CppReason(CPP_W_C11_C2X_COMPAT) 685 Var(warn_c11_c2x_compat). 686 687 2023-11-06 Joseph Myers <joseph (a] codesourcery.com> 688 689 PR c/107954 690 * c.opt (Wc11-c2x-compat): Rename to Wc11-c23-compat and make into 691 a deprecated alias of Wc11-c23-compat. 692 (std=c2x): Rename to std=c23 and make into a deprecated alias of 693 std=c23. 694 (std=gnu2x): Rename to std=gnu23 and make into a deprecated alias 695 of std=gnu23. 696 (std=iso9899:2024): New option. Alias of std=c23. 697 * c-lex.cc (interpret_float): Use OPT_Wc11_c23_compat instead of 698 OPT_Wc11_c2x_compat. 699 * c-opts.cc (c_common_handle_option): Use OPT_std_c23 instead of 700 OPT_std_c2x and OPT_std_gnu23 instead of OPT_std_gnu2x. 701 702 2023-11-05 Jakub Jelinek <jakub (a] redhat.com> 703 704 * c-lex.cc (c_common_has_attribute): Return 1 for omp::directive 705 and omp::sequence with -fopenmp or -fopenmp-simd also for C, not 706 just for C++. Return 1 for omp::decl with -fopenmp or -fopenmp-simd 707 for both C and C++. 708 709 2023-11-04 David Malcolm <dmalcolm (a] redhat.com> 710 711 * c-pragma.cc:: (handle_pragma_push_options): Fix missing "GCC" in 712 name of pragma in "junk" message. 713 (handle_pragma_pop_options): Likewise. 714 715 2023-11-04 David Malcolm <dmalcolm (a] redhat.com> 716 717 * c-common.cc: Update for changes to diagnostic_context. 718 * c-indentation.cc: Likewise. 719 * c-opts.cc: Likewise. 720 * c-warn.cc: Likewise. 721 722 2023-11-01 Martin Uecker <uecker (a] tugraz.at> 723 724 PR c/71219 725 * c.opt (Walloc-size): New option. 726 727 2023-10-31 David Malcolm <dmalcolm (a] redhat.com> 728 729 * c-warn.cc (warn_for_multistatement_macros): Update for removal 730 of MACRO_MAP_EXPANSION_POINT_LOCATION. 731 732 2023-10-27 Lewis Hyatt <lhyatt (a] gmail.com> 733 734 PR preprocessor/87299 735 * c-pragma.cc (init_pragma): Register `#pragma GCC target' and 736 related pragmas in preprocess-only mode, and enable early handling. 737 (c_reset_target_pragmas): New function refactoring code from... 738 (handle_pragma_reset_options): ...here. 739 * c-pragma.h (c_reset_target_pragmas): Declare. 740 741 2023-10-26 David Malcolm <dmalcolm (a] redhat.com> 742 743 * c-attribs.cc (c_common_attribute_table): Add 744 "null_terminated_string_arg". 745 (handle_null_terminated_string_arg_attribute): New. 746 747 2023-10-23 Lewis Hyatt <lhyatt (a] gmail.com> 748 749 PR preprocessor/36887 750 * c-opts.cc (c_common_init_options): Pass new extra hash map 751 argument to cpp_create_reader(). 752 753 2023-10-20 Marek Polacek <polacek (a] redhat.com> 754 755 PR c/111884 756 * c-common.cc (c_common_get_alias_set): Return -1 for char8_t only 757 in C++. 758 759 2023-10-20 Patrick Palka <ppalka (a] redhat.com> 760 761 * c-warn.cc (check_address_or_pointer_of_packed_member): Handle 762 type-dependent callee of CALL_EXPR. 763 764 2023-10-20 Alexandre Oliva <oliva (a] adacore.com> 765 766 * c-attribs.cc (handle_expected_throw_attribute): New. 767 (c_common_attribute_table): Add expected_throw. 768 769 2023-10-19 Lewis Hyatt <lhyatt (a] gmail.com> 770 771 PR c++/89038 772 * c-pragma.cc (handle_pragma_diagnostic_impl): Handle 773 -Wunknown-pragmas during early processing. 774 775 2023-10-15 Jakub Jelinek <jakub (a] redhat.com> 776 777 PR tree-optimization/111800 778 * c-warn.cc (match_case_to_enum_1): Assert w.get_precision () 779 is smaller or equal to WIDE_INT_MAX_INL_PRECISION rather than 780 w.get_len () is smaller or equal to WIDE_INT_MAX_INL_ELTS. 781 782 2023-10-12 Jakub Jelinek <jakub (a] redhat.com> 783 784 PR c/102989 785 * c-warn.cc (match_case_to_enum_1): Use wi::to_wide just once instead 786 of 3 times, assert get_len () is smaller than WIDE_INT_MAX_INL_ELTS. 787 788 2023-10-02 David Malcolm <dmalcolm (a] redhat.com> 789 790 * c-common.cc (maybe_add_include_fixit): Update for renaming of 791 diagnostic_context's show_caret to m_source_printing.enabled. 792 * c-opts.cc (c_common_init_options): Update for renaming of 793 diagnostic_context's colorize_source_p to 794 m_source_printing.colorize_source_p. 795 796 2023-09-20 Jakub Jelinek <jakub (a] redhat.com> 797 798 PR c++/111392 799 * c-omp.cc (c_omp_directives): Add commented out groupprivate 800 directive entry. 801 802 2023-09-19 Ben Boeckel <ben.boeckel (a] kitware.com> 803 804 * c-opts.cc (c_common_handle_option): Add fdeps_file variable and 805 -fdeps-format=, -fdeps-file=, and -fdeps-target= parsing. 806 * c.opt: Add -fdeps-format=, -fdeps-file=, and -fdeps-target= 807 flags. 808 809 2023-09-19 Javier Martinez <javier.martinez.bugzilla (a] gmail.com> 810 811 * c-attribs.cc (handle_hot_attribute): remove warning on 812 RECORD_TYPE and UNION_TYPE when in c_dialect_xx. 813 (handle_cold_attribute): Likewise. 814 815 2023-09-19 Jakub Jelinek <jakub (a] redhat.com> 816 817 * c-common.cc (c_common_signed_or_unsigned_type): Return INTEGER_TYPE 818 for signed variant of unsigned _BitInt(1). 819 820 2023-09-06 Jakub Jelinek <jakub (a] redhat.com> 821 822 PR c/102989 823 * c-attribs.cc (type_valid_for_vector_size): Reject vector types 824 with BITINT_TYPE elements even if they have mode precision and 825 suitable size. 826 827 2023-09-06 Jakub Jelinek <jakub (a] redhat.com> 828 829 PR c/102989 830 * c-common.cc (c_common_reswords): Add _BitInt as keyword. 831 (unsafe_conversion_p): Handle BITINT_TYPE like INTEGER_TYPE. 832 (c_common_signed_or_unsigned_type): Handle BITINT_TYPE. 833 (c_common_truthvalue_conversion, c_common_get_alias_set, 834 check_builtin_function_arguments): Handle BITINT_TYPE like 835 INTEGER_TYPE. 836 (sync_resolve_size): Add ORIG_FORMAT argument. If 837 FETCH && !ORIG_FORMAT, type is BITINT_TYPE, return -1 if size isn't 838 one of 1, 2, 4, 8 or 16 or if it is 16 but TImode is not supported. 839 (atomic_bitint_fetch_using_cas_loop): New function. 840 (resolve_overloaded_builtin): Adjust sync_resolve_size caller. If 841 -1 is returned, use atomic_bitint_fetch_using_cas_loop to lower it. 842 Formatting fix. 843 (keyword_begins_type_specifier): Handle RID_BITINT. 844 * c-common.h (enum rid): Add RID_BITINT enumerator. 845 * c-cppbuiltin.cc (c_cpp_builtins): For C call 846 targetm.c.bitint_type_info and predefine __BITINT_MAXWIDTH__ 847 and for -fbuilding-libgcc also __LIBGCC_BITINT_LIMB_WIDTH__ and 848 __LIBGCC_BITINT_ORDER__ macros if _BitInt is supported. 849 * c-lex.cc (interpret_integer): Handle CPP_N_BITINT. 850 * c-pretty-print.cc (c_pretty_printer::simple_type_specifier, 851 c_pretty_printer::direct_abstract_declarator, 852 c_pretty_printer::direct_declarator, c_pretty_printer::declarator): 853 Handle BITINT_TYPE. 854 (pp_c_integer_constant): Handle printing of large precision wide_ints 855 which would buffer overflow digit_buffer. 856 * c-warn.cc (conversion_warning, warnings_for_convert_and_check, 857 warnings_for_convert_and_check): Handle BITINT_TYPE like 858 INTEGER_TYPE. 859 860 2023-09-06 Jakub Jelinek <jakub (a] redhat.com> 861 862 PR c/102989 863 * c-ubsan.cc (ubsan_instrument_shift): Use UBSAN_PRINT_FORCE_INT 864 for type0 type descriptor. 865 866 2023-09-06 Jakub Jelinek <jakub (a] redhat.com> 867 868 * c-lex.cc (interpret_float): For C diagnostics on FN and FNx suffixes 869 append " before C2X" to diagnostics text and follow behavior of 870 pedwarn_c11. 871 872 2023-09-01 Jakub Jelinek <jakub (a] redhat.com> 873 874 PR c++/111069 875 * c-opts.cc (c_common_post_options): Change latest_abi_version to 19. 876 877 2023-08-31 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 878 879 * c.opt: Change spelling to macOS. 880 881 2023-08-31 Richard Biener <rguenther (a] suse.de> 882 883 PR middle-end/111253 884 * c-pretty-print.cc (c_pretty_printer::primary_expression): 885 Only dump gimple_assign_single_p SSA def RHS. 886 887 2023-08-25 Sandra Loosemore <sandra (a] codesourcery.com> 888 889 * c-common.h (c_omp_check_loop_binding_exprs): Declare. 890 * c-omp.cc: Include tree-iterator.h. 891 (find_binding_in_body): New. 892 (check_loop_binding_expr_r): New. 893 (LOCATION_OR): New. 894 (check_looop_binding_expr): New. 895 (c_omp_check_loop_binding_exprs): New. 896 897 2023-08-25 Uros Bizjak <ubizjak (a] gmail.com> 898 899 * c-format.cc (read_any_format_width): 900 Rename TRUE/FALSE to true/false. 901 902 2023-08-20 Martin Uecker <uecker (a] tugraz.at> 903 904 * c-format.cc: Fix identation. 905 906 2023-08-20 Tomas Kalibera <tomas.kalibera (a] gmail.com> 907 908 PR c/95130 909 * c-format.cc: skip default format for printf symbol if 910 explicitly declared by prototype. 911 912 2023-08-17 Jose E. Marchesi <jose.marchesi (a] oracle.com> 913 914 PR c/106537 915 * c.opt (Wcompare-distinct-pointer-types): New option. 916 917 2023-08-14 Jason Merrill <jason (a] redhat.com> 918 919 * c-cppbuiltin.cc (c_cpp_builtins): Adjust __cpp_concepts. 920 921 2023-08-11 Jakub Jelinek <jakub (a] redhat.com> 922 923 * c-common.cc (c_common_reswords): Add __typeof_unqual 924 and __typeof_unqual__ spellings of typeof_unqual. 925 926 2023-08-11 Martin Uecker <uecker (a] tugraz.at> 927 928 PR c/84510 929 * c.opt: Enable warning for C and ObjC. 930 931 2023-08-05 Martin Uecker <uecker (a] tugraz.at> 932 933 PR c/98536 934 * c-warn.cc (warn_parm_array_mismatch): Do not warn if more 935 bounds are specified. 936 937 2023-08-04 Tamar Christina <tamar.christina (a] arm.com> 938 939 * c-pragma.h (enum pragma_kind): Add PRAGMA_NOVECTOR. 940 * c-pragma.cc (init_pragma): Use it. 941 942 2023-08-01 Lewis Hyatt <lhyatt (a] gmail.com> 943 944 * c-common.h (c_init_preprocess): Declare new function. 945 * c-opts.cc (c_common_init): Call it. 946 * c-lex.cc (cb_def_pragma): Add a comment. 947 (get_token): New function wrapping cpp_get_token. 948 (c_lex_with_flags): Use the new wrapper function to support 949 obtaining tokens in preprocess_only mode. 950 (lex_string): Likewise. 951 * c-pragma.cc (pragma_diagnostic_lex_normal): Rename to... 952 (pragma_diagnostic_lex): ...this. 953 (pragma_diagnostic_lex_pp): Remove. 954 (handle_pragma_diagnostic_impl): Call pragma_diagnostic_lex () in 955 all modes. 956 (c_pp_invoke_early_pragma_handler): Adapt to support pragma_lex () 957 usage. 958 * c-pragma.h (pragma_lex_discard_to_eol): Declare. 959 960 2023-07-31 Hamza Mahfooz <someguy (a] effective-light.com> 961 962 PR c/65213 963 * c.opt (-Wmissing-variable-declarations): New option. 964 965 2023-07-20 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 966 967 PR middle-end/77928 968 * c-common.cc (check_builtin_function_arguments): 969 Handle BUILT_IN_ISEQSIG. 970 971 2023-07-05 Robin Dapp <rdapp (a] ventanamicro.com> 972 Juzhe-Zhong <juzhe.zhong (a] rivai.ai> 973 974 * c-common.cc (c_common_type_for_mode): Use GET_MODE_PRECISION. 975 976 2023-06-29 Qing Zhao <qing.zhao (a] oracle.com> 977 978 PR c/77650 979 * c.opt: New option -Wflex-array-member-not-at-end. 980 981 2023-06-28 Jason Merrill <jason (a] redhat.com> 982 983 PR c++/110344 984 * c-cppbuiltin.cc (c_cpp_builtins): Update __cpp_constexpr. 985 986 2023-06-26 Richard Biener <rguenther (a] suse.de> 987 988 * c-common.cc (shorten_binary_op): Exit early for VECTOR_TYPE 989 operations. 990 991 2023-06-23 Marek Polacek <polacek (a] redhat.com> 992 993 * c-common.h (cxx_dialect): Add cxx26 as a dialect. 994 * c-opts.cc (set_std_cxx26): New. 995 (c_common_handle_option): Set options when -std={c,gnu}++2{c,6} is 996 enabled. 997 (c_common_post_options): Adjust comments. 998 * c.opt: Add options for -std=c++26, std=c++2c, -std=gnu++26, 999 and -std=gnu++2c. 1000 (std=c++2b): Mark as Undocumented. 1001 (std=c++23): No longer Undocumented. 1002 1003 2023-06-21 Alexander Monakov <amonakov (a] ispras.ru> 1004 1005 * c-gimplify.cc (fma_supported_p): New helper. 1006 (c_gimplify_expr) [PLUS_EXPR, MINUS_EXPR]: Implement FMA 1007 contraction. 1008 1009 2023-06-16 Alex Coplan <alex.coplan (a] arm.com> 1010 1011 * c.opt (Welaborated-enum-base): New. 1012 1013 2023-06-13 David Malcolm <dmalcolm (a] redhat.com> 1014 1015 PR c/84890 1016 * known-headers.cc 1017 (suggest_missing_header::~suggest_missing_header): Reword note to 1018 avoid negative tone of "forgetting". 1019 1020 2023-06-07 Jason Merrill <jason (a] redhat.com> 1021 1022 PR c++/58487 1023 * c.opt: Add -Wnrvo. 1024 1025 2023-05-26 Martin Uecker <uecker (a] tugraz.at> 1026 1027 * c-attribs.cc (build_attr_access_from_parms): Split loop to first 1028 record all parameters. 1029 1030 2023-05-18 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org> 1031 1032 * c-ada-spec.cc (has_static_fields): Use _P() defines from tree.h. 1033 (dump_ada_declaration): Ditto. 1034 (dump_ada_structure): Ditto. 1035 * c-common.cc (unsafe_conversion_p): Ditto. 1036 (shorten_compare): Ditto. 1037 (pointer_int_sum): Ditto. 1038 (c_common_truthvalue_conversion): Ditto. 1039 (scalar_to_vector): Ditto. 1040 * c-common.h (gnu_vector_type_p): Ditto. 1041 * c-omp.cc (c_omp_depend_t_p): Ditto. 1042 (c_omp_split_clauses): Ditto. 1043 * c-ubsan.cc (ubsan_instrument_division): Ditto. 1044 * c-warn.cc (conversion_warning): Ditto. 1045 (warnings_for_convert_and_check): Ditto. 1046 1047 2023-05-18 Joseph Myers <joseph (a] codesourcery.com> 1048 1049 * c-format.cc (print_char_table): Handle %B like %b. 1050 1051 2023-05-15 Joseph Myers <joseph (a] codesourcery.com> 1052 1053 * c-lex.cc (c_common_has_attribute): Use 202311 as 1054 __has_c_attribute return for all C2x attributes. 1055 1056 2023-05-15 Patrick Palka <ppalka (a] redhat.com> 1057 1058 * c-cppbuiltin.cc (c_cpp_builtins): Predefine __cpp_auto_cast 1059 for C++23. 1060 1061 2023-05-01 Marek Polacek <polacek (a] redhat.com> 1062 1063 * c-ubsan.cc (ubsan_maybe_instrument_array_ref): Don't copy_node. 1064 1065 2023-03-28 David Malcolm <dmalcolm (a] redhat.com> 1066 1067 PR c/107002 1068 * c-common.h (check_for_xor_used_as_pow): Add "rhs_loc" param. 1069 * c-warn.cc (check_for_xor_used_as_pow): Add "rhs_loc" param. 1070 Reject cases where involving macro expansions. 1071 1072 2023-03-28 Jason Merrill <jason (a] redhat.com> 1073 1074 PR c++/107163 1075 * c-common.cc (verify_tree): Don't use sequenced handling 1076 for COMPONENT_REF. 1077 1078 2023-03-17 Jakub Jelinek <jakub (a] redhat.com> 1079 1080 PR c/109151 1081 * c-ubsan.cc (ubsan_instrument_division): Handle all scalar integral 1082 types rather than just INTEGER_TYPE. 1083 1084 2023-03-10 Marek Polacek <polacek (a] redhat.com> 1085 1086 PR sanitizer/108060 1087 PR sanitizer/109050 1088 * c-gimplify.cc (ubsan_walk_array_refs_r): For a MODIFY_EXPR, instrument 1089 the RHS before the LHS. 1090 1091 2023-03-04 Jakub Jelinek <jakub (a] redhat.com> 1092 1093 PR c/107465 1094 * c-warn.cc (warn_for_sign_compare): Don't warn for unset bits 1095 above innermost zero extension of BIT_NOT_EXPR result. 1096 1097 2023-03-04 Jakub Jelinek <jakub (a] redhat.com> 1098 1099 PR c/107465 1100 * c-warn.cc (warn_for_sign_compare): If c_common_get_narrower 1101 doesn't return a narrower result, use TYPE_UNSIGNED to set unsignedp0 1102 and unsignedp1. For the one BIT_NOT_EXPR case vs. one without, 1103 only check for constant in the non-BIT_NOT_EXPR operand, use std::swap 1104 to simplify the code, only warn if BIT_NOT_EXPR operand is extended 1105 from narrower unsigned, fix up computation of mask for the constant 1106 cases and for unsigned other operand case handle differently 1107 BIT_NOT_EXPR result being sign vs. zero extended. 1108 1109 2023-03-04 Jakub Jelinek <jakub (a] redhat.com> 1110 1111 PR c/107846 1112 * c-warn.cc: Include langhooks.h. 1113 (maybe_warn_shift_overflow): Set type0 to what TREE_TYPE (op0) 1114 promotes to rather than TREE_TYPE (op0) itself, if TREE_TYPE (op0) 1115 is narrower than type0 and unsigned, use wi::min_precision with 1116 UNSIGNED and fold_convert op0 to type0 before emitting the warning. 1117 1118 2023-03-03 Alexandre Oliva <oliva (a] adacore.com> 1119 1120 * c-common.cc (c_common_nodes_and_builtins): Take 1121 wchar_type_node for wint_type_node when aliased. 1122 (c_stddef_cpp_builtins): Define __WINT_TYPE__, when aliased to 1123 wchar_t, to the underlying type rather than wchar_t in 1124 non-C++. 1125 * c-cppbuiltin.cc (type_suffix): Handle wchar_type_node. 1126 1127 2023-02-28 Marek Polacek <polacek (a] redhat.com> 1128 1129 PR c++/107938 1130 * c-warn.cc (check_address_or_pointer_of_packed_member): Check 1131 POINTER_TYPE_P. 1132 1133 2023-02-28 Jakub Jelinek <jakub (a] redhat.com> 1134 1135 PR sanitizer/108894 1136 * c-common.h (c_strict_flex_array_level_of): Declare. 1137 * c-common.cc (c_strict_flex_array_level_of): New function, 1138 moved and renamed from c-decl.cc's strict_flex_array_level_of. 1139 * c-ubsan.cc (ubsan_instrument_bounds): Fix comment typo. For 1140 C check c_strict_flex_array_level_of whether a trailing array 1141 should be treated as flexible member like. Handle C [0] arrays. 1142 Add 1 + index_off_by_one rather than index_off_by_one to bounds 1143 and use tree_int_cst_lt rather than tree_int_cst_le for idx vs. 1144 bounds comparison. 1145 1146 2023-02-23 Jakub Jelinek <jakub (a] redhat.com> 1147 1148 PR translation/108890 1149 * c.opt (fcontracts): Fix description. 1150 1151 2023-02-22 Marek Polacek <polacek (a] redhat.com> 1152 1153 PR c/108880 1154 * c-gimplify.cc (c_genericize_control_stmt) <case STATEMENT_LIST>: Pass 1155 pset to walk_tree_1. 1156 (c_genericize): Call walk_tree with an explicit pset. 1157 1158 2023-02-18 Martin Uecker <uecker (a] tugraz.at> 1159 1160 PR c/105660 1161 * c-attribs.cc (append_access_attr): Use order of arguments when 1162 construction string. 1163 (append_access_attr_idxs): Rename and make static. 1164 * c-warn.cc (warn_parm_array_mismatch): Add assertion. 1165 1166 2023-02-16 Patrick Palka <ppalka (a] redhat.com> 1167 1168 * c-common.h: Mechanically drop static from static inline 1169 functions via s/^static inline/inline/g. 1170 1171 2023-02-01 Jason Merrill <jason (a] redhat.com> 1172 1173 * c.opt: Add -Wno-changes-meaning. 1174 1175 2023-01-31 Marek Polacek <polacek (a] redhat.com> 1176 1177 PR c++/107593 1178 PR c++/108597 1179 * c-common.h (instantiation_dependent_expression_p): Declare. 1180 * c-warn.cc (warn_duplicated_cond_add_or_warn): If the condition 1181 is dependent, invalidate the chain. 1182 1183 2023-01-26 Marek Polacek <polacek (a] redhat.com> 1184 1185 PR c++/105300 1186 * c-pragma.cc (handle_pragma_message): Warn for CPP_STRING_USERDEF. 1187 1188 2023-01-18 Marek Polacek <polacek (a] redhat.com> 1189 1190 PR c/108424 1191 * c-common.cc (check_case_value): Check INTEGRAL_TYPE_P. 1192 1193 2023-01-14 Jakub Jelinek <jakub (a] redhat.com> 1194 1195 PR c++/108365 1196 * c-common.h (may_shorten_divmod): New static inline function. 1197 1198 2023-01-13 Eric Botcazou <ebotcazou (a] adacore.com> 1199 1200 * c-ada-spec.cc (is_float32): New function. 1201 (is_float64): Likewise. 1202 (is_float128): Tweak. 1203 (dump_ada_node) <REAL_TYPE>: Call them to recognize more types. 1204 1205 2023-01-12 Lewis Hyatt <lhyatt (a] gmail.com> 1206 1207 PR preprocessor/108244 1208 * c-pragma.cc (c_register_pragma_1): Don't attempt to register any 1209 deferred pragmas if -fdirectives-only. 1210 (init_pragma): Likewise. 1211 1212 2023-01-09 Martin Liska <mliska (a] suse.cz> 1213 1214 PR c/107993 1215 * c-attribs.cc (handle_target_clones_attribute): Check for 1216 string constant for all target_clone attribute values. 1217 1218 2023-01-03 Florian Weimer <fweimer (a] redhat.com> 1219 1220 * c-cppbuiltin.cc (c_cpp_builtins): Define 1221 __LIBGCC_DWARF_CIE_DATA_ALIGNMENT__. 1222 1223 2023-01-03 Florian Weimer <fweimer (a] redhat.com> 1224 1225 Revert: 1226 2023-01-03 Florian Weimer <fweimer (a] redhat.com> 1227 1228 * c-cppbuiltin.cc (__LIBGCC_DWARF_REG_SIZES_CONSTANT__): 1229 Define if constant is known. 1230 1231 2023-01-03 Florian Weimer <fweimer (a] redhat.com> 1232 1233 Revert: 1234 2023-01-02 Florian Weimer <fweimer (a] redhat.com> 1235 1236 * c-cppbuiltin.cc (c_cpp_builtins): Define 1237 __LIBGCC_DWARF_CIE_DATA_ALIGNMENT__. 1238 1239 2023-01-02 Florian Weimer <fweimer (a] redhat.com> 1240 1241 * c-cppbuiltin.cc (c_cpp_builtins): Define 1242 __LIBGCC_DWARF_CIE_DATA_ALIGNMENT__. 1243 1244 2023-01-02 Florian Weimer <fweimer (a] redhat.com> 1245 1246 * c-cppbuiltin.cc (__LIBGCC_DWARF_REG_SIZES_CONSTANT__): 1247 Define if constant is known. 1248 1249 2022-12-19 Marek Polacek <polacek (a] redhat.com> 1250 1251 PR c/98487 1252 * c-format.cc (check_function_format): Use get_attribute_name. 1253 1254 2022-12-16 Qing Zhao <qing.zhao (a] oracle.com> 1255 1256 * c.opt (Wstrict-flex-arrays): New option. 1257 1258 2022-12-02 Andrew MacLeod <amacleod (a] redhat.com> 1259 1260 * c-attribs.cc (handle_deprecated_attribute): Use type when 1261 using TYPE_NAME. 1262 1263 2022-12-02 Jakub Jelinek <jakub (a] redhat.com> 1264 1265 PR c++/84469 1266 * c-omp.cc (c_omp_is_loop_iterator): For range for with structured 1267 binding return TREE_VEC_LENGTH (d->declv) even if decl is equal 1268 to any of the structured binding decls. 1269 1270 2022-11-30 Iskander Shakirzyanov <iskander (a] ispras.ru> 1271 Franz Sirl <Franz.Sirl-kernel (a] lauterbach.com> 1272 1273 PR driver/107787 1274 * c-common.cc (fold_offsetof, 1275 convert_vector_to_array_for_subscript): Use OPT_Warray_bounds_ 1276 instead of OPT_Warray_bounds. 1277 1278 2022-11-24 Jakub Jelinek <jakub (a] redhat.com> 1279 1280 * c.opt (fcontract-role=, fcontract-semantic=): Terminate descriptions 1281 with a dot. 1282 1283 2022-11-23 Andrew Pinski <apinski (a] marvell.com> 1284 Jakub Jelinek <jakub (a] redhat.com> 1285 1286 PR c/107127 1287 * c-gimplify.cc (c_genericize): Use walk_tree_without_duplicates 1288 instead of walk_tree for c_genericize_control_r. 1289 1290 2022-11-23 Jakub Jelinek <jakub (a] redhat.com> 1291 1292 * c.opt (fcontract-assumption-mode=, fcontract-continuation-mode=, 1293 fcontract-role=, fcontract-semantic=): Add RejectNegative. 1294 (fcontract-build-level=): Terminate description with dot. 1295 1296 2022-11-19 Jakub Jelinek <jakub (a] redhat.com> 1297 1298 * c-cppbuiltin.cc (c_cpp_builtins): Bump __cpp_constexpr 1299 value from 202207L to 202211L. 1300 1301 2022-11-19 Jeff Chapman II <jchapman (a] lock3software.com> 1302 Andrew Sutton <asutton (a] lock3software.com> 1303 Andrew Marmaduke <amarmaduke (a] lock3software.com> 1304 Michael Lopez <mlopez (a] lock3software.com> 1305 Jason Merrill <jason (a] redhat.com> 1306 1307 * c.opt: Add contracts flags. 1308 * c-cppbuiltin.cc (c_cpp_builtins): Add contracts feature-test 1309 macros. 1310 1311 2022-11-16 Marek Polacek <polacek (a] redhat.com> 1312 1313 PR c++/106649 1314 * c-cppbuiltin.cc (c_cpp_builtins): Update value of __cpp_constexpr for 1315 C++23. 1316 * c-opts.cc (c_common_post_options): Set warn_invalid_constexpr 1317 depending on cxx_dialect. 1318 * c.opt (Winvalid-constexpr): New option. 1319 1320 2022-11-16 Jakub Jelinek <jakub (a] redhat.com> 1321 1322 * c-common.def (CONCEPT_DECL): New tree, moved here from 1323 cp-tree.def. 1324 * c-common.cc (c_common_init_ts): Handle CONCEPT_DECL. 1325 * c-attribs.cc (handle_deprecated_attribute): Allow deprecated 1326 attribute on CONCEPT_DECL. 1327 1328 2022-11-15 Lewis Hyatt <lhyatt (a] gmail.com> 1329 1330 * c-opts.cc (c_finish_options): Use special_fname_builtin () rather 1331 than a hard-coded string. 1332 1333 2022-11-15 Jakub Jelinek <jakub (a] redhat.com> 1334 1335 * c-cppbuiltin.cc (c_cpp_builtins): Bump C++23 1336 __cpp_multidimensional_subscript macro value to 202211L. 1337 1338 2022-11-15 Patrick Palka <ppalka (a] redhat.com> 1339 1340 PR c++/107638 1341 * c-lex.cc (c_common_has_attribute): Return 1 for init_priority 1342 iff SUPPORTS_INIT_PRIORITY. 1343 1344 2022-11-14 Martin Liska <mliska (a] suse.cz> 1345 1346 Revert: 1347 2022-11-09 Martin Liska <mliska (a] suse.cz> 1348 1349 * c-target.def: Port to RST. 1350 1351 2022-11-12 Joseph Myers <joseph (a] codesourcery.com> 1352 1353 * c-common.cc (c_common_reswords): Use D_C2X instead of D_CXXONLY. 1354 1355 2022-11-11 Jonathan Wakely <jwakely (a] redhat.com> 1356 1357 PR c/85487 1358 * c-pragma.cc (handle_pragma_ignore): New function. 1359 (init_pragma): Register region and endregion pragmas. 1360 1361 2022-11-09 Martin Liska <mliska (a] suse.cz> 1362 1363 * c-target.def: Port to RST. 1364 1365 2022-11-05 Lewis Hyatt <lhyatt (a] gmail.com> 1366 1367 PR preprocessor/55971 1368 * c-ppoutput.cc (adjust_for_newlines): Update comment. 1369 1370 2022-11-03 Jason Merrill <jason (a] redhat.com> 1371 1372 * c-opts.cc (c_common_post_options): -fconcepts no longer implies 1373 -fconcepts-ts before C++20. 1374 1375 2022-10-28 Joseph Myers <joseph (a] codesourcery.com> 1376 1377 * c-common.cc (def_fn_type): Call build_function_type for 1378 zero-argument variable-argument function. 1379 (c_common_nodes_and_builtins): Build default_function_type with 1380 build_function_type. 1381 * c.opt (fallow-parameterless-variadic-functions): Mark as ignored 1382 option. 1383 1384 2022-10-28 Joseph Myers <joseph (a] codesourcery.com> 1385 1386 PR c/61469 1387 * c-common.h (ENUM_UNDERLYING_TYPE, ENUM_FIXED_UNDERLYING_TYPE_P): 1388 New. Moved from cp/cp-tree.h. 1389 * c-warn.cc (warnings_for_convert_and_check): Do not consider 1390 conversions to enum with underlying type bool to overflow. 1391 1392 2022-10-26 Marek Polacek <polacek (a] redhat.com> 1393 1394 PR c++/106393 1395 * c.opt (Wdangling-reference): New. 1396 1397 2022-10-19 Joseph Myers <joseph (a] codesourcery.com> 1398 1399 * c-format.h (enum format_lengths): Add FMT_LEN_w8, FMT_LEN_w16, 1400 FMT_LEN_w32, FMT_LEN_w64, FMT_LEN_wf8, FMT_LEN_wf16, FMT_LEN_wf32 1401 and FMT_LEN_wf64. 1402 (NOARGUMENTS, NOLENGTHS): Update definitions. 1403 (T_I8, T2X_I8, T_I16, T2X_I16, T_I32, T2X_I32, T_I64, T2X_I64) 1404 (T_U8, T2X_U8, T_U16, T2X_U16, T_U32, T2X_U32, T_U64, T2X_U64) 1405 (T_IF8, T2X_IF8, T_IF16, T2X_IF16, T_IF32, T2X_IF32, T_IF64) 1406 (T2X_IF64, T_UF8, T2X_UF8, T_UF16, T2X_UF16, T_UF32, T2X_UF32) 1407 (T_UF64, T2X_UF64): New macros. 1408 * c-format.cc (printf_length_specs, scanf_length_specs): Add wN 1409 and wfN length modifiers. 1410 (print_char_table, scan_char_table): Add entries using wN and wfN 1411 length modifiers. 1412 1413 2022-10-18 Joseph Myers <joseph (a] codesourcery.com> 1414 1415 PR c/36113 1416 * c-common.cc (c_common_type_for_size): Add fallback to 1417 widest_unsigned_literal_type_node or 1418 widest_integer_literal_type_node for precision that may not 1419 exactly match the precision of those types. 1420 1421 2022-10-14 Jakub Jelinek <jakub (a] redhat.com> 1422 1423 * c-cppbuiltin.cc (c_cpp_builtins): If bfloat16_type_node, 1424 predefine __BFLT16_*__ macros and for C++23 also 1425 __STDCPP_BFLOAT16_T__. Predefine bfloat16_type_node related 1426 macros for -fbuilding-libgcc. 1427 * c-lex.cc (interpret_float): Handle CPP_N_BFLOAT16. 1428 1429 2022-10-14 Jakub Jelinek <jakub (a] redhat.com> 1430 1431 PR middle-end/323 1432 PR c++/107097 1433 * c-common.def (EXCESS_PRECISION_EXPR): Remove comment part about 1434 the tree being specific to C/ObjC. 1435 * c-opts.cc (c_common_post_options): Handle flag_excess_precision 1436 in C++ the same as in C. 1437 * c-lex.cc (interpret_float): Set const_type to excess_precision () 1438 even for C++. 1439 1440 2022-10-13 Joseph Myers <joseph (a] codesourcery.com> 1441 1442 * c-cppbuiltin.cc (builtin_define_float_constants): Do not use 1443 value 2 for *_IS_IEC_60559. 1444 1445 2022-10-12 Lewis Hyatt <lhyatt (a] gmail.com> 1446 1447 PR preprocessor/60014 1448 PR preprocessor/60723 1449 * c-ppoutput.cc (class token_streamer): Remove member 1450 line_marker_emitted to... 1451 (token_streamer::stream): ...a local variable here. Set 1452 print.prev_was_system_token on all code paths. 1453 1454 2022-10-10 Nathan Sidwell <nathan (a] acm.org> 1455 1456 * c-opts.cc (c_common_post_options): Bump abi to 18. 1457 1458 2022-10-10 Marek Polacek <polacek (a] redhat.com> 1459 1460 PR c++/106937 1461 * c-pretty-print.cc (pp_c_specifier_qualifier_list): Print only GNU 1462 attributes here. 1463 (c_pretty_printer::direct_abstract_declarator): Print the standard [[]] 1464 attributes here. 1465 (pp_c_attributes): Remove. 1466 (pp_c_attributes_display): Print the [[]] form if appropriate. Use 1467 get_attribute_name. Don't print a trailing space when printing the 1468 [[]] form. 1469 * c-pretty-print.h (pp_c_attributes): Remove. 1470 1471 2022-10-07 Qing Zhao <qing.zhao (a] oracle.com> 1472 1473 * c-attribs.cc (handle_strict_flex_array_attribute): New function. 1474 (c_common_attribute_table): New item for strict_flex_array. 1475 * c.opt: (fstrict-flex-arrays): New option. 1476 (fstrict-flex-arrays=): New option. 1477 1478 2022-10-07 Martin Liska <mliska (a] suse.cz> 1479 1480 * name-hint.h: Use std::move. 1481 1482 2022-10-07 Jakub Jelinek <jakub (a] redhat.com> 1483 1484 * c-common.cc (attribute_fallthrough_p): Lookup fallthrough attribute 1485 only in gnu namespace or as standard attribute, treat fallthrough 1486 attributes in other namespaces like any other unknown attribute. 1487 1488 2022-10-06 Joseph Myers <joseph (a] codesourcery.com> 1489 1490 * c-common.cc (c_common_reswords): Mark typeof as D_EXT11. Add 1491 typeof_unqual. 1492 * c-common.h (enum rid): Add RID_TYPEOF_UNQUAL. 1493 (D_EXT11): New macro. Values of subsequent macros updated. 1494 1495 2022-10-06 Jakub Jelinek <jakub (a] redhat.com> 1496 1497 PR c++/106654 1498 * c-attribs.cc (handle_assume_attribute): New function. 1499 (c_common_attribute_table): Add entry for assume attribute. 1500 * c-lex.cc (c_common_has_attribute): Handle 1501 __have_cpp_attribute (assume). 1502 1503 2022-10-04 Jakub Jelinek <jakub (a] redhat.com> 1504 1505 * c-omp.cc (c_omp_directives): Uncomment begin declare target 1506 entry. 1507 1508 2022-10-03 Patrick Palka <ppalka (a] redhat.com> 1509 1510 * c-common.cc (c_common_reswords): Use RID_IS_SAME instead of 1511 RID_IS_SAME_AS. 1512 1513 2022-10-03 Joseph Myers <joseph (a] codesourcery.com> 1514 1515 * c-cppbuiltin.cc (builtin_define_float_constants): Do not 1516 special-case __*_EPSILON__ setting for IBM long double for C2x. 1517 1518 2022-09-30 Patrick Palka <ppalka (a] redhat.com> 1519 1520 * c-common.cc (c_common_reswords): Use cp/cp-trait.def to handle 1521 C++ traits. 1522 * c-common.h (enum rid): Likewise. 1523 1524 2022-09-29 Joseph Myers <joseph (a] codesourcery.com> 1525 1526 * c-lex.cc (c_common_has_attribute): Handle noreturn attribute for 1527 C. 1528 1529 2022-09-29 Patrick Palka <ppalka (a] redhat.com> 1530 1531 * c-common.cc (c_common_reswords): Add __remove_cv, 1532 __remove_reference and __remove_cvref. 1533 * c-common.h (enum rid): Add RID_REMOVE_CV, RID_REMOVE_REFERENCE 1534 and RID_REMOVE_CVREF. 1535 1536 2022-09-27 Marek Polacek <polacek (a] redhat.com> 1537 1538 PR c++/101165 1539 PR c++/106882 1540 * c-cppbuiltin.cc (c_cpp_builtins): Define __cpp_implicit_move. 1541 1542 2022-09-27 Marek Polacek <polacek (a] redhat.com> 1543 1544 * c-format.cc (c_keywords): Drop nothrow. 1545 1546 2022-09-27 Jakub Jelinek <jakub (a] redhat.com> 1547 1548 PR c++/106651 1549 * c-cppbuiltin.cc (c_cpp_builtins): Predefine 1550 __cpp_static_call_operator=202207L for C++23. 1551 1552 2022-09-27 Jakub Jelinek <jakub (a] redhat.com> 1553 1554 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ASSUME, 1555 PRAGMA_OMP_ASSUMES and PRAGMA_OMP_BEGIN. Rename 1556 PRAGMA_OMP_END_DECLARE_TARGET to PRAGMA_OMP_END. 1557 * c-pragma.cc (omp_pragmas): Add assumes and begin. 1558 For end rename PRAGMA_OMP_END_DECLARE_TARGET to PRAGMA_OMP_END. 1559 (omp_pragmas_simd): Add assume. 1560 * c-common.h (c_omp_directives): Declare. 1561 * c-omp.cc (omp_directives): Rename to ... 1562 (c_omp_directives): ... this. No longer static. Uncomment 1563 assume, assumes, begin assumes and end assumes entries. 1564 In end declare target entry rename PRAGMA_OMP_END_DECLARE_TARGET 1565 to PRAGMA_OMP_END. 1566 (c_omp_categorize_directive): Adjust for omp_directives to 1567 c_omp_directives renaming. 1568 1569 2022-09-27 Jakub Jelinek <jakub (a] redhat.com> 1570 1571 PR c++/106652 1572 PR c++/85518 1573 * c-common.cc (c_common_reswords): Change _Float{16,32,64,128} and 1574 _Float{32,64,128}x flags from D_CONLY to 0. 1575 (shorten_binary_op): Punt if common_type returns error_mark_node. 1576 (shorten_compare): Likewise. 1577 (c_common_nodes_and_builtins): For C++ record _Float{16,32,64,128} 1578 and _Float{32,64,128}x builtin types if available. For C++ 1579 clear float128t_type_node. 1580 * c-cppbuiltin.cc (c_cpp_builtins): Predefine 1581 __STDCPP_FLOAT{16,32,64,128}_T__ for C++23 if supported. 1582 * c-lex.cc (interpret_float): For q/Q suffixes prefer 1583 float128t_type_node over float128_type_node. Allow 1584 {f,F}{16,32,64,128} suffixes for C++ if supported with pedwarn 1585 for C++20 and older. Allow {f,F}{32,64,128}x suffixes for C++ 1586 with pedwarn. Don't call excess_precision_type for C++. 1587 1588 2022-09-26 Marek Polacek <polacek (a] redhat.com> 1589 1590 PR c++/106656 1591 * c-cppbuiltin.cc (c_cpp_builtins): Update value of __cpp_char8_t 1592 for C++20. 1593 1594 2022-09-23 Marek Polacek <polacek (a] redhat.com> 1595 1596 PR c++/106784 1597 * c-common.cc (c_common_reswords): Add __is_convertible and 1598 __is_nothrow_convertible. 1599 * c-common.h (enum rid): Add RID_IS_CONVERTIBLE and 1600 RID_IS_NOTHROW_CONVERTIBLE. 1601 1602 2022-09-22 David Malcolm <dmalcolm (a] redhat.com> 1603 1604 PR c/106830 1605 * c-warn.cc (check_for_xor_used_as_pow): Don't try checking 1606 values that don't fit in uhwi. 1607 1608 2022-09-15 Richard Biener <rguenther (a] suse.de> 1609 1610 * c-common.h (build_void_list_node): Remove. 1611 * c-common.cc (c_common_nodes_and_builtins): Do not initialize 1612 void_list_node. 1613 1614 2022-09-09 Jan-Benedict Glaw <jbglaw (a] lug-owl.de> 1615 1616 * c-format.cc (convert_format_name_to_system_name): Fix warning. 1617 1618 2022-09-07 Joseph Myers <joseph (a] codesourcery.com> 1619 1620 * c-common.cc (c_common_reswords): Use D_C2X instead of D_CXXONLY 1621 for alignas, alignof, bool, false, static_assert, thread_local and 1622 true. 1623 1624 2022-09-07 Jakub Jelinek <jakub (a] redhat.com> 1625 1626 * c.opt (Winvalid-utf8): Use ObjC instead of objC. Remove 1627 " in comments" from description. 1628 (Wunicode): New option. 1629 1630 2022-09-06 Jakub Jelinek <jakub (a] redhat.com> 1631 1632 PR c/106836 1633 * c-omp.cc (c_omp_split_clauses): Handle OMP_CLAUSE_DOACROSS. 1634 1635 2022-09-03 Jakub Jelinek <jakub (a] redhat.com> 1636 1637 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DOACROSS. 1638 * c-omp.cc (c_finish_omp_depobj): Check also for OMP_CLAUSE_DOACROSS 1639 clause and diagnose it. Don't handle OMP_CLAUSE_DEPEND_SOURCE and 1640 OMP_CLAUSE_DEPEND_SINK. Assert kind is not OMP_CLAUSE_DEPEND_INVALID. 1641 1642 2022-09-02 David Malcolm <dmalcolm (a] redhat.com> 1643 1644 PR c/90885 1645 * c-common.h (check_for_xor_used_as_pow): New decl. 1646 * c-lex.cc (c_lex_with_flags): Add DECIMAL_INT to flags as appropriate. 1647 * c-warn.cc (check_for_xor_used_as_pow): New. 1648 * c.opt (Wxor-used-as-pow): New. 1649 1650 2022-09-01 Jason Merrill <jason (a] redhat.com> 1651 1652 * c-common.cc (c_common_nodes_and_builtins): Set TREE_STRING_FLAG on 1653 char8_t. 1654 (braced_list_to_string): Check for char-sized elements. 1655 1656 2022-09-01 Jakub Jelinek <jakub (a] redhat.com> 1657 1658 PR c++/106655 1659 * c.opt (-Winvalid-utf8): New warning. 1660 * c-opts.cc (c_common_handle_option) <case OPT_finput_charset_>: 1661 Set cpp_opts->cpp_input_charset_explicit. 1662 (c_common_post_options): If -finput-charset=UTF-8 is explicit 1663 in C++23, enable -Winvalid-utf8 by default and if -pedantic 1664 or -pedantic-errors, make it a pedwarn. 1665 1666 2022-08-31 Joseph Myers <joseph (a] codesourcery.com> 1667 1668 * c-attribs.cc (handle_deprecated_attribute): Check and pedwarn 1669 for LABEL_DECL. 1670 * c-common.cc (c_add_case_label): Add argument ATTRS. Call 1671 decl_attributes. 1672 * c-common.h (do_case, c_add_case_label): Update declarations. 1673 * c-lex.cc (c_common_has_attribute): For C, produce a result of 1674 201910 for fallthrough and 202106 for maybe_unused. 1675 1676 2022-08-26 Marek Polacek <polacek (a] redhat.com> 1677 1678 PR c++/81159 1679 * c.opt (Wself-move): New option. 1680 1681 2022-08-26 Jakub Jelinek <jakub (a] redhat.com> 1682 1683 * c-common.cc (check_builtin_function_arguments): Handle 1684 BUILT_IN_ISSIGNALING. 1685 1686 2022-08-26 Jakub Jelinek <jakub (a] redhat.com> 1687 1688 PR c++/106648 1689 * c-cppbuiltin.cc (c_cpp_builtins): Predefine 1690 __cpp_named_character_escapes to 202207L. 1691 1692 2022-08-25 Marek Polacek <polacek (a] redhat.com> 1693 1694 * c-common.cc (c_common_reswords): Enable nullptr in C2X. 1695 (c_common_nodes_and_builtins): Create the built-in node for nullptr. 1696 * c-common.h (enum c_tree_index): Add CTI_NULLPTR, CTI_NULLPTR_TYPE. 1697 (struct c_common_resword): Resize the disable member. 1698 (D_C2X): Add. 1699 (nullptr_node): Define. 1700 (nullptr_type_node): Define. 1701 (NULLPTR_TYPE_P): Define. 1702 * c-pretty-print.cc (c_pretty_printer::simple_type_specifier): Handle 1703 NULLPTR_TYPE. 1704 (c_pretty_printer::direct_abstract_declarator): Likewise. 1705 (c_pretty_printer::constant): Likewise. 1706 1707 2022-08-16 Tom Honermann <tom (a] honermann.net> 1708 1709 PR c++/106423 1710 * c-opts.cc (c_common_post_options): Disable -Wc++20-compat 1711 diagnostics in C++20 and later. 1712 * c.opt (Wc++20-compat): Enable hooks for the preprocessor. 1713 1714 2022-08-11 Marek Polacek <polacek (a] redhat.com> 1715 1716 PR middle-end/102633 1717 * c-gimplify.cc (c_gimplify_expr) <case DECL_EXPR>: Don't call 1718 suppress_warning here. 1719 1720 2022-08-08 Tom Honermann <tom (a] honermann.net> 1721 1722 PR preprocessor/106426 1723 * c-opts.cc (c_common_post_options): Assign cpp_opts->unsigned_utf8char 1724 subject to -fchar8_t, -fsigned-char, and/or -funsigned-char. 1725 1726 2022-08-08 Tom Honermann <tom (a] honermann.net> 1727 1728 * c-lex.cc (lex_string, lex_charconst): Use char8_t as the type 1729 of CPP_UTF8CHAR and CPP_UTF8STRING when char8_t support is 1730 enabled. 1731 * c-opts.cc (c_common_post_options): Set flag_char8_t if 1732 targeting C2x. 1733 1734 2022-07-31 Lewis Hyatt <lhyatt (a] gmail.com> 1735 1736 PR c++/66290 1737 * c-common.h: Rename global done_lexing to 1738 override_libcpp_locations. 1739 * c-common.cc (c_cpp_diagnostic): Likewise. 1740 * c-opts.cc (c_common_finish): Set override_libcpp_locations 1741 (formerly done_lexing) immediately prior to calling cpp_finish (). 1742 1743 2022-07-27 Lewis Hyatt <lhyatt (a] gmail.com> 1744 1745 * c-ppoutput.cc (token_streamer::stream): Update input_location 1746 prior to streaming each token. 1747 1748 2022-07-23 Immad Mir <mirimmad (a] outlook.com> 1749 1750 * c-attribs.cc: (c_common_attribute_table): add three new attributes 1751 namely: fd_arg, fd_arg_read and fd_arg_write. 1752 (handle_fd_arg_attribute): New. 1753 1754 2022-07-15 Marek Polacek <polacek (a] redhat.com> 1755 1756 PR c++/104477 1757 * c-common.cc (c_common_reswords): Add 1758 __reference_constructs_from_temporary and 1759 __reference_converts_from_temporary. 1760 * c-common.h (enum rid): Add RID_REF_CONSTRUCTS_FROM_TEMPORARY and 1761 RID_REF_CONVERTS_FROM_TEMPORARY. 1762 1763 2022-07-15 Jonathan Wakely <jwakely (a] redhat.com> 1764 1765 * c-format.cc (class range_label_for_format_type_mismatch): 1766 Adjust to new label_text API. 1767 1768 2022-07-11 Lewis Hyatt <lhyatt (a] gmail.com> 1769 1770 PR preprocessor/106252 1771 * c-pragma.cc (handle_pragma_diagnostic_impl): Don't look up the 1772 option argument prior to verifying the option was found. 1773 1774 2022-07-07 David Malcolm <dmalcolm (a] redhat.com> 1775 1776 * c-format.cc (range_label_for_format_type_mismatch::get_text): 1777 Update for removal of label_text::maybe_free in favor of automatic 1778 memory management. 1779 1780 2022-07-06 Lewis Hyatt <lhyatt (a] gmail.com> 1781 1782 PR preprocessor/53920 1783 PR c++/53431 1784 * c-common.cc (c_option_is_from_cpp_diagnostics): New function. 1785 * c-common.h (c_option_is_from_cpp_diagnostics): Declare. 1786 (c_pp_stream_token): Declare. 1787 * c-ppoutput.cc (init_pp_output): Refactor logic about skipping 1788 pragmas to... 1789 (should_output_pragmas): ...here. New function. 1790 (token_streamer::stream): Support handling early pragmas. 1791 (do_line_change): Likewise. 1792 (c_pp_stream_token): New function. 1793 * c-pragma.cc (struct pragma_diagnostic_data): New helper class. 1794 (pragma_diagnostic_lex_normal): New function. Moved logic for 1795 interpreting GCC diagnostic pragmas here. 1796 (pragma_diagnostic_lex_pp): New function for parsing diagnostic pragmas 1797 directly from libcpp. 1798 (handle_pragma_diagnostic): Refactor into helper function... 1799 (handle_pragma_diagnostic_impl): ...here. New function. 1800 (handle_pragma_diagnostic_early): New function. 1801 (handle_pragma_diagnostic_early_pp): New function. 1802 (struct pragma_ns_name): Renamed to... 1803 (struct pragma_pp_data): ...this. Add new "early_handler" member. 1804 (c_register_pragma_1): Support early pragmas in the preprocessor. 1805 (c_register_pragma_with_early_handler): New function. 1806 (c_register_pragma): Support the new early handlers in struct 1807 internal_pragma_handler. 1808 (c_register_pragma_with_data): Likewise. 1809 (c_register_pragma_with_expansion): Likewise. 1810 (c_register_pragma_with_expansion_and_data): Likewise. 1811 (c_invoke_early_pragma_handler): New function. 1812 (c_pp_invoke_early_pragma_handler): New function. 1813 (init_pragma): Add early pragma support for diagnostic pragmas. 1814 * c-pragma.h (struct internal_pragma_handler): Add new early handler 1815 members. 1816 (c_register_pragma_with_early_handler): Declare. 1817 (c_invoke_early_pragma_handler): Declare. 1818 (c_pp_invoke_early_pragma_handler): Declare. 1819 1820 2022-07-05 Marek Polacek <polacek (a] redhat.com> 1821 1822 PR c++/105626 1823 * c-format.cc (check_format_arg): Don't emit -Wformat warnings with 1824 u8 strings. 1825 1826 2022-07-01 Marek Polacek <polacek (a] redhat.com> 1827 1828 PR c++/106111 1829 * c-common.h (enum rid): Update RID_LAST_CXX20. 1830 1831 2022-06-30 Jonathan Wakely <jwakely (a] redhat.com> 1832 1833 * known-headers.cc (get_stdlib_header_for_name): Add <time.h> 1834 names. 1835 1836 2022-06-24 Jason Merrill <jason (a] redhat.com> 1837 1838 PR c++/87729 1839 PR c++/20423 1840 * c.opt (Woverloaded-virtual): Add levels, include in -Wall. 1841 1842 2022-06-18 Jakub Jelinek <jakub (a] redhat.com> 1843 1844 * c-ubsan.cc (ubsan_instrument_division, ubsan_instrument_shift): 1845 Use flag_sanitize_trap & SANITIZE_??? instead of 1846 flag_sanitize_undefined_trap_on_error. If 2 sanitizers are involved 1847 and flag_sanitize_trap differs for them, emit __builtin_trap only 1848 for the comparison where trap is requested. 1849 (ubsan_instrument_vla, ubsan_instrument_return): Use 1850 lag_sanitize_trap & SANITIZE_??? instead of 1851 flag_sanitize_undefined_trap_on_error. 1852 1853 2022-06-13 Jason Merrill <jason (a] redhat.com> 1854 1855 * c-ubsan.cc (ubsan_instrument_return): Use BUILTINS_LOCATION. 1856 1857 2022-05-27 Marek Polacek <polacek (a] redhat.com> 1858 1859 PR c/90658 1860 * c-attribs.cc (get_priority): Check FUNCTION_DECL. 1861 1862 2022-05-27 Jakub Jelinek <jakub (a] redhat.com> 1863 1864 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ENTER. 1865 1866 2022-05-20 David Malcolm <dmalcolm (a] redhat.com> 1867 1868 * c-format.cc: Replace uses of "FINAL" and "OVERRIDE" with "final" 1869 and "override". 1870 * c-pretty-print.h: Likewise. 1871 1872 2022-05-18 Marek Polacek <polacek (a] redhat.com> 1873 1874 PR c/105131 1875 * c.opt (Wenum-int-mismatch): New. 1876 1877 2022-05-18 Marek Polacek <polacek (a] redhat.com> 1878 1879 PR c++/105497 1880 * c-warn.cc (c_do_switch_warnings): Don't warn about unhandled 1881 enumerator when it was marked with attribute unused. 1882 1883 2022-05-18 Eric Botcazou <ebotcazou (a] adacore.com> 1884 1885 * c-ada-spec.cc (dump_ada_node) <COMPLEX_TYPE>: Deal with usual 1886 floating-point complex types. 1887 <POINTER_TYPE>: Do not use limited_with clause if the designated 1888 type is a scalar type. 1889 1890 2022-05-17 Jakub Jelinek <jakub (a] redhat.com> 1891 1892 * c-omp.cc (c_finish_omp_depobj): Handle 1893 OMP_CLAUSE_DEPEND_INOUTSET. 1894 1895 2022-05-16 Jason Merrill <jason (a] redhat.com> 1896 1897 PR c/105492 1898 * c-attribs.cc (handle_mode_attribute): Don't fix broken typedefs 1899 here. 1900 1901 2022-05-16 Martin Liska <mliska (a] suse.cz> 1902 1903 * c-common.cc (ARRAY_SIZE): Use ARRAY_SIZE. 1904 (c_common_nodes_and_builtins): Likewise. 1905 * c-format.cc (check_tokens): Likewise. 1906 (check_plain): Likewise. 1907 * c-pragma.cc (c_pp_lookup_pragma): Likewise. 1908 (init_pragma): Likewise. 1909 * known-headers.cc (get_string_macro_hint): Likewise. 1910 (get_stdlib_header_for_name): Likewise. 1911 * c-attribs.cc: Likewise. 1912 1913 2022-05-13 Richard Biener <rguenther (a] suse.de> 1914 1915 * c-omp.cc: Remove gimple-fold.h include. 1916 1917 2022-05-12 Jakub Jelinek <jakub (a] redhat.com> 1918 1919 * c-common.h (enum rid): Add RID_OMP_ALL_MEMORY. 1920 * c-omp.cc (c_finish_omp_depobj): Don't build_fold_addr_expr 1921 if null_pointer_node. 1922 1923 2022-05-11 Martin Liska <mliska (a] suse.cz> 1924 1925 PR target/105355 1926 * c-opts.cc (c_common_handle_option): Change option name. 1927 * c.opt: Remove Joined and use Separate option. 1928 1929 2022-05-09 Alex Coplan <alex.coplan (a] arm.com> 1930 1931 * c-common.h (get_dump_info): Delete. 1932 * c-gimplify.cc (c_genericize): Get TDI_original dump file info 1933 from the global dump_manager instead of the (now obsolete) 1934 get_dump_info. 1935 * c-opts.cc (original_dump_file): Delete. 1936 (original_dump_flags): Delete. 1937 (c_common_parse_file): Switch to using global dump_manager to 1938 manage the original dump file; fix leak of dump file. 1939 (get_dump_info): Delete. 1940 1941 2022-05-07 Marek Polacek <polacek (a] redhat.com> 1942 1943 PR c++/101833 1944 PR c++/47634 1945 * c-attribs.cc (positional_argument): Pass POS by reference. Deal 1946 with FN being either a function declaration or function type. Use 1947 maybe_adjust_arg_pos_for_attribute. 1948 * c-common.cc (check_function_arguments): Maybe pass FNDECL down to 1949 check_function_format. 1950 * c-common.h (maybe_adjust_arg_pos_for_attribute): Declare. 1951 (positional_argument): Adjust. 1952 * c-format.cc (get_constant): Rename to ... 1953 (validate_constant): ... this. Take EXPR by reference. Return bool 1954 instead of tree. 1955 (handle_format_arg_attribute): Don't overwrite FORMAT_NUM_EXPR by the 1956 return value of validate_constant. 1957 (decode_format_attr): Don't overwrite FORMAT_NUM_EXPR and 1958 FIRST_ARG_NUM_EXPR by the return value of validate_constant. 1959 (check_function_format): Adjust a parameter name. 1960 (handle_format_attribute): Maybe pass FNDECL down to decode_format_attr. 1961 1962 2022-05-04 Marek Polacek <polacek (a] redhat.com> 1963 1964 * c-warn.cc (warnings_for_convert_and_check): Convert constants of type 1965 char to int. 1966 1967 2022-04-30 Jason Merrill <jason (a] redhat.com> 1968 1969 PR c/100545 1970 * c-attribs.cc (handle_mode_attribute): Copy attributes, aligned, 1971 and typedef. 1972 * c-common.cc (set_underlying_type): Add assert. 1973 1974 2022-04-26 Patrick Palka <ppalka (a] redhat.com> 1975 1976 PR c++/105304 1977 * c-common.cc (verify_tree) [restart]: Move up to before the 1978 NULL test. 1979 1980 2022-04-11 Jakub Jelinek <jakub (a] redhat.com> 1981 1982 PR c++/105186 1983 * c-common.cc (c_common_nodes_and_builtins): After registering __int%d 1984 and __int%d__ builtin types, initialize corresponding ridpointers 1985 entry. 1986 1987 2022-03-30 Marek Polacek <polacek (a] redhat.com> 1988 1989 PR c++/101030 1990 * c-warn.cc (conversion_warning) <case COND_EXPR>: Don't call 1991 conversion_warning when OP1 is null. 1992 1993 2022-03-30 Thomas Schwinge <thomas (a] codesourcery.com> 1994 1995 * c.opt (Wc++11-extensions, Wc++14-extensions, Wc++17-extensions) 1996 (Wc++20-extensions, Wc++23-extensions): Remove 'LangEnabledBy' 1997 option properties. 1998 1999 2022-03-30 Thomas Schwinge <thomas (a] codesourcery.com> 2000 2001 * c.opt (Wuse-after-free): Remove. 2002 2003 2022-03-30 Thomas Schwinge <thomas (a] codesourcery.com> 2004 2005 * c.opt (Warray-bounds): Remove. 2006 2007 2022-03-26 Thomas Schwinge <thomas (a] codesourcery.com> 2008 2009 * c.opt: Properly quote comment. 2010 2011 2022-03-25 Eric Botcazou <ebotcazou (a] adacore.com> 2012 2013 * c-ada-spec.cc (dump_ada_import): Deal with the "section" attribute 2014 (dump_ada_node) <POINTER_TYPE>: Do not modify and pass the name, but 2015 the referenced type instead. Deal with the anonymous original type 2016 of a typedef'ed type. In the actual access case, follow the chain 2017 of external subtypes. 2018 <TYPE_DECL>: Tidy up control flow. 2019 2020 2022-03-21 Qian Jianhua <qianjh (a] cn.fujitsu.com> 2021 2022 * c-ada-spec.cc: Change array length 2023 2024 2022-03-19 Arthur Cohen <arthur.cohen (a] embecosm.com> 2025 2026 * c-common.cc (c_family_tests): Call the new tests. 2027 * c-common.h (c_diagnostic_tests): Declare. 2028 (c_opt_problem_cc_tests): Likewise. 2029 2030 2022-03-19 Jakub Jelinek <jakub (a] redhat.com> 2031 2032 PR c++/101515 2033 * c-pretty-print.cc (c_fold_indirect_ref_for_warn): For C++ don't 2034 return COMPONENT_REFs with FIELD_DECLs whose containing scope can't 2035 be printed. 2036 2037 2022-03-16 Christophe Lyon <christophe.lyon (a] arm.com> 2038 Roger Sayle <roger (a] nextmovesoftware.com> 2039 2040 PR c/98198 2041 * c-attribs.cc (decl_or_type_attrs): Add error_mark_node check. 2042 2043 2022-03-16 Patrick Palka <ppalka (a] redhat.com> 2044 2045 PR c++/96780 2046 * c.opt: Add -ffold-simple-inlines. 2047 2048 2022-03-13 Tobias Burnus <tobias (a] codesourcery.com> 2049 2050 * c-target.def (check_string_object_format_arg): Fix description typo. 2051 2052 2022-03-12 Thomas Schwinge <thomas (a] codesourcery.com> 2053 2054 PR other/65095 2055 * c-common.h (c_omp_map_clause_name): Remove. 2056 * c-omp.cc (c_omp_map_clause_name): Remove. 2057 2058 2022-03-09 Jakub Jelinek <jakub (a] redhat.com> 2059 2060 PR c/104711 2061 * c-opts.cc (c_common_post_options): Don't enable 2062 -Wshift-negative-value from -Wextra for C++20 or later. 2063 * c-ubsan.cc (ubsan_instrument_shift): Adjust comments. 2064 * c-warn.cc (maybe_warn_shift_overflow): Use TYPE_OVERFLOW_WRAPS 2065 instead of TYPE_UNSIGNED. 2066 2067 2022-03-07 Jakub Jelinek <jakub (a] redhat.com> 2068 2069 * c-attribs.cc: Fix up duplicated word issue in a comment. 2070 2071 2022-03-01 Martin Liska <mliska (a] suse.cz> 2072 2073 PR ipa/104533 2074 * c-attribs.cc (handle_target_clones_attribute): Use 2075 get_target_clone_attr_len and report warning soon. 2076 2077 2022-02-17 Jonathan Wakely <jwakely (a] redhat.com> 2078 2079 * c-pragma.cc (handle_pragma_pack): Remove parameter name. 2080 (handle_pragma_weak): Likewise. 2081 (handle_pragma_scalar_storage_order): Likewise. 2082 (handle_pragma_redefine_extname): Likewise. 2083 (handle_pragma_visibility): Likewise. 2084 (handle_pragma_diagnostic): Likewise. 2085 (handle_pragma_target): Likewise. 2086 (handle_pragma_optimize): Likewise. 2087 (handle_pragma_push_options): Likewise. 2088 (handle_pragma_pop_options): Likewise. 2089 (handle_pragma_reset_options): Likewise. 2090 (handle_pragma_message): Likewise. 2091 (handle_pragma_float_const_decimal64): Likewise. 2092 2093 2022-02-16 Jakub Jelinek <jakub (a] redhat.com> 2094 2095 PR c/104531 2096 * c-omp.cc (c_finish_omp_atomic): For MIN_EXPR/MAX_EXPR, try first 2097 build_binary_op with LT_EXPR and only if that doesn't return 2098 error_mark_node call build_modify_expr. 2099 2100 2022-02-16 Jakub Jelinek <jakub (a] redhat.com> 2101 2102 PR c/104510 2103 * c-common.cc (shorten_compare): Convert original arguments to 2104 the original *restype_ptr when mixing binary and decimal float. 2105 2106 2022-02-14 Richard Biener <rguenther (a] suse.de> 2107 2108 PR c/104505 2109 * c-pretty-print.cc (c_pretty_printer::postfix_expression): Handle 2110 internal function calls. 2111 2112 2022-02-11 Richard Biener <rguenther (a] suse.de> 2113 2114 * c-attribs.cc (c_common_attribute_table): Add entry for 2115 vector_mask. 2116 (handle_vector_mask_attribute): New. 2117 2118 2022-02-10 Marcel Vollweiler <marcel (a] codesourcery.com> 2119 2120 * c-omp.cc (c_omp_split_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case. 2121 * c-pragma.h (enum pragma_kind): Added 5.1 in comment. 2122 (enum pragma_omp_clause): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR. 2123 2124 2022-02-09 Jason Merrill <jason (a] redhat.com> 2125 2126 * c-cppbuiltin.cc (c_cpp_builtins): Update values 2127 of __cpp_constexpr and __cpp_concepts for C++20. 2128 2129 2022-01-24 Marek Polacek <polacek (a] redhat.com> 2130 2131 PR preprocessor/104030 2132 * c.opt (Wbidi-chars): Mark as EnumSet. Also accept =ucn. 2133 2134 2022-01-21 Jakub Jelinek <jakub (a] redhat.com> 2135 2136 PR c++/104148 2137 * c-common.h (check_function_arguments_recurse): Add for_format 2138 arg. 2139 * c-common.cc (check_function_nonnull): Pass false to 2140 check_function_arguments_recurse's last argument. 2141 (check_function_arguments_recurse): Add for_format argument, 2142 if true, don't stop on warning_suppressed_p. 2143 * c-format.cc (check_format_info): Pass true to 2144 check_function_arguments_recurse's last argument. 2145 2146 2022-01-19 David Malcolm <dmalcolm (a] redhat.com> 2147 2148 * c-common.cc (c_common_c_tests): Rename to... 2149 (c_common_cc_tests): ...this. 2150 (c_family_tests): Update calls for .c to .cc renaming. 2151 * c-common.h (c_format_c_tests): Rename to... 2152 (c_format_cc_tests): ...this. 2153 (c_indentation_c_tests): Rename to... 2154 (c_indentation_cc_tests): ...this. 2155 (c_pretty_print_c_tests): Rename to... 2156 (c_pretty_print_cc_tests): ...this. 2157 * c-format.cc (c_format_c_tests): Rename to... 2158 (c_format_cc_tests): ...this. 2159 * c-indentation.cc (c_indentation_c_tests): Rename to... 2160 (c_indentation_cc_tests): ...this. 2161 * c-pretty-print.cc (c_pretty_print_c_tests): Rename to... 2162 (c_pretty_print_cc_tests): ...this. 2163 2164 2022-01-17 Martin Liska <mliska (a] suse.cz> 2165 2166 * c-ada-spec.cc: Rename .c names to .cc. 2167 * c-ada-spec.h: Likewise. 2168 * c-common.cc (c_build_vec_convert): Likewise. 2169 (warning_candidate_p): Likewise. 2170 * c-common.h (enum rid): Likewise. 2171 (build_real_imag_expr): Likewise. 2172 (finish_label_address_expr): Likewise. 2173 (c_get_substring_location): Likewise. 2174 (c_build_bind_expr): Likewise. 2175 (conflict_marker_get_final_tok_kind): Likewise. 2176 (c_parse_error): Likewise. 2177 (check_missing_format_attribute): Likewise. 2178 (invalid_array_size_error): Likewise. 2179 (warn_for_multistatement_macros): Likewise. 2180 (build_attr_access_from_parms): Likewise. 2181 * c-cppbuiltin.cc (c_cpp_builtins): Likewise. 2182 * c-format.cc: Likewise. 2183 * c-gimplify.cc (c_gimplify_expr): Likewise. 2184 * c-indentation.h: Likewise. 2185 * c-objc.h (objc_prop_attr_kind_for_rid): Likewise. 2186 * c-omp.cc (c_omp_predetermined_mapping): Likewise. 2187 * c-opts.cc (c_common_post_options): Likewise. 2188 (set_std_cxx23): Likewise. 2189 * c-pragma.cc (handle_pragma_redefine_extname): Likewise. 2190 * c-pretty-print.h: Likewise. 2191 2192 2022-01-17 Martin Liska <mliska (a] suse.cz> 2193 2194 * c-ada-spec.c: Moved to... 2195 * c-ada-spec.cc: ...here. 2196 * c-attribs.c: Moved to... 2197 * c-attribs.cc: ...here. 2198 * c-common.c: Moved to... 2199 * c-common.cc: ...here. 2200 * c-cppbuiltin.c: Moved to... 2201 * c-cppbuiltin.cc: ...here. 2202 * c-dump.c: Moved to... 2203 * c-dump.cc: ...here. 2204 * c-format.c: Moved to... 2205 * c-format.cc: ...here. 2206 * c-gimplify.c: Moved to... 2207 * c-gimplify.cc: ...here. 2208 * c-indentation.c: Moved to... 2209 * c-indentation.cc: ...here. 2210 * c-lex.c: Moved to... 2211 * c-lex.cc: ...here. 2212 * c-omp.c: Moved to... 2213 * c-omp.cc: ...here. 2214 * c-opts.c: Moved to... 2215 * c-opts.cc: ...here. 2216 * c-pch.c: Moved to... 2217 * c-pch.cc: ...here. 2218 * c-ppoutput.c: Moved to... 2219 * c-ppoutput.cc: ...here. 2220 * c-pragma.c: Moved to... 2221 * c-pragma.cc: ...here. 2222 * c-pretty-print.c: Moved to... 2223 * c-pretty-print.cc: ...here. 2224 * c-semantics.c: Moved to... 2225 * c-semantics.cc: ...here. 2226 * c-ubsan.c: Moved to... 2227 * c-ubsan.cc: ...here. 2228 * c-warn.c: Moved to... 2229 * c-warn.cc: ...here. 2230 * cppspec.c: Moved to... 2231 * cppspec.cc: ...here. 2232 * stub-objc.c: Moved to... 2233 * stub-objc.cc: ...here. 2234 2235 2022-01-15 Martin Sebor <msebor (a] redhat.com> 2236 2237 PR c/63272 2238 * c.opt (-Wdangling-pointer): New option. 2239 2240 2022-01-15 Martin Sebor <msebor (a] redhat.com> 2241 2242 PR tree-optimization/80532 2243 * c.opt (-Wuse-after-free): New options. 2244 2245 2022-01-14 David Malcolm <dmalcolm (a] redhat.com> 2246 2247 * c-attribs.c (c_common_attribute_table): Add "tainted_args". 2248 (handle_tainted_args_attribute): New. 2249 2250 2022-01-13 Anthony Sharp <anthonysharp15 (a] gmail.com> 2251 Jason Merrill <jason (a] redhat.com> 2252 2253 PR c++/70417 2254 * c.opt: Added -Wmissing-template-keyword. 2255 2256 2022-01-13 Richard Biener <rguenther (a] suse.de> 2257 2258 PR c/104002 2259 * c-common.c (c_common_mark_addressable_vec): Handle TARGET_EXPR. 2260 2261 2022-01-12 Martin Liska <mliska (a] suse.cz> 2262 2263 PR target/103804 2264 * c-attribs.c (handle_optimize_attribute): Do not call 2265 cl_optimization_compare if we seen an error. 2266 2267 2022-01-11 Jakub Jelinek <jakub (a] redhat.com> 2268 2269 PR c/101537 2270 PR c/103881 2271 * c-warn.c (conversion_warning): Handle BIT_AND_EXPR, BIT_IOR_EXPR 2272 and BIT_XOR_EXPR. 2273 2274 2022-01-10 Richard Biener <rguenther (a] suse.de> 2275 2276 PR middle-end/101530 2277 * c-common.c (c_build_shufflevector): Wrap the BIT_FIELD_REF 2278 in a TARGET_EXPR to force a temporary. 2279 2280 2022-01-06 Marek Polacek <polacek (a] redhat.com> 2281 2282 PR c++/103758 2283 * c-pragma.c (handle_pragma_scalar_storage_order): Use %< %> in 2284 diagnostic messages. 2285 (handle_pragma_diagnostic): Likewise. 2286 2287 2022-01-03 Marek Polacek <polacek (a] redhat.com> 2288 2289 PR c++/103758 2290 * c-format.c (check_tokens): Accept "decl-specifier*". 2291 2292 2022-01-03 Jakub Jelinek <jakub (a] redhat.com> 2293 2294 PR c++/103600 2295 * c-attribs.c (handle_non_overlapping_attribute): New function. 2296 (c_common_attribute_table): Add "non overlapping" attribute. 2297 2298 2021-12-30 Jakub Jelinek <jakub (a] redhat.com> 2299 2300 PR c++/103012 2301 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Perform 2302 cpp_define_unused/cpp_undef calls with forced token locations 2303 BUILTINS_LOCATION. 2304 2305 2021-12-27 Patrick Palka <ppalka (a] redhat.com> 2306 2307 PR c++/103700 2308 * c-common.c (pointer_int_sum): When quiet, return 2309 error_mark_node for an incomplete pointed-to type and don't 2310 call size_in_bytes_loc. 2311 2312 2021-12-17 Jason Merrill <jason (a] redhat.com> 2313 2314 PR c++/103681 2315 * c-opts.c (c_common_post_options): Update defaults. 2316 2317 2021-12-16 Martin Liska <mliska (a] suse.cz> 2318 2319 PR target/103709 2320 * c-pragma.c (handle_pragma_pop_options): Do not check 2321 global options modification when an error is seen in parsing 2322 of options (pragmas or attributes). 2323 2324 2021-12-12 Jonathan Wakely <jwakely (a] redhat.com> 2325 2326 * known-headers.cc: Define INCLUDE_MEMORY instead of 2327 INCLUDE_UNIQUE_PTR. 2328 * name-hint.h: Likewise. 2329 (class name_hint): Use std::unique_ptr instead of gnu::unique_ptr. 2330 2331 2021-12-09 Jakub Jelinek <jakub (a] redhat.com> 2332 2333 PR pch/71934 2334 * c-pch.c (c_common_no_more_pch): Pass a temporary void * var 2335 with NULL value instead of NULL to host_hooks.gt_pch_use_address. 2336 2337 2021-12-03 Jakub Jelinek <jakub (a] redhat.com> 2338 2339 PR pch/71934 2340 * c-pch.c (struct c_pch_validity): Remove pch_init member. 2341 (pch_init): Don't initialize v.pch_init. 2342 (c_common_valid_pch): Don't warn and punt if .text addresses change. 2343 2344 2021-12-01 Jason Merrill <jason (a] redhat.com> 2345 2346 PR c++/103310 2347 * c.opt: Add -fconstexpr-fp-except. 2348 2349 2021-11-29 Richard Biener <rguenther (a] suse.de> 2350 2351 * c-format.c (check_format_string): Remove spurious 2352 gcc_unreachable. 2353 2354 2021-11-29 Richard Biener <rguenther (a] suse.de> 2355 2356 * c-opts.c (c_common_post_options): Remove unreachable return. 2357 * c-pragma.c (handle_pragma_target): Likewise. 2358 (handle_pragma_optimize): Likewise. 2359 2360 2021-11-25 Jakub Jelinek <jakub (a] redhat.com> 2361 2362 PR c++/102611 2363 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by 2364 default for C++23 regardless of warn_deprecated. 2365 * c-cppbuiltin.c (c_cpp_builtins): Predefine 2366 __cpp_multidimensional_subscript=202110L for C++23. 2367 2368 2021-11-23 Martin Sebor <msebor (a] redhat.com> 2369 2370 PR middle-end/88232 2371 * c.opt: Add -Winfinite-recursion. 2372 2373 2021-11-19 Martin Sebor <msebor (a] redhat.com> 2374 2375 PR c++/33925 2376 PR c/102867 2377 * c-common.c (decl_with_nonnull_addr_p): Call maybe_nonzero_address 2378 and improve handling tof defined symbols. 2379 2380 2021-11-19 Martin Liska <mliska (a] suse.cz> 2381 2382 Revert: 2383 2021-11-18 Martin Liska <mliska (a] suse.cz> 2384 2385 * c-gimplify.c (genericize_c_loop): Use option directly. 2386 2387 2021-11-18 Matthias Kretz <m.kretz (a] gsi.de> 2388 2389 * c-common.c (c_common_reswords): Add __builtin_assoc_barrier. 2390 * c-common.h (enum rid): Add RID_BUILTIN_ASSOC_BARRIER. 2391 2392 2021-11-18 Martin Liska <mliska (a] suse.cz> 2393 2394 * c-gimplify.c (genericize_c_loop): Use option directly. 2395 2396 2021-11-17 Martin Uecker <uecker (a] gcc.gnu.org> 2397 2398 PR c/91038 2399 PR c/29970 2400 * c-common.c (pointer_int_sum): Make sure pointer expressions 2401 are evaluated first when the size expression depends on for 2402 variably-modified types. 2403 2404 2021-11-17 Marek Polacek <polacek (a] redhat.com> 2405 2406 PR preprocessor/103026 2407 * c.opt (Wbidi-chars, Wbidi-chars=): New option. 2408 2409 2021-11-16 Jason Merrill <jason (a] redhat.com> 2410 2411 * c-common.c (release_tree_vector): Only cache vecs smaller than 2412 16 elements. 2413 2414 2021-11-15 Jason Merrill <jason (a] redhat.com> 2415 2416 * c.opt: Add -fimplicit-constexpr. 2417 * c-cppbuiltin.c: Define __cpp_implicit_constexpr. 2418 * c-opts.c (c_common_post_options): Disable below C++14. 2419 2420 2021-11-15 Jakub Jelinek <jakub (a] redhat.com> 2421 2422 * c-omp.c (c_omp_split_clauses) <case OMP_CLAUSE_THREAD_LIMIT>: 2423 Duplicate to both OMP_TARGET and OMP_TEAMS. 2424 2425 2021-11-10 Marek Polacek <polacek (a] redhat.com> 2426 2427 PR c++/101940 2428 * c-pragma.c (handle_pragma_diagnostic): Handle #pragma GCC diagnostic 2429 ignored_attributes. 2430 2431 2021-11-09 David Malcolm <dmalcolm (a] redhat.com> 2432 2433 * c-pragma.c (GCC_BAD_AT): New macro. 2434 (GCC_BAD2_AT): New macro. 2435 (handle_pragma_pack): Use the location of the pertinent token when 2436 issuing diagnostics about invalid constants/actions, and trailing 2437 junk. 2438 (handle_pragma_target): Likewise for non-string "GCC option". 2439 (handle_pragma_message): Likewise for trailing junk. 2440 2441 2021-11-03 Joseph Myers <joseph (a] codesourcery.com> 2442 2443 PR c/103031 2444 * c-common.c (convert_and_check): Add argument init_const. Call 2445 convert_init if init_const. 2446 * c-common.h (convert_and_check): Update prototype. 2447 (convert_init): New prototype. 2448 2449 2021-11-01 David Malcolm <dmalcolm (a] redhat.com> 2450 2451 * c-lex.c (c_lex_with_flags): When complaining about non-printable 2452 CPP_OTHER tokens, set the "escape on output" flag. 2453 2454 2021-10-27 Jakub Jelinek <jakub (a] redhat.com> 2455 2456 * c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for 2457 POINTER_PLUS_EXPR. 2458 (c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR. 2459 (c_omp_check_loop_iv): Set kind even if the iterator is non-integral. 2460 2461 2021-10-27 Jakub Jelinek <jakub (a] redhat.com> 2462 2463 PR c++/102854 2464 * c-common.h (c_omp_check_loop_iv_exprs): Add enum tree_code argument. 2465 * c-omp.c (c_omp_check_loop_iv_r): For trees other than decls, 2466 TREE_VEC, PLUS_EXPR, MINUS_EXPR, MULT_EXPR, POINTER_PLUS_EXPR or 2467 conversions temporarily clear the 3rd bit from d->kind while walking 2468 subtrees. 2469 (c_omp_check_loop_iv_exprs): Add CODE argument. Or in 4 into data.kind 2470 if possibly non-rectangular. 2471 2472 2021-10-21 Jakub Jelinek <jakub (a] redhat.com> 2473 2474 PR middle-end/64888 2475 * c-omp.c (c_omp_predefined_variable): Return true also for 2476 ubsan_create_data created artificial variables. 2477 2478 2021-10-14 Joseph Myers <joseph (a] codesourcery.com> 2479 2480 * c-format.c (printf_length_specs, scanf_length_specs) 2481 (print_char_table, scan_char_table): Support DFP formats for C2X. 2482 * c-format.h (TEX_D32, TEX_D64, TEX_D128): Remove. 2483 (T2X_D32, T2X_D64, T2X_D128): New macros. 2484 2485 2021-10-14 Kwok Cheung Yeung <kcy (a] codesourcery.com> 2486 2487 * c-omp.c (c_omp_check_context_selector): Rename to 2488 omp_check_context_selector and move to omp-general.c. 2489 (c_omp_mark_declare_variant): Rename to omp_mark_declare_variant and 2490 move to omp-general.c. 2491 2492 2021-10-12 Joseph Myers <joseph (a] codesourcery.com> 2493 2494 * c-format.c (print_char_table): Add %b and %B formats. 2495 (scan_char_table): Add %b format. 2496 * c-format.h (T2X_UI, T2X_UL, T2X_ULL, T2X_US, T2X_UC, T2X_ST) 2497 (T2X_UPD, T2X_UIM): New macros. 2498 2499 2021-10-12 Jakub Jelinek <jakub (a] redhat.com> 2500 2501 * c-omp.c (c_finish_omp_atomic): Use 2502 clear_padding_type_may_have_padding_p. 2503 2504 2021-10-08 Martin Liska <mliska (a] suse.cz> 2505 2506 * c-opts.c (c_common_post_options): Use new macro 2507 OPTION_SET_P. 2508 2509 2021-10-07 Martin Liska <mliska (a] suse.cz> 2510 2511 * c-common.c (parse_optimize_options): Make 2512 save_opt_decoded_options a pointer type. 2513 2514 2021-10-06 Jakub Jelinek <jakub (a] redhat.com> 2515 2516 PR tree-optimization/102571 2517 * c-omp.c (c_finish_omp_atomic): Optimize the case where type has 2518 padding, but the non-padding bits are contiguous set of bytes 2519 by adjusting the memcmp call arguments instead of emitting 2520 __builtin_clear_padding and then comparing all the type's bytes. 2521 2522 2021-10-06 Jakub Jelinek <jakub (a] redhat.com> 2523 2524 PR c++/102612 2525 * c-cppbuiltin.c (c_cpp_builtins): For -std=c++23 predefine 2526 __cpp_constexpr to 202110L rather than 201907L. 2527 2528 2021-10-04 Marek Polacek <polacek (a] redhat.com> 2529 2530 PR c++/97573 2531 * c-common.h (do_warn_array_compare): Declare. 2532 * c-warn.c (do_warn_array_compare): New. 2533 * c.opt (Warray-compare): New option. 2534 2535 2021-10-02 Iain Sandoe <iain (a] sandoe.co.uk> 2536 2537 * c-format.c: Remove a test of TARGET_FORMAT_TYPES with 2538 NULL, this is not needed. 2539 2540 2021-10-01 Martin Sebor <msebor (a] redhat.com> 2541 2542 PR c/102103 2543 * c-common.c (decl_with_nonnull_addr_p): Handle members. 2544 Check and perform warning suppression. 2545 (c_common_truthvalue_conversion): Enhance warning suppression. 2546 2547 2021-10-01 Martin Liska <mliska (a] suse.cz> 2548 2549 PR target/102552 2550 * c-common.c (parse_optimize_options): decoded_options[0] is 2551 used for program name, so merged_decoded_options should also 2552 respect that. 2553 2554 2021-10-01 Jakub Jelinek <jakub (a] redhat.com> 2555 Richard Biener <rguenther (a] suse.de> 2556 2557 PR sanitizer/102515 2558 * c-ubsan.c (ubsan_instrument_division): Check the right 2559 flag_sanitize_recover bit, depending on which sanitization 2560 is done. Sanitize INT_MIN / -1 under SANITIZE_SI_OVERFLOW 2561 rather than SANITIZE_DIVIDE. If both SANITIZE_SI_OVERFLOW 2562 and SANITIZE_DIVIDE is enabled, neither check is known 2563 to be false and flag_sanitize_recover bits for those two 2564 aren't the same, emit both __ubsan_handle_divrem_overflow 2565 and __ubsan_handle_divrem_overflow_abort calls. 2566 2567 2021-10-01 Martin Liska <mliska (a] suse.cz> 2568 2569 * c-common.c (parse_optimize_options): Combine optimize 2570 options with what was provided on the command line. 2571 2572 2021-10-01 Jakub Jelinek <jakub (a] redhat.com> 2573 2574 * c-omp.c (c_omp_split_clauses): Also copy 2575 OMP_CLAUSE_ORDER_REPRODUCIBLE. 2576 2577 2021-09-27 Martin Liska <mliska (a] suse.cz> 2578 2579 * c-opts.c (c_common_init_options_struct): Set also 2580 x_flag_default_complex_method. 2581 2582 2021-09-22 Jakub Jelinek <jakub (a] redhat.com> 2583 2584 * c-omp.c (c_omp_split_clauses): Copy over OMP_CLAUSE_ALLOCATE_ALIGN. 2585 2586 2021-09-20 Matthias Kretz <m.kretz (a] gsi.de> 2587 2588 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define or 2589 undefine __RECIPROCAL_MATH__, __NO_SIGNED_ZEROS__, 2590 __NO_TRAPPING_MATH__, __ASSOCIATIVE_MATH__, and 2591 __ROUNDING_MATH__ according to the new optimization flags. 2592 2593 2021-09-18 Jakub Jelinek <jakub (a] redhat.com> 2594 2595 * c-omp.c (c_omp_split_clauses): Split order clause also to 2596 distribute construct. Copy over OMP_CLAUSE_ORDER_UNCONSTRAINED. 2597 2598 2021-09-17 Jakub Jelinek <jakub (a] redhat.com> 2599 2600 * c-omp.c (c_finish_omp_atomic): Avoid creating 2601 TARGET_EXPR if test is true, use create_tmp_var_raw instead of 2602 create_tmp_var and add a zero initializer to TARGET_EXPRs that 2603 had NULL initializer. When omitting operands after v = x, 2604 use type of v rather than type of x. Fix type of vtmp 2605 TARGET_EXPR. 2606 2607 2021-09-13 Jason Merrill <jason (a] redhat.com> 2608 2609 * c.opt: Add -Winterference-size. 2610 * c-cppbuiltin.c (cpp_atomic_builtins): Add __GCC_DESTRUCTIVE_SIZE 2611 and __GCC_CONSTRUCTIVE_SIZE. 2612 2613 2021-09-10 Jakub Jelinek <jakub (a] redhat.com> 2614 2615 * c-common.h (c_finish_omp_atomic): Add r and weak arguments. 2616 * c-omp.c: Include gimple-fold.h. 2617 (c_finish_omp_atomic): Add r and weak arguments. Add support for 2618 OpenMP 5.1 atomics. 2619 2620 2021-09-09 qing zhao <qing.zhao (a] oracle.com> 2621 2622 * c-attribs.c (handle_uninitialized_attribute): New function. 2623 (c_common_attribute_table): Add "uninitialized" attribute. 2624 2625 2021-09-08 liuhongt <hongtao.liu (a] intel.com> 2626 2627 * c-common.c (excess_precision_mode_join): Update below comments. 2628 (c_ts18661_flt_eval_method): Set excess_precision_type to 2629 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16. 2630 * c-cppbuiltin.c (cpp_atomic_builtins): Update below comments. 2631 (c_cpp_flt_eval_method_iec_559): Set excess_precision_type to 2632 EXCESS_PRECISION_TYPE_FLOAT16 when -fexcess-precision=16. 2633 2634 2021-09-07 Marcel Vollweiler <marcel (a] codesourcery.com> 2635 2636 * c-omp.c (c_finish_omp_flush): Handle MEMMODEL_SEQ_CST. 2637 2638 2021-09-03 Eric Botcazou <ebotcazou (a] adacore.com> 2639 2640 * c-ada-spec.c (dump_ads): Generate pragmas to disable style checks 2641 and -gnatwu warning for the package specification. 2642 2643 2021-09-01 Iain Sandoe <iain (a] sandoe.co.uk> 2644 2645 * c-attribs.c (handle_unavailable_attribute): New. 2646 2647 2021-08-30 Jason Merrill <jason (a] redhat.com> 2648 2649 * c.opt: Add -Wmissing-requires. 2650 2651 2021-08-25 Lewis Hyatt <lhyatt (a] gmail.com> 2652 2653 PR other/93067 2654 * c-opts.c (c_common_input_charset_cb): New function. 2655 (c_common_post_options): Call new function 2656 diagnostic_initialize_input_context(). 2657 2658 2021-08-20 Tobias Burnus <tobias (a] codesourcery.com> 2659 2660 * c-format.c (gcc_gfc_length_specs): Add 'll' and 'w'. 2661 (gcc_gfc_char_table): Add T9L_LL and T9L_ULL to 2662 "di" and "u", respecitively; fill with BADLEN to match 2663 size of 'types'. 2664 (get_init_dynamic_hwi): Split off from ... 2665 (init_dynamic_diag_info): ... here. Call it. 2666 (init_dynamic_gfc_info): Call it. 2667 2668 2021-08-20 Jakub Jelinek <jakub (a] redhat.com> 2669 2670 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ERROR. 2671 * c-pragma.c (omp_pragmas): Add error directive. 2672 * c-omp.c (omp_directives): Uncomment error directive entry. 2673 2674 2021-08-18 Jakub Jelinek <jakub (a] redhat.com> 2675 2676 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_NOTHING. 2677 * c-pragma.c (omp_pragmas): Add nothing directive. 2678 * c-omp.c (omp_directives): Uncomment nothing directive entry. 2679 2680 2021-08-17 Jakub Jelinek <jakub (a] redhat.com> 2681 2682 PR c++/101539 2683 * c-common.h (enum rid): Add RID_IS_LAYOUT_COMPATIBLE. 2684 * c-common.c (c_common_reswords): Add __is_layout_compatible. 2685 2686 2021-08-17 Matt Jacobson <mhjacobson (a] me.com> 2687 2688 * c-opts.c (c_common_post_options): Default to 2689 flag_objc_sjlj_exceptions = 1 only when flag_objc_abi < 2. 2690 2691 2021-08-17 Jakub Jelinek <jakub (a] redhat.com> 2692 2693 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCOPE. 2694 * c-pragma.c (omp_pragmas): Add scope construct. 2695 * c-omp.c (omp_directives): Uncomment scope directive entry. 2696 2697 2021-08-16 Sebastian Huber <sebastian.huber (a] embedded-brains.de> 2698 2699 * c-cppbuiltin.c (c_cpp_builtins): Define 2700 __LIBGCC_GCOV_TYPE_SIZE if flag_building_libgcc is true. 2701 2702 2021-08-12 Jakub Jelinek <jakub (a] redhat.com> 2703 2704 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_MASKED. 2705 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FILTER. 2706 * c-pragma.c (omp_pragmas_simd): Add masked construct. 2707 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_MASKED 2708 enumerator. 2709 (c_finish_omp_masked): Declare. 2710 * c-omp.c (c_finish_omp_masked): New function. 2711 (c_omp_split_clauses): Handle combined masked constructs. 2712 2713 2021-07-30 Jakub Jelinek <jakub (a] redhat.com> 2714 2715 PR c++/101539 2716 * c-common.h (enum rid): Add RID_IS_POINTER_INTERCONVERTIBLE_BASE_OF. 2717 * c-common.c (c_common_reswords): Add 2718 __is_pointer_interconvertible_base_of. 2719 2720 2021-07-29 Richard Biener <rguenther (a] suse.de> 2721 2722 PR c/101512 2723 * c-common.c (c_common_mark_addressable_vec): Look through 2724 C_MAYBE_CONST_EXPR even if not at the toplevel. 2725 2726 2021-07-27 Martin Sebor <msebor (a] redhat.com> 2727 2728 PR c/101585 2729 * c-warn.c (warn_parm_ptrarray_mismatch): Use OEP_DECL_NAME. 2730 2731 2021-07-23 Jakub Jelinek <jakub (a] redhat.com> 2732 2733 * c-lex.c (c_common_has_attribute): Call canonicalize_attr_name also 2734 on attr_id. Return 1 for omp::directive or omp::sequence in C++11 2735 and later. 2736 2737 2021-07-23 Jakub Jelinek <jakub (a] redhat.com> 2738 2739 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP__START_ and 2740 PRAGMA_OMP__LAST_ enumerators. 2741 2742 2021-07-21 Thomas Schwinge <thomas (a] codesourcery.com> 2743 Joseph Myers <joseph (a] codesourcery.com> 2744 Cesar Philippidis <cesar (a] codesourcery.com> 2745 2746 * c-pragma.h (pragma_omp_clause): Add 'PRAGMA_OACC_CLAUSE_NOHOST'. 2747 2748 2021-07-20 Martin Sebor <msebor (a] redhat.com> 2749 2750 * c-common.c (c_build_shufflevector): Adjust by-value argument to 2751 by-const-reference. 2752 * c-common.h (c_build_shufflevector): Same. 2753 2754 2021-07-16 Andrew Pinski <apinski (a] marvell.com> 2755 2756 PR c/101453 2757 * c-common.c (parse_optimize_options): Use the correct 2758 size for buffer. 2759 2760 2021-07-15 Martin Sebor <msebor (a] redhat.com> 2761 2762 PR c/101289 2763 PR c/97548 2764 * c-warn.c (warn_parm_array_mismatch): Use OEP_DECL_NAME. 2765 2766 2021-07-14 Jason Merrill <jason (a] redhat.com> 2767 2768 * c-opts.c (c_common_post_options): Set -fdelete-dead-exceptions. 2769 2770 2021-07-06 Martin Sebor <msebor (a] redhat.com> 2771 2772 * c-format.c (gcc_tdiag_char_table): Remove support for %G and %K. 2773 (gcc_cdiag_char_table): Same. 2774 (gcc_cxxdiag_char_table): Same. 2775 2776 2021-07-02 Jakub Jelinek <jakub (a] redhat.com> 2777 2778 * c-common.h (enum c_omp_directive_kind): New enum. 2779 (struct c_omp_directive): New type. 2780 (c_omp_categorize_directive): Declare. 2781 * c-omp.c (omp_directives): New variable. 2782 (c_omp_categorize_directive): New function. 2783 2784 2021-07-01 Eric Botcazou <ebotcazou (a] adacore.com> 2785 2786 * c-ada-spec.c (packed_layout): New global variable. 2787 (dump_ada_declaration): Set it upon seeing a packed record type. 2788 Do not put the "aliased" keyword if it is set. 2789 (dump_ada_structure): Add Pack aspect if it is set and clear it. 2790 2791 2021-07-01 Eric Botcazou <ebotcazou (a] adacore.com> 2792 2793 * c-ada-spec.c (check_name): Rename into... 2794 (check_type_name_conflict): ...this. Minor tweak. 2795 (dump_ada_function_declaration): Adjust to above renaming. 2796 (dump_ada_array_domains): Fix oversight. 2797 (dump_ada_declaration): Call check_type_name_conflict for variables. 2798 2799 2021-06-25 Martin Sebor <msebor (a] redhat.com> 2800 2801 * c-common.c (c_wrap_maybe_const): Remove TREE_NO_WARNING. 2802 (c_common_truthvalue_conversion): Replace direct uses of 2803 TREE_NO_WARNING with warning_suppressed_p, suppress_warning, and 2804 copy_no_warning. 2805 (check_function_arguments_recurse): Same. 2806 * c-gimplify.c (c_gimplify_expr): Same. 2807 * c-warn.c (overflow_warning): Same. 2808 (warn_logical_operator): Same. 2809 (warn_if_unused_value): Same. 2810 (do_warn_unused_parameter): Same. 2811 2812 2021-06-24 Jakub Jelinek <jakub (a] redhat.com> 2813 2814 * c-common.h (enum c_omp_region_type): Add C_ORT_TARGET and 2815 C_ORT_OMP_TARGET. 2816 * c-omp.c (c_omp_split_clauses): For OMP_CLAUSE_IN_REDUCTION on 2817 combined target constructs also add map (always, tofrom:) clause. 2818 2819 2021-06-15 Robin Dapp <rdapp (a] linux.ibm.com> 2820 2821 * c-attribs.c (common_handle_aligned_attribute): Remove short 2822 circuit and dead code. 2823 2824 2021-06-14 Jonathan Wakely <jwakely (a] redhat.com> 2825 2826 PR c++/101052 2827 * known-headers.cc (get_stdlib_header_for_name): Add known 2828 headers for EXIT_FAILURE, EXIT_SUCCESS, abort, atexit, calloc, 2829 exit, and getenv. 2830 2831 2021-06-12 Jason Merrill <jason (a] redhat.com> 2832 2833 * c-attribs.c (handle_unused_attribute): Handle FIELD_DECL. 2834 2835 2021-06-11 Jakub Jelinek <jakub (a] redhat.com> 2836 2837 PR c++/100974 2838 * c-cppbuiltin.c (c_cpp_builtins): Predefine __cpp_if_consteval for 2839 -std=c++2b for P1938R3 consteval if support. 2840 2841 2021-06-09 Jason Merrill <jason (a] redhat.com> 2842 2843 PR c++/100879 2844 * c-warn.c (warn_for_sign_compare): Remove C++ enum mismatch 2845 warning. 2846 2847 2021-06-07 Martin Liska <mliska (a] suse.cz> 2848 2849 * c-target.def: Split long lines and replace them 2850 with '\n\'. 2851 2852 2021-06-04 Martin Sebor <msebor (a] redhat.com> 2853 2854 PR c/100783 2855 * c-attribs.c (positional_argument): Bail on erroneous types. 2856 2857 2021-06-04 Martin Sebor <msebor (a] redhat.com> 2858 2859 * c-warn.c (warn_parm_array_mismatch): Check TREE_PURPOSE to test 2860 for element presence. 2861 2862 2021-06-03 Eric Botcazou <ebotcazou (a] adacore.com> 2863 2864 * c-ada-spec.c (dump_ada_macros): Minor tweaks. 2865 (dump_ada_decl_name): Likewise. 2866 (dump_anonymous_type_name): Remove parent parameter and adjust. 2867 (dump_sloc): Minor tweak. 2868 (dump_ada_array_type): Remove type parameter and adjust. 2869 (dump_ada_enum_type): Remove parent parameter and adjust. 2870 (dump_ada_node): Adjust calls to above functions. 2871 (dumped_anonymous_types): New global variable. 2872 (dump_nested_types_1): Rename into... 2873 (dump_nested_types): ...this. 2874 (dump_nested_type): Remove parent and dumped_types parameters. 2875 <ARRAY_TYPE>: Replace dumped_types with dumped_anonymous_types. 2876 Adjust calls to dump_anonymous_type_name and dump_ada_array_type. 2877 (dump_ada_specs): Initialize and free dumped_anonymous_types. 2878 2879 2021-06-03 Eric Botcazou <ebotcazou (a] adacore.com> 2880 2881 * c-ada-spec.c (pp_ada_tree_identifier): Tidy up. 2882 (dump_ada_node) <POINTER_TYPE>: Deal specially with external subtypes. 2883 2884 2021-06-03 Eric Botcazou <ebotcazou (a] adacore.com> 2885 2886 * c-ada-spec.c (dump_ada_enum_type): Dump a prefix for constants. 2887 (htable_t): New typedef. 2888 (overloaded_names): Use it. 2889 (add_name): New function. 2890 (init_overloaded_names): Use add_name to populate the table and add 2891 special cases for sigaction and stat. 2892 (overloaded_name_p): Rename into... 2893 (overloading_index): ...this. Do not initialize overloaded_names table 2894 here. Return the index or zero. 2895 (dump_ada_declaration): Minor tweaks. Do not skip overloaded functions 2896 but add an overloading suffix instead. 2897 (dump_ada_specs): Initialize overloaded_names tables here. 2898 2899 2021-06-01 Martin Liska <mliska (a] suse.cz> 2900 2901 PR other/100759 2902 * c-attribs.c (handle_optimize_attribute): Limit sanity check 2903 to a situation where we are not in processing of an optimize 2904 pragma. 2905 * c-pragma.c (handle_pragma_pop_options): Restore target 2906 options. 2907 2908 2021-05-31 Indu Bhagat <indu.bhagat (a] oracle.com> 2909 2910 PR testsuite/100749 2911 * c-pch.c (c_common_valid_pch): Use xstrdup for debug format set names. 2912 2913 2021-05-31 Richard Biener <rguenther (a] suse.de> 2914 2915 PR c++/88601 2916 * c-common.c: Include tree-vector-builder.h and 2917 vec-perm-indices.h. 2918 (c_common_reswords): Add __builtin_shufflevector. 2919 (c_build_shufflevector): New funtion. 2920 * c-common.h (enum rid): Add RID_BUILTIN_SHUFFLEVECTOR. 2921 (c_build_shufflevector): Declare. 2922 2923 2021-05-28 Jakub Jelinek <jakub (a] redhat.com> 2924 2925 PR middle-end/99928 2926 * c-omp.c (c_omp_split_clauses): For reduction clause if combined with 2927 target add a map tofrom clause with OMP_CLAUSE_MAP_IMPLICIT. 2928 2929 2021-05-28 Tobias Burnus <tobias (a] codesourcery.com> 2930 2931 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_AFFINITY. 2932 2933 2021-05-25 Martin Liska <mliska (a] suse.cz> 2934 2935 PR tree-optimization/92860 2936 PR target/99592 2937 * c-attribs.c (handle_optimize_attribute): Save target node 2938 before calling parse_optimize_options and save it in case 2939 it changes. 2940 * c-pragma.c (handle_pragma_target): Similarly for pragma. 2941 (handle_pragma_pop_options): Likewise here. 2942 2943 2021-05-25 Martin Liska <mliska (a] suse.cz> 2944 2945 * c-attribs.c (handle_no_sanitize_coverage_attribute): New. 2946 2947 2021-05-25 Jakub Jelinek <jakub (a] redhat.com> 2948 2949 PR middle-end/99928 2950 * c-omp.c (c_omp_split_clauses): Copy reduction to teams when teams is 2951 combined with simd and not with taskloop or for. 2952 2953 2021-05-21 Jakub Jelinek <jakub (a] redhat.com> 2954 2955 PR middle-end/99928 2956 * c-omp.c (c_omp_split_clauses): Set OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT 2957 on firstprivate clause copy going to target construct, and for 2958 target simd set also OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT_TARGET bit. 2959 2960 2021-05-20 Jonathan Wakely <jwakely (a] redhat.com> 2961 2962 * c.opt (Wc++11-extensions, Wc++14-extensions) 2963 (Wc++17-extensions, Wc++20-extensions, Wc++23-extensions): New 2964 options. 2965 2966 2021-05-20 Indu Bhagat <indu.bhagat (a] oracle.com> 2967 2968 * c-lex.c (init_c_lex): Use dwarf_debuginfo_p. 2969 2970 2021-05-20 Indu Bhagat <indu.bhagat (a] oracle.com> 2971 2972 * c-opts.c (c_common_post_options): Adjust access to debug_type_names. 2973 * c-pch.c (struct c_pch_validity): Use type uint32_t. 2974 (pch_init): Renamed member. 2975 (c_common_valid_pch): Adjust access to debug_type_names. 2976 2977 2021-05-19 Martin Sebor <msebor (a] redhat.com> 2978 2979 PR c/100619 2980 * c-attribs.c (build_attr_access_from_parms): Handle arbitrarily many 2981 bounds. 2982 2983 2021-05-18 Richard Biener <rguenther (a] suse.de> 2984 2985 PR c/100547 2986 * c-attribs.c (type_valid_for_vector_size): Reject too large nunits. 2987 Reword existing nunit diagnostic. 2988 2989 2021-05-17 Joern Rennecke <joern.rennecke (a] embecosm.com> 2990 2991 * c-common.c (braced_list_to_string): Return CTOR unchanged 2992 if host and target character sizes don't match. 2993 2994 2021-05-14 Martin Liska <mliska (a] suse.cz> 2995 2996 * c.opt: Add Warning keyword for 2 options. 2997 2998 2021-05-13 Martin Liska <mliska (a] suse.cz> 2999 3000 PR middle-end/100504 3001 * c-attribs.c (handle_target_clones_attribute): Expect a string 3002 argument to target_clone argument. 3003 3004 2021-05-11 Joseph Myers <joseph (a] codesourcery.com> 3005 3006 * c-lex.c (interpret_float): Handle digit separators for C2X. 3007 3008 2021-05-10 Martin Liska <mliska (a] suse.cz> 3009 3010 * c-ada-spec.c (print_destructor): Use startswith 3011 function instead of strncmp. 3012 (dump_ada_declaration): Likewise. 3013 * c-common.c (disable_builtin_function): Likewise. 3014 (def_builtin_1): Likewise. 3015 * c-format.c (check_tokens): Likewise. 3016 (check_plain): Likewise. 3017 (convert_format_name_to_system_name): Likewise. 3018 3019 2021-04-28 Patrick McGehearty <patrick.mcgehearty (a] oracle.com> 3020 3021 * c-cppbuiltin.c (c_cpp_builtins): Add supporting macros for new 3022 complex divide 3023 3024 2021-04-26 Thomas Schwinge <thomas (a] codesourcery.com> 3025 Nathan Sidwell <nathan (a] codesourcery.com> 3026 Tom de Vries <vries (a] codesourcery.com> 3027 Julian Brown <julian (a] codesourcery.com> 3028 Kwok Cheung Yeung <kcy (a] codesourcery.com> 3029 3030 * c.opt (Wopenacc-parallelism): New. 3031 3032 2021-04-19 Thomas Schwinge <thomas (a] codesourcery.com> 3033 3034 * c.opt (fopenacc-kernels=): Remove. 3035 3036 2021-04-08 Jakub Jelinek <jakub (a] redhat.com> 3037 3038 * c-warn.c (do_warn_double_promotion): Fix comment typo, 3039 occured -> occurred. 3040 (check_alignment_of_packed_member): Fix a comment typo, 3041 memeber -> member. 3042 (warn_parm_ptrarray_mismatch): Fix comment typos, os -> of 3043 and onless -> unless. 3044 (warn_parm_array_mismatch): Fix comment typos, declaratation 3045 -> declaration and woud -> would. Fix up comment indentation. 3046 3047 2021-04-08 Martin Sebor <msebor (a] redhat.com> 3048 3049 PR middle-end/99883 3050 * c.opt (Wmismatched-new-delete): Correct spelling. 3051 3052 2021-04-05 Eric Botcazou <ebotcazou (a] adacore.com> 3053 3054 * c-ada-spec.c (is_simple_enum): Minor tweaks. 3055 (dump_ada_enum_type): Add TYPE and PARENT parameters. For non-simple 3056 enumeral types use again the type name for the enumeration constants. 3057 (dump_ada_node): Adjust call to dump_ada_enum_type. 3058 (dump_nested_type): Likewise. 3059 3060 2021-04-01 Jason Merrill <jason (a] redhat.com> 3061 3062 PR c++/98481 3063 * c-opts.c (c_common_post_options): Bump latest_abi_version. 3064 3065 2021-03-25 Jakub Jelinek <jakub (a] redhat.com> 3066 3067 PR c++/99565 3068 * c-warn.c (do_warn_duplicated_branches): Pass also 3069 OEP_ADDRESS_OF_SAME_FIELD to operand_equal_p. 3070 3071 2021-03-20 Jakub Jelinek <jakub (a] redhat.com> 3072 3073 PR debug/99230 3074 * c-gimplify.c (c_genericize_control_stmt): Handle STATEMENT_LIST. 3075 3076 2021-03-05 Eric Botcazou <ebotcazou (a] adacore.com> 3077 3078 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Dump nested types 3079 after entering the separate class package, if any. 3080 3081 2021-03-04 Richard Biener <rguenther (a] suse.de> 3082 3083 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): 3084 Handle ERROR_MARK. 3085 3086 2021-03-04 Jakub Jelinek <jakub (a] redhat.com> 3087 3088 PR c/99325 3089 * c-ppoutput.c (print): Change src_line type from int to unsigned. 3090 (token_streamer::stream) Likewise. 3091 (maybe_print_line_1): Likewise. Don't strcmp src_file if src_loc is 3092 UNKNOWN_LOCATION. 3093 3094 2021-03-03 Jakub Jelinek <jakub (a] redhat.com> 3095 3096 PR c/99324 3097 * c-common.c (build_va_arg): Call c_common_mark_addressable_vec 3098 instead of mark_addressable. Fix a comment typo - 3099 neutrallly -> neutrally. 3100 3101 2021-02-28 Jakub Jelinek <jakub (a] redhat.com> 3102 3103 PR c/99304 3104 * c-attribs.c (handle_malloc_attribute): Fix a typo in inform 3105 message - refernced -> referenced. Remove superfluous space before 3106 closing paren of function calls. 3107 3108 2021-02-25 Nathan Sidwell <nathan (a] acm.org> 3109 3110 PR c++/99166 3111 * c.opt (-flang-info-module-cmi): Renamed option. 3112 3113 2021-02-19 Nathan Sidwell <nathan (a] acm.org> 3114 3115 * c.opt (flang-info-module-read, flang-info-module-read=): New. 3116 3117 2021-02-18 H.J. Lu <hjl.tools (a] gmail.com> 3118 3119 PR target/99113 3120 * c-attribs.c (c_common_attribute_table): Add the "retain" 3121 attribute. 3122 (handle_retain_attribute): New function. 3123 3124 2021-02-16 Marek Polacek <polacek (a] redhat.com> 3125 3126 PR c++/99062 3127 * c-attribs.c (handle_assume_aligned_attribute): Check that the 3128 alignment argument is non-negative. Tweak a warning message. 3129 3130 2021-02-12 Martin Sebor <msebor (a] redhat.com> 3131 3132 PR c/99055 3133 * c-warn.c (warn_parm_array_mismatch): Free strings returned from 3134 print_generic_expr_to_str. 3135 3136 2021-02-10 Richard Biener <rguenther (a] suse.de> 3137 3138 * c-common.c (parse_optimize_options): Free decoded_options. 3139 3140 2021-02-04 emsr <3dw4rd (a] verizon.net> 3141 3142 * c-cppbuiltin.c (c_cpp_builtins): __cpp_size_t_suffix=202011L. 3143 3144 2021-02-03 Ed Smith-Rowland <3dw4rd (a] verizon.net> 3145 3146 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_size_t_suffix. 3147 * c-lex.c (interpret_integer): Set node type for size literal. 3148 3149 2021-01-28 Jakub Jelinek <jakub (a] redhat.com> 3150 3151 * c.opt (-std=c++2a, -std=c++20, -std=gnu++2a, -std=gnu++20): Remove 3152 draft from description. 3153 (-std=c++2b): Fix a pasto, 2020 -> 2023. 3154 3155 2021-01-26 Paul Fee <paul.f.fee (a] gmail.com> 3156 3157 * c-common.h (cxx_dialect): Add cxx23 as a dialect. 3158 * c.opt: Add options for -std=c++23, std=c++2b, -std=gnu++23 3159 and -std=gnu++2b 3160 * c-opts.c (set_std_cxx23): New. 3161 (c_common_handle_option): Set options when -std=c++23 is enabled. 3162 (c_common_post_options): Adjust comments. 3163 (set_std_cxx20): Likewise. 3164 3165 2021-01-25 Martin Sebor <msebor (a] redhat.com> 3166 3167 PR c++/98646 3168 * c-common.c (check_nonnull_arg): Adjust warning text. 3169 3170 2021-01-17 Martin Sebor <msebor (a] redhat.com> 3171 3172 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't 3173 assume SSA_NAME_IDENTIFIER evaluates to nonzero. 3174 3175 2021-01-16 Kwok Cheung Yeung <kcy (a] codesourcery.com> 3176 3177 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_DETACH. 3178 Redefine PRAGMA_OACC_CLAUSE_DETACH. 3179 3180 2021-01-15 Jakub Jelinek <jakub (a] redhat.com> 3181 3182 PR tree-optimization/98597 3183 * c-pretty-print.c: Include options.h. 3184 (c_fold_indirect_ref_for_warn): New function. 3185 (print_mem_ref): Use it. If it returns something that has compatible 3186 type and is TBAA compatible with zero offset, print it and return, 3187 otherwise print it using offsetof syntax or array ref syntax. Fix up 3188 printing if MEM_REFs first operand is ADDR_EXPR, or when the first 3189 argument has pointer to array type. Print pointers using the standard 3190 formatting. 3191 3192 2021-01-12 Martin Sebor <msebor (a] redhat.com> 3193 3194 PR c/98597 3195 PR c/98592 3196 * c-pretty-print.c (print_mem_ref): Avoid assuming MEM_REF operand 3197 has pointer type. Remove redundant code. Avoid calling 3198 gimple_canonical_types_compatible_p. 3199 3200 2021-01-07 Martin Sebor <msebor (a] redhat.com> 3201 3202 PR middle-end/98578 3203 * c-pretty-print.c (print_mem_ref): Strip array from access type. 3204 Avoid assuming acces type's size is constant. Correct condition 3205 guarding the printing of a parenthesis. 3206 3207 2021-01-06 Martin Sebor <msebor (a] redhat.com> 3208 3209 PR c++/95768 3210 * c-pretty-print.c (c_pretty_printer::primary_expression): For 3211 SSA_NAMEs print VLA names and GIMPLE defining statements. 3212 (print_mem_ref): New function. 3213 (c_pretty_printer::unary_expression): Call it. 3214 3215 2021-01-06 Richard Biener <rguenther (a] suse.de> 3216 3217 PR tree-optimization/95582 3218 * c-attribs.c (c_common_attribute_table): Add entry for 3219 signed_bool_precision. 3220 (handle_signed_bool_precision_attribute): New. 3221 3222 2020-12-24 Iain Sandoe <iain (a] sandoe.co.uk> 3223 3224 * c.opt: Add -stdlib= option and enumerations for 3225 libstdc++ and libc++. 3226 3227 2020-12-16 Martin Liska <mliska (a] suse.cz> 3228 3229 * c.opt: Remove usage of Report. 3230 3231 2020-12-14 Martin Sebor <msebor (a] redhat.com> 3232 3233 PR middle-end/98166 3234 PR c++/57111 3235 PR middle-end/98160 3236 * c-attribs.c (maybe_add_noinline): New function. 3237 (handle_malloc_attribute): Call it. Use ATTR_FLAG_INTERNAL. 3238 Implicitly add attribute noinline to functions not declared inline 3239 and warn on those. 3240 3241 2020-12-09 Tobias Burnus <tobias (a] codesourcery.com> 3242 3243 * c-pragma.c (omp_pragmas): Add 'allocate'. 3244 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_ALLOCATE. 3245 3246 2020-12-08 Jakub Jelinek <jakub (a] redhat.com> 3247 3248 PR c++/98187 3249 * c-pragma.c (omp_pragmas): Remove "master". 3250 (omp_pragmas_simd): Add "master". 3251 3252 2020-12-07 Marek Polacek <polacek (a] redhat.com> 3253 3254 PR c++/98126 3255 * c-common.c (verify_tree_lim_r): New function. 3256 (verify_sequence_points): Use it. Use nullptr instead of 0. 3257 3258 2020-12-03 Martin Sebor <msebor (a] redhat.com> 3259 3260 PR c++/90629 3261 PR middle-end/94527 3262 * c-attribs.c (handle_dealloc_attribute): New function. 3263 (handle_malloc_attribute): Handle argument forms of attribute. 3264 * c.opt (-Wmismatched-dealloc): New option. 3265 (-Wmismatched-new-delete): New option. 3266 3267 2020-12-03 Jakub Jelinek <jakub (a] redhat.com> 3268 3269 PR libstdc++/93121 3270 * c-common.h (enum rid): Add RID_BUILTIN_BIT_CAST. 3271 * c-common.c (c_common_reswords): Add __builtin_bit_cast. 3272 3273 2020-12-01 JeanHeyd Meneide <phdofthehouse (a] gmail.com> 3274 3275 * c-cppbuiltin.c (c_cpp_builtins): Add predefined 3276 {__GNUC_EXECUTION_CHARSET_NAME} and 3277 _WIDE_EXECUTION_CHARSET_NAME} macros. 3278 3279 2020-12-01 Nathan Sidwell <nathan (a] acm.org> 3280 3281 * c-common.c (module, import, export): New internal tokens (with 3282 trailing space). 3283 * c-common.h (RID__MODULE, RID__IMPORT & RID__EXPORT): Enumerate 3284 them. 3285 (D_CXX_MODULES, D_CXX_MODULES_FLAGS): Enable them. 3286 * c-cppbuiltin.c (c_cpp_builtins): Feature macro. 3287 3288 2020-12-01 Nathan Sidwell <nathan (a] acm.org> 3289 3290 * c-opts.c (c_common_init_options): Ask for module dependencies. 3291 (c_common_handle_option): Handle -Mmodules -Mno-modules. 3292 * c-pch.c (c_common_valid_pch): ... does not play with C++ 3293 modules. 3294 * c.opt (Mmodules, Mno-modules): New preprocessor dependency 3295 options. 3296 (fmodules-ts, fmodule-header, fmodule-implicit-inline) 3297 (fmodule-only, fmodule-mapper, fmodule-lazy) 3298 (fmodule-version-ignore, Winvalid-imported-macros) 3299 (flang-info-include-translate, flang-info-include-translate-not): 3300 New options 3301 3302 2020-11-28 Eric Botcazou <ebotcazou (a] adacore.com> 3303 3304 * c-ada-spec.c (dump_nested_type) <RECORD_TYPE>: Remove obsolete code. 3305 (dump_ada_structure): Also deal with convention, unchecked union and 3306 bit-field for nested types. In the latter case, print an Alignment 3307 aspect along with the Pack aspect. 3308 3309 2020-11-25 Martin Sebor <msebor (a] redhat.com> 3310 3311 PR bootstrap/94982 3312 * c-attribs.c (handle_patchable_function_entry_attribute): Avoid 3313 -Wformat-diag. 3314 3315 2020-11-24 Martin Sebor <msebor (a] redhat.com> 3316 3317 * c-warn.c (warn_parm_array_mismatch): Avoid invalid redeclarations. 3318 3319 2020-11-23 Jozef Lawrynowicz <jozef.l (a] mittosystems.com> 3320 3321 * c-attribs.c (handle_special_var_sec_attribute): New. 3322 (handle_noinit_attribute): Remove. 3323 (attr_noinit_exclusions): Rename to... 3324 (attr_section_exclusions): ...this, and add "persistent" attribute 3325 exclusion. 3326 (c_common_attribute_table): Add "persistent" attribute. 3327 3328 2020-11-21 Aaron Sawdey <acsawdey (a] linux.ibm.com> 3329 3330 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): 3331 Treat opaque types like other types. 3332 (c_pretty_printer::direct_abstract_declarator): Opaque types are 3333 supported types. 3334 3335 2020-11-20 Martin Sebor <msebor (a] redhat.com> 3336 3337 * c-warn.c (warn_parm_array_mismatch): Bail on invalid redeclarations 3338 with fewer arguments. 3339 3340 2020-11-20 Martin Sebor <msebor (a] redhat.com> 3341 3342 PR middle-end/97879 3343 * c-attribs.c (handle_access_attribute): Handle ATTR_FLAG_INTERNAL. 3344 Error out on invalid modes. 3345 3346 2020-11-20 Jakub Jelinek <jakub (a] redhat.com> 3347 3348 PR libstdc++/88101 3349 * c-common.c (check_builtin_function_arguments): Handle 3350 BUILT_IN_CLEAR_PADDING. 3351 3352 2020-11-18 Nathan Sidwell <nathan (a] acm.org> 3353 3354 * c-lex.c (c_lex_with_flags): CPP_HEADER_NAMEs can now be seen. 3355 3356 2020-11-17 Nathan Sidwell <nathan (a] acm.org> 3357 3358 * c-common.h (enum c_tree_index): Reorder to place lazy fields 3359 after newly-added CTI_MODULE_HWM. 3360 3361 2020-11-17 Joseph Myers <joseph (a] codesourcery.com> 3362 3363 * c-cppbuiltin.c (builtin_define_float_constants): Define 3364 "*_IS_IEC_60559__" macros. 3365 3366 2020-11-17 Nathan Sidwell <nathan (a] acm.org> 3367 3368 * c-lex.c: #include "langhooks.h". 3369 (cb_undef): Maybe call preprocess_undef lang hook. 3370 * c-opts.c (c_common_post_options): Maybe call preprocess_options 3371 lang hook. 3372 (push_command_line_include): Maybe call preprocess_main_file lang 3373 hook. 3374 (cb_file_change): Likewise. 3375 * c-ppoutput.c: #include "langhooks.h. 3376 (scan_translation_unit): Maybe call preprocess_token lang hook. 3377 (class do_streamer): New, derive from token_streamer. 3378 (directives_only_cb): Data pointer is do_streamer, call 3379 preprocess_token lang hook. 3380 (scan_translation_unit_directives_only): Use do_streamer. 3381 (print_line_1): Move src_line recording to after string output. 3382 (cb_undef): Maybe call preprocess_undef lang hook. 3383 3384 2020-11-17 Nathan Sidwell <nathan (a] acm.org> 3385 3386 * c-ppoutput.c (scan_translation_unit): Use token_streamer, remove 3387 code duplicating that functionality. 3388 3389 2020-11-17 Jakub Jelinek <jakub (a] redhat.com> 3390 3391 PR c/90628 3392 * c-common.c (check_builtin_function_arguments) 3393 <case BUILT_IN_ADD_OVERFLOW>: Diagnose when last argument is pointer 3394 to _Atomic. For the TYPE_READONLY case, adjust message to be usable 3395 for more builtins and argument positions. 3396 3397 2020-11-16 Iain Sandoe <iain (a] sandoe.co.uk> 3398 3399 PR objc/97854 3400 * stub-objc.c: Include c-common.h to declare enum rid. 3401 3402 2020-11-13 Jakub Jelinek <jakub (a] redhat.com> 3403 3404 PR c++/63287 3405 * c-cppbuiltin.c: Include configargs.h. 3406 (c_cpp_builtins): For C++11 and later if THREAD_MODEL_SPEC is not 3407 defined, predefine __STDCPP_THREADS__ to 1 unless thread_model is 3408 "single". 3409 3410 2020-11-13 Gerg Barany <gergo (a] codesourcery.com> 3411 Thomas Schwinge <thomas (a] codesourcery.com> 3412 3413 * c.opt (fopenacc-kernels): Add. 3414 3415 2020-11-13 Jason Merrill <jason (a] redhat.com> 3416 3417 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_using_enum. 3418 3419 2020-11-13 Piotr H. Dabrowski <phd (a] phd.re> 3420 3421 PR c++/91318 3422 * c-cppbuiltin.c: c_cpp_builtins_optimize_pragma(): use cpp_define_unused() 3423 3424 2020-11-13 Martin Liska <mliska (a] suse.cz> 3425 3426 * c-attribs.c (build_attr_access_from_parms): Format properly. 3427 3428 2020-11-13 Iain Sandoe <iain (a] sandoe.co.uk> 3429 3430 PR objc/90707 3431 * c-common.c (c_common_reswords): null_unspecified, nullable, 3432 nonnull, null_resettable: New keywords. 3433 * c-common.h (enum rid): RID_NULL_UNSPECIFIED, RID_NULLABLE, 3434 RID_NONNULL, RID_NULL_RESETTABLE: New. 3435 (OBJC_IS_PATTR_KEYWORD): Include nullability keywords in the 3436 ranges accepted for property attributes. 3437 * c-attribs.c (handle_objc_nullability_attribute): New. 3438 * c-objc.h (enum objc_property_attribute_group): Add 3439 OBJC_PROPATTR_GROUP_NULLABLE. 3440 (enum objc_property_attribute_kind):Add 3441 OBJC_PROPERTY_ATTR_NULL_UNSPECIFIED, OBJC_PROPERTY_ATTR_NULLABLE, 3442 OBJC_PROPERTY_ATTR_NONNULL, OBJC_PROPERTY_ATTR_NULL_RESETTABLE. 3443 3444 2020-11-13 Iain Sandoe <iain (a] sandoe.co.uk> 3445 3446 PR objc/77404 3447 * c-attribs.c (handle_objc_root_class_attribute): New 3448 * c-objc.h (objc_start_class_interface): Add a location 3449 value for the position of the class name. 3450 * c.opt: Add Wobjc-root-class. 3451 * stub-objc.c (objc_start_class_interface): Add a location 3452 value for the position of the class name. 3453 3454 2020-11-12 Joseph Myers <joseph (a] codesourcery.com> 3455 3456 * c-lex.c (c_common_has_attribute): Take argument std_syntax. 3457 Allow scope for C. Handle standard attributes for C. Do not 3458 accept unscoped attributes if std_syntax and not handled as 3459 standard attributes. 3460 * c-common.h (c_common_has_attribute): Update prototype. 3461 3462 2020-11-12 Nicholas Guriev <guriev-ns (a] ya.ru> 3463 3464 PR pch/86674 3465 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH 3466 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches. 3467 3468 2020-11-11 Patrick Palka <ppalka (a] redhat.com> 3469 3470 PR c++/88115 3471 * c-opts.c (c_common_post_options): Update latest_abi_version. 3472 3473 2020-11-10 Jakub Jelinek <jakub (a] redhat.com> 3474 3475 PR c/97748 3476 * c-common.h (warn_if_unused_value): Add quiet argument defaulted 3477 to false. 3478 * c-warn.c (warn_if_unused_value): Likewise. Pass it down 3479 recursively and just return true instead of warning if it is true. 3480 Handle COMPLEX_EXPR. 3481 3482 2020-11-10 Chung-Lin Tang <cltang (a] codesourcery.com> 3483 3484 * c-common.h (c_omp_adjust_map_clauses): New declaration. 3485 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses. 3486 (c_omp_adjust_map_clauses): New function. 3487 3488 2020-11-09 Marek Polacek <polacek (a] redhat.com> 3489 3490 DR 1914 3491 * c-common.c (attribute_fallthrough_p): Tweak the warning 3492 message. 3493 3494 2020-11-09 Patrick Palka <ppalka (a] redhat.com> 3495 3496 * c-pragma.c (handle_pragma_diagnostic): Split the 3497 unknown-option -Wpragmas diagnostic into a warning and a 3498 subsequent note containing a spelling suggestion. Avoid 3499 computing the suggestion if -Wpragmas warnings are being 3500 suppressed. 3501 3502 2020-11-09 Patrick Palka <ppalka (a] redhat.com> 3503 3504 PR testsuite/97117 3505 * c-indentation.c (get_visual_column): Remove location_t 3506 parameter. Move the column-tracking diagnostic code from here 3507 to ... 3508 (should_warn_for_misleading_indentation): ... here, before the 3509 early exit for when the loci are not all distinct. Don't pass a 3510 location_t argument to get_visual_column. 3511 (assert_get_visual_column_succeeds): Don't pass a location_t 3512 argument to get_visual_column. 3513 (assert_get_visual_column_fails): Likewise. 3514 3515 2020-11-08 Iain Sandoe <iain (a] sandoe.co.uk> 3516 3517 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list 3518 of keywords accepted in @property attribute contexts. 3519 * c-objc.h (enum objc_property_attribute_group): Add 3520 OBJC_PROPATTR_GROUP_CLASS. 3521 (enum objc_property_attribute_kind): Add 3522 OBJC_PROPERTY_ATTR_CLASS. 3523 3524 2020-11-07 Iain Sandoe <iain (a] sandoe.co.uk> 3525 3526 * c-common.c (c_common_reswords): Add 'atomic' property 3527 attribute. 3528 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic 3529 property attributes. 3530 3531 2020-11-07 Iain Sandoe <iain (a] sandoe.co.uk> 3532 3533 * c-attribs.c (handle_nsobject_attribute): New. 3534 * c.opt: Add WNSObject-attribute. 3535 3536 2020-11-06 Iain Sandoe <iain (a] sandoe.co.uk> 3537 3538 * c-objc.h (enum objc_property_attribute_group): New 3539 (enum objc_property_attribute_kind): New. 3540 (OBJC_PROPATTR_GROUP_MASK): New. 3541 (struct property_attribute_info): Small class encapsulating 3542 parser output from property attributes. 3543 (objc_prop_attr_kind_for_rid): New 3544 (objc_add_property_declaration): Simplify interface. 3545 * stub-objc.c (enum rid): Dummy type. 3546 (objc_add_property_declaration): Simplify interface. 3547 (objc_prop_attr_kind_for_rid): New. 3548 3549 2020-11-06 Nathan Sidwell <nathan (a] acm.org> 3550 3551 * c-ada-spec.c (collect_ada_nodes): Rename 3552 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN. 3553 (collect_ada_node): Likewise. 3554 (dump_forward_type): Likewise. 3555 * c-common.c (set_underlying_type): Rename 3556 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN. 3557 (user_facing_original_type, c_common_finalize_early_debug): Likewise. 3558 3559 2020-11-06 Jakub Jelinek <jakub (a] redhat.com> 3560 3561 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION. 3562 3563 2020-11-05 Marek Polacek <polacek (a] redhat.com> 3564 3565 PR c++/97675 3566 * c.opt (Wexceptions): New option. 3567 3568 2020-11-05 Marek Polacek <polacek (a] redhat.com> 3569 3570 PR c++/25814 3571 * c.opt (Wvexing-parse): New option. 3572 3573 2020-11-04 Jakub Jelinek <jakub (a] redhat.com> 3574 3575 PR c++/97670 3576 * c-omp.c (c_omp_split_clauses): Look through array reductions to find 3577 underlying decl to clear in the allocate_head bitmap. 3578 3579 2020-11-04 Iain Sandoe <iain (a] sandoe.co.uk> 3580 3581 * c-objc.h (objc_non_constant_expr_p): New. 3582 * stub-objc.c (objc_non_constant_expr_p): New. 3583 3584 2020-11-03 Nathan Sidwell <nathan (a] acm.org> 3585 3586 * c.opt (MQ,MT): Reword description to be make-agnostic. 3587 3588 2020-11-02 Nathan Sidwell <nathan (a] acm.org> 3589 3590 * c-opts.c (c_common_post_options): Move var decl to its 3591 initialization point. 3592 3593 2020-11-01 Iain Sandoe <iain (a] sandoe.co.uk> 3594 3595 * c-lex.c (c_lex_with_flags): When combining '@' with a 3596 keyword for Objective-C, combine the location ranges too. 3597 3598 2020-10-30 Qing Zhao <qing.zhao (a] oracle.com> 3599 H.J.Lu <hjl.tools (a] gmail.com> 3600 3601 * c-attribs.c (c_common_attribute_table): Add new attribute 3602 zero_call_used_regs. 3603 (handle_zero_call_used_regs_attribute): New function. 3604 3605 2020-10-28 Marek Polacek <polacek (a] redhat.com> 3606 3607 PR c++/97573 3608 * c-opts.c (c_common_post_options): In C++20, turn on 3609 -Wdeprecated-enum-enum-conversion and 3610 -Wdeprecated-enum-float-conversion. 3611 * c.opt (Wdeprecated-enum-enum-conversion, 3612 Wdeprecated-enum-float-conversion): New options. 3613 (Wenum-conversion): Allow for C++ too. 3614 3615 2020-10-28 Jakub Jelinek <jakub (a] redhat.com> 3616 3617 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE. 3618 * c-omp.c: Include bitmap.h. 3619 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE. 3620 3621 2020-10-26 Ville Voutilainen <ville.voutilainen (a] gmail.com> 3622 3623 * c-common.c (__is_nothrow_assignable): New. 3624 (__is_nothrow_constructible): Likewise. 3625 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New. 3626 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise. 3627 3628 2020-10-23 Jan Hubicka <hubicka (a] ucw.cz> 3629 3630 * c-common.c (c_common_finalize_early_debug): Update for new thunk api. 3631 3632 2020-10-23 Marek Polacek <polacek (a] redhat.com> 3633 3634 PR c++/91741 3635 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR. 3636 (c_common_init_ts): Likewise. 3637 * c-common.def (PAREN_SIZEOF_EXPR): New tree code. 3638 * c-common.h (maybe_warn_sizeof_array_div): Declare. 3639 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs. 3640 (maybe_warn_sizeof_array_div): New function. 3641 * c.opt (Wsizeof-array-div): New option. 3642 3643 2020-10-23 Martin Sebor <msebor (a] redhat.com> 3644 3645 PR c/97463 3646 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier. 3647 3648 2020-10-22 Martin Liska <mliska (a] suse.cz> 3649 3650 PR c/94722 3651 * c-attribs.c (handle_no_stack_protect_function_attribute): New. 3652 (handle_stack_protect_attribute): Add error message for a 3653 no_stack_protector function. 3654 3655 2020-10-22 Martin Liska <mliska (a] suse.cz> 3656 3657 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum. 3658 3659 2020-10-22 Jan Hubicka <hubicka (a] ucw.cz> 3660 3661 * c-gimplify.c: Include tree-nested.h 3662 (c_genericize): Update for new nested function info. 3663 3664 2020-10-14 Martin Sebor <msebor (a] redhat.com> 3665 3666 PR c/97413 3667 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA 3668 bounds in an extra list. 3669 3670 2020-10-05 Richard Biener <rguenther (a] suse.de> 3671 Jakub Jelinek <jakub (a] redhat.com> 3672 3673 PR c++/97197 3674 * c-pretty-print.c: Include langhooks.h. 3675 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as 3676 expression. 3677 (c_pretty_printer::expression): Handle TARGET_MEM_REF as 3678 unary_expression. 3679 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF. 3680 3681 2020-09-30 Martin Sebor <msebor (a] redhat.com> 3682 3683 PR middle-end/97189 3684 * c-attribs.c (append_access_attr): Use the function declaration 3685 location for a warning about an attribute access argument. 3686 3687 2020-09-29 Marek Polacek <polacek (a] redhat.com> 3688 3689 PR c++/94695 3690 * c.opt (Wrange-loop-construct): New option. 3691 3692 2020-09-23 Martin Sebor <msebor (a] redhat.com> 3693 3694 PR c/97131 3695 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input. 3696 3697 2020-09-23 Marek Polacek <polacek (a] redhat.com> 3698 3699 PR c/97125 3700 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r 3701 after loops and other structured control constructs have been lowered. 3702 3703 2020-09-22 Jakub Jelinek <jakub (a] redhat.com> 3704 3705 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name: 3706 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch. 3707 3708 2020-09-21 Marek Polacek <polacek (a] redhat.com> 3709 3710 * c.opt (Wctad-maybe-unsupported): New option. 3711 3712 2020-09-19 Martin Sebor <msebor (a] redhat.com> 3713 3714 PR c/50584 3715 * c-common.h (warn_parm_array_mismatch): Declare new function. 3716 (has_attribute): Move declaration of an existing function. 3717 (build_attr_access_from_parms): Declare new function. 3718 * c-warn.c (parm_array_as_string): Define new function. 3719 (plus_one): Define new function. 3720 (warn_parm_ptrarray_mismatch): Define new function. 3721 (warn_parm_array_mismatch): Define new function. 3722 (vla_bound_parm_decl): New function. 3723 * c.opt (-Warray-parameter, -Wvla-parameter): New options. 3724 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type 3725 qualifiers here... 3726 (c_pretty_printer::direct_abstract_declarator): ...but instead print 3727 them in brackets here. Also print [static]. Strip extraneous 3728 expressions from VLA bounds. 3729 3730 2020-09-19 Martin Sebor <msebor (a] redhat.com> 3731 3732 PR c/50584 3733 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute. 3734 (handle_argspec_attribute): New function. 3735 (get_argument, get_argument_type): New functions. 3736 (append_access_attrs): Add overload. Handle internal attribute 3737 representation in addition to external. 3738 (handle_access_attribute): Handle internal attribute representation 3739 in addition to external. 3740 (build_attr_access_from_parms): New function. 3741 3742 2020-09-19 Sandra Loosemore <sandra (a] codesourcery.com> 3743 3744 * c-gimplify.c (genericize_c_loop): Rewrite to match 3745 c_finish_loop in c-typeck.c. 3746 3747 2020-09-19 Sandra Loosemore <sandra (a] codesourcery.com> 3748 3749 * c-common.c (c_block_may_fallthrough): New, split from 3750 cxx_block_may_fallthrough in the cp front end. 3751 (c_common_init_ts): Move handling of loop and switch-related 3752 statements here from the cp front end. 3753 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from 3754 cp front end. 3755 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise. 3756 * c-common.h (c_block_may_fallthru): Declare. 3757 (bc_state_t): Move here from cp front end. 3758 (save_bc_state, restore_bc_state): Declare. 3759 (c_genericize_control_stmt): Declare. 3760 (WHILE_COND, WHILE_BODY): Likewise. 3761 (DO_COND, DO_BODY): Likewise. 3762 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise. 3763 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise. 3764 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise. 3765 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise. 3766 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise. 3767 * c-dump.c (dump_stmt): Copy from cp front end. 3768 (c_dump_tree): Move code to handle structured loop and switch 3769 tree nodes here from cp front end. 3770 * c-gimplify.c: Adjust includes. 3771 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from 3772 cp front end. 3773 (save_bc_state, restore_bc_state): New functions using old code 3774 from cp front end. 3775 (get_bc_label, expr_loc_or_loc): Move from cp front end. 3776 (genericize_c_loop): Move from cp front end. 3777 (genericize_for_stmt, genericize_while_stmt): Likewise. 3778 (genericize_do_stmt, genericize_switch_stmt): Likewise. 3779 (genericize_continue_stmt, genericize_break_stmt): Likewise. 3780 (genericize_omp_for_stmt): Likewise. 3781 (c_genericize_control_stmt): New function using code split from 3782 cp front end. 3783 (c_genericize_control_r): New. 3784 (c_genericize): Call walk_tree with c_genericize_control_r. 3785 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle 3786 structured loop and switch tree nodes here from cp front end. 3787 3788 2020-09-17 Patrick Palka <ppalka (a] redhat.com> 3789 3790 PR c/80076 3791 * c-indentation.c (should_warn_for_misleading_indentation): Move 3792 declarations of local variables closer to their first use. 3793 Handle virtual token locations by resolving them to their 3794 respective macro expansion points. If all three tokens are 3795 produced from the same macro expansion, then instead use their 3796 loci within the macro definition. 3797 3798 2020-09-16 Martin Sebor <msebor (a] redhat.com> 3799 3800 PR c/78666 3801 PR c/96126 3802 * c-attribs.c (validate_attr_args): New function. 3803 (validate_attr_arg): Same. 3804 (handle_section_attribute): Call it. Introduce a local variable. 3805 (handle_alloc_size_attribute): Same. 3806 (handle_alloc_align_attribute): Same. 3807 3808 2020-09-14 Jakub Jelinek <jakub (a] redhat.com> 3809 3810 * c-attribs.c (handle_optimize_attribute): Adjust 3811 cl_optimization_save, cl_optimization_restore and 3812 build_optimization_node callers. 3813 * c-pragma.c (handle_pragma_optimize): Adjust 3814 build_optimization_node caller. 3815 (handle_pragma_push_options): Adjust 3816 build_optimization_node and build_target_option_node callers. 3817 (handle_pragma_pop_options, handle_pragma_reset_options): 3818 Adjust cl_optimization_restore callers. 3819 3820 2020-08-28 Martin Sebor <msebor (a] redhat.com> 3821 3822 * c.opt (Wstringop-overread): New option. 3823 3824 2020-08-11 Jakub Jelinek <jakub (a] redhat.com> 3825 3826 PR c/96545 3827 * c-common.c (get_atomic_generic_size): Require that first argument's 3828 type points to a complete type and use tree_fits_uhwi_p instead of 3829 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT. 3830 3831 2020-07-31 Martin Sebor <msebor (a] redhat.com> 3832 3833 PR c++/96003 3834 * c-common.c (check_function_arguments_recurse): Return early when 3835 no-warning bit is set. 3836 3837 2020-07-31 Richard Biener <rguenther (a] suse.de> 3838 3839 PR debug/96383 3840 * c-common.h (c_common_finalize_early_debug): Declare. 3841 * c-common.c: Include debug.h. 3842 (c_common_finalize_early_debug): finalize_early_debug langhook 3843 implementation generating debug for extern declarations. 3844 3845 2020-07-27 Nathan Sidwell <nathan (a] acm.org> 3846 3847 * c-common.c (try_to_locate_new_include_insertion_point): Use 3848 strcmp, not pointer equality. 3849 3850 2020-07-25 Martin Sebor <msebor (a] redhat.com> 3851 3852 PR c++/96310 3853 * c-common.c (check_nonnull_arg): Print note only when warning was 3854 issued. 3855 3856 2020-07-22 Tobias Burnus <tobias (a] codesourcery.com> 3857 3858 * c-omp.c (c_finish_omp_critical): Check for no name but 3859 nonzero hint provided. 3860 3861 2020-07-20 Jason Merrill <jason (a] redhat.com> 3862 3863 * c-cppbuiltin.c (c_cpp_builtins): Update 3864 __cpp_nontype_template_args for C++20. 3865 3866 2020-07-20 Martin Sebor <msebor (a] redhat.com> 3867 3868 PR c/96249 3869 * c.opt: Remove stray text. 3870 3871 2020-07-14 Lewis Hyatt <lhyatt (a] gmail.com> 3872 3873 PR other/86904 3874 * c-indentation.c (should_warn_for_misleading_indentation): Get 3875 global tabstop from the new source. 3876 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which 3877 is now a common option. 3878 * c.opt: Likewise. 3879 3880 2020-07-08 Eric Botcazou <ebotcazou (a] adacore.com> 3881 3882 * c.opt (Wscalar-storage-order): Add explicit variable. 3883 3884 2020-07-07 Nathan Sidwell <nathan (a] acm.org> 3885 3886 * c-opts.c (c_common_post_options): Add 'injecting' arg to 3887 cpp_read_main_file. 3888 (c_finish_options): Add linemap_line_start calls for builtin and cmd 3889 maps. Force token position to line_table's highest line. 3890 * c-ppoutput.c (print_line_1): Refactor, print line zero. 3891 (cb_define): Always increment source line. 3892 3893 2020-07-06 Martin Sebor <msebor (a] redhat.com> 3894 3895 PR c++/95984 3896 * c-common.c (check_function_nonnull): Avoid checking syntesized calls 3897 to stub lambda objects with null this pointer. 3898 (check_nonnull_arg): Handle C++ nullptr. 3899 3900 2020-07-02 Jason Merrill <jason (a] redhat.com> 3901 Jakub Jelinek <jakub (a] redhat.com> 3902 3903 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval. 3904 3905 2020-06-30 Jakub Jelinek <jakub (a] redhat.com> 3906 3907 PR c++/95963 3908 * c-common.c (check_function_arguments_recurse): Don't crash on 3909 calls to internal functions. 3910 3911 2020-06-28 Martin Sebor <msebor (a] redhat.com> 3912 3913 PR c++/86568 3914 * c-common.c (struct nonnull_arg_ctx): Add members. 3915 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle 3916 C++ member functions specially. Consider the this pointer implicitly 3917 nonnull. 3918 (check_nonnull_arg): Use location of argument when available. 3919 (check_function_arguments): Use nonnull_arg_ctx as argument. 3920 3921 2020-06-27 Jakub Jelinek <jakub (a] redhat.com> 3922 3923 PR middle-end/95903 3924 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of 3925 !TYPE_UNSIGNED check to see if we can apply distributive law and handle 3926 smaller precision intop operands separately. 3927 3928 2020-06-26 Marek Polacek <polacek (a] redhat.com> 3929 3930 * c-opts.c (c_common_init_options): Default to gnu++17. 3931 3932 2020-06-17 Jonathan Wakely <jwakely (a] redhat.com> 3933 3934 PR c/95378 3935 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in 3936 pointer arguments. 3937 3938 2020-06-16 Jakub Jelinek <jakub (a] redhat.com> 3939 3940 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument. 3941 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and 3942 idx members. 3943 (c_omp_is_loop_iterator): New function. 3944 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning 3945 if outer loop iterator is present. Perform duplicate checking through 3946 hash_set in the function rather than expecting caller to do that. 3947 Pass NULL instead of d->ppset to walk_tree_1. 3948 (c_omp_check_nonrect_loop_iv): New function. 3949 (c_omp_check_loop_iv): Use it. Fill in new members, allow 3950 non-rectangular loop forms, diagnose multiple associated loops with 3951 the same iterator. Pass NULL instead of &pset to walk_tree_1. 3952 (c_omp_check_loop_iv_exprs): Likewise. 3953 3954 2020-06-10 Martin Liska <mliska (a] suse.cz> 3955 3956 PR tree-optimization/92860 3957 * c-attribs.c (handle_optimize_attribute): 3958 Save global options and compare it after parsing of function 3959 attribute. 3960 * c-pragma.c (opt_stack::saved_global_options): New field. 3961 (handle_pragma_push_options): Save global_options. 3962 (handle_pragma_pop_options): Compare them after pop. 3963 3964 2020-06-09 Jakub Jelinek <jakub (a] redhat.com> 3965 3966 PR c/95580 3967 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the 3968 case when MEM_REF's first argument has type pointer to incomplete type. 3969 3970 2020-06-05 Jason Merrill <jason (a] redhat.com> 3971 3972 * c-pretty-print.c (pp_c_additive_expression): Handle negative 3973 operand to POINTER_PLUS_EXPR. 3974 3975 2020-06-04 Martin Sebor <msebor (a] redhat.com> 3976 3977 PR middle-end/10138 3978 PR middle-end/95136 3979 * c-attribs.c (append_access_attrs): Handle attr_access::none. 3980 (handle_access_attribute): Same. 3981 3982 2020-06-03 Mark Wielaard <mark (a] klomp.org> 3983 3984 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name): 3985 New function. 3986 * known-headers.h (get_cp_stdlib_header_for_string_macro_name): 3987 New function declaration. 3988 3989 2020-06-03 Mark Wielaard <mark (a] klomp.org> 3990 3991 * known-headers.cc (get_string_macro_hint): New function. 3992 (get_stdlib_header_for_name): Use get_string_macro_hint. 3993 (get_c_stdlib_header_for_string_macro_name): New function. 3994 * known-headers.h (get_c_stdlib_header_for_string_macro_name): 3995 New function declaration. 3996 3997 2020-06-03 Tobias Burnus <tobias (a] codesourcery.com> 3998 3999 * c-common.h (c_omp_predetermined_mapping): Declare. 4000 * c-omp.c (c_omp_predetermined_mapping): New. 4001 4002 2020-05-22 Mark Wielaard <mark (a] klomp.org> 4003 4004 * known-headers.cc (get_stdlib_header_for_name): Add a new 4005 stdlib_hint array for stdbool and stdint. 4006 4007 2020-05-22 Mark Wielaard <mark (a] klomp.org> 4008 4009 * known-headers.cc (get_stdlib_header_for_name): Return 4010 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and 4011 flag_isoc99. 4012 4013 2020-05-20 Nathan Sidwell <nathan (a] acm.org> 4014 4015 * c-common.c (try_to_locate_new_include_insertion_point): Revert change. 4016 4017 * c-common.c (try_to_locate_new_include_insertion_point): Use 4018 strcmp to compare filenames. 4019 * c-lex.c (init_c_lex): Move declaration to initialization. 4020 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into 4021 deferred count loop. 4022 4023 2020-05-15 Jason Merrill <jason (a] redhat.com> 4024 4025 * c-opts.c (set_std_cxx20): Set flag_coroutines. 4026 4027 2020-05-13 Jason Merrill <jason (a] redhat.com> 4028 4029 * c.opt (std=c++20): Make c++2a the alias. 4030 (std=gnu++20): Likewise. 4031 * c-common.h (cxx_dialect): Change cxx2a to cxx20. 4032 * c-opts.c: Adjust. 4033 * c-cppbuiltin.c: Adjust. 4034 * c-ubsan.c: Adjust. 4035 * c-warn.c: Adjust. 4036 4037 2020-05-12 Eric Botcazou <ebotcazou (a] adacore.com> 4038 4039 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry. 4040 4041 2020-05-08 Nathan Sidwell <nathan (a] acm.org> 4042 4043 Reimplement directives only processing. 4044 * c-ppoutput.c (token_streamer): Ne. 4045 (directives_only_cb): New. Swallow ... 4046 (print_lines_directives_only): ... this. 4047 (scan_translation_unit_directives_only): Reimplment using the 4048 published interface. 4049 4050 2020-05-07 Marek Polacek <polacek (a] redhat.com> 4051 4052 * c-format.c (badwords): Add "nonstatic". 4053 4054 202-05-07 Jakub Jelinek <jakub (a] redhat.com> 4055 4056 PR c/94968 4057 * c-common.c (speculation_safe_value_resolve_params): Return false if 4058 error_operand_p (val2). 4059 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>: 4060 Remove extraneous semicolon. 4061 4062 2020-05-06 qing zhao <qing.zhao (a] oracle.com> 4063 4064 PR c/94230 4065 * c-indentation.c (get_visual_column): Add a hint to use the new 4066 -flarge-source-files option. 4067 4068 2020-05-05 Stefan Schulze Frielinghaus <stefansf (a] linux.ibm.com> 4069 4070 * c-attribs.c (handle_vector_size_attribute): Add attribute 4071 nonnull for argument args in order to silence warning of 4072 uninitialized variable usage. Since this is local to the 4073 compilation unit and thus cannot be checked at call sides by the 4074 compiler, added an assert statement in order to verify this. 4075 4076 2020-05-01 H.J. Lu <hongjiu.lu (a] intel.com> 4077 4078 PR target/93492 4079 * c-attribs.c (handle_patchable_function_entry_attribute): Limit 4080 value to USHRT_MAX (65535). 4081 4082 2020-04-29 Jakub Jelinek <jakub (a] redhat.com> 4083 4084 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}. 4085 4086 2020-04-27 Jakub Jelinek <jakub (a] redhat.com> 4087 4088 PR c/94755 4089 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for 4090 fncode == BUILT_IN_NONE before initialization of first_param. 4091 4092 2020-04-23 Marek Polacek <polacek (a] redhat.com> 4093 4094 PR c++/94733 4095 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of 4096 TREE_PURPOSE. 4097 4098 2020-04-14 Patrick Palka <ppalka (a] redhat.com> 4099 4100 PR c++/85278 4101 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double 4102 ampersand if it's an rvalue reference type. 4103 4104 2020-04-13 Martin Sebor <msebor (a] redhat.com> 4105 4106 PR c/92326 4107 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid 4108 printing array bound for flexible array members. 4109 4110 2020-04-13 Iain Sandoe <iain (a] sandoe.co.uk> 4111 4112 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin 4113 define, per n4861. 4114 4115 2020-04-02 Richard Biener <rguenther (a] suse.de> 4116 4117 PR c/94392 4118 * c-opts.c (c_common_post_options): Enable -ffinite-loops 4119 for -O2 and C++11 or newer. 4120 4121 2020-03-28 Patrick Palka <ppalka (a] redhat.com> 4122 4123 * c.opt: Add -fconcepts-diagnostics-depth. 4124 4125 2020-03-27 Martin Sebor <msebor (a] redhat.com> 4126 4127 PR c++/94346 4128 * c-attribs.c (handle_copy_attribute): Avoid passing expressions 4129 to decl_attributes. Make handling of different kinds of entities 4130 more robust. 4131 4132 2020-03-27 Martin Sebor <msebor (a] redhat.com> 4133 4134 PR c++/94098 4135 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES 4136 here. 4137 4138 2020-03-23 Jakub Jelinek <jakub (a] redhat.com> 4139 4140 PR c++/91993 4141 * c-warn.c (warnings_for_convert_and_check): For expr and/or 4142 result being COMPOUND_EXPRs, skip to ultimate rhs. 4143 4144 2020-03-20 Richard Sandiford <richard.sandiford (a] arm.com> 4145 4146 PR middle-end/94072 4147 * c-common.c (c_common_type_for_mode): Before using a registered 4148 built-in type, check that the vectorness of the type matches 4149 the vectorness of the mode. 4150 4151 2020-03-17 Jakub Jelinek <jakub (a] redhat.com> 4152 4153 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word 4154 issue in a diagnostic message. 4155 4156 2020-03-15 Lewis Hyatt <lhyatt (a] gmail.com> 4157 4158 * c.opt: Avoid redundancy in the help text. 4159 4160 2020-03-02 Marek Polacek <polacek (a] redhat.com> 4161 4162 PR c++/93958 - add missing -std=gnu++20. 4163 * c.opt: Add -std=gnu++20. 4164 4165 2020-03-01 Martin Sebor <msebor (a] redhat.com> 4166 4167 PR c++/92721 4168 * c-attribs.c (append_access_attrs): Correctly handle attribute. 4169 (handle_access_attribute): Same. 4170 4171 2020-02-25 Jakub Jelinek <jakub (a] redhat.com> 4172 4173 PR c/93858 4174 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after 4175 "did you mean" hint in diagnostics. 4176 4177 2020-02-15 Jason Merrill <jason (a] redhat.com> 4178 4179 * c.opt: Add -std=c++20. 4180 4181 2020-02-14 Eric Botcazou <ebotcazou (a] adacore.com> 4182 4183 * c-ada-spec.c: Include bitmap.h. 4184 (dump_ada_double_name): Rename into... 4185 (dump_anonymous_type_name): ...this. Always use the TYPE_UID. 4186 (dump_ada_array_type): Adjust to above renaming. Robustify. 4187 (dump_nested_types_1): New function copied from... Add dumped_types 4188 parameter and pass it down to dump_nested_type. 4189 (dump_nested_types): ...this. Remove parent parameter. Just call 4190 dump_nested_types_1 on an automatic bitmap. 4191 (dump_nested_type): Add dumped_types parameter. 4192 <ARRAY_TYPE>: Do not dump it if already present in dumped_types. 4193 Adjust recursive calls and adjust to above renaming. 4194 (dump_ada_declaration): Adjust call to dump_nested_types. 4195 Tidy up and adjust to above renaming. 4196 (dump_ada_specs): Initialize and release bitmap obstack. 4197 4198 2020-02-10 Martin Sebor <msebor (a] redhat.com> 4199 4200 PR c/93640 4201 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes. 4202 4203 2020-02-10 Jakub Jelinek <jakub (a] redhat.com> 4204 4205 PR other/93641 4206 * c-format.c (check_plain): Fix up last argument of strncasecmp. 4207 Remove useless extra test. 4208 4209 2020-02-03 Julian Brown <julian (a] codesourcery.com> 4210 Tobias Burnus <tobias (a] codesourcery.com> 4211 4212 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711. 4213 4214 2020-01-29 Jason Merrill <jason (a] redhat.com> 4215 4216 PR c++/89357 4217 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove. 4218 4219 2020-01-23 Jason Merrill <jason (a] redhat.com> 4220 4221 * c-warn.c (conversion_warning): Change -Wsign-conversion handling. 4222 4223 2020-01-23 Martin Sebor <msebor (a] redhat.com> 4224 4225 PR c/84919 4226 * c-common.c (check_function_arguments): Avoid overlap checking 4227 of sprintf functions. 4228 4229 2020-01-22 Jason Merrill <jason (a] redhat.com> 4230 4231 PR testsuite/93391 - PR 40752 test fails with unsigned plain char. 4232 PR c++/40752 4233 * c-warn.c (conversion_warning): Check operands only after checking 4234 the whole expression. Don't check second operand of + for sign. 4235 4236 2020-01-21 Jason Merrill <jason (a] redhat.com> 4237 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 4238 4239 PR c++/40752 - useless -Wconversion with short +=. 4240 * c.opt (-Warith-conversion): New. 4241 * c-warn.c (conversion_warning): Recurse for operands of 4242 operators. Only warn about the whole expression with 4243 -Warith-conversion. 4244 4245 2020-01-21 Jason Merrill <jason (a] redhat.com> 4246 4247 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN. 4248 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN. 4249 4250 2020-01-20 Nathan Sidwell <nathan (a] acm.org> 4251 4252 PR preprocessor/80005 4253 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}. 4254 4255 2020-01-18 Iain Sandoe <iain (a] sandoe.co.uk> 4256 4257 * c-common.c (co_await, co_yield, co_return): New. 4258 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD, 4259 RID_CO_RETURN): New enumeration values. 4260 (D_CXX_COROUTINES): Bit to identify coroutines are active. 4261 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords. 4262 * c-cppbuiltin.c (__cpp_coroutines): New cpp define. 4263 * c.opt (fcoroutines): New command-line switch. 4264 4265 2020-01-10 David Malcolm <dmalcolm (a] redhat.com> 4266 4267 * c-format.c (local_event_ptr_node): New. 4268 (PP_FORMAT_CHAR_TABLE): Add entry for "%@". 4269 (init_dynamic_diag_info): Initialize local_event_ptr_node. 4270 * c-format.h (T_EVENT_PTR): New define. 4271 4272 2020-01-10 Martin Sebor <msebor (a] redhat.com> 4273 4274 PR c/93132 4275 * c-attribs.c (append_access_attrs): Validate against the translated 4276 access string rather than the human-readable representation. 4277 4278 2020-01-01 Jakub Jelinek <jakub (a] redhat.com> 4279 4280 Update copyright years. 4281 4282 2019-12-20 Eric Botcazou <ebotcazou (a] adacore.com> 4283 4284 * c-ada-spec.h (decl_sloc): Delete. 4285 * c-ada-spec.c (decl_sloc): Make static. 4286 4287 2019-12-19 Julian Brown <julian (a] codesourcery.com> 4288 4289 * c-common.h (c_omp_map_clause_name): Add prototype. 4290 * c-omp.c (c_omp_map_clause_name): New function. 4291 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and 4292 PRAGMA_OACC_CLAUSE_DETACH. 4293 4294 2019-12-19 Julian Brown <julian (a] codesourcery.com> 4295 Maciej W. Rozycki <macro (a] codesourcery.com> 4296 Tobias Burnus <tobias (a] codesourcery.com> 4297 Thomas Schwinge <thomas (a] codesourcery.com> 4298 4299 * c-pragma.h (pragma_omp_clause): Add 4300 PRAGMA_OACC_CLAUSE_NO_CREATE. 4301 4302 2019-12-17 Martin Sebor <msebor (a] redhat.com> 4303 4304 PR c++/61339 4305 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options. 4306 4307 2019-12-11 David Malcolm <dmalcolm (a] redhat.com> 4308 4309 * c-pretty-print.c (c_pretty_printer::clone): New vfunc 4310 implementation. 4311 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl. 4312 4313 2019-12-09 David Malcolm <dmalcolm (a] redhat.com> 4314 4315 * c-format.c (range_label_for_format_type_mismatch::get_text): 4316 Replace label_text ctor called with true with label_text::take. 4317 4318 2019-12-09 David Malcolm <dmalcolm (a] redhat.com> 4319 4320 * c-format.c (selftest::test_type_mismatch_range_labels): Remove 4321 initial newline from expected outputs. 4322 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before 4323 call to diagnostic_show_locus. 4324 4325 2019-12-06 Jakub Jelinek <jakub (a] redhat.com> 4326 4327 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for 4328 now. 4329 4330 2019-12-05 Marek Polacek <polacek (a] redhat.com> 4331 Jakub Jelinek <jakub (a] redhat.com> 4332 4333 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts. 4334 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr. 4335 4336 2019-12-05 Marek Polacek <polacek (a] redhat.com> 4337 4338 PR c++/92271 - make __is_same alias for __is_same_as. 4339 * c-common.c: Add __is_same, an alias for __is_same_as. 4340 4341 2019-12-03 Marek Polacek <polacek (a] redhat.com> 4342 4343 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates. 4344 * c-cppbuiltin.c (c_cpp_builtins): Predefine 4345 __cpp_aggregate_paren_init=201902 for -std=c++2a. 4346 4347 2019-11-30 Jan Hubicka <hubicka (a] ucw.cz> 4348 4349 * c-attribs.c (handle_symver_attribute): New function 4350 (c_common_attributes): Add symver. 4351 4352 2019-11-30 Richard Sandiford <richard.sandiford (a] arm.com> 4353 4354 * c-common.c (pointer_int_sum): Use verify_type_context to check 4355 whether the target allows pointer arithmetic for the types involved. 4356 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context 4357 to check whether the target allows sizeof and alignof operations 4358 for the types involved. 4359 4360 2019-11-27 Jason Merrill <jason (a] redhat.com> 4361 4362 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides. 4363 4364 2019-11-26 Jakub Jelinek <jakub (a] redhat.com> 4365 4366 PR c++/61414 4367 * c-attribs.c (handle_mode_attribute): Add mode attribute to 4368 ENUMERAL_TYPEs. 4369 4370 2019-11-25 Joseph Myers <joseph (a] codesourcery.com> 4371 4372 PR c/91985 4373 * c-common.c (c_common_type_for_mode): Handle decimal 4374 floating-point types being NULL_TREE. 4375 * c-format.c (get_format_for_type_1): Handle specified types being 4376 NULL_TREE. 4377 * c-lex.c (interpret_float): Give an error for decimal 4378 floating-point constants when decimal floating-point not 4379 supported. 4380 4381 2019-11-23 Jakub Jelinek <jakub (a] redhat.com> 4382 4383 PR middle-end/83859 4384 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid 4385 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to 4386 group warning with inform together. 4387 (handle_access_attribute): Formatting fix. 4388 4389 2019-11-22 Jakub Jelinek <jakub (a] redhat.com> 4390 4391 PR c/90677 4392 * c-common.h (identifier_global_tag): Declare. 4393 * c-format.c (get_pointer_to_named_type): Renamed to ... 4394 (get_named_type): ... this. Use identifier_global_tag instead of 4395 identifier_global_value, handle the return value being a TYPE_P. 4396 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers 4397 to call get_named_type instead. Formatting fixes. 4398 4399 Implement P1902R1, Missing feature-test macros 2017-2019. 4400 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures 4401 and __cpp_generic_lambdas for -std=c++2a. Define 4402 __cpp_designated_initializers, __cpp_constexpr_in_decltype and 4403 __cpp_consteval for -std=c++2a. Remove a FIXME comment about 4404 __cpp_concepts for -std=c++2a. 4405 4406 2019-11-22 Martin Sebor <msebor (a] redhat.com> 4407 4408 PR middle-end/83859 4409 * c-attribs.c (handle_access_attribute): New function. 4410 (c_common_attribute_table): Add new attribute. 4411 (get_argument_type): New function. 4412 (append_access_attrs): New function. 4413 (get_nonnull_operand): Rename... 4414 (get_attribute_operand): ...to this. 4415 * c-common.c (get_nonnull_operand): Rename... 4416 (get_attribute_operand): ...to this. 4417 4418 2019-11-21 Joseph Myers <joseph (a] codesourcery.com> 4419 4420 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead 4421 of warning. 4422 4423 2019-11-19 Joseph Myers <joseph (a] codesourcery.com> 4424 4425 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not 4426 warning for standard attributes mixed with fallthrough attributes. 4427 4428 2019-11-15 Joseph Myers <joseph (a] codesourcery.com> 4429 4430 * c-attribs.c (handle_fallthrough_attribute): Remove static. 4431 * c-common.h (handle_fallthrough_attribute): Declare. 4432 4433 2019-11-15 Joseph Myers <joseph (a] codesourcery.com> 4434 4435 * c-attribs.c (handle_deprecated_attribute): Remove static. 4436 * c-common.h (handle_deprecated_attribute): Declare. 4437 4438 2019-11-14 Joseph Myers <joseph (a] codesourcery.com> 4439 4440 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned 4441 char for C. 4442 4443 2019-11-14 Jakub Jelinek <jakub (a] redhat.com> 4444 4445 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of 4446 valid vendors. 4447 4448 * c-omp.c (c_omp_check_context_selector): Handle name lists 4449 containing string literals. Don't diagnose atomic_default_mem_order 4450 with multiple props. 4451 4452 2019-11-13 Joseph Myers <joseph (a] codesourcery.com> 4453 4454 * c-cppbuiltin.c (builtin_define_float_constants): Also define 4455 NORM_MAX constants. Update call to get_max_float. 4456 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX 4457 constants. 4458 4459 2019-11-13 Eric Botcazou <ebotcazou (a] adacore.com> 4460 4461 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs. 4462 (dump_forward_type): Do not generate a declaration for function types. 4463 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration 4464 of the component type if it is declared in another file. 4465 4466 2019-11-12 Martin Liska <mliska (a] suse.cz> 4467 4468 * c-opts.c (c_common_post_options): 4469 Use SET_OPTION_IF_UNSET. 4470 4471 2019-11-12 Maciej W. Rozycki <macro (a] codesourcery.com> 4472 Frederik Harwath <frederik (a] codesourcery.com> 4473 4474 gcc/c-family/ 4475 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration 4476 constant. 4477 * c-pragma.c (oacc_pragmas): Add "serial" entry. 4478 4479 2019-11-08 Richard Sandiford <richard.sandiford (a] arm.com> 4480 4481 * c-common.h (gnu_vector_type_p): New function. 4482 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle 4483 vectors to satisfy gnu_vector_type_p. 4484 (c_build_vec_convert): Likewise __builtin_convertvector. 4485 (convert_vector_to_array_for_subscript): Likewise when applying 4486 implicit vector to array conversion. 4487 (scalar_to_vector): Likewise when converting vector-scalar 4488 operations to vector-vector operations. 4489 4490 2019-11-08 Joseph Myers <joseph (a] codesourcery.com> 4491 4492 * c.opt (Wold-style-definition): Initialize to -1. 4493 * c-opts.c (c_common_post_options): Set warn_old_style_definition 4494 to flag_isoc2x if not set explicitly. 4495 4496 2019-11-07 Joseph Myers <joseph (a] codesourcery.com> 4497 4498 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes. 4499 4500 2019-11-05 Jason Merrill <jason (a] redhat.com> 4501 4502 * c-opts.c (c_common_post_options): -fconcepts-ts implies 4503 -fconcepts. 4504 4505 2019-11-04 Kamlesh Kumar <kamleshbhalui (a] gmail.com> 4506 4507 * c-opts.c (c_common_post_options): Update 4508 latest_abi_version. 4509 4510 2019-11-02 Jakub Jelinek <jakub (a] redhat.com> 4511 4512 * c-common.h (c_omp_get_context_selector): Remove. 4513 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c 4514 and renamed to omp_get_context_selector. 4515 4516 * c-omp.c (c_omp_mark_declare_variant): Use 4517 omp_context_selector_set_compare. 4518 4519 PR c++/88335 - Implement P1073R3: Immediate functions 4520 * c-common.h (enum rid): Add RID_CONSTEVAL. 4521 * c-common.c (c_common_reswords): Add consteval. 4522 4523 2019-11-01 Martin Sebor <msebor (a] redhat.com> 4524 4525 PR middle-end/91679 4526 PR middle-end/91647 4527 PR middle-end/91463 4528 PR middle-end/92312 4529 * c-pretty-print.c (direct_abstract_declarator): Print 4530 bound in zero-length arrays. 4531 * c.opt (-Wzero-length-bounds): New option. 4532 4533 2019-10-30 Nathan Sidwell <nathan (a] acm.org> 4534 4535 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature 4536 macros. 4537 4538 2019-10-28 Martin Sebor <msebor (a] redhat.com> 4539 4540 PR c/66970 4541 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins 4542 even when only preprocessing. 4543 * c-common.h (names_builtin_p): Declare new function. 4544 * c-lex.c (init_c_lex): Set has_builtin. 4545 (c_common_has_builtin): Define a new function. 4546 * c-ppoutput.c (init_pp_output): Set has_builtin. 4547 4548 2019-10-24 Jakub Jelinek <jakub (a] redhat.com> 4549 4550 * c-common.h (c_omp_context_selector_matches): Remove. 4551 * c-omp.c (c_omp_context_selector_matches): Remove. 4552 * c-attribs.c (c_common_attribute_table): Add 4553 "omp declare target {host,nohost,block}" attributes. 4554 4555 2019-10-17 JeanHeyd Meneide <phdofthehouse (a] gmail.com> 4556 4557 * c-lex.c (c_common_has_attribute): Update nodiscard value. 4558 4559 2019-10-14 Richard Sandiford <richard.sandiford (a] arm.com> 4560 4561 * c-common.h (user_facing_original_type_p): Declare. 4562 * c-common.c: Include c-spellcheck.h. 4563 (user_facing_original_type_p): New function. 4564 4565 2019-10-12 Jakub Jelinek <jakub (a] redhat.com> 4566 4567 * c-common.h (c_omp_mark_declare_variant, 4568 c_omp_context_selector_matches): Declare. 4569 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h 4570 and hsa-common.h. 4571 (c_omp_get_context_selector): Support second argument NULL. 4572 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New 4573 functions. 4574 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant" 4575 attribute, add "omp declare variant base" and 4576 "omp declare variant variant" attributes. 4577 4578 2019-10-11 Joseph Myers <joseph (a] codesourcery.com> 4579 4580 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat) 4581 CppReason(CPP_W_C11_C2X_COMPAT). 4582 4583 2019-10-11 Joseph Myers <joseph (a] codesourcery.com> 4584 4585 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32, 4586 _Decimal64 and _Decimal128. 4587 4588 2019-10-10 Joseph Myers <joseph (a] codesourcery.com> 4589 4590 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP 4591 types if DFP not supported. 4592 4593 2019-10-10 Jakub Jelinek <jakub (a] redhat.com> 4594 4595 * c-common.h (c_omp_check_context_selector, 4596 c_omp_get_context_selector): Declare. 4597 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling 4598 in diagnostic message. 4599 (c_omp_check_context_selector, c_omp_get_context_selector): New 4600 functions. 4601 * c-attribs.c (c_common_attribute_table): Add "omp declare variant" 4602 attribute. 4603 (handle_omp_declare_variant_attribute): New function. 4604 4605 2019-10-09 Martin Sebor <msebor (a] redhat.com> 4606 4607 PR tree-optimization/90879 4608 * c.opt (-Wstring-compare): New option. 4609 4610 2019-10-08 Andrew Sutton <asutton (a] lock3software.com> 4611 Jason Merrill <jason (a] redhat.com> 4612 4613 Update the concepts implementation to conform to the C++20 4614 specification, improve compile times, and generally clean up 4615 the implementation. 4616 4617 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for 4618 concepts when -std=c++2a. Bump __cpp_concepts to 201907. 4619 * c.opt: Add -Wconcepts-ts. 4620 * c-opts.c (c_common_post_options): Warn when -fconcepts is used 4621 with -std=c++2a. Disable warning for -fconcepts in C++20 mode. 4622 (set_std_cxx2a): Enable concepts by default. 4623 4624 2019-10-08 Joseph Myers <joseph (a] codesourcery.com> 4625 4626 * c-opts.c (c_common_post_options): Set 4627 -fno-fp-int-builtin-inexact for C2X. 4628 4629 2019-10-05 Jakub Jelinek <jakub (a] redhat.com> 4630 4631 PR c++/91369 - Implement P0784R7: constexpr new 4632 * c-cppbuiltin.c (c_cpp_builtins): Predefine 4633 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a. 4634 4635 2019-10-04 Joseph Myers <joseph (a] codesourcery.com> 4636 4637 PR c/82752 4638 * c-format.c (C_STD_VER): Handle C2x. 4639 (C_STD_NAME): Likewise. 4640 (strftime_flag_specs): Add 'O' modifier with 'p' flag. 4641 (time_char_table): Use separate entry for 'B' and 'b', with 'O' 4642 modifier allowed and 'p' flag. 4643 * c-format.h (enum format_std_version): Add STD_C2X. 4644 (struct format_char_info): Mention 'p' in comment on flags2. 4645 4646 2019-10-01 David Malcolm <dmalcolm (a] redhat.com> 4647 4648 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when 4649 calling diagnostic_show_locus, rather than destroying it afterwards. 4650 4651 2019-10-01 Jakub Jelinek <jakub (a] redhat.com> 4652 4653 PR c++/91925 4654 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs 4655 with NULL DECL_FIELD_OFFSET. 4656 4657 2019-10-01 Richard Sandiford <richard.sandiford (a] arm.com> 4658 4659 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type 4660 has a type name, use it in preference to the __vector syntax. 4661 4662 2019-09-30 Richard Sandiford <richard.sandiford (a] arm.com> 4663 4664 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing 4665 two spaces between a comma and "...". 4666 4667 2019-09-27 Jakub Jelinek <jakub (a] redhat.com> 4668 4669 PR c++/88203 4670 * c-common.h (c_omp_predefined_variable): Declare. 4671 * c-omp.c (c_omp_predefined_variable): New function. 4672 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED 4673 for predefined variables. 4674 4675 2019-09-27 Richard Sandiford <richard.sandiford (a] arm.com> 4676 4677 * c-common.h (build_function_call_vec): Take the original 4678 function decl as an optional final parameter. 4679 (check_builtin_function_arguments): Take the original function decl. 4680 * c-common.c (check_builtin_function_arguments): Likewise. 4681 Handle all built-in functions, not just BUILT_IN_NORMAL ones. 4682 Use targetm.check_builtin_call to check BUILT_IN_MD functions. 4683 4684 2019-09-15 Jason Merrill <jason (a] redhat.com> 4685 4686 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't 4687 fold_for_warn in "|| mask" warning. 4688 4689 2019-09-10 Martin Liska <mliska (a] suse.cz> 4690 4691 * c.opt: Use newly added WarnRemoved. 4692 4693 2019-09-09 Martin Liska <mliska (a] suse.cz> 4694 4695 * c.opt: Update comment of removed 4696 options that are preserved only for backward 4697 compatibility. 4698 4699 2019-09-06 Martin Liska <mliska (a] suse.cz> 4700 4701 PR c++/91125 4702 * c-common.c: Remove definition of flag_use_repository. 4703 * c-common.h: Likewise. 4704 * c-opts.c (c_common_handle_option): 4705 Do not handle OPT_frepo option. 4706 * c.opt: Mark the option with Deprecated. 4707 4708 2019-09-04 Marek Polacek <polacek (a] redhat.com> 4709 4710 * c.opt (fdeduce-init-list): Ignored. 4711 4712 2019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni (a] linaro.org> 4713 4714 PR c/78736 4715 * c.opt (Wenum-conversion): New option. 4716 4717 2019-09-03 Jozef Lawrynowicz <jozef.l (a] mittosystems.com> 4718 4719 * c-attribs.c (handle_section_attribute): Call the 4720 handle_generic_attribute target hook after performing target 4721 independent processing. 4722 (handle_noinit_attribute): Likewise. 4723 4724 2019-09-03 Ian Lance Taylor <iant (a] golang.org> 4725 4726 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand 4727 when using -fgo-dump-spec. 4728 4729 2019-09-02 Martin Liska <mliska (a] suse.cz> 4730 4731 PR c++/91155 4732 * c-common.c (fname_as_string): Use cxx_printable_name for 4733 __PRETTY_FUNCTION__ same as was used before r265711. 4734 4735 2019-08-28 Marek Polacek <polacek (a] redhat.com> 4736 4737 Implement P1152R4: Deprecating some uses of volatile. 4738 PR c++/91361 4739 * c-opts.c (c_common_post_options): Enable -Wvolatile by 4740 default for C++2a, unless -Wno-deprecated. 4741 * c.opt (Wvolatile): New warning. 4742 4743 2019-08-28 Marek Polacek <polacek (a] redhat.com> 4744 4745 PR c++/91360 - Implement C++20 P1143R2: constinit. 4746 * c-common.c (c_common_reswords): Add constinit and __constinit. 4747 (keyword_is_decl_specifier): Handle RID_CONSTINIT. 4748 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and 4749 RID_LAST_CXX20. 4750 (D_CXX20): Define. 4751 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit. 4752 * c-format.c (cxx_keywords): Add "constinit". 4753 * c.opt (Wc++2a-compat, Wc++20-compat): New options. 4754 4755 2019-08-27 Jakub Jelinek <jakub (a] redhat.com> 4756 4757 PR c++/91415 4758 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR, 4759 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it 4760 like COMPOUND_EXPR rather than normal expression. 4761 4762 2019-08-23 Iain Sandoe <iain (a] sandoe.co.uk> 4763 4764 PR pch/61250 4765 * c-lex.c (c_lex_with_flags): Don't call 4766 c_common_no_more_pch () from here. 4767 4768 2019-08-23 Jakub Jelinek <jakub (a] redhat.com> 4769 4770 PR middle-end/91283 4771 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision 4772 instead of flag_excess_precision_cmdline. 4773 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise. 4774 * c-opts.c (c_common_post_options): Likewise. 4775 4776 2019-08-22 Martin Sebor <msebor (a] redhat.com> 4777 4778 PR middle-end/91490 4779 * c-common.c (braced_list_to_string): Add argument and overload. 4780 Handle flexible length arrays and unions. 4781 4782 2019-08-21 Eric Botcazou <ebotcazou (a] adacore.com> 4783 4784 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken 4785 function declarations where arguments are missing. Rename variables. 4786 4787 2019-08-15 Richard Biener <rguenther (a] suse.de> 4788 4789 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is 4790 enabled, define __SIZETYPE__. 4791 4792 2019-08-14 Christophe Lyon <christophe.lyon (a] linaro.org> 4793 4794 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add 4795 exclusion with "section" attribute. 4796 (attr_noinit_exclusions): New table. 4797 (handle_noinit_attribute): New function. 4798 4799 2019-08-13 Richard Sandiford <richard.sandiford (a] arm.com> 4800 4801 PR middle-end/91421 4802 * c-common.c (resolve_overloaded_builtin): Use 4803 copy_decl_built_in_function. 4804 4805 2019-08-13 Martin Sebor <msebor (a] redhat.com> 4806 4807 PR c/80619 4808 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w". 4809 (asm_fprintf_length_spec): Same. 4810 * c-format.h (format_lengths): Add FMT_LEN_w. 4811 4812 2019-08-10 Jakub Jelinek <jakub (a] redhat.com> 4813 4814 * c-pragma.h (enum pragma_omp_clause): Add 4815 PRAGMA_OMP_CLAUSE_DEVICE_TYPE. 4816 4817 2019-08-07 Jakub Jelinek <jakub (a] redhat.com> 4818 4819 * c-pragma.h (enum pragma_omp_clause): Add 4820 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE 4821 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate 4822 enumeration value. 4823 4824 2019-08-05 Marek Polacek <polacek (a] redhat.com> 4825 4826 PR c++/91338 - Implement P1161R3: Deprecate a[b,c]. 4827 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by 4828 default for C++2a, unless -Wno-deprecated. 4829 * c.opt (Wcomma-subscript): New warning. 4830 4831 2019-07-20 Jakub Jelinek <jakub (a] redhat.com> 4832 4833 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP. 4834 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND. 4835 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry. 4836 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP. 4837 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined 4838 constructs with the loop construct. 4839 4840 2019-07-13 Jakub Jelinek <jakub (a] redhat.com> 4841 4842 PR c/91149 4843 * c-omp.c (c_omp_split_clauses): Fix a pasto in 4844 OMP_CLAUSE_REDUCTION_TASK handling. 4845 4846 2019-07-12 Jakub Jelinek <jakub (a] redhat.com> 4847 4848 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER. 4849 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER. 4850 4851 2019-07-09 Martin Sebor <msebor (a] redhat.com> 4852 4853 PR c++/61339 4854 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct 4855 and others to class. 4856 * c-pretty-print.h: Same. 4857 4858 2019-07-09 Martin Sebor <msebor (a] redhat.com> 4859 4860 PR c++/61339 4861 * c-format.c (check_argument_type): Change class-key from class to 4862 struct and vice versa to match convention and avoid -Wclass-is-pod 4863 and -Wstruct-no-pod. 4864 * c-pretty-print.h: Same. 4865 4866 2019-07-03 Martin Liska <mliska (a] suse.cz> 4867 4868 * c-common.c (try_to_locate_new_include_insertion_point): Remove 4869 dead assignemts. 4870 4871 2019-07-03 Jakub Jelinek <jakub (a] redhat.com> 4872 4873 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN 4874 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined 4875 with OMP_PARALLEL. 4876 4877 2019-07-02 qing zhao <qing.zhao (a] oracle.com> 4878 4879 PR preprocessor/90581 4880 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth. 4881 * c.opt: Add new option -fmax-include-depth. 4882 4883 2019-06-26 Jason Merrill <jason (a] redhat.com> 4884 4885 PR c++/55442 - memory-hog with highly recursive constexpr. 4886 * c.opt (fconstexpr-loop-limit): New. 4887 4888 2019-06-25 Jakub Jelinek <jakub (a] redhat.com> 4889 4890 PR sanitizer/90954 4891 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition 4892 to SAVE_EXPR in first operand of a COMPOUND_EXPR. 4893 4894 2019-06-25 Jozef Lawrynowicz <jozef.l (a] mittosystems.com> 4895 4896 * c-common.c (c_common_nodes_and_builtins): Define 4897 alternate "__intN__" name for "__intN" types. 4898 4899 2019-06-24 Jan Hubicka <jh (a] suse.cz> 4900 4901 * c-common.c (braced_lists_to_strings): Check that 4902 type is array or integer prior checking string flag. 4903 4904 2019-06-21 Matthew Beliveau <mbelivea (a] redhat.com> 4905 4906 PR c++/90875 - added -Wswitch-outside-range option 4907 * c.opt (Wswitch-outside-range): Added new option. 4908 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range. 4909 4910 2019-06-21 Marek Polacek <polacek (a] redhat.com> 4911 4912 PR c++/90953 - ICE with -Wmissing-format-attribute. 4913 * c-common.c (check_function_arguments_recurse): Use 4914 get_attribute_name. 4915 (check_missing_format_attribute): Likewise. 4916 4917 2019-06-19 Marek Polacek <polacek (a] redhat.com> 4918 4919 PR c++/60364 - noreturn after first decl not diagnosed. 4920 * c-attribs.c (handle_noreturn_attribute): No longer static. 4921 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions): 4922 Declare. 4923 * c-format.c (check_function_format): Use get_attribute_name. 4924 4925 2019-06-19 Martin Sebor <msebor (a] redhat.com> 4926 4927 PR translation/90156 4928 * c-format.c (function_format_info::format_type): Adjust type. 4929 (function_format_info::is_raw): New member. 4930 (decode_format_type): Adjust signature. Handle "raw" diag attributes. 4931 (decode_format_attr): Adjust call to decode_format_type. 4932 Avoid a redundant call to convert_format_name_to_system_name. 4933 Avoid abbreviating the word "arguments" in a diagnostic. 4934 (format_warning_substr): New function. 4935 (avoid_dollar_number): Quote dollar sign in a diagnostic. 4936 (finish_dollar_format_checking): Same. 4937 (check_format_info): Same. 4938 (struct baltoks_t): New. 4939 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays. 4940 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New 4941 functions. 4942 (check_format_info_main): Call check_plain. Use baltoks_t. Call 4943 maybe_diag_unbalanced_tokens. 4944 (handle_format_attribute): Spell out the word "arguments" in 4945 a diagnostic. 4946 4947 2019-06-11 Matthew Beliveau <mbelivea (a] redhat.com> 4948 4949 PR c++/90449 - add -Winaccessible-base option. 4950 * c.opt (Winaccessible-base): New option. 4951 4952 2019-06-10 Jakub Jelinek <jakub (a] redhat.com> 4953 4954 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN. 4955 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan. 4956 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on 4957 combined/composite constructs where it is not allowed. Copy over 4958 OMP_CLAUSE_REDUCTION_INSCAN. 4959 4960 2019-06-05 Martin Sebor <msebor (a] redhat.com> 4961 4962 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation. 4963 (handle_alias_ifunc_attribute): Same. 4964 (handle_copy_attribute): Same. 4965 (handle_weakref_attribute): Same. 4966 (handle_nonnull_attribute): Same. 4967 * c-warn.c (warn_for_sign_compare): Same. 4968 (warn_for_restrict): Same. 4969 * c.opt: Same. 4970 4971 2019-06-05 Martin Sebor <msebor (a] redhat.com> 4972 4973 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic. 4974 * c.opt (-Wformat-diag): Remove a spurious period. 4975 4976 2019-05-29 Jakub Jelinek <jakub (a] redhat.com> 4977 4978 PR c/90628 4979 * c-common.c (check_builtin_function_arguments) 4980 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer 4981 as last argument. 4982 4983 2019-05-23 Eric Botcazou <ebotcazou (a] adacore.com> 4984 4985 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort. 4986 4987 2019-05-22 Martin Liska <mliska (a] suse.cz> 4988 4989 PR lto/90500 4990 * c-attribs.c (handle_copy_attribute): Do not copy 4991 target_clones attribute. 4992 4993 2019-05-21 Eric Botcazou <ebotcazou (a] adacore.com> 4994 4995 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR. 4996 * c-ada-spec.c (print_assignment_operator): New function. 4997 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy 4998 assignment operators declared as methods and filter out the others. 4999 5000 2019-05-17 Thomas Schwinge <thomas (a] codesourcery.com> 5001 5002 PR c/89433 5003 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for 5004 "omp declare target". 5005 5006 2019-05-16 Martin Sebor <msebor (a] redhat.com> 5007 5008 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers, 5009 keywords, operators, and types in diagnostics. 5010 (handle_scalar_storage_order_attribute): Same. 5011 (handle_mode_attribute): Same. 5012 (handle_visibility_attribute): Same. 5013 (handle_assume_aligned_attribute): Same. 5014 (handle_no_split_stack_attribute): Same. 5015 * c-common.c (shorten_compare): Same. 5016 (c_common_truthvalue_conversion): Same. 5017 (cb_get_source_date_epoch): Same. 5018 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types 5019 in diagnostics. 5020 (interpret_float): Same. 5021 * c-omp.c (c_finish_omp_for): Same. 5022 * c-opts.c (c_common_post_options): Same. 5023 * c-pch.c (c_common_pch_pragma): Same. 5024 * c-pragma.c (pop_alignment): Same. 5025 (handle_pragma_pack): Same. 5026 (apply_pragma_weak): Same. 5027 (handle_pragma_weak): Same. 5028 (handle_pragma_scalar_storage_order): Same. 5029 (handle_pragma_redefine_extname): Same. 5030 (add_to_renaming_pragma_list): Same. 5031 (maybe_apply_renaming_pragma): Same. 5032 (push_visibility): Same. 5033 (handle_pragma_visibility): Same. 5034 (handle_pragma_optimize): Same. 5035 (handle_pragma_message): Same. 5036 * c-warn.c (warn_for_omitted_condop): Same. 5037 (lvalue_error): Same. 5038 5039 2019-05-15 Richard Biener <rguenther (a] suse.de> 5040 5041 PR c/90474 5042 * c-common.c (c_common_mark_addressable_vec): Also mark 5043 a COMPOUND_LITERAL_EXPR_DECL addressable similar to 5044 c_mark_addressable. 5045 5046 2019-05-06 Nathan Sidwell <nathan (a] acm.org> 5047 5048 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps. 5049 5050 2019-04-30 Nathan Sidwell <nathan (a] acm.org> 5051 5052 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR. 5053 5054 2019-04-30 Martin Liska <mliska (a] suse.cz> 5055 5056 * c-pragma.c (handle_pragma_diagnostic): Provide hints 5057 for unknown options. 5058 5059 2019-04-26 Richard Sandiford <richard.sandiford (a] arm.com> 5060 5061 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to 5062 the pointer target rather than the pointer itself. 5063 5064 2019-04-19 Jakub Jelinek <jakub (a] redhat.com> 5065 5066 PR c/89888 5067 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p 5068 arguments. 5069 (c_do_switch_warnings): Remove outside_range_p argument. 5070 * c-common.c (check_case_bounds): Removed. 5071 (c_add_case_label): Remove orig_type and outside_range_p arguments. 5072 Don't call check_case_bounds. Fold low_value as well as high_value. 5073 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument. 5074 Check for case labels outside of range of original type here and 5075 adjust them. 5076 5077 2019-04-12 Jakub Jelinek <jakub (a] redhat.com> 5078 5079 PR translation/90041 5080 * c.opt (-fhandle-exceptions): Use %< and %> around option names 5081 in the Warn diagnostics. 5082 5083 PR c/89946 5084 * c-attribs.c (handle_patchable_function_entry_attribute): Add 5085 function comment. Warn if arguments of the attribute are not positive 5086 integer constants. 5087 5088 2019-04-09 Eric Botcazou <ebotcazou (a] adacore.com> 5089 5090 * c-ada-spec.c (print_destructor): Deal with deleting destructors. 5091 (dump_ada_declaration) <FUNCTION_DECL>: Likewise. 5092 5093 2019-04-07 Eric Botcazou <ebotcazou (a] adacore.com> 5094 5095 * c-ada-spec.c (is_float128): New predicate extracted from... 5096 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128. 5097 <REAL_TYPE>: ...here. Call it. 5098 5099 2019-04-05 David Malcolm <dmalcolm (a] redhat.com> 5100 5101 PR c/89985 5102 * c-warn.c (check_address_or_pointer_of_packed_member): Add 5103 auto_diagnostic_group. Guard inform calls by result of 5104 warning_at call. 5105 5106 2019-04-05 Marek Polacek <polacek (a] redhat.com> 5107 5108 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion. 5109 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type 5110 of RHS. 5111 5112 2019-04-03 Jason Merrill <jason (a] redhat.com> 5113 5114 PR c++/86586 - -fcompare-debug=-Wsign-compare. 5115 * c-warn.c (warn_for_sign_compare): Call fold_for_warn. 5116 5117 2019-04-01 Martin Sebor <msebor (a] redhat.com> 5118 5119 PR c/89685 5120 * c-attribs.c (handle_copy_attribute): Handle references and 5121 non-constant expressions. 5122 5123 2019-03-22 Jakub Jelinek <jakub (a] redhat.com> 5124 5125 PR c++/87481 5126 * c.opt (-fconstexpr-ops-limit=): New option. 5127 5128 2019-03-21 Jakub Jelinek <jakub (a] redhat.com> 5129 5130 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set 5131 template param. 5132 5133 2019-03-19 Martin Sebor <msebor (a] redhat.com> 5134 5135 PR tree-optimization/89688 5136 * c-common.c (braced_list_to_string): Make static. 5137 (braced_lists_to_strings): Define new function. 5138 * c-common.h (braced_list_to_string): Remove. 5139 (braced_lists_to_strings): Declare. 5140 5141 2019-03-12 Martin Liska <mliska (a] suse.cz> 5142 5143 * c-opts.c (c_common_handle_option): Wrap option with %< and %>. 5144 5145 2019-03-11 Martin Liska <mliska (a] suse.cz> 5146 5147 * c-opts.c (c_common_post_options): Wrap apostrophes 5148 in gcc internal format with %'. 5149 5150 2019-03-11 Martin Liska <mliska (a] suse.cz> 5151 5152 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name 5153 in a string format message and fix GNU coding style. 5154 * c-common.c (vector_types_convertible_p): Likewise. 5155 (c_build_vec_perm_expr): Likewise. 5156 * c-indentation.c (get_visual_column): Likewise. 5157 * c-opts.c (c_common_handle_option): Likewise. 5158 (c_common_post_options): Likewise. 5159 (sanitize_cpp_opts): Likewise. 5160 * c-pch.c (c_common_pch_pragma): Likewise. 5161 * c-pragma.c (handle_pragma_pack): Likewise. 5162 5163 2019-03-08 Jakub Jelinek <jakub (a] redhat.com> 5164 5165 PR tree-optimization/89550 5166 * c-common.c (c_common_truthvalue_conversion): Only set 5167 TREE_NO_WARNING if warning_at returned true. 5168 * c-warn.c (overflow_warning, warn_logical_operator): Likewise. 5169 5170 2019-02-25 Sandra Loosemore <sandra (a] codesourcery.com> 5171 Martin Sebor <msebor (a] gmail.com> 5172 5173 * c.opt (Wmissing-attributes): Clean up doc string. 5174 5175 2019-02-25 Jakub Jelinek <jakub (a] redhat.com> 5176 5177 PR c/89495 5178 * c-format.c (maybe_read_dollar_number): Compute nargnum in 5179 HOST_WIDE_INT type to avoid overflows and change overflow_flag 5180 checking. 5181 5182 2019-02-22 Richard Biener <rguenther (a] suse.de> 5183 5184 * c-pch.c (no_checksum): Remove. 5185 (pch_init): Remove assertion that executable_checksum is not 5186 all zero. 5187 (c_common_valid_pch): Likewise. 5188 5189 2019-02-18 Martin Sebor <msebor (a] redhat.com> 5190 5191 PR middle-end/89294 5192 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant. 5193 5194 2019-02-16 David Malcolm <dmalcolm (a] redhat.com> 5195 5196 PR c++/88680 5197 * c-common.c (shorten_compare): Call fold_for_warn on op0 when 5198 implementing -Wtype-limits. 5199 5200 2019-02-11 Martin Sebor <msebor (a] redhat.com> 5201 5202 PR c++/87996 5203 * c-common.c (invalid_array_size_error): New function. 5204 (valid_array_size_p): Call it. Handle size as well as type. 5205 * c-common.h (valid_constant_size_p): New function. 5206 (enum cst_size_error): New type. 5207 5208 2019-01-31 David Malcolm <dmalcolm (a] redhat.com> 5209 5210 PR c/89122 5211 * known-headers.cc (get_stdlib_header_for_name): Add 5212 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array. 5213 5214 2019-01-31 Jakub Jelinek <jakub (a] redhat.com> 5215 5216 PR libstdc++/88170 5217 * c-pretty-print.c (pp_c_enumeration_constant): Print always as 5218 a C cast in pp_c_flag_gnu_v3 mode. 5219 5220 2019-01-29 Jakub Jelinek <jakub (a] redhat.com> 5221 5222 PR c/86125 5223 * c-common.c (c_common_nodes_and_builtins): Build type variants for 5224 builtin_structptr_types types even for C. 5225 5226 2019-01-28 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 5227 5228 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case 5229 when rhs is of array type correctly. Fix handling of nested structures. 5230 Fix handling of indirect_ref together with nop_expr and/or addr_expr. 5231 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of 5232 type casts within nested compound expressions. 5233 5234 2019-01-22 Jakub Jelinek <jakub (a] redhat.com> 5235 5236 PR middle-end/88968 5237 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type 5238 variable after using BIT_FIELD_REF. 5239 5240 2019-01-18 H.J. Lu <hongjiu.lu (a] intel.com> 5241 5242 PR c/51628 5243 PR c/88664 5244 * c-common.h (warn_for_address_or_pointer_of_packed_member): 5245 Remove the boolean argument. 5246 * c-warn.c (check_address_of_packed_member): Renamed to ... 5247 (check_address_or_pointer_of_packed_member): This. Also 5248 warn pointer conversion. 5249 (check_and_warn_address_of_packed_member): Renamed to ... 5250 (check_and_warn_address_or_pointer_of_packed_member): This. 5251 Also warn pointer conversion. 5252 (warn_for_address_or_pointer_of_packed_member): Remove the 5253 boolean argument. Don't check pointer conversion here. 5254 5255 2019-01-15 Richard Sandiford <richard.sandiford (a] arm.com> 5256 5257 PR inline-asm/52813 5258 * c.opt (Wdeprecated): Move documentation and variable to common.opt. 5259 5260 2019-01-14 Jakub Jelinek <jakub (a] redhat.com> 5261 5262 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision 5263 and __cpp_nontype_template_parameter_auto. Add a comment that 5264 __cpp_template_auto is deprecated. 5265 5266 2019-01-14 Tom Honermann <tom (a] honermann.net> 5267 5268 Implement P0482R5, char8_t: A type for UTF-8 characters and strings 5269 * c-common.c (c_common_reswords): Add char8_t. 5270 (fix_string_type): Use char8_t for the type of u8 string literals. 5271 (c_common_get_alias_set): char8_t doesn't alias. 5272 (c_common_nodes_and_builtins): Define char8_t as a builtin type in 5273 C++. 5274 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__. 5275 (keyword_begins_type_specifier): Add RID_CHAR8. 5276 * c-common.h (rid): Add RID_CHAR8. 5277 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE. 5278 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS. 5279 Define char8_type_node and char8_array_type_node. 5280 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine 5281 __GCC_ATOMIC_CHAR8_T_LOCK_FREE. 5282 (c_cpp_builtins): Predefine __cpp_char8_t. 5283 * c-lex.c (lex_string): Use char8_array_type_node as the type of 5284 CPP_UTF8STRING. 5285 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR. 5286 * c-opts.c: If not otherwise specified, enable -fchar8_t when 5287 targeting C++2a. 5288 * c.opt: Add the -fchar8_t command line option. 5289 5290 2019-01-14 Martin Sebor <msebor (a] redhat.com> 5291 5292 PR target/88638 5293 * c-attribs.c (positional_argument): Call valid_format_string_type_p 5294 and issue errors if it fails. 5295 * c-common.h (valid_format_string_type_p): Declare. 5296 * c-format.c (valid_stringptr_type_p): Rename... 5297 (valid_format_string_type_p): ...to this and make extern. 5298 (handle_format_arg_attribute): Adjust to new name. 5299 (check_format_string): Same. 5300 5301 2019-01-13 H.J. Lu <hongjiu.lu (a] intel.com> 5302 5303 * c-warn.c (warn_for_address_or_pointer_of_packed_member): 5304 Replace "may may" with "may" in warning message. 5305 5306 2019-01-07 Jakub Jelinek <jakub (a] redhat.com> 5307 5308 PR c++/85052 5309 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR. 5310 (c_build_vec_convert): Declare. 5311 * c-common.c (c_build_vec_convert): New function. 5312 5313 2019-01-04 Martin Sebor <msebor (a] redhat.com> 5314 5315 PR c/88546 5316 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf. 5317 Handle C++ empty throw specification and C11 _Noreturn. 5318 (has_attribute): Also handle C11 _Noreturn. 5319 5320 2019-01-04 Martin Sebor <msebor (a] redhat.com> 5321 5322 PR c/88363 5323 * c-attribs.c (positional_argument): Also accept enumerated types. 5324 5325 2019-01-01 Jakub Jelinek <jakub (a] redhat.com> 5326 5327 Update copyright years. 5328 5329 2018-12-20 H.J. Lu <hongjiu.lu (a] intel.com> 5330 5331 PR c/51628 5332 * c-common.h (warn_for_address_or_pointer_of_packed_member): New. 5333 * c-warn.c (check_alignment_of_packed_member): New function. 5334 (check_address_of_packed_member): Likewise. 5335 (check_and_warn_address_of_packed_member): Likewise. 5336 (warn_for_address_or_pointer_of_packed_member): Likewise. 5337 * c.opt: Add -Wno-address-of-packed-member. 5338 5339 2018-12-20 David Malcolm <dmalcolm (a] redhat.com> 5340 5341 PR c++/87504 5342 * c-warn.c (get_outermost_macro_expansion): New function. 5343 (spelled_the_same_p): Use it to unwind the macro expansions, and 5344 compare the outermost macro in each nested expansion, rather than 5345 the innermost. 5346 5347 2018-12-19 David Malcolm <dmalcolm (a] redhat.com> 5348 5349 PR c++/87504 5350 * c-common.h (warn_tautological_cmp): Convert 1st param from 5351 location_t to const op_location_t &. 5352 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn 5353 when testing for INTEGER_CST. 5354 (warn_tautological_bitwise_comparison): Convert 1st param from 5355 location_t to const op_location_t &; use it to build a 5356 binary_op_rich_location, and use this. 5357 (spelled_the_same_p): New function. 5358 (warn_tautological_cmp): Convert 1st param from location_t to 5359 const op_location_t &. Warn for macro expansions if 5360 spelled_the_same_p. Use binary_op_rich_location. 5361 5362 2018-12-19 David Malcolm <dmalcolm (a] redhat.com> 5363 5364 PR c++/43064 5365 PR c++/43486 5366 * c-common.c (unsafe_conversion_p): Fold any location wrapper. 5367 (verify_tree): Handle location wrappers. 5368 (c_common_truthvalue_conversion): Strip any location wrapper. 5369 Handle CONST_DECL. 5370 (fold_offsetof): Strip any location wrapper. 5371 (complete_array_type): Likewise for initial_value. 5372 (convert_vector_to_array_for_subscript): Call fold_for_warn on the 5373 index before checking for INTEGER_CST. 5374 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't 5375 print parentheses around location wrappers. 5376 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right 5377 before checking for INTEGER_CST. 5378 (warn_tautological_bitwise_comparison): Call 5379 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand 5380 before checking for INTEGER_CST. 5381 (readonly_error): Strip any location wrapper. 5382 (warn_array_subscript_with_type_char): Strip location wrappers 5383 before checking for INTEGER_CST. Use the location of the index if 5384 available. 5385 5386 2018-12-06 Jason Merrill <jason (a] redhat.com> 5387 5388 PR c++/88136 - -Wdeprecated-copy false positives 5389 * c.opt (Wdeprecated-copy-dtor): New. 5390 (Wdeprecated-copy): Move to -Wextra. 5391 5392 2018-11-29 Martin Sebor <msebor (a] redhat.com> 5393 5394 PR c/88172 5395 PR testsuite/88208 5396 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting 5397 alignments to values less than the target requires. 5398 (has_attribute): For attribute aligned consider both the attribute 5399 and the alignment bits. 5400 * c-common.c (c_init_attributes): Optionally issue a warning for 5401 zero alignment. 5402 5403 2018-11-28 Martin Sebor <msebor (a] redhat.com> 5404 5405 PR c/88065 5406 PR c/87297 5407 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source 5408 or destination is an error. 5409 5410 2018-11-28 Jakub Jelinek <jakub (a] redhat.com> 5411 5412 PR c++/88215 5413 * c-ubsan.c: Include langhooks.h. 5414 (ubsan_instrument_division): Change gcc_assert that main variants 5415 of op0 and op1 types are equal to gcc_checking_assert that the 5416 main variants are compatible types. 5417 5418 2018-11-27 Eric Botcazou <ebotcazou (a] adacore.com> 5419 5420 * c-ada-spec.c: Include stringpool.h. 5421 (has_static_fields): Return false for incomplete types. 5422 (is_tagged_type): Likewise. 5423 (has_nontrivial_methods): Likewise. 5424 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128. 5425 (struct overloaded_name_hash): New structure. 5426 (struct overloaded_name_hasher): Likewise. 5427 (overloaded_names): New global variable. 5428 (init_overloaded_names): New static function. 5429 (overloaded_name_p): New predicate. 5430 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED 5431 on the TYPE_STUB_DECL of the original type of a typedef, if any. 5432 <FUNCTION_DECL>: Bail out for an unsupported overloaded name. 5433 Remove always-true condition and dump forward types. 5434 (dump_ada_specs): Delete overloaded_names. 5435 5436 2018-11-20 Martin Sebor <msebor (a] redhat.com> 5437 5438 * c-attribs.c (type_for_vector_size): New function. 5439 (type_valid_for_vector_size): Same. 5440 (handle_vector_size_attribute): Move code to the functions above 5441 and call them. 5442 (validate_attribute, has_attribute): New functions. 5443 * c-common.h (has_attribute): Declare. 5444 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION. 5445 * c-common.c (c_common_resword): Same. 5446 5447 2018-11-16 Jason Merrill <jason (a] redhat.com> 5448 5449 * c-lex.c (c_common_has_attribute): Handle likely/unlikely. 5450 * c-attribs.c (attr_cold_hot_exclusions): Make public. 5451 5452 2018-11-16 Jakub Jelinek <jakub (a] redhat.com> 5453 5454 PR middle-end/87854 5455 * c-common.c (fix_string_type): Reject string literals larger than 5456 TYPE_MAX_VALUE (ssizetype) bytes. 5457 5458 2018-11-15 Martin Sebor <msebor (a] redhat.com> 5459 5460 PR c++/87541 5461 PR c++/87542 5462 * c-attribs.c (positional_argument): New function. 5463 (handle_alloc_size_attribute): Use it and simplify. 5464 (handle_alloc_align_attribute): Same. 5465 (handle_assume_aligned_attribute): Same. 5466 (handle_nonnull_attribute): Same. 5467 * c-common.c (check_function_arguments): Pass fntype to 5468 check_function_format. 5469 * c-common.h (check_function_format): Add an argument. 5470 (PosArgFlags, positional_argument): Declare new type and function. 5471 * c-format.c (decode_format_attr): Add arguments. 5472 (check_format_string, get_constant): Same. 5473 (convert_format_name_to_system_name): Adjust. 5474 5475 2018-11-15 David Malcolm <dmalcolm (a] redhat.com> 5476 5477 PR other/19165 5478 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param. 5479 5480 2018-11-14 Jakub Jelinek <jakub (a] redhat.com> 5481 5482 P1236R1 - Signed integers are two's complement 5483 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a. 5484 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts 5485 with in-range second operand well defined for -std=c++2a. 5486 5487 PR other/88007 5488 * c-common.c (parse_optimize_options): Allocate option string from 5489 opts_obstack rather than as GC memory. Move the allocation after 5490 warning for invalid option. 5491 5492 2018-11-13 David Malcolm <dmalcolm (a] redhat.com> 5493 5494 * c-common.c (c_get_substring_location): Update for renaming of 5495 get_source_location_for_substring to get_location_within_string. 5496 * c-lex.c: Replace "source_location" with "location_t". 5497 * c-opts.c: Likewise. 5498 * c-ppoutput.c: Likewise. 5499 5500 2018-11-13 Martin Sebor <msebor (a] redhat.com> 5501 5502 PR middle-end/81824 5503 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes. 5504 (handle_tls_model_attribute): Improve diagnostics. 5505 5506 2018-11-12 Jason Merrill <jason (a] redhat.com> 5507 5508 * c-cppbuiltin.c (c_cpp_builtins): Define 5509 __cpp_impl_destroying_delete. 5510 5511 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to 5512 __cpp_conditional_explicit. 5513 5514 2018-11-09 Martin Sebor <msebor (a] redhat.com> 5515 5516 PR middle-end/81824 5517 * c-attribs.c (handle_copy_attribute): New function. 5518 5519 2018-11-09 Martin Sebor <msebor (a] redhat.com> 5520 5521 PR c/87795 5522 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT. 5523 5524 2018-11-08 Jakub Jelinek <jakub (a] redhat.com> 5525 5526 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument. 5527 (c_finish_omp_atomic): Replace bool SEQ_CST argument with 5528 enum omp_memory_order MEMORY_ORDER. 5529 (c_finish_omp_flush): Add MO argument. 5530 (c_omp_depend_t_p, c_finish_omp_depobj): Declare. 5531 (c_finish_omp_for): Add FINAL_P argument. 5532 * c-omp.c: Include memmodel.h. 5533 (c_finish_omp_taskgroup): Add CLAUSES argument. Set 5534 OMP_TASKGROUP_CLAUSES to it. 5535 (c_finish_omp_atomic): Replace bool SEQ_CST argument with 5536 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER 5537 instead of OMP_ATOMIC_SEQ_CST. 5538 (c_omp_depend_t_p, c_finish_omp_depobj): New functions. 5539 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit 5540 __atomic_thread_fence call with the given value. 5541 (check_omp_for_incr_expr): Formatting fixes. 5542 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR 5543 even in OpenMP loops, diagnose if NE_EXPR and incr expression 5544 is not constant expression 1 or -1. Transform NE_EXPR loops 5545 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops. 5546 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for 5547 loops too. 5548 (c_omp_split_clauses): Add support for combined 5549 #pragma omp parallel master and 5550 #pragma omp {,parallel }master taskloop{, simd} constructs. 5551 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK. 5552 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF 5553 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL. 5554 (c_omp_predetermined_sharing): Don't return 5555 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls. 5556 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and 5557 PRAGMA_OMP_REQUIRES. 5558 * c-pragma.h (enum pragma_kind): Likewise. 5559 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL 5560 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION. 5561 5562 2018-11-08 David Malcolm <dmalcolm (a] redhat.com> 5563 5564 * c-format.c (gcc_dump_printf_char_table): Add entry for %f. 5565 5566 2018-11-08 David Malcolm <dmalcolm (a] redhat.com> 5567 5568 * c-format.c (local_cgraph_node_ptr_node): New variable. 5569 (gcc_dump_printf_char_table): Add entry for %C. 5570 (get_pointer_to_named_type): New function, taken from the handling 5571 code for "gimple *" from... 5572 (init_dynamic_diag_info): ...here. Add handling for 5573 "cgraph_node *". 5574 * c-format.h (T_CGRAPH_NODE): New. 5575 5576 2018-10-19 Jason Merrill <jason (a] redhat.com> 5577 5578 * c-cppbuiltin.c (c_cpp_builtins): Add 5579 __cpp_nontype_template_parameter_class. 5580 5581 2018-10-31 Nathan Sidwell <nathan (a] acm.org> 5582 5583 * c-opts.c (c_finish_options): Force command line macro 5584 location. Refactor to avoid repeating main debug hook. 5585 (push_command_line_include): Clarify comment. 5586 5587 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call. 5588 5589 2018-10-30 Martin Sebor <msebor (a] redhat.com> 5590 5591 PR middle-end/87041 5592 * c-format.c (check_format_types): Avoid diagnosing null pointer 5593 arguments to printf-family of functions. 5594 5595 2018-10-30 Marek Polacek <polacek (a] redhat.com> 5596 5597 Implement P0892R2, explicit(bool). 5598 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool. 5599 5600 2018-10-29 David Malcolm <dmalcolm (a] redhat.com> 5601 5602 * name-hint.h (name_hint::take_deferred): New member function. 5603 5604 2018-10-29 David Malcolm <dmalcolm (a] redhat.com> 5605 5606 PR c++/56856 5607 * c-common.c (check_function_sentinel): Call fold_for_warn on the 5608 argument. 5609 (check_function_restrict): Rename param "argarray" to 5610 "unfolded_argarray", and make a copy named "argarray", calling 5611 fold_for_warn on each argument. 5612 (check_function_arguments): Add note about responsibility for 5613 folding the arguments. 5614 5615 2018-10-17 Joseph Myers <joseph (a] codesourcery.com> 5616 5617 * c-common.c (flag_isoc2x): New variable. 5618 * c-common.h (clk_c): Update comment to reference C2X. 5619 (flag_isoc99, flag_isoc11): Update comments to reference future 5620 standard versions in general. 5621 (flag_isoc2x): Declare. 5622 * c-opts.c (set_std_c2x): New function. 5623 (c_common_handle_option): Handle -std=c2x and -std=gnu2x. 5624 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set 5625 flag_isoc2x to 0. 5626 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options. 5627 5628 2018-10-17 Joseph Myers <joseph (a] codesourcery.com> 5629 5630 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017) 5631 (std=iso9899:2018): Document C17 as published in 2018. 5632 5633 2018-10-12 Christophe Lyon <christophe.lyon (a] linaro.org> 5634 5635 PR c++/87364 5636 * c-pretty-print.c (c_pretty_printer::constant): Fix typo. 5637 5638 2018-10-11 Will Wray <wjwray (a] gmail.com> 5639 5640 PR c++/87364 5641 * c-pretty-print.h (pp_c_type_cast): Prototype. 5642 (pp_c_integer_constant): Likewise. 5643 * c-pretty-print.c (pp_c_type_cast): No longer static. 5644 (pp_c_integer_constant): Likewise. 5645 (pp_c_enumeration_constant): Fix loop termination when finding 5646 name of constant. No longer returns a value. Call 5647 pp_c_integer_constant. 5648 (c_pretty_printer::constant): Update for changes to 5649 pp_c_enumeration_constant. 5650 5651 2018-10-11 Jakub Jelinek <jakub (a] redhat.com> 5652 5653 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312 5654 for no_unique_address. 5655 5656 2018-10-09 David Malcolm <dmalcolm (a] redhat.com> 5657 5658 * c-common.c (c_option_controlling_cpp_error): Rename to... 5659 (c_option_controlling_cpp_diagnostic): ...this, and convert 5660 "reason" from int to enum. 5661 (c_cpp_error): Rename to... 5662 (c_cpp_diagnostic): ...this, converting level and reason to enums. 5663 * c-common.h (c_cpp_error): Rename to... 5664 (c_cpp_diagnostic): ...this, converting level and reason to enums. 5665 * c-opts.c (c_common_init_options): Update for renaming. 5666 5667 2018-10-08 Richard Sandiford <richard.sandiford (a] arm.com> 5668 5669 PR c/87286 5670 * c-common.c (vector_types_compatible_elements_p): Use 5671 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE. 5672 5673 2018-10-04 Vinay Kumar <vinay.kumar (a] blackfigtech.com> 5674 5675 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor 5676 to generate constructor destructor priority warning. 5677 * c.opt (-Wprio-ctor-dtor): New option. 5678 5679 2018-10-01 Jason Merrill <jason (a] redhat.com> 5680 5681 * c-lex.c (c_common_has_attribute): Add no_unique_address. 5682 5683 2018-10-01 Eric Botcazou <ebotcazou (a] adacore.com> 5684 5685 * c-ada-spec.c (get_underlying_decl): Get to the main type variant. 5686 (dump_ada_node): Add const keyword. 5687 5688 2018-09-25 Martin Liska <mliska (a] suse.cz> 5689 5690 * c-common.c (c_common_truthvalue_conversion): 5691 Remove Pascal from documentation. 5692 5693 2018-09-21 Eric Botcazou <ebotcazou (a] adacore.com> 5694 5695 * c-ada-spec.c: Include diagnostic.h. 5696 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout. 5697 5698 2018-09-19 Marek Polacek <polacek (a] redhat.com> 5699 5700 * c.opt (Wclass-conversion): New. 5701 5702 2018-09-17 David Malcolm <dmalcolm (a] redhat.com> 5703 5704 * c-format.c (range_label_for_format_type_mismatch::get_text): 5705 Update for new param. 5706 5707 2018-09-17 David Malcolm <dmalcolm (a] redhat.com> 5708 5709 * c-format.c (format_warning_at_char): Update for introduction of 5710 format_string_diagnostic_t. 5711 (format_type_warning): Likewise. 5712 5713 2018-09-17 Martin Jambor <mjambor (a] suse.cz> 5714 5715 PR c/63886 5716 * c.opt (Wabsolute-value): New. 5717 5718 2018-09-06 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 5719 5720 * c-common.c (complete_flexible_array_elts): New helper function. 5721 * c-common.h (complete_flexible_array_elts): Declare. 5722 5723 2018-09-02 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 5724 5725 * c-common.c (braced_list_to_string): Remove eval parameter. 5726 Add some more checks. Always create zero-terminated STRING_CST. 5727 * c-common.h (braced_list_to_string): Adjust prototype. 5728 5729 2018-08-27 David Malcolm <dmalcolm (a] redhat.com> 5730 5731 PR 87091 5732 * c-common.c (c_cpp_error): Update for conversion of show_caret_p 5733 to a tri-state. 5734 (maybe_suggest_missing_token_insertion): Likewise. 5735 (maybe_add_include_fixit): Add param "override_location". If set, 5736 and source-printing is enabled, then override the rich_location's 5737 primary location with that of the insertion point for the fix-it 5738 hint, marking it with SHOW_LINES_WITHOUT_RANGE. 5739 * c-common.h (extern void maybe_add_include_fixit): Add bool 5740 param. 5741 * c-format.c (selftest::test_type_mismatch_range_labels): Update 5742 for conversion of show_caret_p to a tri-state. 5743 * c-warn.c (warn_for_restrict): Likewise. 5744 * known-headers.cc 5745 (suggest_missing_header::~suggest_missing_header): Update call to 5746 maybe_add_include_fixit to suggest overriding the location, as it 5747 is for a note. 5748 5749 2018-08-27 Martin Liska <mliska (a] suse.cz> 5750 5751 * c-common.c (check_function_restrict): Use new function 5752 fndecl_built_in_p and remove check for FUNCTION_DECL if 5753 possible. 5754 (check_builtin_function_arguments): Likewise. 5755 (reject_gcc_builtin): Likewise. 5756 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise. 5757 5758 2018-08-26 Marek Polacek <polacek (a] redhat.com> 5759 5760 PR c++/87029, Implement -Wredundant-move. 5761 * c.opt (Wredundant-move): New option. 5762 5763 2018-08-21 Marek Polacek <polacek (a] redhat.com> 5764 5765 PR c++/86981, Implement -Wpessimizing-move. 5766 * c.opt (Wpessimizing-move): New option. 5767 5768 2018-08-20 David Malcolm <dmalcolm (a] redhat.com> 5769 5770 PR other/84889 5771 * c-attribs.c (common_handle_aligned_attribute): Add 5772 auto_diagnostic_group instance. 5773 * c-indentation.c (warn_for_misleading_indentation): Likewise. 5774 * c-opts.c (c_common_post_options): Likewise. 5775 * c-warn.c (warn_logical_not_parentheses): Likewise. 5776 (warn_duplicated_cond_add_or_warn): Likewise. 5777 (warn_for_multistatement_macros): Likewise. 5778 5779 2018-08-20 Nathan Sidwell <nathan (a] acm.org> 5780 5781 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm 5782 access. 5783 5784 2018-08-17 Nathan Sidwell <nathan (a] acm.org> 5785 5786 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro 5787 field. 5788 (laxy_hex_fp_value_count): Make unsigned. 5789 (lazy_hex_fp_value): Provided with macro & lazy number. Directly 5790 manipulate the macro. 5791 (builtin_defin_with_hex_fp_value): Adjust callback name, use 5792 cpp_define_lazily. 5793 5794 2018-08-17 David Malcolm <dmalcolm (a] redhat.com> 5795 5796 * c-format.c (enum format_type): Add gcc_dump_printf_format_type. 5797 (gcc_dump_printf_length_specs): New. 5798 (gcc_dump_printf_flag_pairs): New. 5799 (gcc_dump_printf_flag_specs): New. 5800 (gcc_dump_printf_char_table): New. 5801 (format_types_orig): Add entry for "gcc_dump_printf". 5802 (init_dynamic_diag_info): Set up length_char_specs and 5803 conversion_specs for gcc_dump_printf_format_type. 5804 (handle_format_attribute): Handle gcc_dump_printf_format_type. 5805 5806 2018-08-17 Nathan Sidwell <nathan (a] acm.org> 5807 5808 * c-ada-spec.c (macro_length, dump_ada_macros): Constify. 5809 5810 * c-ada-spec.c: Don't #include "cpp-id-data.h" 5811 * c-cppbuiltin.c: Likewise. 5812 5813 2018-08-17 Martin Liska <mliska (a] suse.cz> 5814 5815 * c.opt: Remove Warn, Init and Report for options with 5816 Ignore/Deprecated flag. Warning is done automatically for 5817 Deprecated flags. 5818 5819 2018-08-16 David Malcolm <dmalcolm (a] redhat.com> 5820 5821 PR c++/70693 5822 * c-common.c (selftest::c_family_tests): Call 5823 selftest::c_indentation_c_tests. 5824 * c-common.h (selftest::c_indentation_c_tests): New decl. 5825 * c-indentation.c: Include "selftest.h". 5826 (next_tab_stop): Add "tab_width" param, rather than accessing 5827 cpp_opts. 5828 (get_visual_column): Likewise. Clarify comment. Bulletproof 5829 against reading past the end of the line. 5830 (get_first_nws_vis_column): Add "tab_width" param. 5831 (detect_intervening_unindent): Likewise. 5832 (should_warn_for_misleading_indentation): Read tab width from 5833 cpp_opts and pass around. 5834 (selftest::test_next_tab_stop): New test. 5835 (selftest::assert_get_visual_column_succeeds): New function. 5836 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro. 5837 (selftest::assert_get_visual_column_fails): New function. 5838 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro. 5839 (selftest::test_get_visual_column): New test. 5840 (selftest::c_indentation_c_tests): New function. 5841 5842 2018-08-16 Nathan Sidwell <nathan (a] acm.org> 5843 5844 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p. 5845 (store_ada_macro): Likewise. 5846 * c-ppoutput.c (cb_used_define, dump_macro): Likewise. 5847 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise, 5848 5849 2018-08-15 David Malcolm <dmalcolm (a] redhat.com> 5850 5851 * c-format.c: Include "selftest-diagnostic.h" and 5852 "gcc-rich-location.h". 5853 (format_warning_at_char): Pass NULL for new label params of 5854 format_warning_va. 5855 (class indirection_suffix): New class. 5856 (class range_label_for_format_type_mismatch): New class. 5857 (format_type_warning): Move logic for generating "*" suffix to 5858 class indirection_suffix. Create "fmt_label" and "param_label" 5859 to show their types, and pass them to the 5860 format_warning_at_substring calls. 5861 (selftest::test_type_mismatch_range_labels): New test. 5862 (selftest::c_format_c_tests): Call it. 5863 5864 2018-08-13 Martin Sebor <msebor (a] redhat.com> 5865 5866 PR tree-optimization/71625 5867 * c-common.c (braced_list_to_string): New function. 5868 * c-common.h (braced_list_to_string): Declare it. 5869 5870 2018-08-08 Nathan Sidwell <nathan (a] acm.org> 5871 5872 * c-common.c (try_to_locate_new_include_inertion_point): Use 5873 linemap_included_from_linemap. 5874 * c-lex.c (fe_file_change): Use linemap_included_from. 5875 * c-ppoutput.c (pp_file_change): Likewise. 5876 5877 2018-08-01 Martin Sebor <msebor (a] redhat.com> 5878 5879 PR tree-optimization/86650 5880 * c-format.c (gcc_tdiag_char_table): Update comment for "%G". 5881 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same. 5882 (init_dynamic_diag_info): Update from "gcall *" to "gimple *". 5883 * c-format.h (T89_G): Update to be "gimple *" rather than 5884 "gcall *". 5885 (local_gcall_ptr_node): Rename... 5886 (local_gimple_ptr_node): ...to this. 5887 5888 2018-07-31 David Malcolm <dmalcolm (a] redhat.com> 5889 5890 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing 5891 table entries for gcc_diag_char_table, and the 'Z' entry from 5892 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from 5893 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0]. 5894 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly 5895 adding missing "Z" for this table. Remove erroneous "G" and "K" 5896 entries. 5897 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v". 5898 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE. 5899 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v". 5900 5901 2018-07-31 Richard Earnshaw <rearnsha (a] arm.com> 5902 5903 * c-common.c (speculation_safe_resolve_call): New function. 5904 (speculation_safe_resolve_params): New function. 5905 (speculation_safe_resolve_return): New function. 5906 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value. 5907 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for 5908 __HAVE_SPECULATION_SAFE_VALUE. 5909 5910 2018-07-20 David Malcolm <dmalcolm (a] redhat.com> 5911 5912 * c-common.c (c_cpp_error): Remove redundant "line_table" 5913 parameter from call to rich_location::set_range. 5914 (maybe_suggest_missing_token_insertion): Likewise. 5915 5916 2018-07-20 Martin Sebor <msebor (a] redhat.com> 5917 5918 PR middle-end/82063 5919 * c.opt (-Warray-bounds): Remove redundant -Wall. 5920 5921 2018-07-20 Martin Sebor <msebor (a] redhat.com> 5922 5923 PR middle-end/82063 5924 * c-common.h (c_common_handle_option): Change function argument 5925 to HOST_WIDE_INT. 5926 * c-opts.c (c_common_init_options): Same. 5927 (c_common_handle_option): Same. Remove special handling of 5928 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_. 5929 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change 5930 options to take a HOST_WIDE_INT argument and accept a byte-size 5931 suffix. Initialize. 5932 (-Wvla-larger-than): Same. 5933 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New. 5934 (-Wno-vla-larger-than): Same. 5935 5936 2018-07-12 Jakub Jelinek <jakub (a] redhat.com> 5937 5938 * c-attribs.c (c_common_attribute_table): Add 5939 "omp declare target implicit" attribute. 5940 5941 2018-07-12 Richard Biener <rguenther (a] suse.de> 5942 5943 PR c/86453 5944 * c-attribs.c (handle_packed_attribute): Do not build a variant 5945 type with TYPE_PACKED, instead ignore the attribute if we may 5946 not apply to the original type. 5947 5948 2018-07-10 Jakub Jelinek <jakub (a] redhat.com> 5949 5950 PR c++/86443 5951 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv 5952 to contain TREE_LIST for both the original class iterator and the 5953 "last" helper var. 5954 5955 2018-07-07 Eric Botcazou <ebotcazou (a] adacore.com> 5956 5957 * c-ada-spec.c (to_ada_name): Remove index parameter. 5958 (pp_ada_tree_identifier): Likewise. 5959 (dump_ada_macros): Adjust call to to_ada_name. 5960 (struct overloaded_name_hash): Delete. 5961 (struct overloaded_name_hasher): Likewise. 5962 (overloaded_names): Likewise. 5963 (compute_overloading_index): Likewise. 5964 (dump_ada_decl_name): Do not call compute_overloading_index and 5965 adjust calls to pp_ada_tree_identifier. 5966 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier. 5967 (dump_ada_import): Add spc parameter and switch to aspect syntax. 5968 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier. 5969 (dump_ada_enum_type): Remove type and display_convention parameters. 5970 Adjust calls to pp_ada_tree_identifier. 5971 (dump_ada_node): Likewise and for dump_ada_structure. 5972 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type 5973 and tidy up. 5974 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect 5975 syntax. 5976 (print_constructor): Adjust call to pp_ada_tree_identifier. 5977 (print_destructor): Likewise. 5978 (dump_ada_declaration): Switch to aspect syntax. 5979 (dump_ada_structure): Likewise and tidy up. Replace display_convention 5980 parameter with nested parameter. 5981 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005. 5982 (dump_ada_specs): Do not delete overloaded_names table. 5983 5984 2018-07-06 Peter Bergner <bergner (a] linux.ibm.com> 5985 5986 PR target/86324 5987 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute 5988 target hook. 5989 5990 2018-07-05 Nathan Sidwell <nathan (a] acm.org> 5991 5992 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not 5993 NO_IMPLICIT_EXTERN_C. 5994 5995 2018-06-28 Martin Liska <mliska (a] suse.cz> 5996 5997 * cppspec.c: Include opt-suggestions.h. 5998 5999 2018-06-20 Chung-Lin Tang <cltang (a] codesourcery.com> 6000 Thomas Schwinge <thomas (a] codesourcery.com> 6001 Cesar Philippidis <cesar (a] codesourcery.com> 6002 6003 * c-pragma.h (enum pragma_omp_clause): Add 6004 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove 6005 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}. 6006 6007 2018-06-20 Jakub Jelinek <jakub (a] redhat.com> 6008 6009 PR c++/86210 6010 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete 6011 comment. 6012 6013 2018-06-18 Martin Sebor <msebor (a] redhat.com> 6014 6015 PR middle-end/85602 6016 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute 6017 nonstring. 6018 6019 2018-06-16 Kugan Vivekanandarajah <kuganv (a] linaro.org> 6020 6021 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR. 6022 6023 2018-06-13 Jason Merrill <jason (a] redhat.com> 6024 6025 * c-opts.c (c_common_post_options): Warn about useless -Wabi. 6026 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version 6027 handling. 6028 6029 PR c++/86094 - wrong code with defaulted move ctor. 6030 * c-opts.c (c_common_post_options): Bump the current ABI version to 6031 13. Set warn_abi_version and flag_abi_compat_version to the current 6032 version rather than 0. Fix defaulting flag_abi_compat_version from 6033 warn_abi_version. 6034 6035 2018-06-12 Martin Sebor <msebor (a] redhat.com> 6036 6037 PR c/85931 6038 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when 6039 sizeof source and destination yields the same value. 6040 6041 2018-06-12 Martin Liska <mliska (a] suse.cz> 6042 6043 * c.opt: Make MPX-related options as Deprecated. 6044 6045 2018-06-08 David Malcolm <dmalcolm (a] redhat.com> 6046 6047 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE 6048 rather than 0. 6049 6050 2018-06-08 Martin Liska <mliska (a] suse.cz> 6051 6052 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support 6053 for MPX (macros, related functions, fields in cgraph_node, ...). 6054 (handle_bnd_legacy): Likewise. 6055 (handle_bnd_instrument): Likewise. 6056 * c.opt: Likewise. 6057 6058 2018-06-06 Jakub Jelinek <jakub (a] redhat.com> 6059 6060 PR c++/86068 6061 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set 6062 __cpp_transactional_memory to 201500 instead of 210500. 6063 6064 2018-06-06 Jason Merrill <jason (a] redhat.com> 6065 6066 PR c++/85710 - ICE with -Wmemset-elt-size. 6067 * c-warn.c (warn_for_memset): Don't crash on incomplete element type. 6068 6069 2018-06-01 Jason Merrill <jason (a] redhat.com> 6070 6071 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to 6072 201703. 6073 6074 2018-06-01 Eric Botcazou <ebotcazou (a] adacore.com> 6075 6076 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward 6077 declaration for a typedef independently of whether the declaration of 6078 the subtype is generated. 6079 6080 2018-05-31 Martin Sebor <msebor (a] redhat.com> 6081 6082 PR c/82063 6083 * c.opt (-Wno-alloc-size-larger-than): New option. 6084 6085 2018-04-22 David Pagan <dave.pagan (a] oracle.com> 6086 6087 PR c/55976 6088 * c-opts.c (c_common_post_options): Set default for warn_return_type 6089 for C++/C++ with ObjC extensions only. For C, makes it possible to 6090 differentiate between default (no option), -Wreturn-type, and 6091 -Wno-return-type. 6092 6093 2018-05-29 Jason Merrill <jason (a] redhat.com> 6094 6095 * c.opt (Winit-list-lifetime): New flag. 6096 6097 2018-05-28 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 6098 6099 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and 6100 splay_tree_delete_pointers. 6101 6102 2018-05-26 Jakub Jelinek <jakub (a] redhat.com> 6103 6104 PR bootstrap/85921 6105 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary 6106 noinline variable to workaround broken kernel headers. 6107 6108 2018-05-18 Jason Merrill <jason (a] redhat.com> 6109 6110 * c.opt (Wdeprecated-copy): New flag. 6111 6112 2018-05-17 Martin Liska <mliska (a] suse.cz> 6113 6114 * c-warn.c (overflow_warning): Do not use 6115 space in between 'G_' and '('. 6116 6117 2018-05-09 Jason Merrill <jason (a] redhat.com> 6118 6119 * c-common.c (valid_array_size_p): Add complain parameter. 6120 * c-common.h: ...which defaults to true. 6121 6122 2018-05-11 Jakub Jelinek <jakub (a] redhat.com> 6123 6124 PR c/85696 6125 * c-omp.c (c_omp_predetermined_sharing): Return 6126 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type. 6127 6128 2018-05-11 Martin Liska <mliska (a] suse.cz> 6129 6130 PR sanitizer/85556 6131 * c-attribs.c (handle_no_sanitize_attribute): Iterate all 6132 TREE_LIST values. 6133 6134 2018-05-10 Jakub Jelinek <jakub (a] redhat.com> 6135 6136 PR c++/85662 6137 * c-common.h (fold_offsetof_1): Removed. 6138 (fold_offsetof): Add TYPE argument defaulted to size_type_node and 6139 CTX argument defaulted to ERROR_MARK. 6140 * c-common.c (fold_offsetof_1): Renamed to ... 6141 (fold_offsetof): ... this. Remove wrapper function. Add TYPE 6142 argument, convert the pointer constant to TYPE and use size_binop 6143 with PLUS_EXPR instead of fold_build_pointer_plus if type is not 6144 a pointer type. Adjust recursive calls. 6145 6146 2018-05-10 Eric Botcazou <ebotcazou (a] adacore.com> 6147 6148 PR c++/85400 6149 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs. 6150 6151 2018-05-07 Nathan Sidwell <nathan (a] acm.org> 6152 6153 * c.opt (ffor-scope): Remove functionality, issue warning. 6154 6155 2018-05-03 Nathan Sidwell <nathan (a] acm.org> 6156 6157 * c.opt (ffriend-injection): Remove functionality, issue warning. 6158 6159 2018-05-01 David Malcolm <dmalcolm (a] redhat.com> 6160 6161 PR c/84258 6162 * c-format.c (struct format_check_results): Add field 6163 "number_non_char". 6164 (check_format_info): Initialize it, and warn if encountered. 6165 (check_format_arg): Distinguish between wide char and 6166 everything else when detecting arrays of non-char. 6167 6168 2018-04-30 David Malcolm <dmalcolm (a] redhat.com> 6169 6170 * c-format.c (get_corrected_substring): Update for 6171 location_get_source_line returning a char_span. Use a char_span 6172 when handling the prefix of the correction. 6173 * c-indentation.c (get_visual_column): Update for 6174 location_get_source_line returning a char_span. 6175 (get_first_nws_vis_column): Likewise. 6176 6177 2018-03-29 David Malcolm <dmalcolm (a] redhat.com> 6178 6179 PR c++/84269 6180 * known-headers.cc (get_stdlib_header_for_name): Add various names 6181 from <assert.h>, <string.h>, and <memory.h>; add more names from 6182 <stdio.h>. 6183 6184 2018-03-27 Jakub Jelinek <jakub (a] redhat.com> 6185 6186 PR c++/85061 6187 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that 6188 get_base_address of the second operand is a VAR_P, rather than the 6189 operand itself, and use gcc_checking_assert instead of gcc_assert. 6190 6191 2018-03-23 Marek Polacek <polacek (a] redhat.com> 6192 6193 PR c++/85045 6194 * c-pretty-print.c (c_pretty_printer::multiplicative_expression) 6195 <case RDIV_EXPR>: Tweak condition. 6196 6197 2018-03-20 Eric Botcazou <ebotcazou (a] adacore.com> 6198 6199 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool. 6200 6201 2018-03-16 Jakub Jelinek <jakub (a] redhat.com> 6202 6203 PR c/84909 6204 * c-warn.c (conversion_warning): Replace "to to" with "to" in 6205 diagnostics. 6206 6207 PR c/84910 6208 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from 6209 diagnostics. 6210 6211 2018-03-16 Richard Biener <rguenther (a] suse.de> 6212 6213 PR c/84873 6214 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead 6215 unshare the possibly folded expression. 6216 6217 2018-03-15 Richard Biener <rguenther (a] suse.de> 6218 6219 PR c/84873 6220 * c-gimplify.c (c_gimplify_expr): Do not fold expressions. 6221 6222 2018-03-13 Martin Sebor <msebor (a] redhat.com> 6223 6224 PR tree-optimization/84725 6225 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring 6226 with all three narrow character types, including their qualified forms. 6227 6228 2018-03-12 Martin Sebor <msebor (a] redhat.com> 6229 6230 PR tree-optimization/83456 6231 * c-common.c (check_function_restrict): Return bool. 6232 Restore checking of bounded built-in functions. 6233 (check_function_arguments): Also return the result 6234 of warn_for_restrict. 6235 * c-common.c (check_function_restrict): Return bool. 6236 * c-warn.c (warn_for_restrict): Return bool. 6237 6238 2018-03-02 Marek Polacek <polacek (a] redhat.com> 6239 6240 PR c++/84171 6241 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands 6242 is erroneous. 6243 6244 2018-03-02 Thomas Schwinge <thomas (a] codesourcery.com> 6245 6246 * c-attribs.c (c_common_attribute_table): Remove "cilk simd 6247 function". 6248 6249 2018-03-01 Marek Polacek <polacek (a] redhat.com> 6250 6251 PR c++/84639 6252 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid 6253 alignment in computation. 6254 6255 2018-02-28 Eric Botcazou <ebotcazou (a] adacore.com> 6256 6257 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case. 6258 <REAL_TYPE>: Deal specifically with _Float128/__float128. 6259 6260 2018-02-28 Eric Botcazou <ebotcazou (a] adacore.com> 6261 6262 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case. 6263 (is_char_array): Take a type instead of a declaration. 6264 (dump_ada_array_type): Likewise. 6265 (is_simple_enum): Minor tweak. 6266 (dump_ada_enum_type): New function extracted from... 6267 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it. 6268 <INTEGER_TYPE>: Remove unreachable code. 6269 <RECORD_TYPE>: Likewise. Minor tweaks. 6270 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes. 6271 <ENUMERAL_TYPE>: New case. 6272 <RECORD_TYPE>: Factor out common code. 6273 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes. 6274 Minor tweaks. Deal with enumeral types. 6275 (dump_ada_structure): Minor tweaks. 6276 6277 2018-02-28 Eric Botcazou <ebotcazou (a] adacore.com> 6278 6279 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic 6280 address for incomplete structures. 6281 (dump_forward_type): Do not bail out for incomplete structures. 6282 (dump_ada_declaration): Do not special-case incomplete structures 6283 for subtypes. Dump them as null records for types. 6284 6285 2018-02-28 Eric Botcazou <ebotcazou (a] adacore.com> 6286 6287 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting. 6288 (is_char_array): Fix formatting. 6289 (dump_template_types): Likewise. 6290 (dump_generic_ada_node): Rename into... 6291 (dump_ada_node): ...this. 6292 <POINTER_TYPE>: Remove superfluous space. Use generic address for 6293 incomplete structures and not for empty structures. Do not use it 6294 when forward declarations are needed. 6295 (dump_forward_type): New function. 6296 (dump_nested_types): Remove FORWARD parameter. Do not consider 6297 TREE_VISITED and do not generate a forward declaration. Only dump 6298 original nested types for nested declaration. 6299 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type. 6300 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer. 6301 <RECORD_TYPE>: Do not consider TREE_VISITED. 6302 (dump_ada_declaration): Use booleans and fix formatting throughout. 6303 <TYPE_DECL>: Skip incomplete structures and not empty structures. 6304 Call dump_forward_type instead of dump_nested_types for a typedef. 6305 Remove superfluous check and adjust call to dump_nested_types. 6306 <POINTER_TYPE>: Call dump_forward_type and fall through. 6307 (dump_ada_struct_decl): Rename into... 6308 (dump_ada_structure): ...this. Do not special-case empty structures. 6309 6310 2018-02-27 Martin Sebor <msebor (a] redhat.com> 6311 6312 PR c++/83871 6313 * c.opt (-Wmissing-attributes): New option. 6314 6315 2018-02-21 Martin Liska <mliska (a] suse.cz> 6316 6317 * c.opt (Wcatch-value=): Add IntegerRange. 6318 6319 2018-02-15 Jason Merrill <jason (a] redhat.com> 6320 6321 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides. 6322 6323 2018-02-09 Nathan Sidwell <nathan (a] acm.org> 6324 6325 PR c/84293 6326 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC 6327 arg. 6328 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC 6329 arg. Adjust. 6330 6331 2018-02-09 Martin Sebor <msebor (a] redhat.com> 6332 6333 PR lto/84212 6334 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO. 6335 (-Walloc-size-larger-than, -Wformat-truncation=): Same. 6336 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same. 6337 (-Wstrict-overflow, -Wsuggest-attribute): Same. 6338 (-Wuninitialized): Same. 6339 6340 2018-02-09 Eric Botcazou <ebotcazou (a] adacore.com> 6341 6342 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant' 6343 keyword for components. 6344 6345 2018-02-02 Paolo Carlini <paolo.carlini (a] oracle.com> 6346 6347 * c-common.h (DECL_UNNAMED_BIT_FIELD): New. 6348 6349 2018-02-02 Julia Koval <julia.koval (a] intel.com> 6350 6351 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h. 6352 6353 2018-01-29 Marek Polacek <polacek (a] redhat.com> 6354 6355 PR c/83966 6356 * c-format.c (check_function_format): Check current_function_decl. 6357 6358 2018-01-27 Jakub Jelinek <jakub (a] redhat.com> 6359 6360 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix 6361 argument. 6362 (LAZY_HEX_FP_VALUES_CNT): Define. 6363 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp 6364 values rather than just 12. 6365 (builtin_define_with_hex_fp_value): Likewise. 6366 6367 2018-01-18 Boris Kolpackov <boris (a] codesynthesis.com> 6368 6369 PR other/70268 6370 * c.opt (-fmacro-prefix-map): New option. 6371 * c-opts.c (c_common_handle_option): Handle it. 6372 * c-lex.c (init_c_lex): Set remap_filename cpp callback. 6373 * c-ppoutput.c (init_pp_output): Likewise. 6374 6375 2018-01-17 David Malcolm <dmalcolm (a] redhat.com> 6376 6377 PR c++/83814 6378 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c. 6379 6380 2018-01-10 Eric Botcazou <ebotcazou (a] adacore.com> 6381 6382 * c-ada-spec.c (dump_number): Add FLOAT_P parameter. 6383 Skip 'f' and 'F' characters if it is true. 6384 (store_ada_macro): Minor tweak. 6385 (dump_ada_macros) <CPP_COMMENT>: Likewise. 6386 <CPP_WSTRING>: Likewise. 6387 <CPP_STRING>: Output '&' in the buffer if not the first string. 6388 <CPP_NUMBER>: Adjust calls to dump_number. 6389 6390 2018-01-10 David Malcolm <dmalcolm (a] redhat.com> 6391 6392 PR c++/43486 6393 * c-common.c: Include "selftest.h". 6394 (get_atomic_generic_size): Perform the test for integral type 6395 before the range test for any integer constant, fixing indentation 6396 of braces. Call fold_for_warn before testing for an INTEGER_CST. 6397 (reject_gcc_builtin): Strip any location wrapper from EXPR. 6398 (selftest::test_fold_for_warn): New function. 6399 (selftest::c_common_c_tests): New function. 6400 (selftest::c_family_tests): Call it, and 6401 selftest::c_pretty_print_c_tests. 6402 * c-common.h (selftest::c_pretty_print_c_tests): New decl. 6403 * c-format.c (check_format_arg): Convert VAR_P check to a 6404 fold_for_warn. 6405 * c-pretty-print.c: Include "selftest.h". 6406 (pp_c_cast_expression): Don't print casts for location wrappers. 6407 (selftest::assert_c_pretty_printer_output): New function. 6408 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro. 6409 (selftest::test_location_wrappers): New function. 6410 (selftest::c_pretty_print_c_tests): New function. 6411 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments. 6412 6413 2018-01-03 Richard Sandiford <richard.sandiford (a] linaro.org> 6414 Alan Hayward <alan.hayward (a] arm.com> 6415 David Sherwood <david.sherwood (a] arm.com> 6416 6417 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL. 6418 6419 2018-01-03 Richard Sandiford <richard.sandiford (a] linaro.org> 6420 Alan Hayward <alan.hayward (a] arm.com> 6421 David Sherwood <david.sherwood (a] arm.com> 6422 6423 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE 6424 as polynomial. 6425 6426 2018-01-03 Richard Sandiford <richard.sandiford (a] linaro.org> 6427 Alan Hayward <alan.hayward (a] arm.com> 6428 David Sherwood <david.sherwood (a] arm.com> 6429 6430 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr) 6431 (convert_vector_to_array_for_subscript): Handle polynomial 6432 TYPE_VECTOR_SUBPARTS. 6433 (c_common_type_for_mode): Check valid_vector_subparts_p. 6434 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial 6435 VECTOR_CST_NELTS. 6436 6437 2018-01-03 Jakub Jelinek <jakub (a] redhat.com> 6438 6439 Update copyright years. 6440 6441 2017-12-22 Mike Stump <mikestump (a] comcast.net> 6442 Eric Botcazou <ebotcazou (a] adacore.com> 6443 6444 * c-pragma.c (init_pragma): Register pragma GCC unroll. 6445 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL. 6446 6447 2017-12-22 Alexandre Oliva <aoliva (a] redhat.com> 6448 6449 PR debug/83527 6450 PR debug/83419 6451 * c-semantics.c (only_debug_stmts_after_p): New. 6452 (pop_stmt_list): Clear side effects in debug-only stmt list. 6453 Check for single nondebug stmt followed by debug stmts only. 6454 6455 2017-12-21 Alexandre Oliva <aoliva (a] redhat.com> 6456 6457 PR debug/83419 6458 * c-semantics.c (pop_stmt_list): Propagate side effects from 6459 single nondebug stmt to container list. 6460 6461 2017-12-19 Jakub Jelinek <jakub (a] redhat.com> 6462 6463 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda 6464 conditions with typical order conditions. 6465 6466 2017-12-18 Marek Polacek <polacek (a] redhat.com> 6467 6468 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is 6469 not in effect. 6470 6471 2017-12-17 Martin Sebor <msebor (a] redhat.com> 6472 6473 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing 6474 an error for attribute warn_if_not_aligned. 6475 6476 2017-12-16 Martin Sebor <msebor (a] redhat.com> 6477 6478 PR tree-optimization/78918 6479 * c-common.c (check_function_restrict): Avoid checking built-ins. 6480 * c.opt (-Wrestrict): Include in -Wall. 6481 6482 2017-12-15 Jakub Jelinek <jakub (a] redhat.com> 6483 6484 * c-attribs.c (c_common_attribute_table, 6485 c_common_format_attribute_table): Swap affects_type_identity 6486 and handler fields, adjust comments. 6487 6488 2017-12-14 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 6489 6490 * c.opt (Wcast-function-type): New warning option. 6491 * c-lex.c (get_fileinfo): Avoid warning. 6492 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast. 6493 6494 2017-12-14 Qing Zhao <qing.zhao (a] oracle.com> 6495 6496 PR middle_end/79538 6497 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): 6498 Adjust the size of buf1 and buf2, add a new buf to avoid 6499 format-overflow warning. 6500 6501 2017-12-12 Alexandre Oliva <aoliva (a] redhat.com> 6502 6503 * c-semantics.c (pop_stmt_list): Move begin stmt marker into 6504 subsequent statement list. 6505 6506 2017-12-07 Martin Sebor <msebor (a] redhat.com> 6507 6508 PR c/81544 6509 PR c/81566 6510 * c-attribs.c (attr_aligned_exclusions): New array. 6511 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same. 6512 (attr_common_exclusions, attr_const_pure_exclusions): Same. 6513 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same. 6514 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same. 6515 (attr_warn_unused_result_exclusions): Same. 6516 (handle_hot_attribute, handle_cold_attribute): Simplify. 6517 (handle_const_attribute): Warn on function returning void. 6518 (handle_pure_attribute): Same. 6519 (handle_aligned_attribute): Diagnose conflicting attribute 6520 specifications. 6521 * c-warn.c (diagnose_mismatched_attributes): Simplify. 6522 6523 2017-12-06 David Malcolm <dmalcolm (a] redhat.com> 6524 6525 PR c/83236 6526 * c-common.c (selftest::c_family_tests): Call 6527 selftest::c_spellcheck_cc_tests. 6528 * c-common.h (selftest::c_spellcheck_cc_tests): New decl. 6529 * c-spellcheck.cc: Include "selftest.h". 6530 (name_reserved_for_implementation_p): New function. 6531 (should_suggest_as_macro_p): New function. 6532 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to 6533 should_suggest_as_macro_p and call it. 6534 (selftest::test_name_reserved_for_implementation_p): New function. 6535 (selftest::c_spellcheck_cc_tests): New function. 6536 * c-spellcheck.h (name_reserved_for_implementation_p): New decl. 6537 6538 2017-12-06 David Malcolm <dmalcolm (a] redhat.com> 6539 6540 * c-spellcheck.cc: New file, taken from macro-handling code in 6541 spellcheck-tree.c. 6542 * c-spellcheck.h: New file, taken from macro-handling code in 6543 spellcheck-tree.h. 6544 6545 2017-12-01 Jakub Jelinek <jakub (a] redhat.com> 6546 6547 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function" 6548 attribute. 6549 (handle_simd_attribute): Don't check for "cilk simd function" 6550 attribute. Reindent, formatting changes. 6551 6552 2017-11-30 Julia Koval <julia.koval (a] intel.com> 6553 6554 * c-common.h (inv_list): Remove. 6555 6556 2017-11-28 Jakub Jelinek <jakub (a] redhat.com> 6557 6558 PR sanitizer/81275 6559 * c-common.c (c_switch_covers_all_cases_p_1, 6560 c_switch_covers_all_cases_p): New functions. 6561 * c-common.h (c_switch_covers_all_cases_p): Declare. 6562 6563 2017-11-28 Julia Koval <julia.koval (a] intel.com> 6564 Sebastian Peryt <sebastian.peryt (a] intel.com> 6565 6566 * array-notation-common.c: Delete. 6567 * c-cilkplus.c: Ditto. 6568 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove. 6569 * c-common.def (ARRAY_NOTATION_REF): Remove. 6570 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr, 6571 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop, 6572 c_validate_cilk_plus_loop, cilkplus_an_parts, 6573 cilk_ignorable_spawn_rhs_op, 6574 cilk_recognize_spawn): Remove. 6575 * c-gimplify.c (CILK_SPAWN_STMT): Remove. 6576 * c-omp.c: Remove CILK_SIMD check. 6577 * c-pragma.c: Ditto. 6578 * c-pragma.h: Remove CILK related pragmas. 6579 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove 6580 ARRAY_NOTATION_REF condition. 6581 (c_pretty_printer::expression): Ditto. 6582 * c.opt (fcilkplus): Remove. 6583 * cilk.c: Delete. 6584 6585 2017-11-21 Marc Glisse <marc.glisse (a] inria.fr> 6586 6587 * c-pretty-print.c (pp_c_additive_expression, 6588 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR. 6589 6590 2017-11-21 Jakub Jelinek <jakub (a] redhat.com> 6591 6592 * c-common.c (get_nonnull_operand): Use tree_to_uhwi. 6593 6594 PR c++/83059 6595 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW 6596 instead of tree_to_uhwi, formatting fix. 6597 6598 2017-11-20 David Malcolm <dmalcolm (a] redhat.com> 6599 6600 PR c/81404 6601 * known-headers.cc: New file, based on material from c/c-decl.c. 6602 (suggest_missing_header): Copied as-is. 6603 (get_stdlib_header_for_name): New, based on get_c_name_hint but 6604 heavily edited to add C++ support. Add some knowledge about 6605 <limits.h>, <stdint.h>, and <wchar.h>. 6606 * known-headers.h: Likewise. 6607 6608 2017-11-20 David Malcolm <dmalcolm (a] redhat.com> 6609 6610 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h. 6611 (lookup_name_fuzzy): Likewise. Convert return type from 6612 const char * to name_hint. Add location_t param. 6613 * name-hint.h: New header. 6614 6615 2017-11-19 Jakub Jelinek <jakub (a] redhat.com> 6616 6617 PR c/66618 6618 PR c/69960 6619 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false. 6620 6621 2017-11-16 Joseph Myers <joseph (a] codesourcery.com> 6622 6623 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018 6624 expected publication date of C17. 6625 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases. 6626 6627 2017-11-15 Joseph Myers <joseph (a] codesourcery.com> 6628 6629 PR c/81156 6630 * c-common.c (c_common_reswords): Add __builtin_tgmath. 6631 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH. 6632 6633 2017-11-10 Martin Sebor <msebor (a] redhat.com> 6634 6635 PR c/81117 6636 * c-common.c (catenate_strings): Use memcpy instead of strncpy. 6637 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays. 6638 * c.opt (-Wstringop-truncation): New option. 6639 6640 2017-11-06 Martin Liska <mliska (a] suse.cz> 6641 6642 PR middle-end/82404 6643 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++ 6644 FE. 6645 * c.opt: Set default value of warn_return_type. 6646 6647 2017-10-31 David Malcolm <dmalcolm (a] redhat.com> 6648 6649 * c-common.c (binary_op_error): Update for renaming of 6650 error_at_rich_loc. 6651 (c_parse_error): Likewise. 6652 * c-warn.c (warn_logical_not_parentheses): Likewise for 6653 renaming of inform_at_rich_loc. 6654 (warn_for_restrict): Likewise for renaming of 6655 warning_at_rich_loc_n. 6656 6657 2017-10-30 Joseph Myers <joseph (a] codesourcery.com> 6658 6659 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options. 6660 * c-opts.c (set_std_c17): New function. 6661 (c_common_init_options): Use gnu17 as default C version. 6662 (c_common_handle_option): Handle -std=c17 and -std=gnu17. 6663 6664 2017-10-27 Michael Meissner <meissner (a] linux.vnet.ibm.com> 6665 6666 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode. 6667 (c_cpp_builtins): If a machine has a fast fma _Float<N> and 6668 _Float<N>X variant, define __FP_FAST_FMA<N> and/or 6669 __FP_FAST_FMA<N>X. 6670 6671 2017-10-23 Marek Polacek <polacek (a] redhat.com> 6672 6673 PR c/82681 6674 * c-warn.c (warnings_for_convert_and_check): Fix typos. 6675 6676 2017-10-19 Eric Botcazou <ebotcazou (a] adacore.com> 6677 6678 * c-common.c (check_builtin_function_arguments): Also check arguments 6679 of __builtin_alloca_with_align_and_max. 6680 6681 2017-10-17 David Malcolm <dmalcolm (a] redhat.com> 6682 6683 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION 6684 rather than NULL to format_warning_va. 6685 (check_format_types): Likewise when calling format_type_warning. 6686 Remove code to extract source_ranges and source_range * in favor 6687 of just a location_t. 6688 (format_type_warning): Convert source_range * param to a 6689 location_t. 6690 6691 2017-10-13 Jakub Jelinek <jakub (a] redhat.com> 6692 6693 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like 6694 [LR]SHIFT_EXPR. 6695 6696 2017-10-12 David Malcolm <dmalcolm (a] redhat.com> 6697 6698 * c-common.c (enum missing_token_insertion_kind): New enum. 6699 (get_missing_token_insertion_kind): New function. 6700 (maybe_suggest_missing_token_insertion): New function. 6701 * c-common.h (maybe_suggest_missing_token_insertion): New decl. 6702 6703 2017-10-11 Nathan Sidwell <nathan (a] acm.org> 6704 6705 * c-opts.c (add_prefixed_path): Change chain to incpath_kind. 6706 (c_common_handle_option): Update incpath_kind names. 6707 6708 2017-10-11 Martin Liska <mliska (a] suse.cz> 6709 6710 PR sanitizer/82490 6711 * c-attribs.c (handle_no_sanitize_attribute): Report directly 6712 Wattributes warning. 6713 6714 2017-10-10 Richard Sandiford <richard.sandiford (a] linaro.org> 6715 6716 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when 6717 operating on trees as wide_ints. 6718 * c-common.c (pointer_int_sum): Likewise. 6719 * c-pretty-print.c (pp_c_integer_constant): Likewise. 6720 * c-warn.c (match_case_to_enum_1): Likewise. 6721 (c_do_switch_warnings): Likewise. 6722 (maybe_warn_shift_overflow): Likewise. 6723 6724 2017-10-10 Jakub Jelinek <jakub (a] redhat.com> 6725 6726 PR c/82437 6727 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide 6728 instead of wide_int::from. 6729 6730 2017-10-06 Jakub Jelinek <jakub (a] redhat.com> 6731 6732 PR c/82437 6733 * c-warn.c (warn_tautological_bitwise_comparison): Instead of 6734 using to_widest use wide_int with the larger of the two precisions. 6735 6736 2017-10-05 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 6737 6738 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic 6739 functions. 6740 6741 2017-10-02 Richard Sandiford <richard.sandiford (a] linaro.org> 6742 6743 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest 6744 when combining the original unconverted comparison operands. 6745 6746 2017-09-29 Jakub Jelinek <jakub (a] redhat.com> 6747 6748 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect" 6749 attribute. 6750 6751 2017-09-29 Eric Botcazou <ebotcazou (a] adacore.com> 6752 6753 * c-ada-spec.c (to_ada_name): Add index parameter. 6754 (pp_ada_tree_identifier): Likewise. 6755 (dump_ada_macros): Adjust call to to_ada_name. 6756 (struct overloaded_name_hash): New type. 6757 (struct overloaded_name_hasher): Likewise. 6758 (overloaded_names): New hash table. 6759 (compute_overloading_index): New function. 6760 (dump_ada_decl_name): Call it and pass the result to 6761 pp_ada_tree_identifier. 6762 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier. 6763 (dump_ada_function_declaration): Likewise. 6764 (dump_generic_ada_node): Likewise. 6765 (print_constructor): Likewise. 6766 (print_destructor): Likewise. 6767 (dump_ada_specs): Delete overloaded_names table. 6768 6769 2017-09-29 Eric Botcazou <ebotcazou (a] adacore.com> 6770 6771 * c-ada-spec.c (max_ada_macros): Move around. 6772 (store_ada_macro_index): Likewise. 6773 (source_file): Rename into... 6774 (macro_source_file): ...this. 6775 (count_ada_macro): Move around. 6776 (store_ada_macro): Likewise. 6777 (compare_macro): Likewise. 6778 (print_ada_macros): Merge in... 6779 (dump_ada_macros): ...this. 6780 (source_file_base): Rename into... 6781 (current_source_file): ...this. 6782 (print_comment): Move around. 6783 (dump_ada_nodes): Call dump_ada_declaration directly. 6784 (struct with): Change type of limited field to bool. 6785 (append_withs): Change type of limited_access parameter to bool. 6786 (pp_ada_tree_identifie): Likewise. 6787 (dump_ada_decl_nam): Likewise. 6788 (dump_generic_ada_node): Likewise. Do not print the return type. 6789 (to_ada_name): Change type of space_found parameter to bool. 6790 (dump_ada_function_declaration): Return void and change type of 6791 parameters to bool. Also print the return type for a function. 6792 (print_ada_methods): Rename into... 6793 (dump_ada_methods): ...this. 6794 (print_ada_declaration): Rename into ... 6795 (dump_ada_declaration): ...this. Do not print the return type. 6796 (print_ada_struct_decl): Rename into... 6797 (dump_ada_struct_decl): ...this. 6798 6799 2017-09-29 Jakub Jelinek <jakub (a] redhat.com> 6800 6801 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD 6802 rather than DECL_INITIAL. 6803 (common_handle_aligned_attribute): Likewise. 6804 6805 2017-09-20 Alexandre Oliva <aoliva (a] redhat.com> 6806 6807 * c.opt (gen-decls): Add RejectNegative. 6808 6809 2017-09-15 Andrew Sutton <andrew.n.sutton (a] gmail.com> 6810 Jakub Jelinek <jakub (a] redhat.com> 6811 6812 Add support for -std=c++2a. 6813 * c-common.h (cxx_dialect): Add cxx2a as a dialect. 6814 * opt.c: Add options for -std=c++2a and -std=gnu++2a. 6815 * c-opts.c (set_std_cxx2a): New. 6816 (c_common_handle_option): Set options when -std=c++2a is enabled. 6817 (c_common_post_options): Adjust comments. 6818 (set_std_cxx14, set_std_cxx17): Likewise. 6819 6820 2017-09-15 Eric Botcazou <ebotcazou (a] adacore.com> 6821 6822 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error 6823 message for non-uniform endianness and issue a warning in C++. 6824 6825 2017-09-15 Jakub Jelinek <jakub (a] redhat.com> 6826 6827 * c.opt (Wc++1z-compat): Change from option to undocumented alias. 6828 (Wc++17-compat): Change from undocumented alias to option. 6829 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat, 6830 change C++1z to C++17 in description. 6831 (std=c++1z, std=gnu++1z): Change from option to undocumented 6832 deprecated alias. 6833 (std=c++17, std=gnu++17): Change from undocumented alias to option. 6834 Adjust description. 6835 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17. 6836 * c-opts.c (set_std_cxx1z): Rename to ... 6837 (set_std_cxx17): ... this. 6838 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17 6839 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z 6840 caller. 6841 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust 6842 comments. 6843 6844 2017-09-12 H.J. Lu <hongjiu.lu (a] intel.com> 6845 6846 * c-attribs.c (common_handle_aligned_attribute): Don't warn 6847 function alignment if warn_if_not_aligned_p is true. 6848 6849 2017-09-12 Nathan Sidwell <nathan (a] acm.org> 6850 6851 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp, 6852 resort_sorted_fields): Move to c/c-decl.c. 6853 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete. 6854 (struct sorted_fields_type): Move to c/c-lang.h. 6855 6856 2017-09-09 Jonathan Wakely <jwakely (a] redhat.com> 6857 6858 PR c++/81852 6859 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init. 6860 6861 2017-09-04 Marek Polacek <polacek (a] redhat.com> 6862 6863 PR c/81783 6864 * c-warn.c (warn_tautological_bitwise_comparison): New function. 6865 (warn_tautological_cmp): Call it. 6866 6867 2017-09-01 Boris Kolpackov <boris (a] codesynthesis.com> 6868 6869 * c-opts.c (c_common_finish): Write dependency information even if 6870 there are errors. 6871 6872 2017-09-01 Jakub Jelinek <jakub (a] redhat.com> 6873 6874 PR c/81887 6875 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ... 6876 (omp_pragmas_simd): ... here. 6877 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone, 6878 create new clauses list containing just simd clause. 6879 6880 2017-08-30 Richard Sandiford <richard.sandiford (a] linaro.org> 6881 Alan Hayward <alan.hayward (a] arm.com> 6882 David Sherwood <david.sherwood (a] arm.com> 6883 6884 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call 6885 into scalar_mode_supported_p call. 6886 (handle_mode_attribute): Update call to scalar_mode_supported_p. 6887 6888 2017-08-30 Richard Sandiford <richard.sandiford (a] linaro.org> 6889 Alan Hayward <alan.hayward (a] arm.com> 6890 David Sherwood <david.sherwood (a] arm.com> 6891 6892 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode 6893 for the mode iterator. 6894 6895 2017-08-30 Richard Sandiford <richard.sandiford (a] linaro.org> 6896 Alan Hayward <alan.hayward (a] arm.com> 6897 David Sherwood <david.sherwood (a] arm.com> 6898 6899 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE. 6900 * c-common.c (c_build_vec_perm_expr): Likewise. 6901 6902 2017-08-30 Richard Sandiford <richard.sandiford (a] linaro.org> 6903 Alan Hayward <alan.hayward (a] arm.com> 6904 David Sherwood <david.sherwood (a] arm.com> 6905 6906 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>. 6907 6908 2017-08-30 Richard Sandiford <richard.sandiford (a] linaro.org> 6909 Alan Hayward <alan.hayward (a] arm.com> 6910 David Sherwood <david.sherwood (a] arm.com> 6911 6912 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode 6913 before calling targetm.addr_space.valid_pointer_mode. 6914 6915 2017-08-30 Richard Sandiford <richard.sandiford (a] linaro.org> 6916 Alan Hayward <alan.hayward (a] arm.com> 6917 David Sherwood <david.sherwood (a] arm.com> 6918 6919 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode. 6920 6921 2017-08-30 Richard Sandiford <richard.sandiford (a] linaro.org> 6922 Alan Hayward <alan.hayward (a] arm.com> 6923 David Sherwood <david.sherwood (a] arm.com> 6924 6925 * c-common.c (c_common_fixed_point_type_for_size): Use new mode 6926 iterators. 6927 * c-cppbuiltin.c (c_cpp_builtins): Likewise. 6928 6929 2017-08-30 Richard Sandiford <richard.sandiford (a] linaro.org> 6930 Alan Hayward <alan.hayward (a] arm.com> 6931 David Sherwood <david.sherwood (a] arm.com> 6932 6933 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in 6934 case statements. 6935 6936 2017-08-29 Martin Liska <mliska (a] suse.cz> 6937 6938 PR other/39851 6939 * c-common.c (parse_optimize_options): Add argument to function 6940 call. 6941 * c-pragma.c (handle_pragma_diagnostic): Likewise. 6942 6943 2017-08-24 David Malcolm <dmalcolm (a] redhat.com> 6944 6945 * c-lex.c (interpret_float): Use token location 6946 when building an EXCESS_PRECISION_EXPR. 6947 6948 2017-08-21 David Malcolm <dmalcolm (a] redhat.com> 6949 6950 * c-common.c (check_function_arguments): Add "arglogs" param; pass 6951 it to check_function_format. 6952 * c-common.h (check_function_arguments): Add vec<location_t> * 6953 param. 6954 (check_function_format): Likewise. 6955 * c-format.c (struct format_check_context): Add field "arglocs". 6956 (check_function_format): Add param "arglocs"; pass it to 6957 check_format_info. 6958 (check_format_info): Add param "arglocs"; use it to initialize 6959 new field of format_ctx. 6960 (check_format_arg): Pass format_ctx->arglocs to new param of 6961 check_format_info_main. 6962 (class argument_parser): New field "arglocs". 6963 (argument_parser::argument_parser): Add "arglocs_" param and use 6964 it to initialize new field. 6965 (argument_parser::check_argument_type): Pass new arglocs field to 6966 check_format_types. 6967 (check_format_info_main): Add param "arglocs", and use it when 6968 constructing arg_parser. 6969 (check_format_types): Add param "arglocs"; use it if non-NULL when 6970 !EXPR_HAS_LOCATION (cur_param) to get at location information. 6971 6972 2017-08-18 H.J. Lu <hongjiu.lu (a] intel.com> 6973 6974 PR c/53037 6975 * c-attribs.c (handle_warn_if_not_aligned_attribute): New. 6976 (c_common_attribute_table): Add warn_if_not_aligned. 6977 (handle_aligned_attribute): Renamed to ... 6978 (common_handle_aligned_attribute): Remove argument, name, and add 6979 argument, warn_if_not_aligned. Handle warn_if_not_aligned. 6980 (handle_aligned_attribute): New. 6981 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned. 6982 6983 2017-08-14 Martin Sebor <msebor (a] redhat.com> 6984 6985 PR c/81117 6986 * c-attribs.c (c_common_attribute_table): Add nonstring entry. 6987 (handle_nonstring_attribute): New function. 6988 6989 2017-08-14 Martin Sebor <msebor (a] redhat.com> 6990 6991 PR c/81117 6992 * c-format.h (T89_G): New macro. 6993 * c-format.c (local_gcall_ptr_node): New variable. 6994 (init_dynamic_diag_info): Initialize it. 6995 6996 2017-08-11 Martin Liska <mliska (a] suse.cz> 6997 6998 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with 6999 TARGET_SUPPORTS_ALIASES. 7000 7001 2017-08-10 David Malcolm <dmalcolm (a] redhat.com> 7002 7003 * c-common.c (c_parse_error): Add rich_location * param, using it 7004 rather implicitly using input_location. 7005 * c-common.h (c_parse_error): Add rich_location * param. 7006 7007 2017-08-09 Marek Polacek <polacek (a] redhat.com> 7008 7009 * c-common.c (pointer_int_sum): Use true/false instead of 1/0. 7010 (c_common_truthvalue_conversion): Likewise. 7011 * c-omp.c (c_finish_omp_atomic): Likewise. 7012 * c-common.h (build_binary_op): Update declaration. 7013 7014 2017-08-08 Martin Liska <mliska (a] suse.cz> 7015 7016 * c-ada-spec.c: Include header files. 7017 * c-ubsan.c: Likewise. 7018 * c-warn.c: Likewise. 7019 7020 2017-08-07 Jakub Jelinek <jakub (a] redhat.com> 7021 7022 PR c/69389 7023 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields. 7024 7025 2017-08-07 Eric Botcazou <ebotcazou (a] adacore.com> 7026 7027 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL. 7028 (print_ada_methods): Likewise. 7029 (print_ada_declaration): Likewise. 7030 7031 2017-08-07 Martin Liska <mliska (a] suse.cz> 7032 7033 * array-notation-common.c: Add new includes. 7034 * c-format.c( handle_format_attribute): Canonicalize a format 7035 function name. 7036 * c-lex.c (c_common_has_attribute): Canonicalize name of an 7037 attribute. 7038 * c-pretty-print.c: Add new include. 7039 7040 2017-08-05 Eric Botcazou <ebotcazou (a] adacore.com> 7041 7042 * c-ada-spec.c (has_static_fields): Look only into variables. 7043 (print_constructor): Add TYPE parameter and use it for the name. 7044 (print_destructor): Likewise. 7045 (print_ada_declaration): Adjust to new constructor/destructor names. 7046 Adjust calls to print_constructor and print_destructor. 7047 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL. 7048 Look only into variables in the final loop. 7049 7050 2017-08-01 Eric Botcazou <ebotcazou (a] adacore.com> 7051 7052 * c-ada-spec.c (has_static_fields): Look only into fields. 7053 (dump_generic_ada_node): Small tweak. 7054 (dump_nested_types): Look only into fields. 7055 (print_ada_declaration): Look only into methods. Small tweak. 7056 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P. 7057 7058 2017-08-01 Eric Botcazou <ebotcazou (a] adacore.com> 7059 7060 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant. 7061 (dump_ada_function_declaration): Likewise. 7062 (dump_generic_ada_node): Likewise. 7063 (print_ada_declaration): Add support for const-qualified variables. 7064 7065 2017-07-31 Martin Liska <mliska (a] suse.cz> 7066 7067 PR sanitize/81530 7068 * c-ubsan.c (ubsan_maybe_instrument_array_ref): 7069 Guard condition with flag_sanitize_p also with current_function_decl 7070 non-null equality. 7071 (ubsan_maybe_instrument_reference_or_call): Likewise. 7072 7073 2017-07-30 Uros Bizjak <ubizjak (a] gmail.com> 7074 7075 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars. 7076 7077 2017-07-29 Eric Botcazou <ebotcazou (a] adacore.com> 7078 7079 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness 7080 for enumeral types. 7081 (print_ada_declaration): Add missing guard for record types. 7082 7083 2017-07-27 Jakub Jelinek <jakub (a] redhat.com> 7084 7085 PR c/45784 7086 * c-omp.c (c_finish_omp_for): If the condition is wrapped in 7087 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into 7088 new COMPOUND_EXPRs around the rhs of the comparison. 7089 7090 2017-07-27 Marek Polacek <polacek (a] redhat.com> 7091 7092 PR c/81417 7093 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print 7094 the types. 7095 7096 2017-07-27 Jakub Jelinek <jakub (a] redhat.com> 7097 7098 * c-attribs.c (c_common_attribute_table): Add noipa attribute. 7099 (handle_noipa_attribute): New function. 7100 7101 2017-07-07 Torsten Duwe <duwe (a] suse.de> 7102 7103 * c-attribs.c (c_common_attribute_table): Add entry for 7104 "patchable_function_entry". 7105 7106 2017-07-20 Nathan Sidwell <nathan (a] acm.org> 7107 7108 Remove TYPE_METHODS. 7109 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods, 7110 dump_ada_template, print_ada_methods, 7111 print_ada_declaration): Member fns are on TYPE_FIELDS. 7112 7113 2017-07-18 Nathan Sidwell <nathan (a] acm.org> 7114 7115 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE. 7116 7117 2017-07-14 David Malcolm <dmalcolm (a] redhat.com> 7118 7119 * c-common.c (try_to_locate_new_include_insertion_point): New 7120 function. 7121 (per_file_includes_t): New typedef. 7122 (added_includes_t): New typedef. 7123 (added_includes): New variable. 7124 (maybe_add_include_fixit): New function. 7125 * c-common.h (maybe_add_include_fixit): New decl. 7126 7127 2017-07-10 Martin Sebor <msebor (a] redhat.com> 7128 7129 PR other/81345 7130 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy. 7131 7132 2017-07-06 David Malcolm <dmalcolm (a] redhat.com> 7133 7134 * c-common.c (selftest::c_family_tests): New. 7135 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h. 7136 (selftest::c_family_tests): New decl. 7137 7138 2017-07-04 Marek Polacek <polacek (a] redhat.com> 7139 7140 PR c/81231 7141 * c-common.c (sync_resolve_size): Give error for pointers to incomplete 7142 types. 7143 7144 2017-07-04 Marek Polacek <polacek (a] redhat.com> 7145 7146 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling. 7147 7148 2017-06-28 Martin Liska <mliska (a] suse.cz> 7149 7150 PR ipa/81128 7151 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias 7152 to a function declaration. 7153 7154 2017-06-28 Martin Liska <mliska (a] suse.cz> 7155 7156 PR driver/79659 7157 * c.opt: Add IntegerRange to various options. 7158 7159 2017-06-26 Marek Polacek <polacek (a] redhat.com> 7160 7161 PR c/80116 7162 * c-common.h (warn_for_multistatement_macros): Declare. 7163 * c-warn.c: Include "c-family/c-indentation.h". 7164 (warn_for_multistatement_macros): New function. 7165 * c.opt (Wmultistatement-macros): New option. 7166 * c-indentation.c (guard_tinfo_to_string): No longer static. 7167 Change the parameter type to "enum rid". Handle RID_SWITCH. 7168 * c-indentation.h (guard_tinfo_to_string): Declare. 7169 7170 2017-06-23 Marc Glisse <marc.glisse (a] inria.fr> 7171 7172 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types. 7173 7174 2017-06-15 Martin Sebor <msebor (a] redhat.com> 7175 7176 PR c++/80560 7177 * c.opt (-Wclass-memaccess): New option. 7178 7179 2017-06-14 Boris Kolpackov <boris (a] codesynthesis.com> 7180 7181 * c-opts.c (c_common_finish): Handle '-' special value to -MF. 7182 7183 2017-06-13 Marek Polacek <polacek (a] redhat.com> 7184 7185 PR objc/80949 7186 * c-warn.c (do_warn_duplicated_branches): Return if any of the 7187 branches is null. 7188 7189 2017-06-13 Martin Liska <mliska (a] suse.cz> 7190 7191 PR sanitize/78204 7192 * c-attribs.c (add_no_sanitize_value): New function. 7193 (handle_no_sanitize_attribute): Likewise. 7194 (handle_no_sanitize_address_attribute): Use the function. 7195 (handle_no_sanitize_thread_attribute): New function. 7196 (handle_no_address_safety_analysis_attribute): Use 7197 add_no_sanitize_value. 7198 (handle_no_sanitize_undefined_attribute): Likewise. 7199 * c-common.h: Declare new functions. 7200 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p. 7201 (ubsan_instrument_shift): Likewise. 7202 (ubsan_instrument_bounds): Likewise. 7203 (ubsan_maybe_instrument_array_ref): Likewise. 7204 (ubsan_maybe_instrument_reference_or_call): Likewise. 7205 7206 2017-06-11 Jason Merrill <jason (a] redhat.com> 7207 7208 * c-ada-spec.c, c-pragma.c: Use id_equal. 7209 7210 2017-06-04 Marek Polacek <polacek (a] redhat.com> 7211 7212 PR c/80919 7213 * c-format.c (matching_type_p): Return false if any of the types 7214 requires structural equality. 7215 7216 2017-06-02 Martin Sebor <msebor (a] redhat.com> 7217 7218 PR c/80892 7219 * c-warn.c (conversion_warning): Use -Wconversion for integer 7220 conversion and -Wfloat-conversion for floating one. 7221 7222 2017-06-02 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 7223 7224 * c.opt (Wsizeof-pointer-div): New warning option. 7225 7226 2017-06-01 Volker Reichelt <v.reichelt (a] netcologne.de> 7227 7228 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1. 7229 (Wcatch-value=1): Enable by -Wall. 7230 7231 2017-05-30 David Malcolm <dmalcolm (a] redhat.com> 7232 7233 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to 7234 format_chars. 7235 * c.opt (fdiagnostics-show-template-tree): New option. 7236 (felide-type): New option. 7237 7238 2017-05-25 Volker Reichelt <v.reichelt (a] netcologne.de> 7239 7240 * c.opt (Wcatch-value=): New C++ warning flag. 7241 7242 2017-05-24 Nathan Sidwell <nathan (a] acm.org> 7243 7244 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T 7245 const casts to avoid warning. 7246 7247 2017-05-24 Martin Sebor <msebor (a] redhat.com> 7248 7249 PR c/80731 7250 * c-common.h (unsafe_conversion_p): Add a function argument. 7251 * c-common.c (unsafe_conversion_p): Same. 7252 Add type names and values to diagnostics. 7253 (scalar_to_vector): Adjust. 7254 * c-warn.c (constant_expression_error): Add a function argument. 7255 Add type names and values to diagnostics. 7256 (conversion_warning): Add a function argument. 7257 Add type names and values to diagnostics. 7258 (warnings_for_convert_and_check): Same. 7259 7260 2017-05-19 Jason Merrill <jason (a] redhat.com> 7261 7262 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no 7263 enumerators. 7264 7265 2017-05-19 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 7266 7267 * c-format.c (locus): Move out of function scope, 7268 add GTY attribute. 7269 7270 2017-05-19 Nathan Sidwell <nathan (a] acm.org> 7271 7272 * c-opts.c (class_dump_file, class_dump_flags): Delete. 7273 (c_common_parse_file): Remove class dump handling. 7274 (get_dump_info): Likewise. 7275 7276 2017-05-19 Richard Biener <rguenther (a] suse.de> 7277 7278 PR c++/80593 7279 * c-warn.c (strict_aliasing_warning): Do not warn for accesses 7280 to alias-set zero memory. 7281 7282 2017-05-18 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 7283 7284 * c-format.c (local_tree_type_node): Add GTY attribute. 7285 7286 2017-05-18 Marek Polacek <polacek (a] redhat.com> 7287 7288 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0. 7289 (c_common_fixed_point_type_for_size): Likewise. 7290 (c_common_type_for_mode): Likewise. 7291 (shorten_compare): Likewise. 7292 (c_promoting_integer_type_p): Use false/true instead of 0/1. 7293 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0. 7294 7295 2017-05-18 Marek Polacek <polacek (a] redhat.com> 7296 7297 * c-common.c (self_promoting_args_p): Change the return type to bool. 7298 Use false/true instead of 0/1. 7299 * c-common.h (self_promoting_args_p): Update. 7300 7301 2017-05-17 Marek Polacek <polacek (a] redhat.com> 7302 7303 * c-common.c: Use NULL_TREE instead of 0 where appropriate. 7304 * c-warn.c: Likewise. 7305 7306 2017-05-17 Ville Voutilainen <ville.voutilainen (a] gmail.com> 7307 7308 Implement new C++ intrinsics __is_assignable and __is_constructible. 7309 * c-common.c (__is_assignable, __is_constructible): New. 7310 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise. 7311 7312 2017-05-17 Martin Liska <mliska (a] suse.cz> 7313 7314 * c-common.h: Introduce dump_flags_t type and 7315 use it instead of int type. 7316 * c-gimplify.c (c_genericize): Likewise. 7317 * c-opts.c: Likewise. 7318 7319 2017-05-17 Marek Polacek <polacek (a] redhat.com> 7320 7321 * c-common.c (c_save_expr): Remove. 7322 (c_common_truthvalue_conversion): Remove a call to c_save_expr. 7323 * c-common.h (c_save_expr): Remove declaration. 7324 7325 2017-05-09 Volker Reichelt <v.reichelt (a] netcologne.de> 7326 7327 PR c/35441 7328 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR, 7329 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR. 7330 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR. 7331 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR, 7332 RDIV_EXPR. 7333 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR. 7334 7335 2017-05-09 Marek Polacek <polacek (a] redhat.com> 7336 7337 PR c/80525 7338 * c-warn.c (unwrap_c_maybe_const): New. 7339 (warn_logical_operator): Call it. 7340 7341 2017-05-09 Nathan Sidwell <nathan (a] acm.org> 7342 7343 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook. 7344 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here. 7345 7346 2017-05-08 Martin Sebor <msebor (a] redhat.com> 7347 7348 PR translation/80280 7349 * c-format.h (struct format_flag_spec): Add new member. 7350 (T89_T): New macro. 7351 * c-format.c (local_tree_type_node): New global. 7352 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data. 7353 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto. 7354 (strfmon_flag_specs): Likewise. 7355 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers 7356 with distinct quoting properties. 7357 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same. 7358 (flag_chars_t::validate): Add argument and handle bad quoting. 7359 (check_format_info_main): Handle quoting problems. 7360 (init_dynamic_diag_info): Simplify. 7361 7362 2017-05-08 Jason Merrill <jason (a] redhat.com> 7363 7364 * c-opts.c (c_common_post_options): Update defaults for 7365 flag_abi_version and flag_abi_compat_version. 7366 7367 2017-05-05 David Malcolm <dmalcolm (a] redhat.com> 7368 7369 * c-common.c (c_cpp_error): Replace report_diagnostic 7370 with diagnostic_report_diagnostic. 7371 7372 2017-05-04 Martin Sebor <msebor (a] redhat.com> 7373 7374 PR translation/80280 7375 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive. 7376 (handle_weakref_attribute): Same. 7377 7378 2017-05-03 Nathan Sidwell <nathan (a] acm.org> 7379 7380 Canonicalize canonical type hashing 7381 * c-common.c (complete_array_type): Use type_hash_canon. 7382 7383 2017-05-01 Xi Ruoyao <ryxi (a] stu.xidian.edu.cn> 7384 7385 PR c++/80038 7386 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove 7387 prototype. 7388 (cilk_install_body_pedigree_operations): Likewise. 7389 * cilk.c (cilk_set_spawn_marker): Mark functions that should be 7390 detatched. 7391 (cilk_gimplify_call_params_in_spawned_fn): Remove. 7392 (cilk_install_body_pedigree_operations): Likewise. 7393 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR 7394 unwrapping. 7395 7396 2017-04-27 Jakub Jelinek <jakub (a] redhat.com> 7397 7398 PR c++/80534 7399 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE 7400 flag on non-aggregate element types. 7401 7402 2017-04-25 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 7403 7404 * c-common.c (c_type_hasher, type_hash_table): Remove. 7405 (c_common_get_alias_set): Remove unreachable code. 7406 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file. 7407 7408 2017-04-20 Volker Reichelt <v.reichelt (a] netcologne.de> 7409 7410 * c.opt (Wextra-semi): New C++ warning flag. 7411 7412 2017-04-20 Jakub Jelinek <jakub (a] redhat.com> 7413 7414 PR middle-end/80423 7415 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE. 7416 7417 2017-04-18 Jakub Jelinek <jakub (a] redhat.com> 7418 7419 PR middle-end/79788 7420 PR middle-end/80375 7421 * c-common.c (c_common_type_for_mode): Don't handle 7422 widest_*_literal_type_node here. 7423 c_common_signed_or_unsigned_type): Likewise. 7424 (c_common_nodes_and_builtins): Set widest_*_literal_type_node 7425 to *intTI_type_node or *intDI_type_node depending on whether 7426 TImode is supported by the target or not. 7427 7428 2017-04-10 Martin Liska <mliska (a] suse.cz> 7429 7430 PR sanitizer/80350 7431 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before 7432 doing an UBSAN check. 7433 7434 2017-04-03 Jonathan Wakely <jwakely (a] redhat.com> 7435 7436 * c-warn.c (do_warn_double_promotion): Fix typo in comment. 7437 7438 2017-03-31 Jakub Jelinek <jakub (a] redhat.com> 7439 7440 PR c++/79572 7441 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to 7442 tree *. 7443 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle 7444 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with 7445 REFERENCE_TYPE. 7446 7447 2017-03-31 David Malcolm <dmalcolm (a] redhat.com> 7448 7449 PR documentation/78732 7450 * c.opt (Wendif-labels): Fix description to refer to 7451 #else rather than #elif. 7452 7453 2017-03-31 Jakub Jelinek <jakub (a] redhat.com> 7454 7455 PR libstdc++/80251 7456 * c-common.h (enum rid): Add RID_IS_AGGREGATE. 7457 * c-common.c (c_common_reswords): Add __is_aggregate trait. 7458 7459 2017-03-27 Jakub Jelinek <jakub (a] redhat.com> 7460 7461 PR middle-end/80162 7462 * c-common.c (c_common_mark_addressable_vec): Don't set 7463 TREE_ADDRESSABLE on DECL_HARD_REGISTER. 7464 7465 2017-03-21 Martin Sebor <msebor (a] redhat.com> 7466 7467 PR c++/79548 7468 * c-common.c (set_underlying_type): Mark type used only when 7469 original del is declared unused. 7470 7471 2017-03-10 David Malcolm <dmalcolm (a] redhat.com> 7472 7473 PR translation/79848 7474 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to 7475 "%qs". 7476 7477 2017-03-10 David Malcolm <dmalcolm (a] redhat.com> 7478 7479 PR c/79921 7480 * c-indentation.c (warn_for_misleading_indentation): Remove parens 7481 from inform's message, so that xgettext can locate it. 7482 7483 2017-03-09 Marek Polacek <polacek (a] redhat.com> 7484 7485 PR c++/79962 7486 PR c++/79984 7487 * c-attribs.c (handle_nonnull_attribute): Save the result of default 7488 conversion to the attribute list. 7489 7490 2017-03-09 Martin Liska <mliska (a] suse.cz> 7491 7492 * c-ada-spec.c (macro_length): Increment value instead of a pointer. 7493 7494 2017-03-03 Jason Merrill <jason (a] redhat.com> 7495 7496 * c.opt (Wnoexcept-type): New. 7497 7498 2017-03-02 Richard Biener <rguenther (a] suse.de> 7499 7500 PR c/79756 7501 * c-common.c (c_common_mark_addressable_vec): Look through 7502 C_MAYBE_CONST_EXPR. 7503 7504 2017-02-28 Martin Liska <mliska (a] suse.cz> 7505 7506 * c.opt: Replace space with tabular for options of <number> 7507 type. 7508 7509 2017-02-28 Martin Liska <mliska (a] suse.cz> 7510 7511 * c.opt: Fix --help=option -Q for options which are of 7512 an enum type. 7513 7514 2017-02-24 Jakub Jelinek <jakub (a] redhat.com> 7515 7516 PR c++/79588 7517 * c-common.c (check_function_restrict): New function. 7518 (check_function_arguments): Add FNDECL argument. Call 7519 check_function_restrict if -Wrestrict. 7520 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY 7521 and NARGS. Use auto_vec for ARG_POSITIONS, simplify. 7522 * c-common.h (check_function_arguments): Add FNDECL argument. 7523 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS. 7524 7525 2017-02-24 Eric Botcazou <ebotcazou (a] adacore.com> 7526 7527 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the 7528 treatment of parameters with pointer-to-tagged type and tidy up. 7529 (print_ada_methods): Remove the special treatment of C++ static member 7530 functions. 7531 7532 2017-02-22 Martin Liska <mliska (a] suse.cz> 7533 7534 * c.opt: Replace inequality signs with square brackets 7535 for -Wnornalized. 7536 7537 2017-02-21 Jakub Jelinek <jakub (a] redhat.com> 7538 7539 PR c++/79641 7540 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to 7541 preserve quals. 7542 7543 2017-02-17 Joseph Myers <joseph (a] codesourcery.com> 7544 7545 * c-cppbuiltin.c (builtin_define_float_constants): Define 7546 __DECIMAL_DIG__ to the value for long double. 7547 7548 2017-02-15 Marek Polacek <polacek (a] redhat.com> 7549 7550 PR c/79515 7551 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid 7552 conversion has occured. 7553 7554 2017-01-24 David Malcolm <dmalcolm (a] redhat.com> 7555 7556 * c-common.c (c_common_reswords): Add "__RTL". 7557 * c-common.h (enum rid): Add RID_RTL. 7558 7559 2017-01-20 Marek Polacek <polacek (a] redhat.com> 7560 7561 PR c/64279 7562 * c-common.h (do_warn_duplicated_branches_r): Declare. 7563 * c-gimplify.c (c_genericize): Walk the function tree calling 7564 do_warn_duplicated_branches_r. 7565 * c-warn.c (expr_from_macro_expansion_r): New. 7566 (do_warn_duplicated_branches): New. 7567 (do_warn_duplicated_branches_r): New. 7568 * c.opt (Wduplicated-branches): New option. 7569 7570 2017-01-17 David Malcolm <dmalcolm (a] redhat.com> 7571 7572 PR c++/71497 7573 * c-indentation.c (warn_for_misleading_indentation): Use the past 7574 subjunctive in the note. 7575 7576 2017-01-17 Aldy Hernandez <aldyh (a] redhat.com> 7577 7578 PR c/79116 7579 * array-notation-common.c (cilkplus_extract_an_triplets): Convert 7580 start type to integer_type. 7581 7582 2017-01-16 Jakub Jelinek <jakub (a] redhat.com> 7583 7584 PR driver/49726 7585 * c.opt (gen-decls): Add Driver flag. 7586 7587 2017-01-16 Paolo Carlini <paolo.carlini (a] oracle.com> 7588 7589 Revert: 7590 2017-01-16 Paolo Carlini <paolo.carlini (a] oracle.com> 7591 7592 PR c++/71737 7593 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE. 7594 7595 2017-01-16 Paolo Carlini <paolo.carlini (a] oracle.com> 7596 7597 PR c++/71737 7598 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE. 7599 7600 2017-01-12 Martin Sebor <msebor (a] redhat.com> 7601 7602 (-Wformat-overflow): ...to this. 7603 7604 2017-01-11 Martin Sebor <msebor (a] redhat.com> 7605 7606 PR c/78768 7607 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation): 7608 Also enable for LTO. 7609 7610 2017-01-10 Jason Merrill <jason (a] redhat.com> 7611 7612 Implement P0195R2, C++17 variadic using. 7613 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using. 7614 7615 2017-01-09 Jakub Jelinek <jakub (a] redhat.com> 7616 7617 PR translation/79019 7618 PR translation/79020 7619 * c.opt (Wnormalized=): Fix typo in description. 7620 7621 2017-01-08 Martin Sebor <msebor (a] redhat.com> 7622 7623 PR middle-end/77708 7624 * c.opt (-Wformat-truncation): New option. 7625 7626 2017-01-06 Alexandre Oliva <aoliva (a] redhat.com> 7627 7628 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit 7629 value to unsigned short to fit in 4 hex digits without 7630 warnings. 7631 7632 2017-01-05 Eric Botcazou <ebotcazou (a] adacore.com> 7633 7634 * c.opt (fsso-struct): Add 'native' value. 7635 7636 2017-01-05 Martin Liska <mliska (a] suse.cz> 7637 7638 PR pch/78970 7639 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled 7640 header. 7641 7642 2017-01-04 Marek Polacek <polacek (a] redhat.com> 7643 7644 PR c++/64767 7645 * c.opt (Wpointer-compare): New option. 7646 7647 2017-01-04 Jakub Jelinek <jakub (a] redhat.com> 7648 7649 PR driver/78957 7650 * c.opt (fsso-struct=): Add RejectNegative. 7651 7652 2017-01-01 Jakub Jelinek <jakub (a] redhat.com> 7653 7654 Update copyright years. 7655 7656 2016-12-29 Martin Liska <mliska (a] suse.cz> 7657 7658 PR c/78933 7659 * c.opt (strong-eval-order): Add RejectNegative keyword. 7660 7661 2016-12-22 Jason Merrill <jason (a] redhat.com> 7662 7663 Implement P0522R0, matching of template template arguments. 7664 * c-cppbuiltin.c (c_cpp_builtins): Define 7665 __cpp_template_template_args. 7666 7667 2016-12-21 Jakub Jelinek <jakub (a] redhat.com> 7668 7669 PR bootstrap/78817 7670 * c-common.c (struct nonnull_arg_ctx): New type. 7671 (check_function_nonnull): Return bool instead of void. Use 7672 nonnull_arg_ctx as context rather than just location_t. 7673 (check_nonnull_arg): Adjust for the new context type, set 7674 warned_p to true if a warning has been diagnosed. 7675 (check_function_arguments): Return bool instead of void. 7676 * c-common.h (check_function_arguments): Adjust prototype. 7677 7678 2016-12-21 Jason Merrill <jason (a] redhat.com> 7679 7680 * c.opt (-fnew-ttp-matching): New flag. 7681 * c-opts.c (c_common_post_options): Default on if -std=c++1z. 7682 7683 2016-12-14 Martin Jambor <mjambor (a] suse.cz> 7684 7685 * c-omp.c: Include omp-general.h instead of omp-low.h. 7686 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new 7687 name. 7688 7689 2016-12-14 Martin Sebor <msebor (a] redhat.com> 7690 7691 PR c/17308 7692 * c-common.c (check_nonnull_arg): Disable when optimization 7693 is enabled. 7694 7695 2016-12-12 Marek Polacek <polacek (a] redhat.com> 7696 7697 PR c++/78647 7698 * c-common.c (attribute_fallthrough_p): Return false for 7699 error_mark_node. 7700 7701 2016-12-08 Martin Sebor <msebor (a] redhat.com> 7702 7703 PR c/78284 7704 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options. 7705 7706 2016-12-08 Martin Sebor <msebor (a] redhat.com> 7707 7708 PR c/78165 7709 * c-pretty-print (pp_c_integer_constant): Avoid formatting type 7710 suffix. 7711 7712 2016-12-07 Martin Sebor <msebor (a] redhat.com> 7713 7714 PR c/53562 7715 PR middle-end/77784 7716 PR middle-end/78149 7717 PR middle-end/78138 7718 * c.opt (-Wstringop-overflow): New option. 7719 7720 2016-12-02 Maxim Ostapenko <m.ostapenko (a] samsung.com> 7721 7722 * c-attribs.c (asan odr indicator): New attribute. 7723 (handle_asan_odr_indicator_attribute): New function. 7724 7725 2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni (a] linaro.org> 7726 7727 * c-common.c (c_common_nodes_and_builtins): Remove initialization of 7728 ptrdiff_type_node; 7729 7730 2016-11-23 James Greenhalgh <james.greenhalgh (a] arm.com> 7731 7732 * c-common.c (excess_precision_mode_join): New. 7733 (c_ts18661_flt_eval_method): New. 7734 (c_c11_flt_eval_method): Likewise. 7735 (c_flt_eval_method): Likewise. 7736 * c-common.h (excess_precision_mode_join): New. 7737 (c_flt_eval_method): Likewise. 7738 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New. 7739 (cpp_iec_559_value): Call it. 7740 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__, 7741 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and 7742 __FLT_EVAL_METHOD_TS_18661_3__. 7743 7744 2016-11-23 James Greenhalgh <james.greenhalgh (a] arm.com> 7745 7746 * c-opts.c (c_common_post_options): Add logic to handle the default 7747 case for -fpermitted-flt-eval-methods. 7748 7749 2016-11-23 Paolo Bonzini <bonzini (a] gnu.org> 7750 7751 * c.opt (Wexpansion-to-defined): New. 7752 7753 2016-11-23 Jakub Jelinek <jakub (a] redhat.com> 7754 7755 PR target/78451 7756 * c-pragma.c (handle_pragma_target): Don't replace 7757 current_target_pragma, but chainon the new args to the current one. 7758 7759 2016-11-22 Nathan Sidwell <nathan (a] acm.org> 7760 7761 * array-notation-common.c (cilkplus_extract_an_trplets): Fix 7762 indentation and formatting. 7763 7764 2016-11-21 Martin Sebor <msebor (a] redhat.com> 7765 7766 * c.opt (-fprintf-return-value): Enable by default. 7767 7768 2016-11-21 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 7769 7770 PR c++/71973 7771 * c.opt (-Wbuiltin-declaration-mismatch): New warning. 7772 * c-common.c (c_common_nodes_and_builtins): Initialize 7773 const_tm_ptr_type_node. 7774 7775 2016-11-16 Marek Polacek <polacek (a] redhat.com> 7776 7777 PR c/78285 7778 * c-common.c (c_add_case_label): Turn error_at calls into inform. 7779 7780 2016-11-14 Jakub Jelinek <jakub (a] redhat.com> 7781 7782 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings. 7783 7784 2016-11-14 Prasad Ghangal <prasad.ghangal (a] gmail.com> 7785 Richard Biener <rguenther (a] suse.de> 7786 7787 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types. 7788 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI. 7789 * c.opt (fgimple): New option. 7790 7791 2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni (a] linaro.org> 7792 7793 PR c/35503 7794 * c-common.h (warn_for_restrict): Declare. 7795 * c-warn.c: Include gcc-rich-location.h. 7796 (warn_for_restrict): New function. 7797 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier. 7798 (gcc_cdiag_char_table): Likewise. 7799 (gcc_cxxdiag_char_table): Likewise. 7800 * c.opt (Wrestrict): New option. 7801 7802 2016-11-13 Eric Botcazou <ebotcazou (a] adacore.com> 7803 7804 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look 7805 for nested types only if the type is a record or union and dump SLOC. 7806 7807 2016-11-09 Jason Merrill <jason (a] redhat.com> 7808 7809 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto. 7810 7811 2016-11-09 Jakub Jelinek <jakub (a] redhat.com> 7812 7813 * c-ubsan.c (ubsan_instrument_shift): Handle split 7814 -fsanitize=shift-base and -fsanitize=shift-exponent. 7815 7816 2016-11-07 Jason Merrill <jason (a] redhat.com> 7817 7818 * c.opt (Wc++1z-compat): New. 7819 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type. 7820 7821 2016-11-07 Martin Liska <mliska (a] suse.cz> 7822 7823 * c-warn.c (warn_for_unused_label): Save all labels used 7824 in goto or in &label. 7825 7826 2016-11-03 Jason Merrill <jason (a] redhat.com> 7827 7828 * c-cppbuiltin.c (c_cpp_builtins): Correct 7829 __cpp_inheriting_constructors. 7830 7831 2016-11-01 Jason Merrill <jason (a] redhat.com> 7832 7833 * c-cppbuiltin.c (c_cpp_builtins): Update 7834 __cpp_inheriting_constructors. 7835 7836 * c.opt (-fnew-inheriting-ctors): New. 7837 * c-opts.c: Default to on for ABI 11+. 7838 7839 2016-10-31 Jakub Jelinek <jakub (a] redhat.com> 7840 7841 PR c++/77948 7842 * c.opt (fext-numeric-literals): Add Var and Init. 7843 * c-opts.c (c_common_handle_option): Don't clear 7844 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}. 7845 (c_common_post_options): Clear it here if not set 7846 explicitly. 7847 7848 2016-10-28 Aldy Hernandez <aldyh (a] redhat.com> 7849 7850 PR debug/77773 7851 * c-pretty-print.c (simple_type_specifier): Do not dereference `t' 7852 if NULL. 7853 7854 2016-10-25 Jakub Jelinek <jakub (a] redhat.com> 7855 7856 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER. 7857 * c-common.c (c_common_reswords): Add __builtin_launder. 7858 7859 2016-10-24 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 7860 7861 * c-common.c (c_common_truthvalue_conversion): Warn for 7862 multiplications in boolean context. Fix the quoting of '<<' and '<' 7863 in the shift warning. 7864 7865 2016-10-20 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 7866 7867 * c-common.c (c_common_truthvalue_conversion): Fix the comment. 7868 7869 2016-10-20 Jason Merrill <jason (a] redhat.com> 7870 7871 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value. 7872 7873 2016-10-19 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 7874 7875 * c-common.c (c_common_truthvalue_conversion): Warn only for signed 7876 integer shift ops in boolean context. 7877 7878 2016-10-18 Aldy Hernandez <aldyh (a] redhat.com> 7879 7880 * c.opt (Walloca): New. 7881 (Walloca-larger-than=): New. 7882 (Wvla-larger-than=): New. 7883 7884 2016-10-17 Marek Polacek <polacek (a] redhat.com> 7885 7886 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names. 7887 Return immediately when finding a match. 7888 (warn_tautological_cmp): Remove a boolean variable that is no longer 7889 needed. 7890 7891 2016-10-17 Marek Polacek <polacek (a] redhat.com> 7892 7893 * c-attribs.c: New file. 7894 * c-common.c: Move attributes handling to c-attribs.c. 7895 (get_nonnull_operand): No longer static. 7896 * c-common.h: Move the declarations from c-attribs.c to its own section. 7897 7898 2016-10-14 Jason Merrill <jason (a] redhat.com> 7899 7900 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases 7901 and __cpp_deduction_guides. 7902 7903 2016-10-13 Jason Merrill <jason (a] redhat.com> 7904 7905 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables. 7906 7907 2016-10-13 Thomas Preud'homme <thomas.preudhomme (a] arm.com> 7908 7909 * c-cppbuiltin.c: Include memmodel.h. 7910 * c-opts.c: Likewise. 7911 * c-pragma.c: Likewise. 7912 * c-warn.c: Likewise. 7913 7914 2016-10-12 Jakub Jelinek <jakub (a] redhat.com> 7915 7916 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option. 7917 (Wimplicit-fallthrough=): Enable for these languages by -Wextra. 7918 * c-opts.c (sanitize_cpp_opts): Initialize 7919 cpp_opts->cpp_warn_implicit_fallthrough. 7920 7921 2016-10-11 Marek Polacek <polacek (a] redhat.com> 7922 7923 * c-common.c (warning_candidate_p): Change the return type to bool 7924 and return true/false instead of 1/0. 7925 (vector_mode_valid_p): Likewise. 7926 7927 2016-10-11 Marek Polacek <polacek (a] redhat.com> 7928 7929 * c-common.c (fold_for_warn): No longer static. 7930 (bool_promoted_to_int_p): Likewise. 7931 (c_common_get_narrower): Likewise. 7932 (constant_expression_warning): Move to c-warn.c. 7933 (constant_expression_error): Likewise. 7934 (overflow_warning): Likewise. 7935 (warn_logical_operator): Likewise. 7936 (find_array_ref_with_const_idx_r): Likewise. 7937 (warn_tautological_cmp): Likewise. 7938 (expr_has_boolean_operands_p): Likewise. 7939 (warn_logical_not_parentheses): Likewise. 7940 (warn_if_unused_value): Likewise. 7941 (strict_aliasing_warning): Likewise. 7942 (sizeof_pointer_memaccess_warning): Likewise. 7943 (check_main_parameter_types): Likewise. 7944 (conversion_warning): Likewise. 7945 (warnings_for_convert_and_check): Likewise. 7946 (match_case_to_enum_1): Likewise. 7947 (match_case_to_enum): Likewise. 7948 (c_do_switch_warnings): Likewise. 7949 (warn_for_omitted_condop): Likewise. 7950 (readonly_error): Likewise. 7951 (lvalue_error): Likewise. 7952 (invalid_indirection_error): Likewise. 7953 (warn_array_subscript_with_type_char): Likewise. 7954 (warn_about_parentheses): Likewise. 7955 (warn_for_unused_label): Likewise. 7956 (warn_for_div_by_zero): Likewise. 7957 (warn_for_memset): Likewise. 7958 (warn_for_sign_compare): Likewise. 7959 (do_warn_double_promotion): Likewise. 7960 (do_warn_unused_parameter): Likewise. 7961 (record_locally_defined_typedef): Likewise. 7962 (maybe_record_typedef_use): Likewise. 7963 (maybe_warn_unused_local_typedefs): Likewise. 7964 (maybe_warn_bool_compare): Likewise. 7965 (maybe_warn_shift_overflow): Likewise. 7966 (warn_duplicated_cond_add_or_warn): Likewise. 7967 (diagnose_mismatched_attributes): Likewise. 7968 * c-common.h: Move the declarations from c-warn.c to its own section. 7969 * c-warn.c: New file. 7970 7971 2016-10-08 Jason Merrill <jason (a] redhat.com> 7972 7973 * c-common.c (c_common_truthvalue_conversion): Don't distribute 7974 into COND_EXPR in C++. 7975 7976 2016-10-08 Jakub Jelinek <jakub (a] redhat.com> 7977 7978 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT 7979 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and 7980 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards. 7981 7982 2016-10-07 Jakub Jelinek <jakub (a] redhat.com> 7983 7984 Implement LWG2296 helper intrinsic 7985 * c-common.h (enum rid): Add RID_ADDRESSOF. 7986 * c-common.c (c_common_reswords): Add __builtin_addressof. 7987 7988 2016-10-07 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 7989 7990 PR c++/77700 7991 * c-common.c (c_common_truthvalue_conversion): Warn also for 7992 suspicious enum values in boolean context. 7993 7994 2016-10-06 Jakub Jelinek <jakub (a] redhat.com> 7995 7996 Implement P0258R2 - helper for C++17 7997 std::has_unique_object_representations trait 7998 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS. 7999 * c-common.c (c_common_reswords): Add 8000 __has_unique_object_representations. 8001 8002 2016-10-05 Jakub Jelinek <jakub (a] redhat.com> 8003 8004 PR sanitizer/66343 8005 * c-ubsan.c (ubsan_instrument_return): Don't call 8006 initialize_sanitizer_builtins here. 8007 8008 2016-10-05 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 8009 8010 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious 8011 conditional expression in boolean context when only one arm is 8012 non-boolean. 8013 8014 2016-10-05 Jakub Jelinek <jakub (a] redhat.com> 8015 8016 PR sanitizer/77823 8017 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0 8018 is not integral. 8019 8020 * c-common.c (c_common_reswords): Update comment for C++11. 8021 8022 2016-10-04 Jason Merrill <jason (a] redhat.com> 8023 8024 * c-common.c (make_tree_vector_from_ctor): New. 8025 * c-common.h: Declare it. 8026 8027 2016-10-04 Jakub Jelinek <jakub (a] redhat.com> 8028 8029 * c-cppbuiltin.c (c_cpp_builtins): Don't define 8030 __LIBGCC_JCR_SECTION_NAME__. 8031 8032 2016-10-03 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 8033 8034 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious 8035 left shift in boolean context. 8036 8037 2016-09-29 Jakub Jelinek <jakub (a] redhat.com> 8038 8039 Implement P0001R1 - C++17 removal of register storage class specifier 8040 * c.opt (Wregister): New warning. 8041 * c-opts.c (c_common_post_options): Enable -Wregister by 8042 default for C++17. 8043 8044 2016-09-29 James Greenhalgh <james.greenhalgh (a] arm.com> 8045 8046 * c-opts.c (c_common_post_options): Remove special case for 8047 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard 8048 in C++. 8049 8050 2016-09-27 Jakub Jelinek <jakub (a] redhat.com> 8051 8052 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for 8053 -std=c++1z. 8054 8055 * c-ada-spec.c (print_ada_declaration): Remove break after return. 8056 8057 2016-09-26 Thomas Preud'homme <thomas.preudhomme (a] arm.com> 8058 8059 * c-common.c: Include memmodel.h. 8060 8061 2016-09-26 Marek Polacek <polacek (a] redhat.com> 8062 8063 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough. 8064 8065 2016-09-26 Marek Polacek <polacek (a] redhat.com> 8066 8067 PR c/7652 8068 * c-common.c (c_common_attribute_table): Add fallthrough attribute. 8069 (handle_fallthrough_attribute): New function. 8070 (attribute_fallthrough_p): New function. 8071 * c-common.h (attribute_fallthrough_p): Declare. 8072 8073 2016-09-24 Marek Polacek <polacek (a] redhat.com> 8074 8075 PR c/77490 8076 * c.opt (Wbool-operation): New. 8077 8078 2016-09-21 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 8079 8080 * c-common.c (c_common_truthvalue_conversion): Inhibit 8081 Wint-in-bool-context warning with from_macro_definition_at. 8082 Mention the expression will always evaluate to true. 8083 8084 2016-09-21 Martin Sebor <msebor (a] redhat.com> 8085 8086 PR bootstrap/77676 8087 * c.opt (fprintf-return-value): Temporarily initialize to zero 8088 to unblock bootstrap failures. 8089 8090 2016-09-21 Jakub Jelinek <jakub (a] redhat.com> 8091 8092 PR c++/77651 8093 * c.opt (Waligned-new=): Add RejectNegative. 8094 (faligned-new=): Likewise. Spelling fix - change 8095 aligned_new_threshhold to aligned_new_threshold. 8096 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold 8097 to aligned_new_threshold. 8098 8099 2016-09-20 Martin Sebor <msebor (a] redhat.com> 8100 8101 PR middle-end/49905 8102 * c.opt: Add -Wformat-length and -fprintf-return-value. 8103 8104 2016-09-19 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 8105 8106 PR c++/77434 8107 * c.opt (Wint-in-bool-context): New warning. 8108 * c-common.c (c_common_truthvalue_conversion): Warn on integer 8109 constants in boolean context. 8110 8111 2016-09-19 Joseph Myers <joseph (a] codesourcery.com> 8112 8113 * c-common.c (max_align_t_align): Also consider alignment of 8114 float128_type_node. 8115 8116 2016-09-15 Jason Merrill <jason (a] redhat.com> 8117 8118 * c-common.c (check_cxx_fundamental_alignment_constraints): Check 8119 DECL_EXTERNAL. 8120 8121 2016-09-14 Jason Merrill <jason (a] redhat.com> 8122 8123 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't 8124 limit FIELD_DECL, either. 8125 8126 2016-09-14 Marek Polacek <polacek (a] redhat.com> 8127 8128 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0. 8129 * c-common.h (build_unary_op): Change nonconvert parameter type to bool. 8130 * c-omp.c (c_finish_omp_atomic): Use false instead of 0. 8131 8132 2016-09-13 David Malcolm <dmalcolm (a] redhat.com> 8133 8134 * c-common.c (warn_logical_not_parentheses): Replace 8135 rich_location::add_fixit_insert calls with add_fixit_insert_before 8136 and add_fixit_insert_after, eliminating the "next_loc" calculation. 8137 8138 2016-09-13 Jason Merrill <jason (a] redhat.com> 8139 Tom de Vries <tom (a] codesourcery.com> 8140 8141 PR c++/77427 8142 * c-common.c (set_underlying_type): Don't treat array as builtin type. 8143 8144 2016-09-13 Jason Merrill <jason (a] redhat.com> 8145 8146 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't 8147 limit types at all. 8148 8149 2016-09-12 Jason Merrill <jason (a] redhat.com> 8150 8151 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix 8152 bit/byte confusion, allow large alignment for types. 8153 8154 2016-09-12 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 8155 8156 PR c++/77496 8157 * c-common.c (warn_for_omitted_condop): Also warn for boolean data. 8158 8159 2016-09-12 David Malcolm <dmalcolm (a] redhat.com> 8160 8161 PR c/72858 8162 * c-format.c (argument_parser::check_argument_type): Add params 8163 "type_start" and "conversion_char". Use the former to generate 8164 offset_to_type_start and pass it and conversion_char to 8165 check_format_types. 8166 (check_format_info_main): Capture the start of the type 8167 information as "type_start", and pass it an format_char 8168 to arg_parser.check_argument_type. 8169 (check_format_types): Provide an example in the leading comment. 8170 Add params "offset_to_type_start" and "conversion_char"; pass 8171 them to format_type_warning calls. 8172 (test_get_modifier_for_format_len): Likewise. 8173 (matching_type_p): New function. 8174 (get_format_for_type): Add param "conversion_char" and move 8175 implementation into... 8176 (get_format_for_type_1): ...new function, called twice. 8177 Use new function matching_type_p rather than checking for 8178 TYPE_CANONICAL equality. 8179 (get_corrected_substring): New function. 8180 (format_type_warning): Provide an example in the leading comment. 8181 Add params "offset_to_type_start" and "conversion_char". Replace 8182 call to get_format_for_type with call to get_corrected_substring 8183 and move rejection of hints for widths/precisions there. 8184 (assert_format_for_type_streq): Add param "conversion_char". 8185 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR. 8186 (test_get_format_for_type_printf): Add conversion chars to the 8187 tests, adding coverage for various combinations of integer 8188 vs double conversions, and for preserving octal and hexadecimal 8189 conversions. 8190 (test_get_format_for_type_scanf): Add conversion chars to the 8191 tests. 8192 8193 2016-09-10 Tom de Vries <tom (a] codesourcery.com> 8194 8195 PR C/71602 8196 * c-common.c (build_va_arg): Handle more strict 8197 targetm.canonical_va_list_type. Replace first argument type error with 8198 assert. 8199 8200 2016-09-09 Martin Sebor <msebor (a] redhat.com> 8201 8202 PR c/77520 8203 PR c/77521 8204 * c-format.c (argument_parser::find_format_char_info): Use %qc 8205 format directive unconditionally. 8206 8207 2016-09-09 Jason Merrill <jason (a] redhat.com> 8208 8209 Implement C++17 new of over-aligned types. 8210 * c.opt: Add -faligned-new and -Waligned-new. 8211 * c-common.c (max_align_t_align): Split out from... 8212 (cxx_fundamental_alignment_p): ...here. 8213 * c-common.h: Declare it. 8214 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new. 8215 8216 2016-09-09 Joseph Myers <joseph (a] codesourcery.com> 8217 8218 * c-cppbuiltin.c (builtin_define_type_width): New function. 8219 (builtin_define_stdint_macros, c_cpp_builtins): Define type width 8220 macros. 8221 8222 2016-09-07 David Malcolm <dmalcolm (a] redhat.com> 8223 8224 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed 8225 a POINTER_TYPE. 8226 (substring_loc::get_location): Move to substring-locations.c, 8227 keeping implementation as... 8228 (c_get_substring_location): New function, from the above, reworked 8229 to use accessors rather than member lookup. 8230 * c-common.h (class substring_loc): Move to substring-locations.h, 8231 replacing with a forward decl. 8232 (c_get_substring_location): New decl. 8233 * c-format.c: Include "substring-locations.h". 8234 (format_warning_va): Move to substring-locations.c. 8235 (format_warning_at_substring): Likewise. 8236 8237 2016-09-06 Martin Sebor <msebor (a] redhat.com> 8238 8239 PR c/77336 8240 * c-format.c (check_function_format): Avoid issuing warnings for 8241 functions unless they call format functions with non-constant 8242 format strings. 8243 8244 2016-09-06 Richard Biener <rguenther (a] suse.de> 8245 8246 PR c/77450 8247 * c-common.c (c_common_mark_addressable_vec): Handle 8248 COMPOUND_LITERAL_EXPR. 8249 8250 2016-09-05 Marek Polacek <polacek (a] redhat.com> 8251 8252 PR c/77423 8253 * c-common.c (bool_promoted_to_int_p): New function. 8254 (expr_has_boolean_operands_p): New function. 8255 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p. 8256 (maybe_warn_bool_compare): Use bool_promoted_to_int_p. 8257 8258 2016-09-04 Tom de Vries <tom (a] codesourcery.com> 8259 8260 revert: 8261 2016-08-29 Tom de Vries <tom (a] codesourcery.com> 8262 8263 * c-common.c (build_va_arg): Replace first argument type error 8264 with assert. 8265 8266 2016-09-02 Jakub Jelinek <jakub (a] redhat.com> 8267 8268 PR c/65467 8269 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions. 8270 (c_finish_omp_for): Reject _Atomic qualified iterators. 8271 8272 2016-09-01 Martin Sebor <msebor (a] redhat.com> 8273 8274 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer 8275 size to guarantee it fits the output of the formatted function 8276 regardless of its arguments. 8277 8278 2016-09-01 Marek Polacek <polacek (a] redhat.com> 8279 8280 PR c/7652 8281 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add 8282 FALLTHRU comments. 8283 8284 2016-08-29 Marek Polacek <polacek (a] redhat.com> 8285 8286 PR c/77292 8287 * c-common.c (warn_logical_not_parentheses): Don't warn for 8288 a comparison or a logical operator. 8289 8290 2016-08-29 Tom de Vries <tom (a] codesourcery.com> 8291 8292 * c-common.c (build_va_arg): Fix type comparison assert. 8293 8294 2016-08-29 Tom de Vries <tom (a] codesourcery.com> 8295 8296 * c-common.c (build_va_arg): Replace first argument type error 8297 with assert. 8298 8299 2016-08-29 Tom de Vries <tom (a] codesourcery.com> 8300 8301 PR c/77398 8302 * c-common.c (build_va_arg): Add first argument error. Build va_arg 8303 with error_mark_node as va_list instead of with illegal va_list. 8304 8305 2016-08-25 Marek Polacek <polacek (a] redhat.com> 8306 David Malcolm <dmalcolm (a] redhat.com> 8307 8308 * c-common.c (warn_logical_not_parentheses): Print fixit hints. 8309 * c-common.h (warn_logical_not_parentheses): Update declaration. 8310 8311 2016-08-22 Marek Polacek <polacek (a] redhat.com> 8312 8313 PR c++/77321 8314 * c-common.c (warn_for_memset): Check type for null. 8315 8316 2016-08-22 Joseph Myers <joseph (a] codesourcery.com> 8317 8318 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and 8319 _FloatNx types for suffixes for built-in functions. 8320 8321 2016-08-19 Joseph Myers <joseph (a] codesourcery.com> 8322 8323 PR c/32187 8324 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32) 8325 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X) 8326 (RID_FLOAT128X): New enum rid values. 8327 (CASE_RID_FLOATN_NX): New macro. 8328 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx 8329 keywords. 8330 (c_common_type_for_mode): Check for _FloatN and _FloatNx and 8331 corresponding complex types. 8332 (c_common_nodes_and_builtins): For non-C++, register _FloatN and 8333 _FloatNx and corresponding complex types. 8334 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX. 8335 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN 8336 and _FloatNx types for the widest type for determining 8337 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as 8338 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL. 8339 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN 8340 and _FloatNx types. 8341 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx 8342 constants. 8343 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and 8344 _FloatNx types. 8345 8346 2016-08-18 David Malcolm <dmalcolm (a] redhat.com> 8347 8348 * c-opts.c (c_diagnostic_finalizer): Update for change to 8349 diagnostic_show_locus. 8350 8351 2016-08-18 David Malcolm <dmalcolm (a] redhat.com> 8352 8353 * c-common.c: Include "spellcheck.h". 8354 (cb_get_suggestion): New function. 8355 * c-common.h (cb_get_suggestion): New decl. 8356 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to 8357 cb_get_suggestion. 8358 8359 2016-08-18 Marek Polacek <polacek (a] redhat.com> 8360 8361 PR c/71514 8362 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function 8363 and pointer-to-VLA. 8364 8365 2016-08-16 David Malcolm <dmalcolm (a] redhat.com> 8366 8367 PR c/72857 8368 * c-common.c (substring_loc::get_range): Rename to... 8369 (substring_loc::get_location): ...this, converting param from a 8370 source_range * to a location_t *. Call 8371 get_source_location_for_substring rather than 8372 get_source_range_for_substring, and pass in m_caret_idx. 8373 * c-common.h (substring_loc::substring_loc): Add param "caret_idx". 8374 (substring_loc::get_range): Replace with... 8375 (substring_loc::get_location): ...this. 8376 (substring_loc::set_caret_index): New method. 8377 (substring_loc): Add field m_caret_idx. 8378 * c-format.c (format_warning_va): Update for above changes. 8379 Rename local "substring_loc" to "fmt_substring_loc" to avoid 8380 clashing with type name. 8381 (format_warning_at_char): Add caret_idx param to substring_loc ctor. 8382 (check_argument_type): Likewise. 8383 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc" 8384 Use a copy when emitting warnings, setting the caret index from TYPE. 8385 8386 2016-08-16 Eric Botcazou <ebotcazou (a] adacore.com> 8387 Arnaud Charlet <charlet (a] adacore.com> 8388 8389 * c-ada-spec.c (dump_number): New function. 8390 (handle_escape_character): Likewise. 8391 (print_ada_macros): Add handling of constant integers and strings. 8392 8393 2016-08-12 Marek Polacek <polacek (a] redhat.com> 8394 8395 PR c/7652 8396 * c-common.c (scalar_to_vector): Adjust fall through comment. 8397 * c-opts.c (c_common_handle_option): Likewise. 8398 * c-pragma.c (handle_pragma_pack): Add FALLTHRU. 8399 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust 8400 fall through comment. 8401 * cilk.c (extract_free_variables): Add FALLTHRU. 8402 8403 2016-08-10 Jason Merrill <jason (a] redhat.com> 8404 8405 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr. 8406 8407 2016-08-09 Jason Merrill <jason (a] redhat.com> 8408 8409 * c-common.c (c_common_attribute_table): vector_size affects type 8410 identity. 8411 8412 2016-08-09 Marek Polacek <polacek (a] redhat.com> 8413 8414 PR c/7652 8415 * c-ada-spec.c (dump_generic_ada_node): Add return. 8416 8417 2016-08-09 Jason Merrill <jason (a] redhat.com> 8418 8419 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for 8420 C++17 constexpr lambdas. 8421 8422 2016-08-08 David Malcolm <dmalcolm (a] redhat.com> 8423 8424 PR c/64955 8425 * c-common.h (selftest::c_format_c_tests): New declaration. 8426 (selftest::run_c_tests): New declaration. 8427 * c-format.c: Include "selftest.h. 8428 (format_warning_va): Add param "corrected_substring" and use 8429 it to add a replacement fix-it hint. 8430 (format_warning_at_substring): Likewise. 8431 (format_warning_at_char): Update for new param of 8432 format_warning_va. 8433 (argument_parser::check_argument_type): Pass "fki" to 8434 check_format_types. 8435 (check_format_types): Add param "fki" and pass it to 8436 format_type_warning. 8437 (deref_n_times): New function. 8438 (get_modifier_for_format_len): New function. 8439 (selftest::test_get_modifier_for_format_len): New function. 8440 (get_format_for_type): New function. 8441 (format_type_warning): Add param "fki" and use it to attempt 8442 to provide hints for argument types when calling 8443 format_warning_at_substring. 8444 (selftest::get_info): New function. 8445 (selftest::assert_format_for_type_streq): New function. 8446 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro. 8447 (selftest::test_get_format_for_type_printf): New function. 8448 (selftest::test_get_format_for_type_scanf): New function. 8449 (selftest::c_format_c_tests): New function. 8450 8451 2016-08-08 David Malcolm <dmalcolm (a] redhat.com> 8452 8453 PR c/52952 8454 * c-format.c: Include "diagnostic.h". 8455 (location_column_from_byte_offset): Delete. 8456 (location_from_offset): Delete. 8457 (format_warning_va): New function. 8458 (format_warning_at_substring): New function. 8459 (format_warning_at_char): New function. 8460 (check_format_arg): Capture location of format_tree and pass to 8461 check_format_info_main. 8462 (argument_parser): Add fields "start_of_this_format" and 8463 "format_string_cst". 8464 (flag_chars_t::validate): Add param "format_string_cst". Convert 8465 warning_at call using location_from_offset to call to 8466 format_warning_at_char. 8467 (argument_parser::argument_parser): Add param "format_string_cst_" 8468 and use use it to initialize field "format_string_cst". 8469 Initialize new field "start_of_this_format". 8470 (argument_parser::read_format_flags): Convert warning_at call 8471 using location_from_offset to a call to format_warning_at_char. 8472 (argument_parser::read_any_format_left_precision): Likewise. 8473 (argument_parser::read_any_format_precision): Likewise. 8474 (argument_parser::read_any_other_modifier): Likewise. 8475 (argument_parser::find_format_char_info): Likewise, in three places. 8476 (argument_parser::parse_any_scan_set): Likewise, in one place. 8477 (argument_parser::handle_conversions): Likewise, in two places. 8478 (argument_parser::check_argument_type): Add param "fmt_param_loc" 8479 and use it to make a substring_loc. Pass the latter to 8480 check_format_types. 8481 (check_format_info_main): Add params "fmt_param_loc" and 8482 "format_string_cst". Convert warning_at calls using 8483 location_from_offset to calls to format_warning_at_char. Pass the 8484 new params to the arg_parser ctor. Pass "format_string_cst" to 8485 flag_chars.validate. Pass "fmt_param_loc" to 8486 arg_parser.check_argument_type. 8487 (check_format_types): Convert first param from a location_t 8488 to a const substring_loc & and rename to "fmt_loc". Attempt 8489 to extract the range of the relevant parameter and pass it 8490 to format_type_warning. 8491 (format_type_warning): Convert first param from a location_t 8492 to a const substring_loc & and rename to "fmt_loc". Add 8493 params "param_range" and "type". Replace calls to warning_at 8494 with calls to format_warning_at_substring. 8495 8496 2016-08-08 David Malcolm <dmalcolm (a] redhat.com> 8497 8498 * c-format.c (class flag_chars_t): New class. 8499 (struct length_modifier): New struct. 8500 (class argument_parser): New class. 8501 (flag_chars_t::flag_chars_t): New ctor. 8502 (flag_chars_t::has_char_p): New method. 8503 (flag_chars_t::add_char): New method. 8504 (flag_chars_t::validate): New method. 8505 (flag_chars_t::get_alloc_flag): New method. 8506 (flag_chars_t::assignment_suppression_p): New method. 8507 (argument_parser::argument_parser): New ctor. 8508 (argument_parser::read_any_dollar): New method. 8509 (argument_parser::read_format_flags): New method. 8510 (argument_parser::read_any_format_width): New method. 8511 (argument_parser::read_any_format_left_precision): New method. 8512 (argument_parser::read_any_format_precision): New method. 8513 (argument_parser::handle_alloc_chars): New method. 8514 (argument_parser::read_any_length_modifier): New method. 8515 (argument_parser::read_any_other_modifier): New method. 8516 (argument_parser::find_format_char_info): New method. 8517 (argument_parser::validate_flag_pairs): New method. 8518 (argument_parser::give_y2k_warnings): New method. 8519 (argument_parser::parse_any_scan_set): New method. 8520 (argument_parser::handle_conversions): New method. 8521 (argument_parser::check_argument_type): New method. 8522 (check_format_info_main): Introduce classes argument_parser 8523 and flag_chars_t, moving the code within the loop into methods 8524 of these classes. Make various locals "const". 8525 8526 2016-08-05 David Malcolm <dmalcolm (a] redhat.com> 8527 8528 * c-common.c: Include "substring-locations.h". 8529 (get_cpp_ttype_from_string_type): New function. 8530 (g_string_concat_db): New global. 8531 (substring_loc::get_range): New method. 8532 * c-common.h (g_string_concat_db): New declaration. 8533 (class substring_loc): New class. 8534 * c-lex.c (lex_string): When concatenating strings, capture the 8535 locations of all tokens using a new obstack, and record the 8536 concatenation locations within g_string_concat_db. 8537 * c-opts.c (c_common_init_options): Construct g_string_concat_db 8538 on the ggc-heap. 8539 8540 2016-07-29 Marek Polacek <polacek (a] redhat.com> 8541 8542 PR c/71926 8543 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the 8544 parentheses warning. 8545 8546 PR c/71574 8547 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL. 8548 8549 2016-07-28 Martin Liska <mliska (a] suse.cz> 8550 8551 PR gcov-profile/68025 8552 * c-common.c (handle_no_profile_instrument_function_attribute): 8553 8554 2016-07-27 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 8555 8556 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of 8557 BITS_PER_UNIT_LOG. 8558 8559 2016-07-25 Jason Merrill <jason (a] redhat.com> 8560 8561 PR c++/65970 8562 * c.opt (fconstexpr-loop-limit): New. 8563 8564 2016-07-22 Martin Sebor <msebor (a] redhat.com> 8565 8566 PR c++/71675 8567 * c-common.c (resolve_overloaded_builtin): Avoid converting 8568 __atomic_compare_exchange_n return type to that of what its 8569 first argument points to. 8570 8571 2016-07-22 Uros Bizjak <ubizjak (a] gmail.com> 8572 8573 * c-common.c: Use HOST_WIDE_INT_M1U instead of 8574 ~(unsigned HOST_WIDE_INT) 0. 8575 8576 2016-07-22 Martin Liska <mliska (a] suse.cz> 8577 8578 PR gcov-profile/69028 8579 PR gcov-profile/62047 8580 * cilk.c (create_cilk_helper_decl): Set location of a new decl 8581 to the current_function_decl. 8582 8583 2016-07-21 Jason Merrill <jason (a] redhat.com> 8584 8585 PR c++/65168 8586 * c-common.c (c_common_truthvalue_conversion): Check 8587 c_inhibit_evaluation_warnings for warning about address of 8588 reference. 8589 8590 2016-07-20 David Malcolm <dmalcolm (a] redhat.com> 8591 8592 * c-common.h (lookup_name_fuzzy): Convert return type from tree to 8593 const char *. 8594 8595 2016-07-15 Jason Merrill <jason (a] redhat.com> 8596 8597 * c-opts.c (c_common_post_options): Update -fabi-version default to 11. 8598 8599 2016-07-15 Jakub Jelinek <jakub (a] redhat.com> 8600 8601 PR c/71858 8602 * c-common.h (enum lookup_name_fuzzy_kind): Add 8603 FUZZY_LOOKUP_FUNCTION_NAME. 8604 8605 2016-07-08 Jason Merrill <jason (a] redhat.com> 8606 8607 P0145: Refining Expression Order for C++. 8608 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order. 8609 * c-opts.c: Adjust. 8610 8611 2016-07-05 Markus Trippelsdorf <markus (a] trippelsdorf.de> 8612 8613 PR c++/71214 8614 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references. 8615 8616 2016-06-29 Thomas Schwinge <thomas (a] codesourcery.com> 8617 8618 * c-pragma.h (enum pragma_kind): Rename 8619 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all 8620 users. 8621 8622 2016-06-29 Richard Biener <rguenther (a] suse.de> 8623 8624 PR middle-end/71002 8625 * c-common.c (c_common_get_alias_set): Remove union type punning case. 8626 8627 2016-06-24 Jason Merrill <jason (a] redhat.com> 8628 8629 P0145R2: Refining Expression Order for C++. 8630 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of 8631 MODIFY_EXPR. 8632 8633 2016-06-24 Jakub Jelinek <jakub (a] redhat.com> 8634 8635 * c-common.c (check_builtin_function_arguments): Require last 8636 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type. 8637 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW 8638 if the last argument is pointer to enumerated or boolean type. 8639 8640 2016-06-22 David Malcolm <dmalcolm (a] redhat.com> 8641 8642 PR c/70339 8643 * c-common.h (enum lookup_name_fuzzy_kind): New enum. 8644 (lookup_name_fuzzy): New prototype. 8645 8646 2016-06-21 John David Anglin <danglin (a] gcc.gnu.org> 8647 8648 * c-common.c (get_source_date_epoch): Use int64_t instead of long long. 8649 8650 2016-06-14 Jason Merrill <jason (a] redhat.com> 8651 8652 P0145R2: Refining Expression Order for C++. 8653 * c.opt (fargs-in-order): New. 8654 * c-opts.c (c_common_post_options): Adjust flag_args_in_order. 8655 8656 2016-06-13 Jakub Jelinek <jakub (a] redhat.com> 8657 8658 PR sanitizer/71498 8659 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on 8660 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY. 8661 8662 PR preprocessor/71183 8663 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch 8664 to cb_get_source_date_epoch. 8665 8666 2016-06-10 Jakub Jelinek <jakub (a] redhat.com> 8667 8668 PR c/68657 8669 * c.opt (Wpsabi): Add Warning flag. 8670 8671 2016-06-10 Martin Sebor <msebor (a] redhat.com> 8672 8673 PR c/71392 8674 * c-common.c (handle_nonnull_attribute): Accept 8675 the nonnull attribute in type-generic builtins. 8676 8677 2016-06-09 Martin Sebor <msebor (a] redhat.com> 8678 8679 PR c/70883 8680 * c-common.c (builtin_function_validate_nargs): Make text of error 8681 message consistent with others like it. 8682 8683 2016-06-08 Martin Sebor <msebor (a] redhat.com> 8684 Jakub Jelinek <jakub (a] redhat.com> 8685 8686 PR c++/70507 8687 PR c/68120 8688 * c-common.c (check_builtin_function_arguments): Handle 8689 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P. 8690 8691 2016-06-08 Richard Biener <rguenther (a] suse.de> 8692 8693 * c-common.c (parse_optimize_options): Improve diagnostic messages. 8694 8695 2016-06-07 Richard Biener <rguenther (a] suse.de> 8696 8697 PR c/61564 8698 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION 8699 options and warn about others. 8700 8701 2016-06-01 Eduard Sanou <dhole (a] openmailbox.org> 8702 8703 * c-common.c (get_source_date_epoch): Rename to 8704 cb_get_source_date_epoch. 8705 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr 8706 message when the parsing fails. Use error_at instead of fatal_error. 8707 * c-common.h (get_source_date_epoch): Rename to 8708 cb_get_source_date_epoch. 8709 * c-common.h (cb_get_source_date_epoch): Prototype. 8710 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define. 8711 * c-common.h (c_omp_region_type): Remove trailing comma. 8712 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback. 8713 * c-lex.c (c_lex_with_flags): Remove initialization of 8714 pfile->source_date_epoch. 8715 8716 2016-05-30 Jakub Jelinek <jakub (a] redhat.com> 8717 8718 PR c++/71349 8719 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to 8720 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to 8721 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct, 8722 instead of C_OMP_CLAUSE_SPLIT_FOR. 8723 8724 2016-05-24 Richard Biener <rguenther (a] suse.de> 8725 8726 PR middle-end/70434 8727 PR c/69504 8728 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ... 8729 (convert_vector_to_array_for_subscript): ... this. 8730 * c-common.c (convert_vector_to_pointer_for_subscript): Use a 8731 VIEW_CONVERT_EXPR to an array type. Rename to ... 8732 (convert_vector_to_array_for_subscript): ... this. 8733 8734 2016-05-12 Marek Polacek <polacek (a] redhat.com> 8735 8736 PR c/70756 8737 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of 8738 size_in_bytes and pass LOC to it. 8739 8740 2016-05-11 Mikhail Maltsev <maltsevm (a] gmail.com> 8741 8742 PR c/43651 8743 * c.opt (Wduplicate-decl-specifier): New option. 8744 8745 2016-05-11 Marek Polacek <polacek (a] redhat.com> 8746 8747 PR c++/71024 8748 * c-common.c (diagnose_mismatched_attributes): New function. 8749 * c-common.h (diagnose_mismatched_attributes): Declare. 8750 8751 2016-05-04 Marek Polacek <polacek (a] redhat.com> 8752 8753 * c.opt (Wdangling-else): New option. 8754 8755 2016-05-03 Marek Polacek <polacek (a] redhat.com> 8756 8757 PR c/70859 8758 * c-common.c (builtin_function_validate_nargs): Add location 8759 parameter. Use it. 8760 (check_builtin_function_arguments): Add location and arguments 8761 parameters. Use them. 8762 * c-common.h (check_builtin_function_arguments): Update declaration. 8763 8764 2016-05-03 Richard Biener <rguenther (a] suse.de> 8765 8766 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not 8767 allow call args to gimplify to SSA names. 8768 8769 2016-05-03 Marek Polacek <polacek (a] redhat.com> 8770 8771 * c-common.h (enum c_omp_region_type): Remove stray comma. 8772 8773 2016-05-02 Cesar Philippidis <cesar (a] codesourcery.com> 8774 8775 * c-common.h (enum c_omp_region_type): Define. 8776 8777 2016-05-02 Richard Sandiford <richard.sandiford (a] arm.com> 8778 8779 * c-common.c (shorten_compare): Use wi::to_wide. 8780 8781 2016-04-29 Cesar Philippidis <cesar (a] codesourcery.com> 8782 8783 PR middle-end/70626 8784 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument. 8785 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate 8786 reduction clauses in acc parallel loops. 8787 8788 2016-04-29 Marek Polacek <polacek (a] redhat.com> 8789 8790 PR c/70852 8791 * c-common.c (warn_for_memset): Check domain before accessing it. 8792 8793 2016-04-29 Dominik Vogt <vogt (a] linux.vnet.ibm.com> 8794 8795 PR/69089 8796 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the 8797 "aligned" attribute. 8798 8799 2016-04-28 Jason Merrill <jason (a] redhat.com> 8800 8801 * c-lex.c (c_common_has_attribute): Handle nodiscard. 8802 8803 2016-04-28 Eduard Sanou <dhole (a] openmailbox.org> 8804 Matthias Klose <doko (a] debian.org> 8805 8806 * c-common.c (get_source_date_epoch): New function, gets the environment 8807 variable SOURCE_DATE_EPOCH and parses it as long long with error 8808 handling. 8809 * c-common.h (get_source_date_epoch): Prototype. 8810 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch. 8811 8812 2015-04-27 Ryan Burn <contact (a] rnburn.com> 8813 8814 PR c++/69024 8815 PR c++/68997 8816 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage. 8817 (cilk_recognize_spawn): Renamed from recognize_spawn and change to 8818 external linkage. 8819 (cilk_detect_and_unwrap): Corresponding changes. 8820 (extract_free_variables): Don't extract free variables from 8821 AGGR_INIT_EXPR slot. 8822 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype. 8823 (cilk_recognize_spawn): Likewise. 8824 8825 2016-04-27 Bernd Schmidt <bschmidt (a] redhat.com> 8826 8827 * c.opt (Wmemset-elt-size): New option. 8828 * c-common.c (warn_for_memset): New function. 8829 * c-common.h (warn_for_memset): Declare. 8830 8831 2016-04-25 Jason Merrill <jason (a] redhat.com> 8832 8833 * c-common.c (handle_unused_attribute): Accept CONST_DECL. 8834 No longer static. 8835 * c-common.h: Declare it. 8836 * c-lex.c (c_common_has_attribute): Add maybe_unused. 8837 8838 2016-04-22 Jason Merrill <jason (a] redhat.com> 8839 8840 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for. 8841 8842 2016-04-20 Ilya Verbin <ilya.verbin (a] intel.com> 8843 8844 PR c++/69363 8845 * c-cilkplus.c (c_finish_cilk_clauses): Remove function. 8846 * c-common.h (c_finish_cilk_clauses): Remove declaration. 8847 8848 2016-04-18 Michael Matz <matz (a] suse.de> 8849 8850 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN 8851 and SET_DECL_ALIGN. 8852 8853 2016-04-17 Eric Botcazou <ebotcazou (a] adacore.com> 8854 8855 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any. 8856 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access 8857 to incomplete types. 8858 (dump_nested_type): Remove redundant tests and tidy up. 8859 (print_ada_declaration): Also set TREE_VISITED on the declaration of 8860 a type which is the typedef of an original type. 8861 8862 2016-04-15 Marek Polacek <polacek (a] redhat.com> 8863 8864 PR c/70651 8865 * c-common.c (build_va_arg): Change two asserts into errors and return 8866 error_mark_node. 8867 8868 2016-04-13 Marek Polacek <polacek (a] redhat.com> 8869 8870 PR c++/70639 8871 * c-indentation.c (should_warn_for_misleading_indentation): Bail out 8872 for switch statements, too. 8873 8874 2016-03-28 Jason Merrill <jason (a] redhat.com> 8875 8876 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for. 8877 8878 2016-03-23 Marek Polacek <polacek (a] redhat.com> 8879 8880 PR c++/69884 8881 * c.opt (Wignored-attributes): New option. 8882 8883 2016-03-22 David Malcolm <dmalcolm (a] redhat.com> 8884 8885 PR c/69993 8886 * c-indentation.c (warn_for_misleading_indentation): Rewrite the 8887 diagnostic text, reversing the order of the warning and note so 8888 that they appear in source order. 8889 8890 2016-03-17 Marek Polacek <polacek (a] redhat.com> 8891 8892 PR c/69407 8893 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch 8894 operations. 8895 8896 2016-03-14 Jason Merrill <jason (a] redhat.com> 8897 8898 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float. 8899 8900 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for. 8901 8902 2016-03-09 Richard Biener <rguenther (a] suse.de> 8903 8904 PR c/70143 8905 * c-common.c (strict_aliasing_warning): Add back 8906 alias_sets_conflict_p check. 8907 8908 2016-03-08 Jason Merrill <jason (a] redhat.com> 8909 8910 * c-opts.c (set_std_cxx1z): Don't enable concepts. 8911 8912 2016-03-04 David Malcolm <dmalcolm (a] redhat.com> 8913 8914 PR c/68187 8915 * c-indentation.c (get_visual_column): Move code to determine next 8916 tab stop to... 8917 (next_tab_stop): ...this new function. 8918 (line_contains_hash_if): Delete function. 8919 (detect_preprocessor_logic): Delete function. 8920 (get_first_nws_vis_column): New function. 8921 (detect_intervening_unindent): New function. 8922 (should_warn_for_misleading_indentation): Replace call to 8923 detect_preprocessor_logic with a call to 8924 detect_intervening_unindent. 8925 8926 2016-03-04 David Malcolm <dmalcolm (a] redhat.com> 8927 8928 PR c/68187 8929 * c-indentation.c (should_warn_for_misleading_indentation): When 8930 suppressing warnings about cases where the guard and body are on 8931 the same column, only use the first non-whitespace column in place 8932 of the guard token column when dealing with "else" clauses. 8933 When rejecting aligned BODY and NEXT, loosen the requirement 8934 from equality with the first non-whitespace of guard to simply 8935 that they not be indented relative to it. 8936 8937 2016-03-04 Richard Biener <rguenther (a] suse.de> 8938 8939 PR c++/70054 8940 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of 8941 instead of alias_sets_conflict_p. 8942 8943 2016-03-01 Marek Polacek <polacek (a] redhat.com> 8944 8945 PR c++/69795 8946 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than 8947 any DECL. 8948 8949 2016-02-22 Martin Sebor <msebor (a] redhat.com> 8950 8951 PR middle-end/69780 8952 * c-common.c (check_builtin_function_arguments): Validate and 8953 reject invalid arguments to __builtin_alloca_with_align. 8954 8955 2016-02-20 Mark Wielaard <mjw (a] redhat.com> 8956 8957 PR c/28901 8958 * c.opt (Wunused-const-variable): Turn into Alias for... 8959 (Wunused-const-variable=): New option. 8960 8961 2016-02-19 Bernd Edlinger <bernd.edlinger (a] hotmail.de> 8962 8963 PR c++/69865 8964 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from 8965 here... 8966 (c_common_init_options): ...to here. 8967 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99. 8968 8969 2016-02-19 Jakub Jelinek <jakub (a] redhat.com> 8970 8971 PR c++/69826 8972 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE. 8973 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for 8974 flag_preprocess_only. 8975 8976 2016-02-16 Jakub Jelinek <jakub (a] redhat.com> 8977 8978 PR c/69835 8979 * c.opt (Wnonnull-compare): Enable for -Wall. 8980 8981 2016-02-15 Jakub Jelinek <jakub (a] redhat.com> 8982 8983 PR c++/69797 8984 * c-common.c (sync_resolve_size): Diagnose too few arguments 8985 even when params is non-NULL empty vector. 8986 8987 2016-02-08 Bernd Schmidt <bschmidt (a] redhat.com> 8988 8989 PR target/60410 8990 * c.opt (fshort-double): Remove. 8991 8992 2016-02-05 Martin Sebor <msebor (a] redhat.com> 8993 8994 PR c++/69662 8995 * c.opt (Warning options): Update -Wplacement-new to take 8996 an optional argument. 8997 8998 2016-02-01 Jakub Jelinek <jakub (a] redhat.com> 8999 9000 PR preprocessor/69543 9001 PR c/69558 9002 * c-pragma.c (handle_pragma_diagnostic): Pass input_location 9003 instead of loc to control_warning_option. 9004 9005 2016-02-01 Nathan Sidwell <nathan (a] codesourcery.com> 9006 9007 * c.opt (fopenacc-dim=): New option. 9008 9009 2016-01-27 Ryan Burn <contact (a] rnburn.com> 9010 9011 PR cilkplus/69267 9012 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use 9013 gimplify_arg. Removed superfluous post_p argument. 9014 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed 9015 superfluous post_p argument. 9016 * c-gimplify.c (c_gimplify_expr): Likewise. 9017 9018 2016-01-26 David Malcolm <dmalcolm (a] redhat.com> 9019 9020 PR other/69006 9021 * c-opts.c (c_diagnostic_finalizer): Replace invocation of 9022 pp_newline_and_flush with pp_flush. 9023 9024 2016-01-20 Martin Sebor <msebor (a] redhat.com> 9025 9026 PR c/69405 9027 * c-common.c (sync_resolve_size): Avoid printing diagnostic about 9028 an incompatible argument when the argument isn't a valid tree node. 9029 9030 2016-01-18 Jason Merrill <jason (a] redhat.com> 9031 9032 PR c++/68767 9033 * c-common.c (check_function_arguments_recurse): Fold the whole 9034 COND_EXPR, not just the condition. 9035 9036 2016-01-18 Tom de Vries <tom (a] codesourcery.com> 9037 9038 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION, 9039 classify as loop clause. 9040 9041 2016-01-15 Jakub Jelinek <jakub (a] redhat.com> 9042 9043 PR bootstrap/68271 9044 * c-pragma.c (c_register_pragma_1): Adjust comment to note that 9045 C++ FE no longer has limit on number of pragmas. 9046 9047 2015-01-14 Ryan Burn <contact (a] rnburn.com> 9048 9049 PR c++/69048 9050 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr 9051 to add missing cleanup point. 9052 9053 2016-01-14 David Malcolm <dmalcolm (a] redhat.com> 9054 9055 PR c++/68819 9056 * c-indentation.c (get_visual_column): Add location_t param. 9057 Handle the column number being zero by effectively disabling the 9058 warning, with an "inform". 9059 (should_warn_for_misleading_indentation): Add location_t argument 9060 for all uses of get_visual_column. 9061 9062 2016-01-10 Patrick Palka <ppalka (a] gcc.gnu.org> 9063 9064 PR c++/69029 9065 * c-indentation.c (should_warn_for_misleading_indentation): 9066 Don't warn about do-while statements. 9067 9068 2016-01-07 Martin Sebor <msebor (a] redhat.com> 9069 9070 PR c/68966 9071 * c-common.c (sync_resolve_size): Reject first argument when it's 9072 a pointer to _Bool. 9073 9074 2016-01-05 David Malcolm <dmalcolm (a] redhat.com> 9075 9076 PR c/69122 9077 * c-indentation.c (get_visual_column): Remove default argument. 9078 (should_warn_for_misleading_indentation): For the multiline case, 9079 update call to get_visual_column for next_stmt_exploc so that it 9080 captures the location of the first non-whitespace character in the 9081 relevant line. Don't issue warnings if there is non-whitespace 9082 before the next statement. 9083 9084 2016-01-04 Jakub Jelinek <jakub (a] redhat.com> 9085 9086 Update copyright years. 9087 9088 2015-12-21 David Malcolm <dmalcolm (a] redhat.com> 9089 9090 * c-common.c (binary_op_error): Convert first param from 9091 location_t to rich_location * and use it when emitting an error. 9092 * c-common.h (binary_op_error): Convert first param from 9093 location_t to rich_location *. 9094 9095 2015-12-16 David Malcolm <dmalcolm (a] redhat.com> 9096 9097 * c-common.h (conflict_marker_get_final_tok_kind): New prototype. 9098 * c-lex.c (conflict_marker_get_final_tok_kind): New function. 9099 9100 2015-12-15 Ilya Verbin <ilya.verbin (a] intel.com> 9101 9102 * c-common.c (c_common_attribute_table): Handle "omp declare target 9103 link" attribute. 9104 9105 2015-12-14 Jakub Jelinek <jakub (a] redhat.com> 9106 9107 PR c/68833 9108 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option. 9109 9110 2014-12-12 Tobias Burnus <burnus (a] net-b.de> 9111 9112 PR fortran/68815 9113 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining 9114 specifiers (%d, %i,%u and %c). 9115 9116 2015-12-10 David Malcolm <dmalcolm (a] redhat.com> 9117 9118 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++. 9119 9120 2015-12-08 Jakub Jelinek <jakub (a] redhat.com> 9121 9122 PR c/48088 9123 PR c/68657 9124 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning. 9125 * c-pragma.c (handle_pragma_diagnostic): Adjust 9126 control_warning_option caller. 9127 9128 2015-12-07 David Malcolm <dmalcolm (a] redhat.com> 9129 9130 * c-common.c (c_cpp_error): Update for change to 9131 rich_location::set_range. 9132 9133 2015-12-04 Paolo Bonzini <bonzini (a] gnu.org> 9134 9135 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if 9136 shifting 1 out of the sign bit. 9137 9138 2015-12-04 Kirill Yukhin <kirill.yukhin (a] intel.com> 9139 9140 * c-common.c (c_common_attribute_table[]): Update max arguments 9141 count for "simd" attribute. 9142 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments. 9143 9144 2015-12-03 Jakub Jelinek <jakub (a] redhat.com> 9145 9146 PR preprocessor/57580 9147 * c-ppoutput.c (print): Change printed field to bool. 9148 Move src_file last for smaller padding. 9149 (init_pp_output): Set print.printed to false instead of 0. 9150 (scan_translation_unit): Fix up formatting. Set print.printed 9151 to true after printing something other than newline. 9152 (scan_translation_unit_trad): Set print.printed to true instead of 1. 9153 (maybe_print_line_1): Set print.printed to false instead of 0. 9154 (print_line_1): Likewise. 9155 (do_line_change): Set print.printed to true instead of 1. 9156 (cb_define, dump_queued_macros, cb_include, cb_def_pragma, 9157 dump_macro): Set print.printed to false after printing newline. 9158 9159 2015-12-02 Jason Merrill <jason (a] redhat.com> 9160 9161 * c-common.c (fold_for_warn): New. 9162 (warn_logical_operator, warn_tautological_cmp) 9163 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it. 9164 9165 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold) 9166 (c_fully_fold_internal, decl_constant_value_for_optimization): 9167 Move to c/c-fold.c. 9168 * c-common.h: Don't declare decl_constant_value_for_optimization. 9169 9170 2015-12-02 Joseph Myers <joseph (a] codesourcery.com> 9171 9172 PR c/68162 9173 * c-common.h (c_build_qualified_type): Add extra default 9174 arguments. 9175 9176 2015-12-01 Julian Brown <julian (a] codesourcery.com> 9177 Cesar Philippidis <cesar (a] codesourcery.com> 9178 James Norris <James_Norris (a] mentor.com> 9179 9180 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA. 9181 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA. 9182 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE. 9183 9184 2015-11-30 Eric Botcazou <ebotcazou (a] adacore.com> 9185 9186 * c-ada-spec.c (print_ada_macros): Remove redundant blank line. 9187 (decl_sloc_common): Delete and move bulk of processing to... 9188 (decl_sloc): ...here. 9189 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE. 9190 (dump_ada_double_name): Remove S parameter and compute the suffix. 9191 (dump_ada_array_type): Add PARENT parameter. Simplify computation of 9192 element type and deal with an anonymous one. 9193 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro. 9194 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type 9195 and remove reference to QUAL_UNION_TYPE. 9196 (dump_nested_types): Make 2 passes on the fields and move bulk to... 9197 (dump_nested_type): ...here. New function extracted from above. 9198 Generate a full declaration for anonymous element type of arrays. 9199 (print_ada_declaration): Really skip anonymous declarations. Remove 9200 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type. 9201 Clean up processing of declarations of array types and objects. 9202 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE. 9203 Remove obsolete code and tidy up. 9204 9205 2015-11-29 Jan Hubicka <hubicka (a] ucw.cz> 9206 9207 PR c/67581 9208 * c-common.c (handle_transparent_union_attribute): Update 9209 also type variants. 9210 9211 2015-11-27 Martin Liska <mliska (a] suse.cz> 9212 9213 PR c++/68312 9214 * array-notation-common.c (cilkplus_extract_an_triplets): 9215 Release vector of vectors. 9216 * cilk.c (gimplify_cilk_spawn): Free allocated memory. 9217 9218 2015-11-26 Eric Botcazou <ebotcazou (a] adacore.com> 9219 9220 PR c++/68527 9221 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node. 9222 (print_ada_struct_decl): Likewise. 9223 9224 2015-11-23 Igor Zamyatin <igor.zamyatin (a] intel.com> 9225 9226 PR c++/68001 9227 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error. 9228 * cilk.c (recognize_spawn): Determine location in a more precise 9229 way. 9230 9231 2015-11-19 Jason Merrill <jason (a] redhat.com> 9232 9233 * c-common.c (shorten_compare): But look through macros from 9234 system headers. 9235 9236 2015-11-18 Jason Merrill <jason (a] redhat.com> 9237 9238 * c-common.c (shorten_compare): Don't -Wtype-limits if the 9239 non-constant operand comes from a macro. 9240 9241 2015-11-17 Jason Merrill <jason (a] redhat.com> 9242 9243 PR bootstrap/68346 9244 * c-common.c (warn_tautological_cmp): Fold before checking for 9245 constants. 9246 9247 2015-11-16 Marek Polacek <polacek (a] redhat.com> 9248 9249 PR c++/68362 9250 * c-common.c (check_case_bounds): Fold low and high cases. 9251 9252 2015-11-16 Marek Polacek <polacek (a] redhat.com> 9253 9254 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P. 9255 * c-common.c (c_common_get_alias_set): Likewise. 9256 (handle_visibility_attribute): Likewise. 9257 9258 2015-11-16 Kirill Yukhin <kirill.yukhin (a] intel.com> 9259 9260 * c-common.c (handle_simd_attribute): New. 9261 (struct attribute_spec): Add entry for "simd". 9262 (handle_simd_attribute): New. 9263 9264 2015-11-13 Kai Tietz <ktietz70 (a] googlemail.com> 9265 9266 * c-lex.c (interpret_float): Use fold_convert. 9267 9268 2015-11-13 David Malcolm <dmalcolm (a] redhat.com> 9269 9270 * c-common.c (c_fully_fold_internal): Capture existing souce_range, 9271 and store it on the result. 9272 * c-opts.c (c_common_init_options): Set 9273 global_dc->colorize_source_p. 9274 9275 2015-11-12 James Norris <jnorris (a] codesourcery.com> 9276 Joseph Myers <joseph (a] codesourcery.com> 9277 9278 * c-pragma.c (oacc_pragmas): Add entry for declare directive. 9279 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE. 9280 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and 9281 PRAGMA_OACC_CLAUSE_LINK. 9282 9283 2015-11-11 Marek Polacek <polacek (a] redhat.com> 9284 9285 PR c/68107 9286 PR c++/68266 9287 * c-common.c (valid_array_size_p): New function. 9288 * c-common.h (valid_array_size_p): Declare. 9289 9290 2015-11-11 Dominique d'Humieres <dominiq (a] lps.ens.fr> 9291 9292 PR bootstrap/68271 9293 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256. 9294 9295 2015-11-11 Andrew MacLeod <amacleod (a] redhat.com> 9296 9297 * array-notation-common.c: Remove unused header files. 9298 * c-ada-spec.c: Likewise. 9299 * c-cilkplus.c: Likewise. 9300 * c-common.c: Likewise. 9301 * c-cppbuiltin.c: Likewise. 9302 * c-dump.c: Likewise. 9303 * c-format.c: Likewise. 9304 * c-gimplify.c: Likewise. 9305 * c-indentation.c: Likewise. 9306 * c-lex.c: Likewise. 9307 * c-omp.c: Likewise. 9308 * c-opts.c: Likewise. 9309 * c-pch.c: Likewise. 9310 * c-ppoutput.c: Likewise. 9311 * c-pragma.c: Likewise. 9312 * c-pretty-print.c: Likewise. 9313 * c-semantics.c: Likewise. 9314 * c-ubsan.c: Likewise. 9315 * cilk.c: Likewise. 9316 * stub-objc.c: Likewise. 9317 9318 2015-11-09 Thomas Schwinge <thomas (a] codesourcery.com> 9319 Cesar Philippidis <cesar (a] codesourcery.com> 9320 James Norris <jnorris (a] codesourcery.com> 9321 Julian Brown <julian (a] codesourcery.com> 9322 Nathan Sidwell <nathan (a] codesourcery.com> 9323 9324 * c-pragma.c (oacc_pragmas): Add "routine". 9325 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE. 9326 9327 2015-11-08 Eric Botcazou <ebotcazou (a] adacore.com> 9328 9329 * c-common.c (c_common_attributes): Add scalar_storage_order. 9330 (handle_scalar_storage_order_attribute): New function. 9331 * c-pragma.c (global_sso): New variable. 9332 (maybe_apply_pragma_scalar_storage_order): New function. 9333 (handle_pragma_scalar_storage_order): Likewise. 9334 (init_pragma): Register scalar_storage_order. 9335 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare. 9336 * c.opt (Wscalar-storage-order): New warning. 9337 (fsso-struct=): New option. 9338 9339 2015-11-08 Martin Sebor <msebor (a] redhat.com> 9340 9341 * c.opt (Wplacement-new): Add a period to the end of a sentence. 9342 9343 2015-11-07 Richard Sandiford <richard.sandiford (a] arm.com> 9344 9345 * c-common.c: Don't undef DEF_BUILTIN. 9346 9347 2015-11-06 David Malcolm <dmalcolm (a] redhat.com> 9348 9349 * c-common.c (c_cpp_error): Convert parameter from location_t to 9350 rich_location *. Eliminate the "column_override" parameter and 9351 the call to diagnostic_override_column. 9352 Update the "done_lexing" clause to set range 0 9353 on the rich_location, rather than overwriting a location_t. 9354 * c-common.h (c_cpp_error): Convert parameter from location_t to 9355 rich_location *. Eliminate the "column_override" parameter. 9356 9357 2015-11-05 Cesar Philippidis <cesar (a] codesourcery.com> 9358 Thomas Schwinge <thomas (a] codesourcery.com> 9359 James Norris <jnorris (a] codesourcery.com> 9360 9361 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR, 9362 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION 9363 clauses with parallel and kernels and loops. 9364 * c-pragma.h (enum pragma_omp_clause): Add entries for 9365 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}. 9366 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS, 9367 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO, 9368 INDEPENDENT,SEQ}. 9369 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}. 9370 9371 2015-11-05 Martin Sebor <msebor (a] redhat.com> 9372 9373 PR c++/67942 9374 * c.opt (-Wplacement-new): New option. 9375 9376 2015-11-05 Jakub Jelinek <jakub (a] redhat.com> 9377 9378 * c-common.h (c_finish_omp_atomic): Add TEST argument. 9379 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes. 9380 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call 9381 save_expr or create_tmp_var* if TEST is true. 9382 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always. 9383 Don't call add_stmt here. 9384 (struct c_omp_check_loop_iv_data): New type. 9385 (c_omp_check_loop_iv_r, c_omp_check_loop_iv, 9386 c_omp_check_loop_iv_exprs): New functions. 9387 (c_omp_split_clauses): Adjust for lastprivate being allowed on 9388 distribute. 9389 (c_omp_declare_simd_clauses_to_numbers): Change 9390 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers. 9391 (c_omp_declare_simd_clauses_to_decls): Similarly change those 9392 from numbers to PARM_DECLs. 9393 9394 2015-11-04 Mikhail Maltsev <maltsevm (a] gmail.com> 9395 9396 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use 9397 flag_checking. 9398 9399 2015-11-03 Bernd Schmidt <bschmidt (a] redhat.com> 9400 9401 PR c++-common/67882 9402 * c-common.h (fold_offsetof_1): Add argument. 9403 * c-common.c (fold_offsetof_1): Diagnose more invalid 9404 offsetof expressions that reference elements past the end of 9405 an array. 9406 9407 2015-11-03 Thomas Schwinge <thomas (a] codesourcery.com> 9408 Chung-Lin Tang <cltang (a] codesourcery.com> 9409 9410 * c-pragma.c (oacc_pragmas): Add "atomic". 9411 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC. 9412 9413 2015-10-30 Evgeny Stupachenko <evstupac (a] gmail.com> 9414 9415 * c-common.c (handle_target_clones_attribute): New. 9416 (c_common_attribute_table): Add handle_target_clones_attribute. 9417 (handle_always_inline_attribute): Add check on target_clones attribute. 9418 (handle_target_attribute): Ditto. 9419 9420 2015-10-29 Andrew MacLeod <amacleod (a] redhat.com> 9421 9422 * array-notation-common.c: Reorder #include's and remove duplicates. 9423 * c-ada-spec.c: Likewise. 9424 * c-cilkplus.c: Likewise. 9425 * c-common.c: Likewise. 9426 * c-cppbuiltin.c: Likewise. 9427 * c-dump.c: Likewise. 9428 * c-format.c: Likewise. 9429 * c-gimplify.c: Likewise. 9430 * c-indentation.c: Likewise. 9431 * c-lex.c: Likewise. 9432 * c-omp.c: Likewise. 9433 * c-opts.c: Likewise. 9434 * c-pch.c: Likewise. 9435 * c-ppoutput.c: Likewise. 9436 * c-pragma.c: Likewise. 9437 * c-pretty-print.c: Likewise. 9438 * c-semantics.c: Likewise. 9439 * c-ubsan.c: Likewise. 9440 * cilk.c: Likewise. 9441 * stub-objc.c: Likewise. 9442 9443 2015-10-28 Jason Merrill <jason (a] redhat.com> 9444 9445 * c-common.c (pointer_int_sum): Fold the MULT_EXPR. 9446 9447 2015-10-27 Thomas Schwinge <thomas (a] codesourcery.com> 9448 James Norris <jnorris (a] codesourcery.com> 9449 Cesar Philippidis <cesar (a] codesourcery.com> 9450 9451 PR c/64765 9452 PR c/64880 9453 * c-common.h (c_oacc_split_loop_clauses): Declare function. 9454 * c-omp.c (c_oacc_split_loop_clauses): New function. 9455 9456 2015-10-21 Martin Sebor <msebor (a] redhat.com> 9457 9458 PR driver/68043 9459 * c.opt: End each sentence that describes an option with a period. 9460 9461 2015-10-20 Marek Polacek <polacek (a] redhat.com> 9462 9463 * array-notation-common.c (is_cilkplus_vector_p): Define. 9464 * c-common.h (is_cilkplus_vector_p): Declare. 9465 9466 2015-10-20 Marek Polacek <polacek (a] redhat.com> 9467 9468 * c.opt (std=gnu++11): Do not describe as experimental. 9469 (std=gnu++14): Likewise. 9470 9471 2015-10-19 Jason Merrill <jason (a] redhat.com> 9472 9473 * c-cppbuiltin.c (c_cpp_builtins): Define 9474 __cpp_nontype_template_args. 9475 9476 2015-10-19 Jason Merrill <jason (a] redhat.com> 9477 9478 * c-cppbuiltin.c (c_cpp_builtins): Define 9479 __cpp_enumerator_attributes, __cpp_fold_expressions, 9480 __cpp_unicode_characters. 9481 9482 2015-10-13 Jakub Jelinek <jakub (a] redhat.com> 9483 Aldy Hernandez <aldyh (a] redhat.com> 9484 9485 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9, 9486 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11. 9487 (c_define_builtins): Likewise. 9488 * c-common.h (enum c_omp_clause_split): Add 9489 C_OMP_CLAUSE_SPLIT_TASKLOOP. 9490 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument. 9491 (c_finish_omp_for): Add ORIG_DECLV argument. 9492 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as 9493 201511 instead of 201307. 9494 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set 9495 OMP_CRITICAL_CLAUSES to it. 9496 (c_finish_omp_ordered): Add CLAUSES argument, set 9497 OMP_ORDERED_CLAUSES to it. 9498 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS 9499 to it if OMP_FOR. Clear DECL_INITIAL on the IVs. 9500 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite 9501 constructs and new OpenMP 4.5 clauses. Clear 9502 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add 9503 verification code. 9504 * c-pragma.c (omp_pragmas_simd): Add taskloop. 9505 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP. 9506 (enum pragma_omp_clause): Add 9507 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR} 9508 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}. 9509 9510 2015-10-05 Richard Sandiford <richard.sandiford (a] arm.com> 9511 9512 * c-lex.c (interpret_float): Use real_equal instead of 9513 REAL_VALUES_EQUAL. 9514 9515 2015-10-04 Jason Merrill <jason (a] redhat.com> 9516 9517 Implement N4514, C++ Extensions for Transactional Memory. 9518 * c-common.c (c_common_reswords): Add C++ TM TS keywords. 9519 (c_common_attribute_table): Add transaction_safe_dynamic. 9520 transaction_safe now affects type identity. 9521 (handle_tm_attribute): Handle transaction_safe_dynamic. 9522 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT, 9523 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED. 9524 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED. 9525 (D_TRANSMEM): New. 9526 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory. 9527 * c-pretty-print.c (pp_c_attributes_display): Don't print 9528 transaction_safe in C++. 9529 9530 2015-10-02 Marek Polacek <polacek (a] redhat.com> 9531 9532 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore. 9533 9534 2015-10-02 Marek Polacek <polacek (a] redhat.com> 9535 9536 PR c/64249 9537 * c-common.c (warn_duplicated_cond_add_or_warn): New function. 9538 * c-common.h (warn_duplicated_cond_add_or_warn): Declare. 9539 * c.opt (Wduplicated-cond): New option. 9540 9541 2015-10-01 Joseph Myers <joseph (a] codesourcery.com> 9542 9543 * c.opt (std=c11): Do not describe as experimental. 9544 (std=gnu11): Likewise. 9545 (std=iso9899:2011): Likewise. 9546 9547 2015-09-28 Nathan Sidwell <nathan (a] codesourcery.com> 9548 9549 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New. 9550 (DEF_FUNCTION_TYPE_VAR_11): Delete. 9551 9552 2015-09-25 Marek Polacek <polacek (a] redhat.com> 9553 9554 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code. 9555 (ubsan_instrument_shift): Likewise. 9556 9557 2015-09-25 Marek Polacek <polacek (a] redhat.com> 9558 9559 PR sanitizer/64906 9560 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1. 9561 9562 2015-09-24 Patrick Palka <ppalka (a] gcc.gnu.org> 9563 9564 * c-indentation.c (should_warn_for_misleading_indentation): 9565 Compare next_stmt_vis_column with guard_line_first_nws instead 9566 of with guard_line_vis_column. 9567 9568 2015-09-23 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 9569 9570 PR c/49654 9571 PR c/49655 9572 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning 9573 options and options not valid for the current language. 9574 9575 2015-09-22 Patrick Palka <ppalka (a] gcc.gnu.org> 9576 9577 * c-indentation.c (should_warn_for_misleading_indentation): 9578 Float out and consolidate the calls to get_visual_column that 9579 are passed guard_exploc as an argument. Compare 9580 next_stmt_vis_column with guard_line_first_nws instead of with 9581 body_line_first_nws. 9582 9583 2015-09-22 Nathan Sidwell <nathan (a] codesourcery.com> 9584 9585 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates, 9586 Wnamespaces): New C++ warnings. 9587 9588 2015-09-22 Jason Merrill <jason (a] redhat.com> 9589 9590 * c-common.h (abi_compat_version_crosses): New. 9591 (warn_abi_version): Declare. 9592 * c-common.c: Define it. 9593 * c-opts.c (c_common_post_options): Handle it. 9594 flag_abi_compat_version defaults to 8. 9595 9596 2015-09-21 Ville Voutilainen <ville.voutilainen (a] gmail.com> 9597 9598 Complete the implementation of N4230, Nested namespace definition. 9599 * c-cppbuiltin.c: Add __cpp_namespace_attributes and 9600 __cpp_nested_namespace_definitions. 9601 9602 2015-09-18 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 9603 9604 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return. 9605 9606 2015-09-18 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 9607 9608 * c-pragma.c (handle_pragma_diagnostic): Use explicit location 9609 when warning. 9610 * c-pragma.h (pragma_lex): Add optional loc argument. 9611 9612 2015-09-16 Mikhail Maltsev <maltsevm (a] gmail.com> 9613 9614 * c-format.c (check_format_arg): Adjust to use common block size in all 9615 object pools. 9616 9617 2015-09-15 David Malcolm <dmalcolm (a] redhat.com> 9618 9619 * c-format.c (location_from_offset): Update for change in 9620 signature of location_get_source_line. 9621 * c-indentation.c (get_visual_column): Likewise. 9622 (line_contains_hash_if): Likewise. 9623 9624 2015-09-14 Marek Polacek <polacek (a] redhat.com> 9625 9626 * c-opts.c (c_common_post_options): Set C++ standard earlier, before 9627 setting various warnings. 9628 9629 2015-09-14 Marek Polacek <polacek (a] redhat.com> 9630 9631 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting 9632 a negative value. 9633 9634 2015-09-11 Mark Wielaard <mjw (a] redhat.com> 9635 9636 PR c/28901 9637 * c.opt (Wunused-variable): Option from common.opt. 9638 (Wunused-const-variable): New option. 9639 9640 2015-09-09 Paolo Carlini <paolo.carlini (a] oracle.com> 9641 9642 PR c++/53184 9643 * c.opt ([Wsubobject-linkage]): Add. 9644 9645 2015-09-03 Martin Sebor <msebor (a] redhat.com> 9646 9647 PR c/66516 9648 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new 9649 functions. 9650 * c-common.c (reject_gcc_builtin): Define. 9651 9652 2015-09-02 Balaji V. Iyer <balaji.v.iyer (a] intel.com> 9653 9654 PR middle-end/60586 9655 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New 9656 prototype. 9657 * c-gimplify.c (c_gimplify_expr): Added a call to the function 9658 cilk_gimplify_call_params_in_spawned_fn. 9659 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function. 9660 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR 9661 unwrapping. 9662 9663 2015-08-25 Marek Polacek <polacek (a] redhat.com> 9664 9665 PR middle-end/67330 9666 * c-common.c (handle_weak_attribute): Don't check whether the 9667 visibility can be changed here. 9668 9669 2015-08-22 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 9670 9671 * c-lex.c (c_lex_with_flags): Use explicit locations. 9672 9673 2015-08-18 Trevor Saunders <tbsaunde (a] tbsaunde.org> 9674 9675 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h, 9676 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless 9677 9678 2015-08-18 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 9679 9680 PR middle-end/36757 9681 * c-common.c (check_builtin_function_arguments): Add check 9682 for BUILT_IN_SIGNBIT argument. 9683 9684 2015-08-18 Paolo Carlini <paolo.carlini (a] oracle.com> 9685 9686 PR c++/67160 9687 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value 9688 in c++1z mode. 9689 9690 2015-08-17 Marek Polacek <polacek (a] redhat.com> 9691 9692 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing 9693 with whitespaces before qualifier names. 9694 9695 2015-08-12 Marek Polacek <polacek (a] redhat.com> 9696 9697 PR c++/55095 9698 * c-common.c (maybe_warn_shift_overflow): Properly handle 9699 left-shifting 1 into the sign bit. 9700 9701 2015-08-09 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 9702 9703 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy. 9704 9705 2015-08-06 Andrew Sutton <andrew.n.sutton (a] gmail.com> 9706 Braden Obrzut <admin (a] maniacsvault.net> 9707 Jason Merrill <jason (a] redhat.com> 9708 9709 Add C++ Concepts TS support. 9710 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires. 9711 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES. 9712 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New. 9713 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts. 9714 * c-opts.c (set_std_cxx1z): Set flag_concepts. 9715 * c.opt (fconcepts): New. 9716 9717 2015-08-02 Martin Sebor <msebor (a] redhat.com> 9718 9719 * c.opt (-Wframe-address): New warning option. 9720 9721 2015-08-02 Patrick Palka <ppalka (a] gcc.gnu.org> 9722 9723 * c-indentation.c (should_warn_for_misleading_indentation): 9724 Improve heuristics. 9725 9726 2015-08-02 Patrick Palka <ppalka (a] gcc.gnu.org> 9727 9728 * c-indentation.c (get_visual_column): Add parameter first_nws, 9729 use it. Update comment documenting the function. 9730 (is_first_nonwhitespace_on_line): Remove. 9731 (should_warn_for_misleading_indentation): Replace usage of 9732 of is_first_nonwhitespace_on_line with get_visual_column. 9733 9734 2015-08-02 Patrick Palka <ppalka (a] gcc.gnu.org> 9735 9736 * c-indentation.h (struct token_indent_info): Define. 9737 (get_token_indent_info): Define. 9738 (warn_for_misleading_information): Declare. 9739 * c-common.h (warn_for_misleading_information): Remove. 9740 * c-identation.c (warn_for_misleading_indentation): 9741 Change declaration to take three token_indent_infos. Adjust 9742 accordingly. 9743 * c-identation.c (should_warn_for_misleading_indentation): 9744 Likewise. Bail out early if the body is a compound statement. 9745 (guard_tinfo_to_string): Define. 9746 9747 2015-07-30 Jason Merrill <jason (a] redhat.com> 9748 9749 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print 9750 '*' for reference decay. 9751 9752 2015-07-30 Marek Polacek <polacek (a] redhat.com> 9753 9754 * c-common.c (warn_tautological_cmp): Bail for float types. 9755 9756 2015-07-27 Marek Polacek <polacek (a] redhat.com> 9757 9758 PR bootstrap/67030 9759 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion. 9760 9761 2015-07-27 Marek Polacek <polacek (a] redhat.com> 9762 9763 PR c++/66555 9764 PR c/54979 9765 * c-common.c (find_array_ref_with_const_idx_r): New function. 9766 (warn_tautological_cmp): New function. 9767 * c-common.h (warn_tautological_cmp): Declare. 9768 * c.opt (Wtautological-compare): New option. 9769 9770 2015-07-23 Marek Polacek <polacek (a] redhat.com> 9771 9772 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout. 9773 (ubsan_instrument_shift): Likewise. 9774 9775 2015-07-23 Marek Polacek <polacek (a] redhat.com> 9776 9777 PR sanitizer/66908 9778 * c-ubsan.c: Include gimplify.h. 9779 (ubsan_instrument_division): Unshare OP0 and OP1. 9780 (ubsan_instrument_shift): Likewise. 9781 9782 2015-07-20 Marek Polacek <polacek (a] redhat.com> 9783 Richard Sandiford <richard.sandiford (a] arm.com> 9784 9785 PR c++/55095 9786 * c-common.c (c_fully_fold_internal): Warn about left shift overflows. 9787 Use EXPR_LOC_OR_LOC. 9788 (maybe_warn_shift_overflow): New function. 9789 * c-common.h (maybe_warn_shift_overflow): Declare. 9790 * c-opts.c (c_common_post_options): Set warn_shift_overflow. 9791 * c.opt (Wshift-overflow): New option. 9792 9793 2015-07-16 Martin Liska <mliska (a] suse.cz> 9794 9795 * c-format.c (static void check_format_info_main): Use 9796 object_allocator instead of pool_allocator. 9797 (check_format_arg): Likewise. 9798 (check_format_info_main): Likewise. 9799 9800 2015-07-15 Andrew MacLeod <amacleod (a] redhat.com> 9801 9802 * c-opts.c: Remove multiline #include comment. 9803 9804 2015-07-12 Aldy Hernandez <aldyh (a] redhat.com> 9805 9806 * c-common.c: Fix double word typos. 9807 9808 2015-07-10 Eric Botcazou <ebotcazou (a] adacore.com> 9809 9810 * c-ada-spec.h (cpp_operation): Revert latest change. 9811 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit 9812 constructors and destructors. 9813 9814 2015-07-09 Andrew MacLeod <amacleod (a] redhat.com> 9815 9816 * c-common.h: Adjust includes for flags.h changes. 9817 * stub-objc.c: Likewise. 9818 9819 2015-07-08 Eric Botcazou <ebotcazou (a] adacore.com> 9820 9821 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR. 9822 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors. 9823 9824 2015-07-08 Jakub Jelinek <jakub (a] redhat.com> 9825 9826 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses 9827 are to be removed, return NULL rather than original clauses list. 9828 9829 2015-07-07 Andrew MacLeod <amacleod (a] redhat.com> 9830 9831 * array-notation-common.c: Adjust includes. 9832 * c-ada-spec.c: Likewise. 9833 * c-cilkplus.c: Likewise. 9834 * c-common.h: Likewise. 9835 * c-cppbuiltin.c: Likewise. 9836 * c-dump.c: Likewise. 9837 * c-format.c: Likewise. 9838 * c-gimplify.c: Likewise. 9839 * c-indentation.c: Likewise. 9840 * c-lex.c: Likewise. 9841 * c-omp.c: Likewise. 9842 * c-opts.c: Likewise. 9843 * c-pch.c: Likewise. 9844 * c-ppoutput.c: Likewise. 9845 * c-pragma.c: Likewise. 9846 * c-pretty-print.c: Likewise. 9847 * c-semantics.c: Likewise. 9848 * c-ubsan.c: Likewise. 9849 * cilk.c: Likewise. 9850 * stub-objc.c: Likewise. 9851 9852 2015-07-07 Eric Botcazou <ebotcazou (a] adacore.com> 9853 9854 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR. 9855 * c-ada-spec.c (print_ada_declaration): Skip move constructors. 9856 9857 2015-07-01 Jason Merrill <jason (a] redhat.com> 9858 9859 * c-common.h (D_CXX11): Rename from D_CXX0X. 9860 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X. 9861 * c-common.c: Adjust. 9862 9863 * c-opts.c (c_common_post_options): Default to C++14. 9864 9865 * c-opts.c (c_common_post_options): Highest ABI level is now 10. 9866 9867 2015-06-30 Edward Smith-Rowland <3dw4rd (a] verizon.net> 9868 9869 Implement N4197 - Adding u8 character literals 9870 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like 9871 CPP_CHAR. 9872 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and 9873 CPP_UTF8CHAR_USERDEF tokens. 9874 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF 9875 and CPP_UTF8CHAR tokens. 9876 (lex_charconst): Treat CPP_UTF8CHAR token. 9877 9878 2015-06-29 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 9879 9880 PR fortran/66605 9881 * c-common.c (do_warn_unused_parameter): Move here. 9882 * c-common.h (do_warn_unused_parameter): Declare. 9883 9884 2015-06-29 Marek Polacek <polacek (a] redhat.com> 9885 9886 PR c/66322 9887 * c-common.c (check_case_bounds): Add bool * parameter. Set 9888 OUTSIDE_RANGE_P. 9889 (c_add_case_label): Add bool * parameter. Pass it down to 9890 check_case_bounds. 9891 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool 9892 warning here. 9893 * c-common.h (c_add_case_label, c_do_switch_warnings): Update 9894 declarations. 9895 9896 2015-06-27 Marek Polacek <polacek (a] redhat.com> 9897 9898 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P 9899 or VECTOR_INTEGER_TYPE_P throughout. 9900 * c-gimplify.c: Likewise. 9901 9902 2015-06-26 Marek Polacek <polacek (a] redhat.com> 9903 9904 * array-notation-common.c (find_rank): Use INDIRECT_REF_P. 9905 * c-common.c (c_fully_fold_internal): Likewise. 9906 (c_alignof_expr): Likewise. 9907 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise. 9908 * c-ubsan.c (ubsan_instrument_bounds): Likewise. 9909 * cilk.c (create_parm_list): Likewise. 9910 9911 2015-06-26 Marek Polacek <polacek (a] redhat.com> 9912 9913 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P. 9914 9915 2015-06-25 Andrew MacLeod <amacleod (a] redhat.com> 9916 9917 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list. 9918 * c-gimplify.c: Likewise. 9919 * c-pragma.c: Likewise. 9920 * c-ubsan.c: Likewise. 9921 * cilk.c: Likewise. 9922 9923 2015-06-25 Richard Sandiford <richard.sandiford (a] arm.com> 9924 9925 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than 9926 ggc_hasher. 9927 9928 2015-06-25 Andrew MacLeod <amacleod (a] redhat.com> 9929 9930 * cilk.c: Move calls.h after tm.h in the include chain. 9931 9932 2015-06-25 Marek Polacek <polacek (a] redhat.com> 9933 9934 * array-notation-common.c: Use VAR_P throughout. 9935 * c-ada-spec.c: Likewise. 9936 * c-common.c: Likewise. 9937 * c-format.c: Likewise. 9938 * c-gimplify.c: Likewise. 9939 * c-omp.c: Likewise. 9940 * c-pragma.c: Likewise. 9941 * c-pretty-print.c: Likewise. 9942 * cilk.c: Likewise. 9943 9944 2015-06-25 Marek Polacek <polacek (a] redhat.com> 9945 9946 * cilk.c (extract_free_variables): Use is_global_var. 9947 9948 2015-06-23 Richard Sandiford <richard.sandiford (a] arm.com> 9949 9950 * c-common.c: Don't include target-def.h. 9951 9952 2015-06-23 Marek Polacek <polacek (a] redhat.com> 9953 9954 * c-common.c (warn_logical_operator): Use tree_int_cst_equal 9955 when comparing INTEGER_CSTs. 9956 9957 2015-06-22 Pierre-Marie de Rodat <derodat (a] adacore.com> 9958 9959 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS. 9960 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL 9961 (dump_ada_template): Skip partially specialized types. 9962 9963 2015-06-22 Mikhail Maltsev <maltsevm (a] gmail.com> 9964 9965 * c-common.c (scalar_to_vector): Use std::swap instead of manually 9966 swapping. 9967 9968 2015-06-17 Andrew MacLeod <amacleod (a] redhat.com> 9969 9970 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h. 9971 * c-ada-spec.c: Likewise. 9972 * c-cilkplus.c: Likewise. 9973 * c-common.c: Likewise. 9974 * c-common.h: Likewise. 9975 * c-cppbuiltin.c: Likewise. 9976 * c-dump.c: Likewise. 9977 * c-format.c: Likewise. 9978 * c-gimplify.c: Likewise. 9979 * c-indentation.c: Likewise. 9980 * c-lex.c: Likewise. 9981 * c-omp.c: Likewise. 9982 * c-opts.c: Likewise. 9983 * c-pch.c: Likewise. 9984 * c-ppoutput.c: Likewise. 9985 * c-pragma.c: Likewise. 9986 * c-pretty-print.c: Likewise. 9987 * c-semantics.c: Likewise. 9988 * c-ubsan.c: Likewise. 9989 * cilk.c: Likewise. 9990 * stub-objc.c: Likewise. 9991 9992 2015-06-13 Patrick Palka <ppalka (a] gcc.gnu.org> 9993 9994 PR c++/65168 9995 * c-common.c (c_common_truthvalue_conversion): Warn when 9996 converting an address of a reference to a truth value. 9997 9998 2015-06-08 Andrew MacLeod <amacleod (a] redhat.com> 9999 10000 * array-notation-common.c : Adjust include files. 10001 * c-ada-spec.c : Likewise. 10002 * c-cilkplus.c : Likewise. 10003 * c-common.c : Likewise. 10004 * c-common.h : Likewise. 10005 * c-cppbuiltin.c : Likewise. 10006 * c-dump.c : Likewise. 10007 * c-format.c : Likewise. 10008 * c-gimplify.c : Likewise. 10009 * c-indentation.c : Likewise. 10010 * c-lex.c : Likewise. 10011 * c-omp.c : Likewise. 10012 * c-opts.c : Likewise. 10013 * c-pch.c : Likewise. 10014 * c-ppoutput.c : Likewise. 10015 * c-pragma.c : Likewise. 10016 * c-pretty-print.c : Likewise. 10017 * c-semantics.c : Likewise. 10018 * c-ubsan.c : Likewise. 10019 * cilk.c : Likewise. 10020 * stub-objc.c : Likewise. 10021 10022 2015-06-08 Marek Polacek <polacek (a] redhat.com> 10023 10024 PR c/66415 10025 * c-format.c (location_from_offset): Return LOC if LINE is null. 10026 10027 2015-06-05 Aldy Hernandez <aldyh (a] redhat.com> 10028 10029 * c-common.h (c_parse_final_cleanups): New prototype. 10030 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups. 10031 10032 2015-06-04 Sriraman Tallam <tmsriram (a] google.com> 10033 10034 * c-common.c (noplt): New attribute. 10035 (handle_noplt_attribute): New handler. 10036 10037 2015-06-04 Andrew MacLeod <amacleod (a] redhat.com> 10038 10039 * array-notation-common.c: Adjust includes for restructured coretypes.h. 10040 * c-ada-spec.c: Likewise. 10041 * c-cilkplus.c: Likewise. 10042 * c-common.c: Likewise. 10043 * c-common.h: Likewise. 10044 * c-cppbuiltin.c: Likewise. 10045 * c-dump.c: Likewise. 10046 * c-format.c: Likewise. 10047 * c-gimplify.c: Likewise. 10048 * c-indentation.c: Likewise. 10049 * c-lex.c: Likewise. 10050 * c-omp.c: Likewise. 10051 * c-opts.c: Likewise. 10052 * c-pch.c: Likewise. 10053 * c-ppoutput.c: Likewise. 10054 * c-pragma.c: Likewise. 10055 * c-pretty-print.c: Likewise. 10056 * c-semantics.c: Likewise. 10057 * c-ubsan.c: Likewise. 10058 * cilk.c: Likewise. 10059 * stub-objc.c: Likewise. 10060 10061 2015-06-02 David Malcolm <dmalcolm (a] redhat.com> 10062 10063 PR c/66220: 10064 * c-indentation.c (should_warn_for_misleading_indentation): Use 10065 expand_location rather than expand_location_to_spelling_point. 10066 Don't warn if the guarding statement is more indented than the 10067 next/body stmts. 10068 10069 2015-06-02 David Malcolm <dmalcolm (a] redhat.com> 10070 10071 * c-indentation.c (warn_for_misleading_indentation): Bail out 10072 immediately if -Wmisleading-indentation isn't enabled. 10073 10074 2015-06-01 Martin Liska <mliska (a] suse.cz> 10075 10076 * c-format.c (check_format_arg):Use new type-based pool allocator. 10077 (check_format_info_main) Likewise. 10078 10079 2015-05-31 Eric Botcazou <ebotcazou (a] adacore.com> 10080 10081 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant. 10082 (has_nontrivial_methods): Likewise. 10083 10084 2015-05-25 Marek Polacek <polacek (a] redhat.com> 10085 10086 * c-ubsan.c (ubsan_instrument_shift): Use type0. 10087 10088 2015-05-22 Marek Polacek <polacek (a] redhat.com> 10089 10090 PR c/47043 10091 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL. 10092 10093 2015-05-21 Trevor Saunders <tbsaunde+gcc (a] tbsaunde.org> 10094 10095 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with 10096 STACK_GROWS_DOWNWARD. 10097 10098 2015-05-21 Trevor Saunders <tbsaunde+gcc (a] tbsaunde.org> 10099 10100 * c-cppbuiltin.c (c_cpp_builtins): Check the value of 10101 STACK_GROWS_DOWNWARD rather than if it is defined. 10102 10103 2015-05-21 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 10104 10105 PR c/52952 10106 * c-format.c (location_column_from_byte_offset): New. 10107 (location_from_offset): New. 10108 (struct format_wanted_type): Add offset_loc field. 10109 (check_format_info): Move handling of location for extra arguments 10110 closer to the point of warning. 10111 (check_format_info_main): Pass the result of location_from_offset 10112 to warning_at. 10113 (format_type_warning): Pass the result of location_from_offset 10114 to warning_at. 10115 10116 2015-05-20 Marek Polacek <polacek (a] redhat.com> 10117 10118 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P. 10119 10120 2015-05-20 Marek Polacek <polacek (a] redhat.com> 10121 10122 * c-ada-spec.c (dump_sloc): Use DECL_P. 10123 10124 2015-05-20 Marek Polacek <polacek (a] redhat.com> 10125 10126 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout. 10127 * c-common.c: Likewise. 10128 10129 2015-05-19 David Malcolm <dmalcolm (a] redhat.com> 10130 10131 * c-common.h (fe_file_change): Strengthen param from 10132 const line_map * to const line_map_ordinary *. 10133 (pp_file_change): Likewise. 10134 * c-lex.c (fe_file_change): Likewise. 10135 (cb_define): Use linemap_check_ordinary when invoking 10136 SOURCE_LINE. 10137 (cb_undef): Likewise. 10138 * c-opts.c (c_finish_options): Use linemap_check_ordinary when 10139 invoking cb_file_change. 10140 (c_finish_options): Likewise. 10141 (push_command_line_include): Likewise. 10142 (cb_file_change): Strengthen param "new_map" from 10143 const line_map * to const line_map_ordinary *. 10144 * c-ppoutput.c (cb_define): Likewise for local "map". 10145 (pp_file_change): Likewise for param "map" and local "from". 10146 10147 2015-05-19 Mikhail Maltsev <maltsevm (a] gmail.com> 10148 10149 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps. 10150 10151 2015-05-18 Tom de Vries <tom (a] codesourcery.com> 10152 10153 * c-common.c (build_va_arg_1): New function. 10154 (build_va_arg): Add address operator to va_list operand if necessary. 10155 10156 2015-05-15 Mikhail Maltsev <maltsevm (a] gmail.com> 10157 10158 PR c/48956 10159 * c-common.c (int_safely_convertible_to_real_p): Define. 10160 (unsafe_conversion_p): Check conversions involving complex types. 10161 (conversion_warning): Add new warning message for conversions which 10162 discard imaginary component. 10163 * c-common.h: (enum conversion_safety): Add new enumerator for such 10164 conversions. 10165 10166 2015-05-14 Marek Polacek <polacek (a] redhat.com> 10167 10168 PR c/66066 10169 PR c/66127 10170 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal. 10171 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with 10172 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and 10173 use it. If FOR_INT_CONST, require that all evaluated operands be 10174 INTEGER_CSTs. 10175 10176 2015-05-12 David Malcolm <dmalcolm (a] redhat.com> 10177 10178 * c-common.h (warn_for_misleading_indentation): New prototype. 10179 * c-indentation.c: New file. 10180 * c.opt (Wmisleading-indentation): New option. 10181 10182 2015-05-12 Tom de Vries <tom (a] codesourcery.com> 10183 10184 PR tree-optimization/66010 10185 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary. 10186 10187 2015-05-09 Jason Merrill <jason (a] redhat.com> 10188 10189 * c-opts.c (c_common_post_options): Also clear 10190 cpp_opts->cpp_warn_cxx11_compat. 10191 10192 * c-common.h (enum cxx_dialect): Add cxx_unset. 10193 * c-common.c (cxx_dialect): Initialize to cxx_unset. 10194 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset. 10195 10196 * c.opt (std=c++14): Remove Undocumented flag and experimental warning. 10197 (std=gnu++0x): Mark as Undocumented. 10198 (std=gnu++1y): Add deprecated message. 10199 10200 2015-05-08 Jason Merrill <jason (a] redhat.com> 10201 10202 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat. 10203 * c-opts.c: Adjust. 10204 10205 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat. 10206 10207 2015-05-08 Marek Polacek <polacek (a] redhat.com> 10208 10209 PR c/64918 10210 * c.opt (Woverride-init-side-effects): New option. 10211 10212 2015-05-07 Marek Polacek <polacek (a] redhat.com> 10213 10214 PR c/65179 10215 * c-common.c (c_fully_fold_internal): Warn when left shifting a 10216 negative value. 10217 * c.opt (Wshift-negative-value): New option. 10218 * c-opts.c (c_common_post_options): Set warn_shift_negative_value 10219 when -Wextra and C99/C++11 mode. 10220 10221 2015-05-07 Marek Polacek <polacek (a] redhat.com> 10222 Martin Uecker <uecker (a] eecs.berkeley.edu> 10223 10224 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting 10225 flexible member array-like members if SANITIZE_BOUNDS_STRICT. 10226 10227 2015-05-05 Jason Merrill <jason (a] redhat.com> 10228 10229 * c.opt (Wterminate): New. 10230 10231 2015-04-30 Marek Polacek <polacek (a] redhat.com> 10232 10233 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1, 10234 require that the non-constant be of a boolean type. 10235 10236 2015-04-29 Josh Triplett <josh (a] joshtriplett.org> 10237 10238 * c-common.c (handle_section_attribute): Refactor to reduce 10239 nesting and distinguish between error cases. 10240 10241 2015-04-29 Marek Polacek <polacek (a] redhat.com> 10242 10243 PR c/64610 10244 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean 10245 with 0/1. 10246 10247 2015-04-29 Jakub Jelinek <jakub (a] redhat.com> 10248 10249 * c-common.h (omp_clause_mask): Unconditionally define as a class. 10250 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of 10251 HOST_BITS_PER_WIDE_INT. 10252 10253 2015-04-28 Tom de Vries <tom (a] codesourcery.com> 10254 10255 PR tree-optimization/65887 10256 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable. 10257 10258 2015-04-28 Eric Botcazou <ebotcazou (a] adacore.com> 10259 Pierre-Marie de Rodat <derodat (a] adacore.com> 10260 10261 * c-ada-spec.c (in_function): Delete. 10262 (dump_generic_ada_node): Do not change in_function and remove the 10263 redundant code dealing with it. 10264 (print_ada_declaration): Do not change in_function. Use INDENT_INCR. 10265 (print_ada_methods): Output the static member functions in a nested 10266 package after the regular methods as well as associated renamings. 10267 10268 2015-04-24 Marek Polacek <polacek (a] redhat.com> 10269 10270 PR c/65830 10271 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative 10272 and OPT_Wshift_count_overflow. 10273 10274 PR c/63357 10275 * c-common.c (warn_logical_operator): Warn if the operands have the 10276 same expressions. 10277 10278 2015-04-24 Marek Polacek <polacek (a] redhat.com> 10279 10280 PR c/61534 10281 * c-common.c (warn_logical_operator): Bail if either operand comes 10282 from a macro expansion. 10283 10284 2015-04-10 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org> 10285 10286 PR target/55143 10287 * c-common.c (c_default_pointer_mode): Add definition. 10288 * c-common.h (c_default_pointer_mode): Add declaration. 10289 10290 2015-03-11 Jakub Jelinek <jakub (a] redhat.com> 10291 10292 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup 10293 on record_builtin_type argument. 10294 10295 2015-03-10 Jakub Jelinek <jakub (a] redhat.com> 10296 10297 PR c/65120 10298 * c-common.c (warn_logical_not_parentheses): Don't warn for 10299 !x == 0 or !x != 0. 10300 10301 2015-03-07 Marek Polacek <polacek (a] redhat.com> 10302 10303 PR sanitizer/65280 10304 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF 10305 before trying to figure out whether we have a flexible array member. 10306 10307 2015-03-06 Eric Botcazou <ebotcazou (a] adacore.com> 10308 Jonathan Wakely <jwakely.gcc (a] gmail.com> 10309 10310 * c-ada-spec.c (dump_ada_double_name): Fix pasto. 10311 10312 2015-03-05 Eric Botcazou <ebotcazou (a] adacore.com> 10313 10314 PR ada/65319 10315 * c-ada-spec.c (print_destructor): Remove obsolete code. 10316 10317 2015-03-01 Eric Botcazou <ebotcazou (a] adacore.com> 10318 10319 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX. 10320 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and 10321 DECL_TEMPLATE_RESULT emulations. 10322 (dump_ada_template)): Add guard for TYPE_METHODS. 10323 10324 2015-02-27 Marek Polacek <polacek (a] redhat.com> 10325 10326 PR c/65040 10327 * c.opt (Wformat-signedness): Don't enable by -Wformat=2. 10328 10329 2015-02-27 Kai Tietz <ktietz (a] redhat.com> 10330 10331 PR c/35330 10332 * c-pragma.c (handle_pragma_weak): Do not try to create 10333 weak/alias of declarations not being function, or variable 10334 declarations. 10335 10336 2015-02-24 Thomas Schwinge <thomas (a] codesourcery.com> 10337 10338 PR libgomp/64625 10339 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12): 10340 Remove macros. 10341 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros. 10342 10343 2015-02-16 Marek Polacek <polacek (a] redhat.com> 10344 10345 PR c/65066 10346 * c-format.c (check_format_types): Handle null param. 10347 10348 2015-02-13 Marek Polacek <polacek (a] redhat.com> 10349 10350 PR c/65040 10351 * c-format.c (check_format_types): Don't warn about different 10352 signedness if the original value is in the range of WANTED_TYPE. 10353 10354 2015-02-12 Jason Merrill <jason (a] redhat.com> 10355 10356 PR c++/64956 10357 * c-opts.c (c_common_post_options): Change flag_abi_version from 0 10358 to the current highest version. 10359 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0. 10360 10361 2015-02-04 Jakub Jelinek <jakub (a] redhat.com> 10362 10363 PR c/64824 10364 PR c/64868 10365 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR 10366 instead of RDIV_EXPR. Use build_binary_op instead of 10367 build2_loc. 10368 10369 2015-01-30 Joseph Myers <joseph (a] codesourcery.com> 10370 10371 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed 10372 to pass input_location as first argument. 10373 10374 2015-01-23 Tom de Vries <tom (a] codesourcery.com> 10375 10376 PR libgomp/64672 10377 * c.opt (fopenacc): Mark as LTO option. 10378 10379 2015-01-23 Tom de Vries <tom (a] codesourcery.com> 10380 10381 PR libgomp/64707 10382 * c.opt (fopenmp): Mark as LTO option. 10383 10384 2015-01-21 Jakub Jelinek <jakub (a] redhat.com> 10385 10386 PR c/63307 10387 * cilk.c (fill_decls_vec): Only put decls into vector v. 10388 (compare_decls): Fix up formatting. 10389 10390 2015-01-21 Igor Zamyatin <igor.zamyatin (a] intel.com> 10391 10392 PR c/63307 10393 * cilk.c: Include vec.h. 10394 (struct cilk_decls): New structure. 10395 (wrapper_parm_cb): Split this function to... 10396 (fill_decls_vec): ...this... 10397 (create_parm_list): ...and this. 10398 (compare_decls): New function. 10399 (for_local_cb): Remove. 10400 (wrapper_local_cb): Ditto. 10401 (build_wrapper_type): For now first traverse and fill vector of 10402 declarations then sort it and then deal with sorted vector. 10403 (cilk_outline): Ditto. 10404 (declare_one_free_variable): Ditto. 10405 10406 2015-01-21 Jason Merrill <jason (a] redhat.com> 10407 10408 PR c++/64629 10409 * c-format.c (check_format_arg): Call decl_constant_value. 10410 10411 2015-01-19 Martin Liska <mliska (a] suse.cz> 10412 10413 * c-common.c (handle_noicf_attribute): New function. 10414 10415 2015-01-15 Thomas Schwinge <thomas (a] codesourcery.com> 10416 Bernd Schmidt <bernds (a] codesourcery.com> 10417 James Norris <jnorris (a] codesourcery.com> 10418 Cesar Philippidis <cesar (a] codesourcery.com> 10419 Ilmir Usmanov <i.usmanov (a] samsung.com> 10420 Jakub Jelinek <jakub (a] redhat.com> 10421 10422 * c.opt (fopenacc): New option. 10423 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC. 10424 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12): 10425 New macros. 10426 * c-common.h (c_finish_oacc_wait): New prototype. 10427 * c-omp.c: Include "omp-low.h" and "gomp-constants.h". 10428 (c_finish_oacc_wait): New function. 10429 * c-pragma.c (oacc_pragmas): New variable. 10430 (c_pp_lookup_pragma, init_pragma): Handle it. 10431 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE, 10432 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA, 10433 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL, 10434 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT. 10435 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC, 10436 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE, 10437 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN, 10438 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE, 10439 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE, 10440 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE, 10441 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST, 10442 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS, 10443 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT, 10444 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY, 10445 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN, 10446 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT, 10447 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE, 10448 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF, 10449 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR, 10450 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT, 10451 PRAGMA_OACC_CLAUSE_WORKER. 10452 10453 2015-01-14 Marcos Diaz <marcos.diaz (a] tallertechnologies.com> 10454 10455 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__ 10456 for the new option fstack-protector_explicit. 10457 * c-common.c (c_common_attribute_table): Add stack_protect attribute. 10458 (handle_stack_protect_attribute): New function. 10459 10460 2015-01-13 Martin Uecker <uecker (a] eecs.berkeley.edu> 10461 10462 * c.opt: New option -Warray-bounds=. 10463 10464 2015-01-09 Michael Collison <michael.collison (a] linaro.org> 10465 10466 * array-notation-common.c: Include hash-set.h, machmode.h, 10467 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 10468 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h. 10469 * c-ada-spec.c: Ditto. 10470 * c-cilkplus.c: Ditto. 10471 * c-common.c: Include input.h due to flattening of tree.h. 10472 Define macro GCC_C_COMMON_C. 10473 * c-common.h: Flatten tree.h header files into c-common.h. 10474 Remove include of tree-core.h. 10475 * c-cppbuiltin.c: Include hash-set.h, machmode.h, 10476 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 10477 fold-const.h, wide-int.h, and inchash.h due to 10478 flattening of tree.h. 10479 * c-dump.c: Ditto. 10480 * c-format.c: Flatten tree.h header files into c-common.h. 10481 * c-cppbuiltin.c: Include hash-set.h, machmode.h, 10482 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 10483 fold-const.h, wide-int.h, and inchash.h due to 10484 flattening of tree.h. 10485 * c-dump.c: Include hash-set.h, machmode.h, 10486 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 10487 fold-const.h, wide-int.h, and inchash.h due to 10488 flattening of tree.h. 10489 * c-format.c: Include hash-set.h, machmode.h, 10490 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 10491 fold-const.h, wide-int.h, inchash.h and real.h due to 10492 flattening of tree.h. 10493 * c-gimplify.c: Include hash-set.h, machmode.h, 10494 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 10495 fold-const.h, wide-int.h, and inchash.h due to 10496 flattening of tree.h. 10497 * cilk.c: Ditto. 10498 * c-lex.c: Ditto. 10499 * c-omp.c: Ditto. 10500 * c-opts.c: Ditto. 10501 * c-pch.c: Ditto. 10502 * c-ppoutput.c: Ditto. 10503 * c-pragma.c: Ditto. 10504 * c-pretty-print.c: Ditto. 10505 * c-semantics.c: Ditto. 10506 * c-ubsan.c: Ditto. 10507 * stub-objc.c: Ditto. 10508 10509 2015-01-08 Jason Merrill <jason (a] redhat.com> 10510 10511 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use 10512 do_ubsan_in_current_function. 10513 (ubsan_maybe_instrument_reference_or_call): Likewise. 10514 * c-ubsan.h: Declare it. 10515 10516 2015-01-08 Mike Stump <mikestump (a] comcast.net> 10517 10518 * c-common.c (c_common_attribute_table): Add no_sanitize_thread. 10519 10520 2015-01-07 Marek Polacek <polacek (a] redhat.com> 10521 10522 PR c/64440 10523 * c-common.c (c_fully_fold_internal): Warn for division and modulo 10524 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero. 10525 10526 2015-01-05 Trevor Saunders <tsaunders (a] mozilla.com> 10527 10528 PR c++/31397 10529 * c.opt (Wsuggest-override): New option. 10530 10531 2015-01-05 Jakub Jelinek <jakub (a] redhat.com> 10532 10533 Update copyright years. 10534 10535 2015-01-05 Marek Polacek <polacek (a] redhat.com> 10536 10537 PR c/64423 10538 * c-common.c (warn_array_subscript_with_type_char): Add location_t 10539 parameter. Use it. 10540 * c-common.h (warn_array_subscript_with_type_char): Update 10541 declaration. 10542 10543 2014-12-20 Edward Smith-Rowland <3dw4rd (a] verizon.net> 10544 10545 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro. 10546 Control macro with flag_sized_deallocation. 10547 10548 2014-12-20 Martin Uecker <uecker (a] eecs.berkeley.edu> 10549 10550 * c.opt (Wdiscarded-array-qualifiers): New option. 10551 10552 2014-12-19 Jakub Jelinek <jakub (a] redhat.com> 10553 10554 PR preprocessor/63831 10555 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute 10556 and __has_cpp_attribute here. 10557 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to 10558 c_common_has_attribute. 10559 * c-common.h (c_common_has_attribute): New prototype. 10560 * c-lex.c (init_c_lex): Set cb->has_attribute to 10561 c_common_has_attribute instead of cb_has_attribute. 10562 (get_token_no_padding): New function. 10563 (cb_has_attribute): Renamed to ... 10564 (c_common_has_attribute): ... this. No longer static. Use 10565 get_token_no_padding, require ()s, don't build TREE_LIST 10566 unnecessarily, fix up formatting, adjust diagnostics, call 10567 init_attributes. 10568 10569 2014-12-15 Jason Merrill <jason (a] redhat.com> 10570 10571 * c.opt (-fsized-deallocation, -Wc++14-compat): New. 10572 (-Wsized-deallocation): New. 10573 * c-opts.c (c_common_post_options): -fsized-deallocation defaults 10574 to on in C++14 and up. 10575 10576 2014-12-11 Jason Merrill <jason (a] redhat.com> 10577 10578 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr. 10579 10580 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if 10581 we aren't complaining about VLAs. 10582 10583 2014-12-06 Marek Polacek <polacek (a] redhat.com> 10584 10585 PR tree-optimization/64183 10586 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a 10587 shift-expression if it is integer_type_node. Use types_compatible_p. 10588 10589 2014-11-29 Jakub Jelinek <jakub (a] redhat.com> 10590 10591 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL 10592 last argument from create_tmp_var_raw and create_tmp_var calls. 10593 * cilk.c (gimplify_cilk_spawn): Likewise. 10594 * c-omp.c (c_finish_omp_atomic): Likewise. 10595 10596 2014-11-28 Marek Polacek <polacek (a] redhat.com> 10597 10598 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR 10599 instead of unsigned_type_node. 10600 10601 2014-11-28 Marek Polacek <polacek (a] redhat.com> 10602 10603 PR c/63862 10604 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR 10605 to op1_utype. 10606 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift 10607 expression to unsigned_type_node. 10608 10609 2014-11-20 Mark Wielaard <mjw (a] redhat.com> 10610 10611 PR debug/38757 10612 * c-opts.c (set_std_c89): Set lang_hooks.name. 10613 (set_std_c99): Likewise. 10614 (set_std_c11): Likewise. 10615 (set_std_cxx98): Likewise. 10616 (set_std_cxx11): Likewise. 10617 (set_std_cxx14): Likewise. 10618 (set_std_cxx1z): Likewise. 10619 10620 2014-11-21 Jakub Jelinek <jakub (a] redhat.com> 10621 10622 PR target/63764 10623 * c-common.h (convert_vector_to_pointer_for_subscript): Change 10624 return type to bool. 10625 * c-common.c: Include gimple-expr.h. 10626 (convert_vector_to_pointer_for_subscript): Change return type to 10627 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true 10628 and copy it into a TARGET_EXPR and use that instead of *vecp 10629 directly. 10630 10631 2014-11-19 David Malcolm <dmalcolm (a] redhat.com> 10632 10633 Merger of git branch "gimple-classes-v2-option-3". 10634 * ChangeLog.gimple-classes: New. 10635 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack" 10636 from being just a vec<gimple> to a vec<gbind *>. 10637 10638 2014-11-18 Jakub Jelinek <jakub (a] redhat.com> 10639 10640 PR sanitizer/63813 10641 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type 10642 argument to ptype, set type to TREE_TYPE (ptype). Don't call 10643 get_pointer_alignment for non-pointers. Use ptype, or if it is 10644 reference type, corresponding pointer type, as type of kind 10645 argument. 10646 (ubsan_maybe_instrument_reference, 10647 ubsan_maybe_instrument_member_call): Adjust callers. 10648 10649 2014-11-15 Marek Polacek <polacek (a] redhat.com> 10650 10651 PR middle-end/63884 10652 * array-notation-common.c (is_sec_implicit_index_fn): Return false 10653 for NULL fndecl. 10654 (extract_array_notation_exprs): Return for NULL node. 10655 10656 2014-11-12 Joseph Myers <joseph (a] codesourcery.com> 10657 10658 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and 10659 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state. 10660 10661 2014-11-12 Jakub Jelinek <jakub (a] redhat.com> 10662 10663 PR c/59708 10664 * c-common.c (check_builtin_function_arguments): Handle 10665 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW. 10666 10667 2014-11-10 Andi Kleen <ak (a] linux.intel.com> 10668 10669 PR c/60804 10670 * c-common.h (check_no_cilk): Declare. 10671 * cilk.c (get_error_location): New function. 10672 (check_no_cilk): Dito. 10673 10674 2014-11-10 Andi Kleen <ak (a] linux.intel.com> 10675 10676 * cilk.c (recognize_spawn): Use expression location 10677 for error message. 10678 10679 2014-11-10 Paolo Carlini <paolo.carlini (a] oracle.com> 10680 10681 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add. 10682 10683 2014-11-10 Edward Smith-Rowland <3dw4rd (a] verizon.net> 10684 10685 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros; 10686 (__cpp_rtti, __cpp_exceptions): New macros for C++98; 10687 (__cpp_range_based_for, __cpp_initializer_lists, 10688 __cpp_delegating_constructors, __cpp_nsdmi, 10689 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros 10690 for C++11; (__cpp_attribute_deprecated): Remove in favor of 10691 __has_cpp_attribute. 10692 * c-lex.c (cb_has_attribute): New callback CPP function; 10693 (init_c_lex): Set has_attribute callback. 10694 10695 2014-11-04 Richard Biener <rguenther (a] suse.de> 10696 10697 * c-common.c (shorten_compare): Do not shorten mixed 10698 DFP and non-DFP compares. 10699 10700 2014-11-01 Edward Smith-Rowland <3dw4rd (a] verizon.net> 10701 10702 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests. 10703 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test. 10704 Commentary and rearrangement of tests. 10705 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test. 10706 Commentary and rearrangement of tests. 10707 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto. 10708 * g++.dg/cpp1y/feat-cxx98.C: Commentary. 10709 10710 2014-10-29 Richard Sandiford <richard.sandiford (a] arm.com> 10711 10712 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant 10713 enum from machine_mode. 10714 10715 2014-10-28 Andrew MacLeod <amacleod (a] redhat.com> 10716 10717 * c-common.c: Adjust include files. 10718 * c-gimplify.c: Ditto. 10719 * cilk.c: Ditto. 10720 * c-pragma.c: Ditto. 10721 * c-ubsan.c: Ditto. 10722 10723 2014-10-27 Andrew MacLeod <amacleod (a] redhat.com> 10724 10725 * c-gimplify.c: Adjust include files. 10726 10727 2014-10-26 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 10728 10729 PR c++/53061 10730 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from 10731 c_common_initialize_diagnostics. 10732 * c-common.h: Likewise. 10733 10734 2014-10-24 Marek Polacek <polacek (a] redhat.com> 10735 10736 PR c/56980 10737 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't 10738 print "struct"/"union"/"enum" for typedefed names. 10739 10740 2014-10-23 Marek Polacek <polacek (a] redhat.com> 10741 10742 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR 10743 in unsigned type. 10744 10745 2014-10-22 Jakub Jelinek <jakub (a] redhat.com> 10746 Yury Gribov <y.gribov (a] samsung.com> 10747 10748 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift, 10749 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask 10750 instead of flag_sanitize_recover as bool flag. 10751 10752 2014-10-21 Kirill Yukhin <kirill.yukhin (a] intel.com> 10753 10754 * cilk.c: Revert previous change. 10755 10756 2014-10-20 Igor Zamyatin <igor.zamyatin (a] intel.com> 10757 10758 PR c/63307 10759 * cilk.c: Include vec.h. 10760 (struct cilk_decls): New structure. 10761 (wrapper_parm_cb): Split this function to... 10762 (fill_decls_vec): ...this... 10763 (create_parm_list): ...and this. 10764 (compare_decls): New function. 10765 (for_local_cb): Remove. 10766 (wrapper_local_cb): Ditto. 10767 (build_wrapper_type): For now first traverse and fill vector of 10768 declarations then sort it and then deal with sorted vector. 10769 (cilk_outline): Ditto. 10770 (declare_one_free_variable): Ditto. 10771 10772 2014-10-17 Marek Polacek <polacek (a] redhat.com> 10773 10774 * c-opts.c (c_common_post_options): Set warn_implicit_int. 10775 * c.opt (Wimplicit-int): Initialize to -1. 10776 10777 2014-10-16 Andrew MacLeod <amacleod (a] redhat.com> 10778 10779 * c-pragma.c: Adjust include files. 10780 * c-semantics.c: Likewise. 10781 10782 2014-10-16 DJ Delorie <dj (a] redhat.com> 10783 10784 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are 10785 multiples of bytes. 10786 10787 2014-10-14 Jason Merrill <jason (a] redhat.com> 10788 10789 PR c++/63455 10790 * c-common.h (CPP_PREPARSED_EXPR): New. 10791 (N_CP_TTYPES): Adjust. 10792 10793 2014-10-15 Marek Polacek <polacek (a] redhat.com> 10794 10795 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C. 10796 10797 2014-10-14 DJ Delorie <dj (a] redhat.com> 10798 10799 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN 10800 types, not just __int128. 10801 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN 10802 types, not just __int128. 10803 (cpp_atomic_builtins): Round pointer sizes up. 10804 (type_suffix): Use type precision, not specific types. 10805 * c-common.c (c_common_reswords): Remove __int128 special case. 10806 (c_common_type_for_size): Check for all __intN types, not just 10807 __int128. 10808 (c_common_type_for_mode): Likewise. 10809 (c_common_signed_or_unsigned_type): Likewise. 10810 (c_build_bitfield_integer_type): Likewise. 10811 (c_common_nodes_and_builtins): Likewise. 10812 (keyword_begins_type_specifier): Likewise. 10813 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all 10814 __intN variants. 10815 10816 2014-10-12 Trevor Saunders <tsaunders (a] mozilla.com> 10817 10818 * c-common.c: Use hash_table instead of hashtab. 10819 10820 2014-10-06 Edward Smith-Rowland <3dw4rd (a] verizon.net> 10821 10822 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the 10823 C++11 section. 10824 10825 2014-10-03 Marc Glisse <marc.glisse (a] inria.fr> 10826 10827 PR c++/54427 10828 PR c++/57198 10829 PR c++/58845 10830 * c-common.c (warn_logical_operator): Punt for vectors. 10831 10832 2014-10-01 Edward Smith-Rowland <3dw4rd (a] verizon.net> 10833 10834 Implement SD-6: SG10 Feature Test Recommendations 10835 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature 10836 macros and the __has_header macro. 10837 10838 2014-09-30 Jason Merrill <jason (a] redhat.com> 10839 10840 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and 10841 RID_IS_TRIVIALLY_CONSTRUCTIBLE. 10842 * c-common.c (c_common_reswords): Add __is_trivially_copyable. 10843 10844 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE. 10845 * c-common.c (c_common_reswords): Add __is_trivially_copyable. 10846 10847 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO. 10848 * c-common.c (c_common_reswords): Remove __is_convertible_to. 10849 10850 2014-09-24 Marek Polacek <polacek (a] redhat.com> 10851 10852 PR c/61405 10853 PR c/53874 10854 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD. 10855 10856 2014-09-23 Andi Kleen <ak (a] linux.intel.com> 10857 10858 * c-common.c (handle_no_reorder_attribute): New function. 10859 (c_common_attribute_table): Add no_reorder attribute. 10860 10861 2014-09-22 Joseph Myers <joseph (a] codesourcery.com> 10862 10863 * c-cppbuiltin.c (c_cpp_builtins): Define 10864 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point 10865 modes. 10866 10867 2014-09-18 Joseph Myers <joseph (a] codesourcery.com> 10868 10869 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__ 10870 for supported floating-point modes. 10871 10872 2014-09-15 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 10873 10874 * c.opt (Wpsabi): Use LangEnabledBy. 10875 * c-opts.c (c_common_handle_option): Do not handle here. 10876 10877 2014-09-12 Joseph Myers <joseph (a] codesourcery.com> 10878 10879 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__ 10880 macros for floating-point modes. 10881 10882 2014-09-11 Marc Glisse <marc.glisse (a] inria.fr> 10883 10884 PR target/58757 10885 * c-cppbuiltin.c (builtin_define_float_constants): Correct 10886 __*_DENORM_MIN__ without denormals. 10887 10888 2014-09-10 Jakub Jelinek <jakub (a] redhat.com> 10889 10890 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift, 10891 ubsan_instrument_vla, ubsan_instrument_return): Adjust 10892 ubsan_create_data callers. 10893 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if 10894 index is constant or BIT_AND_EXPR with constant mask and is 10895 small enough for the bound. 10896 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of 10897 ARRAY_REF, make sure the inner ARRAY_REF is not walked again. 10898 10899 2014-09-09 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 10900 10901 * c.opt: Add CppReason to various flags. 10902 (Wdate-time): Re-sort. 10903 * c-common.c: Include c-common.h earlier. 10904 (struct reason_option_codes_t): Delete. 10905 (c_option_controlling_cpp_error): Prefix global type and struct 10906 with cpp_. 10907 10908 2014-09-09 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 10909 10910 * c.opt (Wnormalized): New. 10911 (Wnormalized=): Use Enum and Reject Negative. 10912 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here. 10913 10914 2014-09-08 Joseph Myers <joseph (a] codesourcery.com> 10915 10916 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa 10917 digits of floating-point modes if -fbuilding-libgcc. 10918 10919 2014-09-05 Joseph Myers <joseph (a] codesourcery.com> 10920 10921 * c-cppbuiltin.c (c_cpp_builtins): Also define 10922 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__, 10923 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__, 10924 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__, 10925 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__, 10926 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__, 10927 __LIBGCC_STACK_GROWS_DOWNWARD__, 10928 __LIBGCC_DONT_USE_BUILTIN_SETJMP__, 10929 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__, 10930 __LIBGCC_DWARF_FRAME_REGISTERS__, 10931 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__, 10932 __LIBGCC_STACK_POINTER_REGNUM__ and 10933 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc. 10934 (builtin_define_with_value): Handle backslash-escaping in string 10935 macro values. 10936 10937 2014-09-05 Richard Biener <rguenther (a] suse.de> 10938 10939 PR middle-end/63148 10940 * c-format.c (check_format_arg): Properly handle 10941 effectively signed POINTER_PLUS_EXPR offset. 10942 10943 2014-09-04 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 10944 10945 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels, 10946 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic, 10947 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var 10948 and Init. 10949 * c-opts.c (c_common_handle_option): Do not handle here. 10950 (sanitize_cpp_opts): Likewise. 10951 * c-common.c (struct reason_option_codes_t): Handle 10952 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC. 10953 10954 2014-09-03 Marek Polacek <polacek (a] redhat.com> 10955 10956 * c.opt (Wlogical-not-parentheses): Enable by -Wall. 10957 10958 2014-09-02 Jakub Jelinek <jakub (a] redhat.com> 10959 Balaji V. Iyer <balaji.v.iyer (a] intel.com> 10960 Igor Zamyatin <igor.zamyatin (a] intel.com> 10961 10962 * c-cilkplus.c (cilk_for_number_of_iterations): New function. 10963 * c-common.c (c_common_reswords): Added _Cilk_for. 10964 * c-common.h (enum rid): Added RID_CILK_FOR. 10965 (cilk_for_number_of_iterations): Add declaration. 10966 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and 10967 CILK_FOR. 10968 * c-pragma.c (init_pragma): Register "grainsize" pragma. 10969 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE. 10970 10971 2014-08-29 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 10972 10973 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels, 10974 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs, 10975 Wundef): Use CPP, Var and Init. 10976 * c-opts.c (c_common_handle_option): Do not handle the above flags here. 10977 10978 2014-08-29 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 10979 10980 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init. 10981 * c-opts.c (c_common_handle_option): Do not handle here. 10982 10983 2014-08-25 Jason Merrill <jason (a] redhat.com> 10984 10985 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for 10986 -std=c++14 and -std=gnu++14, rather than the reverse. 10987 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and 10988 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14. 10989 * c-common.h (cxx_dialect): Remove cxx1y. 10990 10991 2014-08-23 Edward Smith-Rowland <3dw4rd (a] verizon.net> 10992 10993 * c-common.h (enum cxx_dialect): Add cxx14. 10994 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14. 10995 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from 10996 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11. 10997 10998 2014-08-22 Jason Merrill <jason (a] redhat.com> 10999 11000 * c.opt (std=gnu++17): Fix alias. 11001 11002 2014-08-22 Marek Polacek <polacek (a] redhat.com> 11003 11004 PR c++/62199 11005 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't 11006 check for vector types. Drop LHS argument. 11007 * c-common.h (warn_logical_not_parentheses): Adjust. 11008 11009 2014-08-22 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 11010 11011 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy. 11012 (Wmultichar): Likewise. 11013 (Wdate-time): Use C-family languages instead of Common. Use CPP 11014 and Var. 11015 * c-opts.c (c_common_handle_option): Do not handle the above 11016 options here. 11017 (sanitize_cpp_opts): Likewise. 11018 11019 2014-08-21 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 11020 11021 PR fortran/44054 11022 * c-opts.c: Include tree-diagnostics.h. 11023 (c_diagnostic_finalizer): New. 11024 (c_common_initialize_diagnostics): Use it. 11025 11026 2014-08-20 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 11027 11028 PR preprocessor/51303 11029 * c-common.c (struct reason_option_codes_t option_codes): 11030 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically. 11031 11032 2014-08-20 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 11033 11034 PR c/60975 11035 PR c/53063 11036 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy. 11037 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto. 11038 (c_common_post_options): Call init_global_opts_from_cpp. 11039 (sanitize_cpp_opts): Do not handle Wvariadic-macros here. 11040 11041 2014-08-19 Marek Polacek <polacek (a] redhat.com> 11042 11043 PR c++/62153 11044 * c-common.c (maybe_warn_bool_compare): New function. 11045 * c-common.h (maybe_warn_bool_compare): Declare. 11046 * c.opt (Wbool-compare): New option. 11047 11048 2014-08-19 Marek Polacek <polacek (a] redhat.com> 11049 11050 * c.opt (Wc99-c11-compat): New option. 11051 11052 2014-08-19 Marek Polacek <polacek (a] redhat.com> 11053 11054 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according 11055 to warn_c90_c99_compat. 11056 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize 11057 to -1. 11058 11059 2014-08-19 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 11060 Steven Bosscher <steven (a] gcc.gnu.org> 11061 11062 PR c/52952 11063 * c-format.c: Add extra_arg_loc and format_string_loc to struct 11064 format_check_results. 11065 (check_function_format): Use true and add comment for boolean 11066 argument. 11067 (finish_dollar_format_checking): Use explicit location when warning. 11068 (check_format_info): Likewise. 11069 (check_format_arg): Set extra_arg_loc and format_string_loc. 11070 (check_format_info_main): Use explicit location when warning. 11071 (check_format_types): Pass explicit location. 11072 (format_type_warning): Likewise. 11073 11074 2014-08-15 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 11075 11076 PR fortran/44054 11077 * c-format.c: Handle Fortran flags. 11078 11079 2014-08-12 Igor Zamyatin <igor.zamyatin (a] intel.com> 11080 11081 PR other/61962 11082 * array-notation-common.c (find_rank): Added handling for other 11083 types of references. 11084 11085 2014-08-10 Marek Polacek <polacek (a] redhat.com> 11086 11087 PR c/51849 11088 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp. 11089 * c.opt (Wc90-c99-compat): Add option. 11090 11091 2014-08-07 Trevor Saunders <tsaunders (a] mozilla.com> 11092 11093 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h. 11094 11095 2014-08-03 Marek Polacek <polacek (a] redhat.com> 11096 11097 * c-common.c (check_case_value): Add location_t parameter. Use it. 11098 (c_add_case_label): Pass loc to check_case_value. 11099 11100 2014-08-02 Trevor Saunders <tsaunders (a] mozilla.com> 11101 11102 * cilk.c: Use hash_map instead of pointer_map. 11103 11104 2014-08-02 Trevor Saunders <tsaunders (a] mozilla.com> 11105 11106 * c-gimplify.c: Use hash_set instead of pointer_set. 11107 11108 2014-08-01 Igor Zamyatin <igor.zamyatin (a] intel.com> 11109 11110 PR middle-end/61455 11111 * array-notation-common.c (extract_array_notation_exprs): Handling 11112 of DECL_EXPR added. 11113 11114 2014-08-01 Jakub Jelinek <jakub (a] redhat.com> 11115 11116 * c-common.h (min_align_of_type): Removed prototype. 11117 * c-common.c (min_align_of_type): Removed. 11118 * c-ubsan.h (ubsan_maybe_instrument_reference, 11119 ubsan_maybe_instrument_member_call): New prototypes. 11120 * c-ubsan.c: Include stor-layout.h and builtins.h. 11121 (ubsan_maybe_instrument_reference_or_call, 11122 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New 11123 functions. 11124 11125 2014-07-31 Marc Glisse <marc.glisse (a] inria.fr> 11126 11127 PR c++/60517 11128 * c.opt (-Wreturn-local-addr): Move to common.opt. 11129 11130 2014-07-30 Jason Merrill <jason (a] redhat.com> 11131 11132 PR c++/61659 11133 PR c++/61687 11134 Revert: 11135 * c.opt (-fuse-all-virtuals): New. 11136 11137 2014-07-30 Tom Tromey <tromey (a] redhat.com> 11138 11139 PR c/59855 11140 * c.opt (Wdesignated-init): New option. 11141 * c-common.c (c_common_attribute_table): Add "designated_init". 11142 (handle_designated_init): New function. 11143 11144 2014-07-24 Marek Polacek <polacek (a] redhat.com> 11145 11146 PR c/57653 11147 * c-opts.c (c_finish_options): If -imacros is in effect, return. 11148 11149 2014-07-16 Dodji Seketeli <dodji (a] redhat.com> 11150 11151 PR preprocessor/60723 - missing system-ness marks for macro tokens 11152 * c-ppoutput.c (struct print::prev_was_system_token): New data 11153 member. 11154 (init_pp_output): Initialize it. 11155 (maybe_print_line_1, maybe_print_line, print_line_1, print_line) 11156 (do_line_change): Return a flag saying if a line marker was 11157 emitted or not. 11158 (scan_translation_unit): Detect if the system-ness of the token we 11159 are about to emit is different from the one of the previously 11160 emitted token. If so, emit a line marker. Avoid emitting useless 11161 adjacent line markers. Avoid emitting line markers for tokens 11162 originating from the expansion of built-in macros. 11163 (scan_translation_unit_directives_only): Adjust. 11164 11165 2014-07-15 Marek Polacek <polacek (a] redhat.com> 11166 11167 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if 11168 TYPE_MAX_VALUE is NULL. 11169 11170 2014-07-14 Jakub Jelinek <jakub (a] redhat.com> 11171 11172 PR middle-end/61294 11173 * c.opt (Wmemset-transposed-args): New warning. 11174 11175 2014-07-10 Jason Merrill <jason (a] redhat.com> 11176 11177 PR c++/61659 11178 PR c++/61687 11179 * c.opt (-fuse-all-virtuals): New. 11180 11181 2014-07-09 Richard Biener <rguenther (a] suse.de> 11182 11183 PR c-family/61741 11184 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions 11185 using unsigned arithmetic if overflow does not wrap instead of 11186 if overflow is undefined. 11187 11188 2014-07-06 Marek Polacek <polacek (a] redhat.com> 11189 11190 PR c/6940 11191 * c.opt (Wsizeof-array-argument): New option. 11192 11193 2014-07-03 Jakub Jelinek <jakub (a] redhat.com> 11194 11195 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if 11196 comments->count <= 1, as comments->entries might be NULL. 11197 11198 2014-07-01 Marek Polacek <polacek (a] redhat.com> 11199 11200 * c.opt (Wint-conversion): New option. 11201 11202 2014-07-01 Marek Polacek <polacek (a] redhat.com> 11203 11204 PR c/58286 11205 * c.opt (Wincompatible-pointer-types): New option. 11206 11207 2014-06-30 Paolo Carlini <paolo.carlini (a] oracle.com> 11208 11209 PR c++/51400 11210 * c-common.c (handle_noreturn_attribute, handle_const_attribute): 11211 Do not discard TYPE_QUALS of type. 11212 11213 2014-06-26 Jason Merrill <jason (a] redhat.com> 11214 11215 * c-common.h (enum cxx_dialect): Add cxx1z. 11216 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New. 11217 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it. 11218 11219 2014-06-26 Teresa Johnson <tejohnson (a] google.com> 11220 11221 * c-common.h (get_dump_info): Declare. 11222 * c-gimplify.c (c_genericize): Use saved dump files. 11223 * c-opts.c (c_common_parse_file): Begin and end dumps 11224 once around parsing invocation. 11225 (get_dump_info): New function. 11226 11227 2014-06-23 Marek Polacek <polacek (a] redhat.com> 11228 Andrew MacLeod <amacleod (a] redhat.com> 11229 11230 PR c/61553 11231 * c-common.c (get_atomic_generic_size): Don't segfault if the 11232 type doesn't have a size. 11233 11234 2014-06-20 Marek Polacek <polacek (a] redhat.com> 11235 11236 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h". 11237 (ubsan_walk_array_refs_r): New function. 11238 (c_genericize): Instrument array bounds. 11239 * c-ubsan.c: Include "internal-fn.h". 11240 (ubsan_instrument_division): Mark instrumented arrays as having 11241 side effects. Adjust ubsan_type_descriptor call. 11242 (ubsan_instrument_shift): Likewise. 11243 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call. 11244 (ubsan_instrument_bounds): New function. 11245 (ubsan_array_ref_instrumented_p): New function. 11246 (ubsan_maybe_instrument_array_ref): New function. 11247 * c-ubsan.h (ubsan_instrument_bounds): Declare. 11248 (ubsan_array_ref_instrumented_p): Declare. 11249 (ubsan_maybe_instrument_array_ref): Declare. 11250 11251 2014-06-20 Hale Wang <hale.wang (a] arm.com> 11252 11253 PR lto/61123 11254 * c.opt (fshort-enums): Add to LTO. 11255 * c.opt (fshort-wchar): Likewise. 11256 11257 2014-06-16 Marek Polacek <polacek (a] redhat.com> 11258 11259 PR c/60439 11260 * c.opt (Wswitch-bool): Add Var. 11261 11262 2014-06-12 Jakub Jelinek <jakub (a] redhat.com> 11263 11264 PR middle-end/61486 11265 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in 11266 #pragma omp target teams or 11267 #pragma omp {,target }teams distribute simd. 11268 11269 2014-06-12 Jason Merrill <jason (a] redhat.com> 11270 11271 * c.opt (Wabi=, fabi-compat-version): New. 11272 * c-opts.c (c_common_handle_option): Handle -Wabi=. 11273 (c_common_post_options): Handle flag_abi_compat_version default. 11274 Disallow -fabi-compat-version=1. 11275 * c-common.h (abi_version_crosses): New. 11276 11277 2014-06-11 Jan Hubicka <hubicka (a] ucw.cz> 11278 11279 * c-common.c (handle_section_attribute): Update handling for 11280 section names that are no longer trees. 11281 11282 2014-06-10 Jakub Jelinek <jakub (a] redhat.com> 11283 11284 PR fortran/60928 11285 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK... 11286 (omp_pragmas): ... back here. 11287 11288 2014-06-05 Marek Polacek <polacek (a] redhat.com> 11289 11290 PR c/49706 11291 * c-common.c (warn_logical_not_parentheses): New function. 11292 * c-common.h (warn_logical_not_parentheses): Declare. 11293 * c.opt (Wlogical-not-parentheses): New option. 11294 11295 2014-06-04 Marek Polacek <polacek (a] redhat.com> 11296 11297 PR c/30020 11298 * c-common.c (check_case_bounds): Add location parameter. 11299 Use it. 11300 (c_add_case_label): Pass loc to check_case_bounds. 11301 11302 2014-06-03 Marek Polacek <polacek (a] redhat.com> 11303 11304 PR c/60439 11305 * c.opt (Wswitch-bool): New option. 11306 11307 2014-05-22 Thomas Schwinge <thomas (a] codesourcery.com> 11308 11309 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl): 11310 Remove prototypes. 11311 (record_types_used_by_current_var_decl): Move prototype to where 11312 it belongs. 11313 11314 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6) 11315 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8) 11316 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes. 11317 11318 2014-05-21 Richard Sandiford <rsandifo (a] linux.vnet.ibm.com> 11319 11320 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete. 11321 * c-common.c (c_common_nodes_and_builtins): Don't initialize 11322 void_zero_node. 11323 * c-pretty-print.c (pp_c_void_constant): New function. 11324 (c_pretty_printer::constant, c_pretty_printer::primary_expression) 11325 (c_pretty_printer::expression): Handle VOID_CST. 11326 * cilk.c (extract_free_variables): Likewise. 11327 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift) 11328 (ubsan_instrument_vla): Use void_node instead of void_zero_node. 11329 11330 2014-05-17 Trevor Saunders <tsaunders (a] mozilla.com> 11331 11332 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute. 11333 * c-pragma.c (push_alignment): Adjust. 11334 (handle_pragma_push_options): Likewise. 11335 11336 2014-05-09 Marek Polacek <polacek (a] redhat.com> 11337 11338 PR c/50459 11339 * c-common.c (check_user_alignment): Return -1 if alignment is error 11340 node. 11341 (handle_aligned_attribute): Don't call default_conversion on 11342 FUNCTION_DECLs. 11343 (handle_vector_size_attribute): Likewise. 11344 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node. 11345 (handle_sentinel_attribute): Call default_conversion and allow even 11346 integral types as an argument. 11347 11348 2014-05-08 Marek Polacek <polacek (a] redhat.com> 11349 11350 PR c/61053 11351 * c-common.c (min_align_of_type): New function factored out from... 11352 (c_sizeof_or_alignof_type): ...here. 11353 * c-common.h (min_align_of_type): Declare. 11354 11355 2014-05-08 Marek Polacek <polacek (a] redhat.com> 11356 11357 PR c/61077 11358 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified 11359 parameter type of main. 11360 11361 2014-05-07 DJ Delorie <dj (a] redhat.com> 11362 11363 * c-cppbuiltin.c (print_bits_of_hex): New. 11364 (builtin_define_type_minmax): Print values using hex so as not to 11365 require a pre-computed list of string values. 11366 11367 2014-05-06 Kenneth Zadeck <zadeck (a] naturalbridge.com> 11368 Mike Stump <mikestump (a] comcast.net> 11369 Richard Sandiford <rdsandiford (a] googlemail.com> 11370 11371 * c-ada-spec.c: Include wide-int.h. 11372 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove. 11373 (dump_generic_ada_node): Use wide-int interfaces. 11374 * c-common.c: Include wide-int-print.h. 11375 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt. 11376 (pointer_int_sum): Use wide-int interfaces. 11377 (c_common_nodes_and_builtins): Use make_int_cst. 11378 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p. 11379 (handle_alloc_size_attribute): Use wide-int interfaces. 11380 (get_nonnull_operand): Likewise. 11381 * c-format.c (get_constant): Use tree_fits_uhwi_p. 11382 * c-lex.c: Include wide-int.h. 11383 (narrowest_unsigned_type): Take a widest_int rather than two 11384 HOST_WIDE_INTs. 11385 (narrowest_signed_type): Likewise. 11386 (interpret_integer): Update accordingly. Use wide-int interfaces. 11387 (lex_charconst): Use wide-int interfaces. 11388 * c-pretty-print.c: Include wide-int.h. 11389 (pp_c_integer_constant): Use wide-int interfaces. 11390 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of 11391 INT_CST_LT_UNSIGNED. 11392 11393 2014-05-06 Richard Biener <rguenther (a] suse.de> 11394 11395 * c-opts.c (c_common_post_options): For -freestanding, 11396 -fno-hosted and -fno-builtin disable pattern recognition 11397 if not enabled explicitely. 11398 11399 2014-05-02 Marek Polacek <polacek (a] redhat.com> 11400 11401 * c.opt (Wsizeof-pointer-memaccess): Describe option. 11402 11403 2014-05-01 Marek Polacek <polacek (a] redhat.com> 11404 11405 PR c/43245 11406 * c.opt (Wdiscarded-qualifiers): Add. 11407 11408 2014-04-30 Marek Polacek <polacek (a] redhat.com> 11409 11410 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform 11411 INT_MIN / -1 sanitization only for integer types. 11412 11413 2014-04-25 Marek Polacek <polacek (a] redhat.com> 11414 11415 PR c/18079 11416 * c-common.c (handle_noinline_attribute): Warn if the attribute 11417 conflicts with always_inline attribute. 11418 (handle_always_inline_attribute): Warn if the attribute conflicts 11419 with noinline attribute. 11420 11421 2014-04-25 Marek Polacek <polacek (a] redhat.com> 11422 11423 PR c/60156 11424 * c-common.c (check_main_parameter_types): Warn about variadic main. 11425 11426 2014-04-24 Mike Stump <mikestump (a] comcast.net> 11427 11428 * c.opt (Wshadow-ivar): Default to on. 11429 11430 2014-04-24 Dimitris Papavasiliou <dpapavas (a] gmail.com> 11431 11432 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add. 11433 11434 2014-04-23 Marek Polacek <polacek (a] redhat.com> 11435 11436 * c-common.c (handle_tm_wrap_attribute): Tweak error message. 11437 11438 2014-04-22 Jakub Jelinek <jakub (a] redhat.com> 11439 11440 PR sanitizer/60275 11441 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap () 11442 if flag_sanitize_undefined_trap_on_error. 11443 (ubsan_instrument_division, ubsan_instrument_shift, 11444 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort () 11445 if !flag_sanitize_recover. 11446 11447 2014-04-22 Marc Glisse <marc.glisse (a] inria.fr> 11448 11449 PR libstdc++/43622 11450 * c-common.c (registered_builtin_types): Make non-static. 11451 * c-common.h (registered_builtin_types): Declare. 11452 11453 2014-04-14 Richard Biener <rguenther (a] suse.de> 11454 Marc Glisse <marc.glisse (a] inria.fr> 11455 11456 PR c/60819 11457 * c-common.c (convert_vector_to_pointer_for_subscript): Properly 11458 apply may-alias the scalar pointer type when applicable. 11459 11460 2014-04-12 Igor Zamyatin <igor.zamyatin (a] intel.com> 11461 11462 PR middle-end/60467 11463 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL 11464 as possible argument for Cilk_spawn. 11465 11466 2014-04-11 Tobias Burnus <burnus (a] net-b.de> 11467 11468 PR c/60194 11469 * c.opt (Wformat-signedness): Add 11470 * c-format.c(check_format_types): Use it. 11471 11472 2014-04-11 Jason Merrill <jason (a] redhat.com> 11473 11474 PR c++/57926 11475 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call 11476 default_conversion for an array argument. 11477 11478 2014-04-08 Marek Polacek <polacek (a] redhat.com> 11479 11480 PR sanitizer/60745 11481 * c-ubsan.c: Include asan.h. 11482 (ubsan_instrument_return): Call initialize_sanitizer_builtins. 11483 11484 2014-04-03 Nathan Sidwell <nathan (a] codesourcery.com> 11485 11486 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++. 11487 11488 2014-04-02 Marek Polacek <polacek (a] redhat.com> 11489 11490 * c-common.h (c_expand_expr): Remove declaration. 11491 11492 2014-03-28 Jakub Jelinek <jakub (a] redhat.com> 11493 11494 PR c++/60689 11495 * c-common.c (add_atomic_size_parameter): When creating new 11496 params vector, push the size argument first. 11497 11498 2014-03-26 Jakub Jelinek <jakub (a] redhat.com> 11499 11500 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift, 11501 ubsan_instrument_vla, ubsan_instrument_return): Adjust 11502 ubsan_create_data callers. 11503 11504 2014-03-22 Jakub Jelinek <jakub (a] redhat.com> 11505 11506 PR debug/60603 11507 * c-opts.c (c_finish_options): Restore cb_file_change call to 11508 <built-in>. 11509 11510 2014-03-13 Jakub Jelinek <jakub (a] redhat.com> 11511 11512 PR middle-end/36282 11513 * c-pragma.c (apply_pragma_weak): Only look at 11514 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if 11515 DECL_ASSEMBLER_NAME_SET_P (decl). 11516 (maybe_apply_pending_pragma_weaks): Exit early if 11517 vec_safe_is_empty (pending_weaks) rather than only when 11518 !pending_weaks. 11519 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P, 11520 set assembler name back to NULL afterwards. 11521 11522 2014-03-11 Jason Merrill <jason (a] redhat.com> 11523 11524 * c.opt: Add -std=gnu++14. 11525 11526 2014-03-11 Ian Bolton <ian.bolton (a] arm.com> 11527 11528 * c-opts.c (c_common_post_options): Don't override 11529 -ffp-contract=fast if unsafe-math-optimizations is on. 11530 11531 2014-03-08 Paulo Matos <paulo (a] matos-sorge.com> 11532 11533 * c.opt: Enable LTO FE for fshort-double. 11534 11535 2014-03-07 Jason Merrill <jason (a] redhat.com> 11536 11537 * c.opt: Add -std=c++14. 11538 11539 2014-03-06 Marek Polacek <polacek (a] redhat.com> 11540 11541 PR c/60197 11542 * cilk.c (contains_cilk_spawn_stmt): New function. 11543 (contains_cilk_spawn_stmt_walker): Likewise. 11544 (recognize_spawn): Give error on invalid use of _Cilk_spawn. 11545 * c-common.h (contains_cilk_spawn_stmt): Add declaration. 11546 11547 2014-03-03 Jakub Jelinek <jakub (a] redhat.com> 11548 11549 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD. 11550 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD 11551 even when flag_preprocess_only. 11552 11553 2014-02-26 Jason Merrill <jason (a] redhat.com> 11554 11555 PR c++/59231 11556 PR c++/11586 11557 * c-common.c (shorten_compare): Don't check 11558 c_inhibit_evaluation_warnings. 11559 11560 2014-02-19 Jakub Jelinek <jakub (a] redhat.com> 11561 11562 PR c/37743 11563 * c-common.c (c_common_nodes_and_builtins): When initializing 11564 c_uint{16,32,64}_type_node, also set corresponding 11565 uint{16,32,64}_type_node to the same value. 11566 11567 PR c++/60267 11568 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma 11569 for PRAGMA_IVDEP if flag_preprocess_only. 11570 11571 2014-02-12 Jakub Jelinek <jakub (a] redhat.com> 11572 11573 PR c/60101 11574 * c-common.c (merge_tlist): If copy is true, call new_tlist, 11575 if false, add ADD itself, rather than vice versa. 11576 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero 11577 copy. For SAVE_EXPR, only call merge_tlist once. 11578 11579 2014-02-08 Jakub Jelinek <jakub (a] redhat.com> 11580 11581 PR middle-end/60092 11582 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p 11583 and tree_to_uhwi. 11584 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New 11585 functions. 11586 (c_common_attribute_table): Add alloc_align and assume_aligned 11587 attributes. 11588 11589 2014-02-06 Marek Polacek <polacek (a] redhat.com> 11590 11591 PR c/60087 11592 * c-common.c (warn_for_sign_compare): Call warning_at with location 11593 instead of warning. 11594 11595 2014-02-05 Marek Polacek <polacek (a] redhat.com> 11596 11597 PR c/53123 11598 * c-omp.c (c_finish_omp_atomic): Remove unreachable return 11599 statement. 11600 11601 2014-02-04 Marek Polacek <polacek (a] redhat.com> 11602 11603 PR c/60036 11604 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or 11605 SAVE_EXPR. 11606 11607 2014-02-03 Marc Glisse <marc.glisse (a] inria.fr> 11608 11609 PR c++/53017 11610 PR c++/59211 11611 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute, 11612 handle_vector_size_attribute, handle_nonnull_attribute): Call 11613 default_conversion on the attribute argument. 11614 (handle_nonnull_attribute): Increment the argument number. 11615 11616 2014-01-31 Marek Polacek <polacek (a] redhat.com> 11617 11618 PR c/59963 11619 * c-common.c (add_atomic_size_parameter): Pass vNULL to 11620 build_function_call_vec. 11621 (resolve_overloaded_builtin): Likewise. 11622 * c-common.h (build_function_call_vec): Adjust declaration. 11623 11624 2014-01-30 Marek Polacek <polacek (a] redhat.com> 11625 11626 PR c/59940 11627 * c-common.h (unsafe_conversion_p): Adjust declaration. 11628 (warnings_for_convert_and_check): Likewise. 11629 (convert_and_check): Likewise. 11630 * c-common.c (unsafe_conversion_p): Add location parameter. Call 11631 expansion_point_location_if_in_system_header on it. 11632 (warnings_for_convert_and_check): Add location parameter. Call 11633 expansion_point_location_if_in_system_header on it. Use it. 11634 (convert_and_check): Add location parameter. Use it. 11635 (conversion_warning): Likewise. 11636 (c_add_case_label): Adjust convert_and_check calls. 11637 (scalar_to_vector): Adjust unsafe_conversion_p calls. 11638 11639 2014-01-24 Balaji V. Iyer <balaji.v.iyer (a] intel.com> 11640 11641 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with 11642 flag_cilkplus. 11643 * c-pragma.c (init_pragma): Likewise. 11644 * c.opt: Likewise. 11645 11646 2014-01-23 Marek Polacek <polacek (a] redhat.com> 11647 11648 PR c/59846 11649 * c-common.c (shorten_compare): Add location_t parameter. 11650 * c-common.h (shorten_binary_op): Adjust declaration. 11651 11652 2014-01-23 Marek Polacek <polacek (a] redhat.com> 11653 11654 PR c/58346 11655 * c-common.c (pointer_to_zero_sized_aggr_p): New function. 11656 * c-common.h: Declare it. 11657 11658 2014-01-20 Eric Botcazou <ebotcazou (a] adacore.com> 11659 11660 * c-ada-spec.h (dump_ada_specs): Revert prototype change. 11661 * c-ada-spec.c (dump_ads): Likewise. 11662 (cpp_check): Likewise. 11663 (dump_ada_specs): Likewise. 11664 11665 2014-01-15 Laurent Alfonsi <laurent.alfonsi (a] st.com> 11666 11667 PR c++/49718 11668 * c-common.c (handle_no_instrument_function_attribute): Allow 11669 no_instrument_function attribute in class member 11670 definition/declaration. 11671 11672 2014-01-15 Jakub Jelinek <jakub (a] redhat.com> 11673 11674 PR c/58943 11675 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around 11676 build_modify_expr with non-NOP_EXPR opcode. Handle return from it 11677 being COMPOUND_EXPR. 11678 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first 11679 operand a SAVE_EXPR and second MODIFY_EXPR. 11680 11681 2014-01-09 Jakub Jelinek <jakub (a] redhat.com> 11682 11683 PR target/58115 11684 * c-pch.c (c_common_write_pch): Call 11685 prepare_target_option_nodes_for_pch. 11686 11687 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com> 11688 11689 Update copyright years 11690 11691 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com> 11692 11693 * array-notation-common.c, c-cilkplus.c: Use the standard form for 11694 the copyright notice. 11695 11696 2013-12-28 Eric Botcazou <ebotcazou (a] adacore.com> 11697 11698 * c-ada-spec.c (print_constructor): New function. 11699 (print_destructor): Retrieve the origin of the destructor. 11700 (print_ada_declaration): Revamp handling of constructors/destructors. 11701 11702 2013-12-23 Stuart Hastings <stuart (a] apple.com> 11703 Bill Maddox <maddox (a] google.com> 11704 Jason Merrill <jason (a] redhat.com> 11705 11706 * c.opt: Add -fdeclone-ctor-dtor. 11707 * c-opts.c (c_common_post_options): Default to on iff -Os. 11708 11709 2013-12-18 Balaji V. Iyer <balaji.v.iyer (a] intel.com> 11710 11711 * c-common.c (c_common_attribute_table): Added "cilk simd function" 11712 attribute. 11713 * c-pragma.h (enum pragma_cilk_clause): Remove. 11714 (enum pragma_omp_clause): Added the following fields: 11715 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK, 11716 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE, 11717 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE, 11718 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE, 11719 PRAGMA_CILK_CLAUSE_UNIFORM. 11720 11721 11722 2013-12-11 Balaji V. Iyer <balaji.v.iyer (a] intel.com> 11723 11724 * cilk.c (cilk_outline): Made this function non-static. 11725 (gimplify_cilk_spawn): Removed pre_p and post_p arguments. 11726 (create_cilk_wrapper): Added a new parameter: a function pointer. 11727 (c_install_body_w_frame_cleanup): Remove 11728 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case. 11729 * c-common.h (cilk_outline): New prototype. 11730 (gimplify_cilk_spawn): Removed two parameters. 11731 (cilk_install_body_with_frame_cleanup): New prototype. 11732 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and 11733 CILK_SPAWN_STMT case. 11734 11735 2013-12-11 Bernd Schmidt <bernds (a] codesourcery.com> 11736 11737 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR. 11738 11739 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE. 11740 (int_array_type_node): Remove. 11741 * c-common.c (c_common_nodes_and_builtins): Don't build it. 11742 11743 2013-12-05 Marek Polacek <polacek (a] redhat.com> 11744 11745 PR c/52023 11746 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into 11747 [ADJUST_FIELD_ALIGN]. 11748 11749 2013-12-04 Joseph Myers <joseph (a] codesourcery.com> 11750 11751 PR c/52023 11752 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof 11753 and check field alignment if set. 11754 * c-common.h (c_sizeof_or_alignof_type): Update prototype. 11755 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type. 11756 11757 2013-12-04 Jakub Jelinek <jakub (a] redhat.com> 11758 Marek Polacek <polacek (a] redhat.com> 11759 11760 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow 11761 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS. 11762 11763 2013-11-29 H.J. Lu <hongjiu.lu (a] intel.com> 11764 11765 PR c/59309 11766 * cilk.c (gimplify_cilk_spawn): Properly handle function without 11767 arguments. 11768 11769 2013-11-29 Jakub Jelinek <jakub (a] redhat.com> 11770 11771 PR c/59280 11772 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE, 11773 goto invalid. If it is error_mark_node, don't issue further 11774 diagnostics. 11775 11776 2013-11-28 Sergey Ostanevich <sergos.gnu (a] gmail.com> 11777 11778 * c.opt (Wopenmp-simd): New. 11779 11780 2013-11-22 Jakub Jelinek <jakub (a] redhat.com> 11781 11782 * c-ubsan.h (ubsan_instrument_return): New prototype. 11783 * c-ubsan.c (ubsan_instrument_return): New function. 11784 11785 2013-11-22 Andrew MacLeod <amacleod (a] redhat.com> 11786 11787 * c-common.c: Add required include files from gimple.h. 11788 * c-gimplify.c: Likewise. 11789 * cilk.c: Likewise. 11790 11791 2013-11-22 David Malcolm <dmalcolm (a] redhat.com> 11792 11793 * c-common.c (unsafe_conversion_p): Remove use of 11794 EXPR_LOC_OR_HERE macro. 11795 (conversion_warning): Likewise. 11796 (warnings_for_convert_and_check): Likewise. 11797 (warn_for_collisions_1): Likewise. 11798 (shorten_compare): Likewise, and remove use of in_system_header 11799 macro, using the location from the former. 11800 * c-lex.c (dump_one_header): Remove use of input_filename macro. 11801 (cb_def_pragma): Remove use of in_system_header macro. 11802 (lex_string): Likewise. 11803 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise. 11804 11805 2013-11-20 Kenneth Zadeck <zadeck (a] naturalbridge.com> 11806 Mike Stump <mikestump (a] comcast.net> 11807 Richard Sandiford <rdsandiford (a] googlemail.com> 11808 11809 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi 11810 instead of TREE_INT_CST_LOW, in cases where there is a protecting 11811 tree_fits_shwi_p or tree_fits_uhwi_p. 11812 (dump_generic_ada_node): Likewise. 11813 * c-format.c (check_format_arg): Likewise. 11814 * c-pretty-print.c (pp_c_integer_constant): Likewise. 11815 11816 2013-11-20 Kenneth Zadeck <zadeck (a] naturalbridge.com> 11817 11818 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi. 11819 11820 2013-11-19 Joshua J Cogliati <jrincayc (a] yahoo.com> 11821 11822 PR c/53001 11823 * c-common.c (unsafe_conversion_p): Make this function 11824 return an enumeration with more detail. 11825 (conversion_warning): Use the new return type of 11826 unsafe_conversion_p to separately warn either about conversions 11827 that lower floating point number precision or about the other 11828 kinds of conversions. 11829 * c-common.h (enum conversion_safety): New enumeration. 11830 (unsafe_conversion_p): switching return type to 11831 conversion_safety enumeration. 11832 * c.opt: Adding new warning -Wfloat-conversion and 11833 enabling it with -Wconversion. 11834 11835 2013-11-19 Basile Starynkevitch <basile (a] starynkevitch.net> 11836 11837 * c-opts.c: Include plugin.h. 11838 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE. 11839 11840 2013-11-19 Marek Polacek <polacek (a] redhat.com> 11841 11842 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data 11843 call. 11844 (ubsan_instrument_shift): Likewise. 11845 (ubsan_instrument_vla): Likewise. 11846 11847 2013-11-18 Richard Sandiford <rdsandiford (a] googlemail.com> 11848 11849 * c-common.c (convert_vector_to_pointer_for_subscript): Remove 11850 cast to unsigned type. 11851 11852 2013-11-18 Richard Sandiford <rdsandiford (a] googlemail.com> 11853 11854 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than 11855 tree_low_cst. 11856 (complete_array_type): Update comment to refer to tree_to_[su]hwi 11857 rather than tree_low_cst. 11858 11859 2013-11-18 Richard Sandiford <rdsandiford (a] googlemail.com> 11860 11861 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with 11862 tree_to_uhwi throughout. 11863 11864 2013-11-18 Richard Sandiford <rdsandiford (a] googlemail.com> 11865 11866 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace 11867 tree_low_cst (..., 0) with tree_to_shwi throughout. 11868 11869 2013-11-18 Richard Sandiford <rdsandiford (a] googlemail.com> 11870 11871 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace 11872 host_integerp (..., 1) with tree_fits_uhwi_p throughout. 11873 11874 2013-11-18 Richard Sandiford <rdsandiford (a] googlemail.com> 11875 11876 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace 11877 host_integerp (..., 0) with tree_fits_shwi_p throughout. 11878 11879 2013-11-15 Aldy Hernandez <aldyh (a] redhat.com> 11880 11881 * c-cilkplus.c: New file. 11882 * c-common.c (readonly_error): Add location argument. 11883 * c-common.h (readonly_error): Same. 11884 (c_finish_cilk_clauses): Protoize. 11885 (c_check_cilk_loop): Same. 11886 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes. 11887 Do not fail on error_mark_node. 11888 Abstract increment canonicalization to here... 11889 (c_omp_for_incr_canonicalize_ptr): New. 11890 c-pragma.c (init_pragma): Register "simd" pragma. 11891 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD. 11892 (enum pragma_cilk_clause): New. 11893 11894 2013-11-15 Richard Sandiford <rdsandiford (a] googlemail.com> 11895 11896 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary 11897 wchar_type and host_integerp checks. 11898 11899 2013-11-14 Andrew MacLeod <amacleod (a] redhat.com> 11900 11901 * c-common.c: Likewise. 11902 * c-gimplify.c: Likewise. 11903 * cilk.c: Likewise. 11904 11905 2013-11-14 Diego Novillo <dnovillo (a] google.com> 11906 11907 * c-common.c: Include fold-const.h. 11908 Include stor-layout.h. 11909 Include calls.h. 11910 Include stringpool.h. 11911 Include attribs.h. 11912 Include varasm.h. 11913 Include trans-mem.h. 11914 * c-cppbuiltin.c: Include stor-layout.h. 11915 Include stringpool.h. 11916 * c-format.c: Include stringpool.h. 11917 * c-lex.c: Include stringpool.h. 11918 Include stor-layout.h. 11919 * c-pragma.c: Include stringpool.h. 11920 Include attribs.h. 11921 Include varasm.h. 11922 Include gcc-symtab.h. 11923 * c-pretty-print.c: Include stor-layout.h. 11924 Include attribs.h. 11925 * cilk.c: Include stringpool.h. 11926 Include calls.h. 11927 11928 2013-11-13 Joseph Myers <joseph (a] codesourcery.com> 11929 11930 * c-common.h (enum rid): Add RID_AUTO_TYPE. 11931 * c-common.c (c_common_reswords): Add __auto_type. 11932 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE. 11933 11934 2013-11-12 Andrew MacLeod <amacleod (a] redhat.com> 11935 11936 * c-common.c: Include gimplify.h. 11937 * c-gimplify.c: Likewise. 11938 * cilk.c: Likewise. 11939 * c-omp.c: Include gimple-expr.h instead of gimple.h. 11940 * c-ubsan.c: Don't include gimple.h. 11941 11942 2013-11-12 Joseph Myers <joseph (a] codesourcery.com> 11943 11944 * c-common.c (c_common_reswords): Add _Thread_local. 11945 11946 2013-11-09 Joseph Myers <joseph (a] codesourcery.com> 11947 11948 * c-common.c (atomic_size_supported_p): New function. 11949 (resolve_overloaded_atomic_exchange) 11950 (resolve_overloaded_atomic_compare_exchange) 11951 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): 11952 Use it instead of comparing size with a local list of sizes. 11953 11954 2013-11-07 Andrew MacLeod <amacleod (a] redhat.com> 11955 Joseph Myers <joseph (a] codesourcery.com> 11956 11957 * c-common.h (enum rid): Add RID_ATOMIC. 11958 * c-common.c (c_common_reswords): Add _Atomic. 11959 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument. 11960 (keyword_is_type_qualifier): Accept RID_ATOMIC. 11961 * c-format.c (check_format_types): Check for extra _Atomic 11962 qualifiers in format argument. 11963 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier. 11964 (pp_c_type_qualifier_list): Mention _Atomic in comment. 11965 11966 2013-11-06 Tobias Burnus <burnus (a] net-b.de> 11967 11968 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME. 11969 11970 2013-11-06 Joseph Myers <joseph (a] codesourcery.com> 11971 11972 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C 11973 standards modes. 11974 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast 11975 to mean lack of IEEE 754 support. 11976 11977 2013-11-05 Tobias Burnus <burnus (a] net-b.de> 11978 11979 * c.opt (-Wdate-time): New option 11980 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp. 11981 11982 2013-11-05 Joseph Myers <joseph (a] codesourcery.com> 11983 11984 * c-cppbuiltin.c (cpp_iec_559_value): Test 11985 flag_excess_precision_cmdline not flag_excess_precision. 11986 11987 2013-11-05 Tobias Burnus <burnus (a] net-b.de> 11988 11989 * c.opt (fopenmp-simd): New option. 11990 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ... 11991 (omp_pragmas): ... this new struct. 11992 (c_pp_lookup_pragma): Also walk omp_pragmas. 11993 (init_pragma): Init pragmas for -fopenmp-simd. 11994 11995 2013-11-04 Marek Polacek <polacek (a] redhat.com> 11996 11997 PR c++/58979 11998 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case. 11999 12000 2013-11-04 Joseph Myers <joseph (a] codesourcery.com> 12001 12002 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value): 12003 New functions. 12004 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX. 12005 12006 2013-11-04 Eric Botcazou <ebotcazou (a] adacore.com> 12007 12008 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL. 12009 (dump_ada_specs): Adjust prototype of second callback. 12010 * c-ada-spec.c (cpp_check): New global variable. 12011 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down. 12012 (print_generic_ada_decl): Likewise. 12013 (has_static_fields): Change return type to bool and add guard. 12014 (has_nontrivial_methods): New predicate. 12015 (is_tagged_type): Change return type to bool. 12016 (separate_class_package): Call has_nontrivial_methods. 12017 (pp_ada_tree_identifier): Minor tweaks. 12018 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node. 12019 (dump_ada_array_domains): Likewise. 12020 (dump_ada_array_type): Likewise. 12021 (dump_template_types): Remove cpp_check parameter and do not pass it to 12022 dump_generic_ada_node. 12023 (dump_ada_template): Likewise. 12024 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it 12025 recursively. 12026 (print_ada_methods): Change return type to integer. Remove cpp_check 12027 parameter and do not pass it down. 12028 (dump_nested_types): Remove cpp_check parameter and do not pass it to 12029 dump_generic_ada_node. 12030 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before 12031 accessing methods. 12032 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it 12033 down. Use has_nontrivial_methods to recognize C++ classes. Use return 12034 value of print_ada_methods. 12035 (dump_ads): Rename cpp_check parameter to check and adjust prototype. 12036 Set cpp_check to it before invoking dump_ada_nodes. 12037 (dump_ada_specs): Likewise. 12038 12039 2013-11-03 Marek Polacek <polacek (a] redhat.com> 12040 12041 * c-ubsan.c: Don't include hash-table.h. 12042 (ubsan_instrument_vla): New function. 12043 * c-ubsan.h: Declare it. 12044 12045 2013-10-31 David Malcolm <dmalcolm (a] redhat.com> 12046 12047 Automated part of renaming of symtab_node_base to symtab_node. 12048 12049 Patch autogenerated by rename_symtab.py from 12050 https://github.com/davidmalcolm/gcc-refactoring-scripts 12051 revision 58bb219cc090b2f4516a9297d868c245495ee622 12052 12053 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename 12054 symtab_node_base to symtab_node. 12055 12056 2013-10-31 Edward Smith-Rowland <3dw4rd (a] verizon.net> 12057 12058 Implement C++14 digit separators. 12059 * c-lex.c (interpret_float): Remove digit separators from scratch string 12060 before building real literal. 12061 12062 2013-10-30 Jakub Jelinek <jakub (a] redhat.com> 12063 12064 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC. 12065 12066 2013-10-29 Balaji V. Iyer <balaji.v.iyer (a] intel.com> 12067 12068 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync 12069 fields. 12070 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is 12071 enabled. 12072 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC. 12073 (insert_cilk_frame): New prototype. 12074 (cilk_init_builtins): Likewise. 12075 (gimplify_cilk_spawn): Likewise. 12076 (c_cilk_install_body_w_frame_cleanup): Likewise. 12077 (cilk_detect_spawn_and_unwrap): Likewise. 12078 (cilk_set_spawn_marker): Likewise. 12079 (build_cilk_sync): Likewise. 12080 (build_cilk_spawn): Likewise. 12081 * cilk.c: New file. 12082 12083 2013-10-29 David Malcolm <dmalcolm (a] redhat.com> 12084 12085 Patch autogenerated by refactor_symtab.py from 12086 https://github.com/davidmalcolm/gcc-refactoring-scripts 12087 revision 58bb219cc090b2f4516a9297d868c245495ee622 12088 12089 * c-gimplify.c (c_genericize): Update for conversion of symtab types 12090 to a true class hierarchy. 12091 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise. 12092 12093 2013-10-27 Richard Sandiford <rdsandiford (a] googlemail.com> 12094 12095 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend. 12096 12097 2013-10-26 Jeff Law <law (a] redhat.com> 12098 12099 * c-common.c (c_define_builtins): Remove mudflap support. 12100 * c.opt: Ignore and warn for mudflap options. 12101 12102 2013-10-24 Tobias Burnus <burnus (a] net-b.de> 12103 12104 PR other/33426 12105 * c-pragma.c (init_pragma) Add #pragma ivdep handling. 12106 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP. 12107 12108 2013-10-23 Jason Merrill <jason (a] redhat.com> 12109 12110 * c-format.c (gcc_cxxdiag_char_table): Add %X. 12111 12112 2013-10-11 Jakub Jelinek <jakub (a] redhat.com> 12113 12114 * c-common.h (omp_clause_mask::operator !=): New method. 12115 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0) 12116 instead of if (mask & something) tests everywhere. 12117 12118 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to 12119 201307 instead of 201107. 12120 * c-common.c (DEF_FUNCTION_TYPE_8): Define. 12121 (c_common_attribute_table): Add "omp declare target" and 12122 "omp declare simd" attributes. 12123 (handle_omp_declare_target_attribute, 12124 handle_omp_declare_simd_attribute): New functions. 12125 * c-omp.c: Include c-pragma.h. 12126 (c_finish_omp_taskgroup): New function. 12127 (c_finish_omp_atomic): Add swapped argument, if true, 12128 build the operation first with rhs, lhs arguments and use NOP_EXPR 12129 build_modify_expr. 12130 (c_finish_omp_for): Add code argument, pass it down to make_code. 12131 (c_omp_split_clauses): New function. 12132 (c_split_parallel_clauses): Removed. 12133 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers, 12134 c_omp_declare_simd_clauses_to_decls): New functions. 12135 * c-common.h (omp_clause_mask): New type. 12136 (OMP_CLAUSE_MASK_1): Define. 12137 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=, 12138 omp_clause_mask::operator |=, omp_clause_mask::operator ~, 12139 omp_clause_mask::operator |, omp_clause_mask::operator &, 12140 omp_clause_mask::operator <<, omp_clause_mask::operator >>, 12141 omp_clause_mask::operator ==): New methods. 12142 (enum c_omp_clause_split): New. 12143 (c_finish_omp_taskgroup): New prototype. 12144 (c_finish_omp_atomic): Add swapped argument. 12145 (c_finish_omp_for): Add code argument. 12146 (c_omp_split_clauses): New prototype. 12147 (c_split_parallel_clauses): Removed. 12148 (c_omp_declare_simd_clauses_to_numbers, 12149 c_omp_declare_simd_clauses_to_decls): New prototypes. 12150 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs. 12151 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL, 12152 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION, 12153 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD, 12154 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS. 12155 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS. 12156 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED, 12157 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE, 12158 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR, 12159 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH, 12160 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP, 12161 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS, 12162 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND, 12163 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS, 12164 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP, 12165 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and 12166 PRAGMA_OMP_CLAUSE_UNIFORM. 12167 12168 2013-10-09 Marc Glisse <marc.glisse (a] inria.fr> 12169 12170 PR tree-optimization/20318 12171 * c-common.c (handle_returns_nonnull_attribute): New function. 12172 (c_common_attribute_table): Add returns_nonnull. 12173 12174 2013-10-03 Marc Glisse <marc.glisse (a] inria.fr> 12175 12176 PR c++/19476 12177 * c.opt (fcheck-new): Move to common.opt. 12178 12179 2013-09-25 Marek Polacek <polacek (a] redhat.com> 12180 Jakub Jelinek <jakub (a] redhat.com> 12181 12182 PR sanitizer/58413 12183 * c-ubsan.c (ubsan_instrument_shift): Don't instrument 12184 an expression if we can prove it is correct. 12185 (ubsan_instrument_division): Likewise. Remove unnecessary 12186 check. 12187 12188 2013-09-18 Marek Polacek <polacek (a] redhat.com> 12189 12190 PR sanitizer/58411 12191 * c-common.c (handle_no_sanitize_undefined_attribute): New function. 12192 Declare it. 12193 (struct attribute_spec c_common_att): Add no_sanitize_undefined. 12194 12195 2013-09-14 Iain Sandoe <iain (a] codesourcery.com> 12196 12197 PR target/48094 12198 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version, 12199 fobjc-gc, freplace-objc-classes): Accept for LTO. 12200 12201 2013-09-13 Jacek Caban <jacek (a] codeweavers.com> 12202 12203 * c-target.def: New hook 12204 12205 2013-09-09 Paolo Carlini <paolo.carlini (a] oracle.com> 12206 12207 PR c++/43452 12208 * c.opt (Wdelete-incomplete): Add. 12209 12210 2013-09-08 Joern Rennecke <joern.rennecke (a] embecosm.com> 12211 12212 * c-common.c (same_scalar_type_ignoring_signedness): Delete. 12213 (vector_types_compatible_elements_p): New function. 12214 * c-common.h: (same_scalar_type_ignoring_signedness): Delete 12215 declaration. 12216 (vector_types_compatible_elements_p): Declare. 12217 12218 2013-09-04 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12219 12220 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now 12221 a virtual member function. 12222 (pp_simple_type_specifier): Remove. 12223 (pp_c_type_specifier): Likewise. 12224 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): 12225 Rename from pp_c_type_specifier. Adjust. 12226 (c_pretty_printer::c_pretty_printer): Do not assign to 12227 simple_type_specifier. 12228 12229 2013-09-03 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12230 12231 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual 12232 member function. 12233 (c_pretty_printer::storage_class_specifier): Likewise. 12234 (c_pretty_printer::initializer): Likewise. 12235 (pp_declaration): Remove. 12236 (pp_declaration_specifiers): Likewise. 12237 (pp_abstract_declarator): Likewise. 12238 (pp_declarator): Likewise. 12239 (pp_type_id): Likewise. 12240 (pp_statement): Likewise. 12241 (pp_constant): Likewise. 12242 (pp_id_expression): Likewise. 12243 (pp_primary_expression): Likewise. 12244 (pp_unary_expression): Likewise. 12245 (pp_multiplicative_expression): Likewise. 12246 (pp_conditional_expression): Likewise. 12247 (pp_assignment_expression): Likewise. 12248 (pp_expression): Likewise. 12249 (pp_c_type_id): Likewise. 12250 (pp_c_storage_class_specifier): Likewise. 12251 * c-pretty-print.c (pp_c_type_cast): Tidy. 12252 (pp_c_pointer): Likewise. 12253 (pp_c_type_specifier): Likewise. 12254 (pp_c_parameter_type_list): Likewise. 12255 (pp_c_function_definition): Likewise. 12256 (pp_c_init_declarator): Likewise. 12257 (pp_c_initializer_list): Likewise. 12258 (pp_c_constructor_elts): Likewise. 12259 (c_pretty_printer::direct_abstract_declarator): Likewise. 12260 (c_pretty_printer::declaration_specifiers): Likewise. 12261 (c_pretty_printer::primary_expression): Likewise. 12262 (c_pretty_printer::postfix_expression): Likewise. 12263 (c_pretty_printer::type_id): Rename from pp_c_type_id. 12264 (c_pretty_printer::storage_class_specifier): Rename from 12265 pp_c_storage_class_specifier. 12266 (c_pretty_printer::initializer): Rename from pp_c_initializer. 12267 (c_pretty_printer::c_pretty_printer): Do not assign to type_id, 12268 storage_class_specifier, initializer, offset_list, flags. 12269 12270 2013-08-30 Marek Polacek <polacek (a] redhat.com> 12271 12272 * c-ubsan.c: New file. 12273 * c-ubsan.h: New file. 12274 12275 2013-08-30 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12276 12277 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual 12278 member function. 12279 (c_pretty_printer::declaration_specifiers): Likewise. 12280 (c_pretty_printer::declarator): Likewise. 12281 (c_pretty_printer::abstract_declarator): Likewise. 12282 (c_pretty_printer::direct_abstract_declarator): Likewise. 12283 (c_pretty_printer::direct_declarator): Likewise. 12284 (c_pretty_printer::function_specifier): Likewise. 12285 (pp_declaration): Adjust. 12286 (pp_declaration_specifiers): Likewise. 12287 (pp_abstract_declarator): Likewise. 12288 (pp_direct_declarator): Likewise. 12289 (pp_function_specifier): Likewise. 12290 (pp_direct_abstract_declarator): Remove as unused. 12291 (pp_c_declaration): Remove. 12292 (pp_c_declaration_specifiers): Likewise. 12293 (pp_c_declarator): Likewise. 12294 (pp_c_direct_declarator): Likewise. 12295 (pp_c_function_specifier): Likewise. 12296 (pp_c_direct_abstract_declarator): Likewise. 12297 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename 12298 from pp_c_abstract_declarator. Adjust. 12299 (c_pretty_printer::direct_abstract_declarator): Rename from 12300 pp_c_direct_abstract_declarator. Adjust. 12301 (c_pretty_printer::function_specifier): Rename from 12302 pp_c_function_specifier. Adjust. 12303 (c_pretty_printer::declaration_specifiers): Rename from 12304 pp_c_declaration_specifiers. Adjust. 12305 (c_pretty_printer::direct_declarator): Rename from 12306 pp_c_direct_declarator. Adjust. 12307 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust. 12308 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust. 12309 (c_pretty_printer::c_pretty_printer): Do not assign to 12310 declaration, declaration_specifiers, declarator, 12311 direct_declarator, direct_abstract_declarator, function_specifier. 12312 12313 2013-08-26 Gabriel Dos Reis <gdre (a] integrable-solutions.net> 12314 12315 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a 12316 virtual member function. 12317 (c_pretty_printer::multiplicative_expression): Likewise. 12318 (c_pretty_printer::conditional_expression): Likewise. 12319 (c_pretty_printer::assignment_expression): Likewise. 12320 (c_pretty_printer::expression): Likewise. 12321 (pp_unary_expression): Adjust. 12322 (pp_multiplicative_expression): Likewise. 12323 (pp_assignment_expression): Likewise. 12324 (pp_conditional_expression): Likewise. 12325 (pp_expression): Likewise. 12326 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename 12327 from pp_c_unary_expression. Adjust. 12328 (c_pretty_printer::multiplicative_expression): Rename from 12329 pp_c_multiplicative_expression. Adjust. 12330 (c_pretty_printer::conditional_expression): Rename from 12331 pp_c_conditional_expression. Adjust. 12332 (c_pretty_printer::assignment_expression): Rename from 12333 pp_c_assignment_expression. Adjust. 12334 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust. 12335 (c_pretty_printer::c_pretty_printer): Do not assign to 12336 unary_expression, multiplicative_expression, 12337 conditional_expression, expression. 12338 12339 2013-08-25 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12340 12341 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a 12342 virtual member function. 12343 (pp_postfix_expression): Adjust. 12344 (pp_c_postfix_expression): Remove. 12345 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename 12346 from pp_c_postfix_expression. Adjust. 12347 (c_pretty_printer::c_pretty_printer): Do not assign to 12348 postfix_expression. 12349 12350 2013-08-25 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12351 12352 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a 12353 virtua member function. 12354 (pp_primary_expression): Adjust. 12355 (pp_c_primary_expression): Remove. 12356 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename 12357 from pp_c_primary_expression. Adjust. 12358 (pp_c_initializer_list): Use pp_primary_expression. 12359 (c_pretty_printer::c_pretty_printer): Do not assign to 12360 primary_expression. 12361 12362 2013-08-25 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12363 12364 * c-pretty-print.h (c_pretty_printer::translate_string): Declare. 12365 * c-pretty-print.c (M_): Remove. 12366 (c_pretty_printer::translate_string): Define. 12367 (pp_c_type_specifier): Use it. 12368 (pp_c_primary_expression): Likewise. 12369 (pp_c_expression): Likewise. 12370 12371 2013-08-24 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12372 12373 * c-pretty-print.h (c_pretty_printer::id_expression): Now a 12374 virtual function. 12375 (pp_c_id_expression): Remove. 12376 (pp_id_expression): Adjust. 12377 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from 12378 pp_c_id_expression. Adjust. 12379 (pp_c_postfix_expression): Use pp_id_expression. 12380 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression. 12381 12382 2013-08-24 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12383 12384 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual 12385 member function. 12386 (pp_constant): Adjust. 12387 (pp_c_constant): Remove. 12388 * c-pretty-print.c (c_pretty_printer::constant): Rename from 12389 pp_c_constant. Adjust. 12390 (pp_c_constant) 12391 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant. 12392 (c_pretty_printer::c_pretty_printer): Remove assignment to constant. 12393 12394 2013-08-22 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12395 12396 * c-pretty-print.h (pp_c_pretty_printer_init): Remove. 12397 (c_pretty_printer::c_pretty_printer): Declare. 12398 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from 12399 c_pretty_printer_init. Adjust. 12400 (print_c_tree): Do not call c_pretty_printer_init. 12401 * c-ada-spec.c (dump_ads): Remove call to pp_construct. 12402 12403 2013-08-09 Arnaud Charlet <charlet (a] adacore.com> 12404 12405 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name 12406 12407 2013-08-05 Paolo Carlini <paolo.carlini (a] oracle.com> 12408 12409 PR c++/58080 12410 * c-common.c (pointer_int_sum): Add bool parameter. 12411 * c-common.h (pointer_int_sum): Adjust declaration. 12412 12413 2013-08-05 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12414 12415 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local 12416 c_pretty_printer variable. 12417 12418 2013-08-04 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12419 12420 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer. 12421 (pp_base): Remove. 12422 (pp_c_base): Likewise. Adjust users. 12423 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust. 12424 (pp_c_whitespace): Do not call pp_base. 12425 (pp_c_left_paren): Likewise. 12426 (pp_c_right_paren): Likewise. 12427 (pp_c_left_brace): Likewise. 12428 (pp_c_right_brace): Likewise. 12429 (pp_c_left_bracket): Likewise. 12430 (pp_c_right_bracket): Likewise. 12431 (pp_c_dot): Likewise. 12432 (pp_c_ampersand): Likewise. 12433 (pp_c_star): Likewise. 12434 (pp_c_arrow): Likewise. 12435 (pp_c_semicolon): Likewise. 12436 (pp_c_complement): Likewise. 12437 (pp_c_exclamation): Likewise. 12438 (pp_c_direct_declarator): Likewise. 12439 (pp_c_ws_string): Likewise. 12440 (pp_c_identifier): Likewise. 12441 (pp_c_statement): Likewise. 12442 (print_c_tree): Likewise. 12443 12444 2013-08-04 Ed Smith-Rowland <3dw4rd (a] verizon.net> 12445 12446 PR c++/58072 12447 * c-common.c (c_parse_error): Catch user-defined literal tokens and 12448 provide useful error strings. 12449 12450 2013-08-03 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12451 12452 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty 12453 printer functions instead of pp_string or operators and punctuators. 12454 (dump_generic_ada_node): Likewise. 12455 * c-pretty-print.c (pp_c_type_specifier): Likewise. 12456 (pp_c_relational_expression): Likewise. 12457 (pp_c_logical_or_expression): Likewise. 12458 12459 2013-08-03 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12460 12461 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer 12462 functions instead of pp_character. 12463 (pp_ada_tree_identifier): Likewise. 12464 (dump_ada_double_name): Likewise. 12465 (dump_ada_function_declaration): Likewise. 12466 (dump_ada_array_domains): Likewise. 12467 (dump_template_types): Likewise. 12468 (dump_generic_ada_node): Likewise. 12469 (print_ada_declaration): Likewise. 12470 (print_ada_struct_decl): Likewise. 12471 * c-pretty-print.c (pp_c_integer_constant): Likewise. 12472 12473 2013-07-23 Tom Tromey <tromey (a] redhat.com> 12474 12475 * c-common.h (enum rid) <RID_GENERIC>: New constant. 12476 * c-common.c (c_common_reswords): Add _Generic. 12477 12478 2013-07-21 Ondej Blka <neleai (a] seznam.cz> 12479 12480 * c-common.c: Fix typos. 12481 * c-common.h: Likewise. 12482 12483 2013-07-13 Lubos Lunak <l.lunak (a] suse.cz> 12484 12485 PR c++/55203 12486 * c-common.c (c_common_attribute_table): Add warn_unused. 12487 (handle_warn_unused_attribute): New. 12488 12489 2013-07-10 Jakub Jelinek <jakub (a] redhat.com> 12490 12491 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines 12492 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT. 12493 12494 2013-07-10 Paolo Carlini <paolo.carlini (a] oracle.com> 12495 12496 PR c++/57869 12497 * c.opt: Add Wconditionally-supported. 12498 12499 2013-07-08 Graham Stott <graham.stott (a] btinternet.com> 12500 12501 * array-notation-common.c (length_mismatch_in_expr_p): Delete 12502 unused variables l_length and l_node. 12503 12504 2013-07-04 Joern Rennecke <joern.rennecke (a] embecosm.com> 12505 12506 PR c/57821 12507 * c-common.c (complete_array_type): Delay folding first index 12508 like other indices. When folding, check for index overflow. 12509 12510 2013-06-27 Marc Glisse <marc.glisse (a] inria.fr> 12511 12512 PR c++/57509 12513 * c-common.h (c_build_vec_perm_expr): New complain argument. 12514 * c-common.c (c_build_vec_perm_expr): Likewise. 12515 Use save_expr also in C++. 12516 12517 2013-06-22 Gabriel Dos Reis <gdr (a] integrable-solutions.net> 12518 12519 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x. 12520 * c-cppbuiltin.c (c_cpp_builtins): Likewise. 12521 * c-opts.c (c_common_post_options): Likewise. 12522 12523 2013-06-21 Balaji V. Iyer <balaji.v.iyer (a] intel.com> 12524 12525 * array-notation-common.c (length_mismatch_in_expr): Changed the 12526 parameter type's from a dynamic array to a vec_tree. Also removed 12527 the size parameters. 12528 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per 12529 the change above. 12530 12531 2013-06-21 Balaji V. Iyer <balaji.v.iyer (a] intel.com> 12532 12533 * c-common.h (struct cilkplus_an_parts): New structure. 12534 (struct cilkplus_an_loop_parts): Likewise. 12535 (cilkplus_extract_an_triplets): New prototype. 12536 (fix_sec_implicit_args): Likewise. 12537 * array-notation-common.c (cilkplus_extract_an_triplets): New function. 12538 (fix_sec_implicit_args): Likewise. 12539 12540 2013-06-20 Balaji V. Iyer <balaji.v.iyer (a] intel.com> 12541 12542 * array-notation-common.c (find_inv_trees): Removed an unwanted 12543 typecasting. 12544 * c-common.h (struct inv_list::additional_tcodes): Changed type from 12545 enum rid to enum tree_code. 12546 12547 2013-06-11 Jan Hubicka <jh (a] suse.cz> 12548 12549 * c-common.c (handle_alias_ifunc_attribute): Do not set 12550 DECL_EXTERNAL for weakref variables. 12551 * c-pragma.c (handle_pragma_weak): Make sure aliases 12552 are not declared as external. 12553 12554 2013-06-07 Balaji V. Iyer <balaji.v.iyer (a] intel.com> 12555 12556 * array-notation-common.c (length_mismatch_in_expr_p): Moved this 12557 function from c/c-array-notation.c. 12558 (is_cilkplus_reduce_builtin): Likewise. 12559 (find_rank): Likewise. 12560 (extract_array_notation_exprs): Likewise. 12561 (replace_array_notations): Likewise. 12562 (find_inv_trees): Likewise. 12563 (replace_inv_trees): Likewise. 12564 (contains_array_notation_expr): Likewise. 12565 (find_correct_array_notation_type): Likewise. 12566 * c-common.h (struct inv_list): Moved this struct from the file 12567 c/c-array-notation.c and added a new field called additional tcodes. 12568 (length_mismatch_in_expr_p): New prototype. 12569 (is_cilkplus_reduce_builtin): Likewise. 12570 (find_rank): Likewise. 12571 (extract_array_notation_exprs): Likewise. 12572 (replace_array_notation): Likewise. 12573 (find_inv_trees): Likewise. 12574 (replace_inv_trees): Likewise. 12575 (find_correct_array_notation_type): Likewise. 12576 12577 2013-05-28 Balaji V. Iyer <balaji.v.iyer (a] intel.com> 12578 12579 * c-common.c (c_define_builtins): When cilkplus is enabled, the 12580 function array_notation_init_builtins is called. 12581 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed. 12582 * c-common.def (ARRAY_NOTATION_REF): New tree. 12583 * c-common.h (build_array_notation_expr): New function declaration. 12584 (build_array_notation_ref): Likewise. 12585 (extract_sec_implicit_index_arg): New extern declaration. 12586 (is_sec_implicit_index_fn): Likewise. 12587 (ARRAY_NOTATION_CHECK): New define. 12588 (ARRAY_NOTATION_ARRAY): Likewise. 12589 (ARRAY_NOTATION_START): Likewise. 12590 (ARRAY_NOTATION_LENGTH): Likewise. 12591 (ARRAY_NOTATION_STRIDE): Likewise. 12592 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for 12593 ARRAY_NOTATION_REF. 12594 (pp_c_expression): Likewise. 12595 * c.opt (flag_enable_cilkplus): New flag. 12596 * array-notation-common.c: New file. 12597 12598 2013-05-14 Jakub Jelinek <jakub (a] redhat.com> 12599 12600 PR c++/57274 12601 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR. 12602 12603 2013-05-10 Marc Glisse <marc.glisse (a] inria.fr> 12604 12605 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for 12606 vectors. 12607 12608 2013-05-07 Han Shen <shenhan (a] google.com> 12609 12610 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3". 12611 12612 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj (a] atmel.com> 12613 12614 * c-common.c (check_user_alignment): Emit error for negative values. 12615 12616 2013-04-24 Paolo Carlini <paolo.carlini (a] oracle.com> 12617 12618 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y. 12619 12620 2013-04-24 Paolo Carlini <paolo.carlini (a] oracle.com> 12621 12622 * c-cppbuiltin.c (c_cpp_builtins): Do not define 12623 __GXX_EXPERIMENTAL_CXX1Y__. 12624 12625 2013-04-24 Paolo Carlini <paolo.carlini (a] oracle.com> 12626 Manuel Lopez-Ibanez <manu (a] gcc.gnu.org> 12627 12628 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented. 12629 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns 12630 to simply use OPT_Wpointer_arith. 12631 (c_sizeof_or_alignof_type): Likewise. 12632 12633 2013-04-24 Paolo Carlini <paolo.carlini (a] oracle.com> 12634 12635 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__. 12636 12637 2013-04-12 Jakub Jelinek <jakub (a] redhat.com> 12638 12639 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table, 12640 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format 12641 specifiers. 12642 12643 2013-04-07 Steven Bosscher <steven (a] gcc.gnu.org> 12644 12645 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment. 12646 12647 2013-04-03 Paolo Carlini <paolo.carlini (a] oracle.com> 12648 12649 * c-common.c (pointer_int_sum): Remove dead code. 12650 12651 2013-03-09 Richard Sandiford <rdsandiford (a] googlemail.com> 12652 12653 PR middle-end/56524 12654 * c-common.c (handle_optimize_attribute): Don't call 12655 save_optabs_if_changed. 12656 12657 2013-03-05 Jakub Jelinek <jakub (a] redhat.com> 12658 12659 PR middle-end/56461 12660 * c-pch.c (pch_init): Free target_validity at the end. 12661 12662 2013-03-04 Jakub Jelinek <jakub (a] redhat.com> 12663 12664 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags. 12665 12666 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany (a] gmail.com> 12667 Jakub Jelinek <jakub (a] redhat.com> 12668 12669 PR sanitizer/56454 12670 * c-common.c (handle_no_sanitize_address_attribute): New function. 12671 (c_common_attribute_table): Add no_sanitize_address attribute. 12672 (handle_no_address_safety_analysis_attribute): Add 12673 no_sanitize_address attribute, not no_address_safety_analysis 12674 attribute. 12675 12676 2013-02-18 Aldy Hernandez <aldyh (a] redhat.com> 12677 12678 PR target/52555 12679 * c-common.c (handle_optimize_attribute): Call 12680 save_optabs_if_changed. 12681 12682 2013-02-18 Jakub Jelinek <jakub (a] redhat.com> 12683 Steven Bosscher <steven (a] gcc.gnu.org> 12684 12685 PR pch/54117 12686 * c-opts.c (c_common_post_options): If debug info is enabled 12687 and non-dwarf*, refuse to load PCH files and when writing PCH 12688 file warn. 12689 12690 2013-02-05 Jakub Jelinek <jakub (a] redhat.com> 12691 12692 PR middle-end/56167 12693 * c-common.c (handle_error_attribute): Fix condition. 12694 12695 2013-01-30 Jakub Jelinek <jakub (a] redhat.com> 12696 12697 PR c++/55742 12698 * c-common.c (handle_target_attribute): Revert 2012-12-26 change. 12699 12700 2013-01-18 Jason Merrill <jason (a] redhat.com> 12701 12702 PR target/54908 12703 * c.opt (-fextern-tls-init): New. 12704 * c-opts.c (c_common_post_options): Handle it. 12705 12706 2013-01-09 Jakub Jelinek <jakub (a] redhat.com> 12707 12708 PR c/48418 12709 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and 12710 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST 12711 and is either negative or bigger or equal to type precision 12712 of the first operand. 12713 12714 2012-12-03 Marek Polacek <polacek (a] redhat.com> 12715 12716 PR c/55570 12717 * c-common.c (check_user_alignment): Swap order of tests, 12718 check TREE_CODE first. 12719 12720 2012-11-29 Ed Smith-Rowland <3dw4rd (a] verizon.net> 12721 12722 PR c++/52654 12723 * c-common.h (overflow_type): New enum. 12724 (build_userdef_literal): Add overflow_type argument. 12725 (tree_userdef_literal): Add overflow_type. 12726 (USERDEF_LITERAL_OVERFLOW): New access macro. 12727 * c-common.c (build_userdef_literal): Add overflow_type 12728 argument. 12729 * c-lex.c (c_lex_with_flags): Add overflow_type to 12730 build_userdef_literal calls. 12731 (interpret_integer, interpret_float): Add overflow_type argument. 12732 12733 2012-11-28 Richard Biener <rguenther (a] suse.de> 12734 12735 PR c/35634 12736 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions 12737 here and use a type with proper overflow behavior for types that would 12738 need to be promoted for the arithmetic. 12739 12740 2012-11-23 Jakub Jelinek <jakub (a] redhat.com> 12741 12742 PR sanitizer/55435 12743 * c-common.c (handle_no_address_safety_analysis_attribute): New 12744 function. 12745 (c_common_attribute_table): Add no_address_safety_analysis. 12746 12747 2012-11-16 Simon Baldwin <simonb (a] google.com> 12748 12749 * c.opt: Add f[no-]canonical-system-headers. 12750 * c-opts.c (c_common_handle_option): Handle 12751 OPT_fcanonical_system_headers. 12752 12753 2012-11-09 Ed Smith-Rowland <3dw4rd (a] verizon.net> 12754 12755 PR c++/54413 12756 * c-opts.c (c_common_handle_option): Set new flags. 12757 * c.opt: Describe new flags. 12758 12759 2012-11-09 Jason Merrill <jason (a] redhat.com> 12760 12761 * c.opt (Wabi-tag): New. 12762 12763 2012-11-09 Andi Kleen <ak (a] linux.intel.com> 12764 12765 PR 55139 12766 * c-common.c (get_atomic_generic_size): Mask with 12767 MEMMODEL_MASK 12768 12769 2012-11-07 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 12770 12771 PR c/53063 12772 * c.opt (Wformat): Make it Alias Wformat=1. 12773 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral, 12774 Wformat-security,Wformat-y2k,Wformat-zero-length): Use 12775 LangEnabledBy. 12776 (Wformat=): RejectNegative. Use LangEnabledBy. 12777 (Wnonnull): Use LangEnabledBy. 12778 * c-opts.c (c_common_handle_option): Do not handle Wformat here. 12779 * c-format.c (set_Wformat): Delete. 12780 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_. 12781 (maybe_read_dollar_number): Likewise. 12782 (avoid_dollar_number): Likewise. 12783 (finish_dollar_format_checking): Likewise. 12784 (check_format_info): Likewise. 12785 (check_format_info_main): Likewise. 12786 (check_format_types): Likewise. 12787 (format_type_warning): Likewise. 12788 * c-common.c (int): Likewise. 12789 (check_function_sentinel): Likewise. 12790 * c-common.h (warn_format,set_Wformat): Do not declare here. 12791 12792 2012-11-07 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 12793 12794 PR c/53063 12795 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare, 12796 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros): 12797 Use LangEnabledBy. 12798 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from 12799 common.opt. 12800 (Wvariadic-macros): Init(1). 12801 * c-opts.c (c_common_handle_option): Do not handle them 12802 explicitly. 12803 (c_common_post_options): Likewise. 12804 (sanitize_cpp_opts): warn_unused_macros is now 12805 cpp_warn_unused_macros. 12806 (push_command_line_include): Likewise. 12807 * c-common.c (warn_unknown_pragmas): Do not define. 12808 * c-common.h (warn_unknown_pragmas): Do not declare. 12809 12810 2012-11-07 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 12811 12812 PR c/51294 12813 * c-common.c (conversion_warning): Handle conditional expressions. 12814 12815 2012-10-29 Jonathan Wakely <jwakely.gcc (a] gmail.com> 12816 12817 PR c++/54930 12818 * c.opt (Wreturn_local_addr): Define new option. 12819 12820 2012-10-25 Jason Merrill <jason (a] redhat.com> 12821 12822 * c.opt (Wvirtual-move-assign): New. 12823 12824 * c.opt (Winherited-variadic-ctor): New. 12825 12826 2012-10-25 Marc Glisse <marc.glisse (a] inria.fr> 12827 12828 PR c++/54427 12829 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR. 12830 12831 2012-10-23 Joseph Myers <joseph (a] codesourcery.com> 12832 12833 * c-common.h (pch_cpp_save_state): Declare. 12834 * c-target.def (c_preinclude): New hook. 12835 * c-opts.c (done_preinclude): New. 12836 (push_command_line_include): Handle default preincluded header. 12837 (cb_file_change): Call pch_cpp_save_state when calling 12838 push_command_line_include. 12839 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved) 12840 (pch_cpp_save_state): New. 12841 (pch_init): Call pch_cpp_save_state conditionally, instead of 12842 calling cpp_save_state. 12843 12844 2012-10-20 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 12845 12846 PR c/53063 12847 PR c/40989 12848 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit, 12849 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess, 12850 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point, 12851 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused, 12852 Wvolatile-register-var): Add LangEnabledBy or EnabledBy. 12853 * c-opts.c (c_common_handle_option): Remove explicit handling from 12854 here. 12855 (c_common_post_options): Likewise. 12856 12857 2012-10-18 Eric Botcazou <ebotcazou (a] adacore.com> 12858 12859 * c-ada-spec.c (LOCATION_COL): Delete. 12860 (compare_location): New function. 12861 (compare_node): Use it. 12862 (compare_comment): Likewise. 12863 12864 2012-10-16 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 12865 12866 PR c/53063 12867 PR c/40989 12868 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy. 12869 * c-opts.c (c_common_handle_option): Do not set them here. Add 12870 comment. 12871 (c_common_post_options): Likewise. 12872 12873 2012-10-16 Eric Botcazou <ebotcazou (a] adacore.com> 12874 12875 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define. 12876 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially. 12877 Remove POINTER_TYPE handling, add large unsigned handling and use 12878 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers. 12879 12880 2012-10-12 Jakub Jelinek <jakub (a] redhat.com> 12881 12882 PR c/54381 12883 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype. 12884 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3 12885 locs and array of 3 trees instead of just single loc and single 12886 sizeof_arg tree. Handle __builtin___*_chk builtins too, and 12887 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins. 12888 For *cmp* builtins that take two sources strings report warnings 12889 about first and second source, not about destination and source. 12890 12891 2012-10-12 Marc Glisse <marc.glisse (a] inria.fr> 12892 12893 PR c++/53055 12894 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New. 12895 12896 2012-10-11 Eric Botcazou <ebotcazou (a] adacore.com> 12897 12898 * c-ada-spec.c (dump_ada_template): Bail out for template declarations 12899 declaring something coming from another file. 12900 12901 2012-10-10 Arnaud Charlet <charlet (a] adacore.com> 12902 12903 PR ada/54845 12904 * c-ada-spec.c (print_ada_struct_decl): Increase buf size. 12905 12906 2012-10-09 Paolo Carlini <paolo.carlini (a] oracle.com> 12907 12908 PR c++/54194 12909 * c-common.c (warn_about_parentheses): Add location_t parameter; 12910 use EXPR_LOC_OR_LOC. 12911 * c-common.h: Update declaration. 12912 12913 2012-10-09 Marc Glisse <marc.glisse (a] inria.fr> 12914 12915 PR c++/54427 12916 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support 12917 more operations. Make error messages optional. 12918 * c-common.h (enum stv_conv): Moved from c-typeck.c. 12919 (scalar_to_vector): Declare. 12920 12921 2012-10-08 Jason Merrill <jason (a] redhat.com> 12922 12923 * c-common.c (c_common_reswords): Add thread_local. 12924 12925 2012-10-08 Dodji Seketeli <dodji (a] redhat.com> 12926 12927 PR c++/53528 C++11 attribute support 12928 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare 12929 new functions. 12930 * c-common.c (check_cxx_fundamental_alignment_constraints): New 12931 static function. 12932 (handle_aligned_attribute): In choose strictest alignment 12933 among many. Use new check_cxx_fundamental_alignment_constraints. 12934 (handle_transparent_union_attribute): In c++11 attribute syntax, 12935 don't look through typedefs. 12936 12937 2012-10-04 Arnaud Charlet <charlet (a] adacore.com> 12938 12939 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW. 12940 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition 12941 out of dumpfile.h. 12942 12943 2012-09-25 Dehao Chen <dehao (a] google.com> 12944 12945 PR middle-end/54645 12946 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data 12947 map when read in the pch. 12948 12949 2012-09-18 Arnaud Charlet <charlet (a] adacore.com> 12950 12951 * c-ada-spec.c: Style fixes. 12952 12953 2012-09-18 Thomas Quinot <quinot (a] adacore.com> 12954 12955 * c.opt (-fada-spec-parent): Define new command line switch. 12956 * c-ada-spec.c (get_ada_package): When -fada-spec-parent 12957 is specified, generate binding spec as a child of the specified unit. 12958 12959 2012-09-13 Paolo Carlini <paolo.carlini (a] oracle.com> 12960 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 12961 12962 PR c++/53210 12963 * c.opt ([Winit-self]): Enabled by -Wall in C++. 12964 12965 2012-08-23 Arnaud Charlet <charlet (a] adacore.com> 12966 12967 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only 12968 for pointers, and add missing Convention C pragma. 12969 (print_ada_struct_decl): Add missing aliased keyword. 12970 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off). 12971 12972 2012-08-17 Jakub Jelinek <jakub (a] redhat.com> 12973 12974 * c-common.c (sizeof_pointer_memaccess_warning): New function. 12975 * c.opt (-Wsizeof-pointer-memaccess): Add new option. 12976 * c-opts.c (c_common_handle_option): Enable it for -Wall. 12977 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype. 12978 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def. 12979 12980 2012-08-10 Richard Guenther <rguenther (a] suse.de> 12981 12982 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names. 12983 12984 2012-08-07 Steven Bosscher <steven (a] gcc.gnu.org> 12985 12986 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush 12987 instead of separate pp_newline and pp_flush. 12988 (print_c_tree): Likewise. 12989 12990 2012-07-26 Richard Henderson <rth (a] redhat.com> 12991 12992 * c-common.c (handle_hot_attribute): Allow labels. 12993 (handle_cold_attribute): Likewise. 12994 12995 2012-07-20 Jakub Jelinek <jakub (a] redhat.com> 12996 12997 PR c++/28656 12998 * c-common.c (check_function_nonnull): Handle multiple nonnull 12999 attributes properly. 13000 13001 2012-07-16 Steven Bosscher <steven (a] gcc.gnu.org> 13002 13003 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h. 13004 * c-ada-spec.c: Likewise. 13005 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user. 13006 13007 2012-07-14 Steven Bosscher <steven (a] gcc.gnu.org> 13008 13009 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define. 13010 Remove code conditional on it. 13011 13012 2012-07-11 Steven Bosscher <steven (a] gcc.gnu.org> 13013 13014 * c-gimplify.c: Do not include basic-block.h. 13015 * c-common.c: Do not include linfuncs.h. 13016 13017 2012-07-08 Steven Bosscher <steven (a] gcc.gnu.org> 13018 13019 * c-common.h: Include tree.h. 13020 13021 2012-07-02 Jason Merrill <jason (a] redhat.com> 13022 13023 PR c++/53524 13024 * c-common.c (get_priority): Call default_conversion. 13025 13026 2012-07-01 Uros Bizjak <ubizjak (a] gmail.com> 13027 13028 * c-pch.c (c_common_write_pch): Remove unused variables. 13029 13030 2012-06-29 Steven Bosscher <steven (a] gcc.gnu.org> 13031 13032 * cppspec.c: Moved from gcc/ to here. 13033 13034 2012-06-27 Kai Tietz <ktietz (a] redhat.com> 13035 13036 PR preprocessor/37215 13037 * c-ppoutput.c (preprocess_file): Check for nonempty buffer. 13038 13039 2012-06-21 Steven Bosscher <steven (a] gcc.gnu.org> 13040 13041 * c-common.h (c_common_print_pch_checksum): Remove. 13042 * c-pch.c: Do not include output.h. 13043 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME. 13044 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined. 13045 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined. 13046 (struct c_pch_header): Remove. 13047 (get_ident): Update gpch version. 13048 (pch_init): Do not print executable_checksum to asm_out_file. 13049 Do not fail if there is no asm_out_file to read back from. Set 13050 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined. 13051 (c_common_write_pch): Verify that nothing was written to asm_out_file 13052 since pch_init was called. Do not write a c_pch_header, and do not 13053 copy from asm_out_file to the PCH. 13054 (c_common_read_pch): Do not read a c_pch_header, and do not restore 13055 the content of asm_out_file from the PCH. 13056 (c_common_print_pch_checksum): Remove. 13057 * c-opts.c (c_common_init): Print out executable_checksum directly. 13058 13059 2012-06-19 Steven Bosscher <steven (a] gcc.gnu.org> 13060 13061 * c-target.def (objc_declare_unresolved_class_reference, 13062 objc_declare_class_definition): Add new hooks. 13063 13064 2012-06-19 Steven Bosscher <steven (a] gcc.gnu.org> 13065 13066 * c-lex.c: Do not include output.h. 13067 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident. 13068 Remove uses of ASM_OUTPUT_IDENT. 13069 13070 2012-06-15 Marc Glisse <marc.glisse (a] inria.fr> 13071 13072 PR c++/51033 13073 * c-common.h (c_build_vec_perm_expr): Move decl here. 13074 * c-common.c (c_build_vec_perm_expr): Move definition 13075 here. 13076 13077 2012-06-06 Steven Bosscher <steven (a] gcc.gnu.org> 13078 13079 * c.opt (fconserve-space): Turn into a no-op. 13080 13081 2012-06-04 Sterling Augustine <saugustine (a] google.com> 13082 13083 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator. 13084 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at 13085 both the start and end of the function. 13086 13087 2012-06-04 Steven Bosscher <steven (a] gcc.gnu.org> 13088 13089 * c-common.c: Do not include output.h. 13090 * c-pragma.c: Likewise. 13091 13092 2012-06-04 Steven Bosscher <steven (a] gcc.gnu.org> 13093 13094 * error.c (dump_decl): Check pp_c_flag_gnu_v3. 13095 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions. 13096 (lang_decl_name): Handle namespace decls. 13097 13098 2012-05-31 Steven Bosscher <steven (a] gcc.gnu.org> 13099 13100 * c-ada-spec.c: Do not include output.h. 13101 * c-semantics.c: Likewise. 13102 13103 2012-05-29 Joseph Myers <joseph (a] codesourcery.com> 13104 13105 * c-common.c: Fix typo. 13106 13107 2012-05-29 Michael Matz <matz (a] suse.de> 13108 13109 * c-common.h (c_expand_decl): Remove prototype. 13110 13111 2012-05-29 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13112 13113 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall). 13114 * c-opts.c (c_common_handle_option): Remove code handling 13115 warn_missing_braces. 13116 13117 2012-05-28 Paolo Carlini <paolo.carlini (a] oracle.com> 13118 13119 PR c++/25137 13120 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable 13121 -Wmissing_braces. 13122 13123 2012-05-22 Dodji Seketeli <dodji (a] redhat.com> 13124 13125 PR c++/53322 13126 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused). 13127 13128 2012-05-17 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13129 13130 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here. 13131 * c-opts.c (c_common_handle_option): Do not handle explicitly 13132 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors. 13133 13134 2012-05-16 Dodji Seketeli <dodji (a] redhat.com> 13135 13136 PR preprocessor/7263 13137 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call 13138 to cpp_classify_number. For diagnostics, use the precise location 13139 instead of the global input_location. 13140 13141 2012-05-15 Paolo Carlini <paolo.carlini (a] oracle.com> 13142 13143 PR c++/11856 13144 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings. 13145 13146 2012-05-14 Bernd Schmidt <bernds (a] codesourcery.com> 13147 13148 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary. 13149 13150 2012-05-14 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13151 13152 PR 53063 13153 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init, 13154 Wreorder): Use LangEnabledBy. 13155 * c-opts.c (c_common_handle_option): Do not enable them 13156 explicitly. Call lang-specific generated functions. 13157 (c_common_post_options): Do not set them here. 13158 13159 2012-05-13 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13160 13161 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers, 13162 Wmissing-field-initializers,Wmissing-parameter-type, 13163 Wold-style-declaration,Woverride-init): Use EnabledBy. 13164 * c-opts.c (c_common_post_options): Do not set here explicitly. 13165 13166 2012-05-11 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13167 13168 PR 53063 13169 * c-opts.c (c_common_handle_option): Use handle_generated_option 13170 to enable sub-options. 13171 13172 2012-05-10 Paolo Carlini <paolo.carlini (a] oracle.com> 13173 13174 PR c++/53158 13175 * c-common.c (warnings_for_convert_and_check): Use warning_at. 13176 13177 2012-05-10 Richard Guenther <rguenther (a] suse.de> 13178 13179 * c-common.c (c_sizeof_or_alignof_type): Remove assert and 13180 adjust commentary about TYPE_IS_SIZETYPE types. 13181 13182 2012-05-09 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13183 13184 PR c++/53261 13185 * c-common.c (warn_logical_operator): Check that argument of 13186 integer_zerop is not NULL. 13187 13188 2012-05-05 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13189 13190 PR c/43772 13191 * c-common.c (warn_logical_operator): Do not warn if either side 13192 is already true or false. 13193 13194 2012-05-04 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13195 13196 PR c/51712 13197 * c-common.c (expr_original_type): New. 13198 (shorten_compare): Do not warn for enumeration types. 13199 13200 2012-05-03 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13201 13202 * c.opt (fpermissive): Add Var(flag_permissive). 13203 13204 2012-04-30 Marc Glisse <marc.glisse (a] inria.fr> 13205 13206 PR c++/51033 13207 * c-common.c (convert_vector_to_pointer_for_subscript): New function. 13208 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it. 13209 13210 2012-04-30 Dodji Seketeli <dodji (a] redhat.com> 13211 13212 Add -Wvarargs option 13213 * c.opt (Wvarargs): Define new option. 13214 13215 2012-04-30 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13216 13217 * c-common.c (check_function_arguments): Replace 13218 Wmissing-format-attribute with Wsuggest-attribute=format. 13219 13220 2012-04-30 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13221 13222 * c.opt (Wsuggest-attribute=format): New. Alias of 13223 Wmissing-format-attribute. 13224 * c-format.c (decode_format_type): Replace 13225 Wmissing-format-attribute with Wsuggest-attribute=format. 13226 (check_function_format): Likewise. 13227 13228 2012-04-27 Ollie Wild <aaw (a] google.com> 13229 13230 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping. 13231 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix. 13232 * c.opt: Add Wliteral-suffix. 13233 13234 2012-04-22 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13235 13236 PR c/44774 13237 * c.opt (Wpedantic): New. 13238 (pedantic): Alias Wpedantic. 13239 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic. 13240 (c_common_post_options): Likewise. 13241 (sanitize_cpp_opts): Likewise. 13242 * c-lex.c (interpret_float): Likewise. 13243 * c-format.c (check_format_types): Likewise. 13244 * c-common.c (pointer_int_sum): Likewise. 13245 (c_sizeof_or_alignof_type): Likewise. 13246 (c_add_case_label): Likewise. 13247 (c_do_switch_warnings): Likewise. 13248 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise. 13249 13250 2012-04-15 Jason Merrill <jason (a] redhat.com> 13251 13252 PR c++/52818 13253 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99. 13254 (C_STD_NAME): Distinguish between C++98 and C++11. 13255 13256 2012-04-11 Eric Botcazou <ebotcazou (a] adacore.com> 13257 13258 PR target/52624 13259 * c-common.h (uint16_type_node): Rename into... 13260 (c_uint16_type_node): ...this. 13261 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming. 13262 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise. 13263 13264 2012-04-10 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13265 13266 * c-common.c (warn_if_unused_value): Move definition to here. 13267 * c-common.h (warn_if_unused_value): Move declaration to here. 13268 13269 2012-03-23 William Bader <williambader (a] hotmail.com> 13270 13271 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts. 13272 13273 2012-03-20 Jason Merrill <jason (a] redhat.com> 13274 13275 * c-common.h (enum cxx_dialect): Add cxx1y. 13276 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect 13277 test. 13278 * c-cppbuiltin.c (c_cpp_builtins): Likewise. 13279 * c-opts.c (c_common_post_options): Likewise. 13280 (set_std_cxx1y): New. 13281 (c_common_handle_option): Call it. 13282 * c.opt (-std=c++1y, -std=gnu++1y): New flags. 13283 13284 2012-03-19 Paolo Carlini <paolo.carlini (a] oracle.com> 13285 13286 PR c++/14710 13287 * c.opt ([Wuseless-cast]): Add. 13288 13289 2012-03-16 Richard Guenther <rguenther (a] suse.de> 13290 13291 * c-pretty-print.c (pp_c_initializer_list): Adjust. 13292 13293 2012-03-15 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 13294 13295 PR c++/44783 13296 * c.opt (ftemplate-backtrace-limit) Add. 13297 13298 2012-03-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 13299 13300 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix 13301 handling. 13302 * c-pragma.c (handle_pragma_extern_prefix): Remove. 13303 (init_pragma): Don't register extern_prefix. 13304 13305 2012-03-12 Richard Guenther <rguenther (a] suse.de> 13306 13307 * c-common.c (c_common_get_narrower): Use c_common_type_for_size. 13308 (builtin_type_for_size): Likewise. 13309 13310 2012-02-13 Jakub Jelinek <jakub (a] redhat.com> 13311 13312 PR c++/52215 13313 * c-common.c (sync_resolve_params): Don't decide whether to convert 13314 or not based on TYPE_SIZE comparison, convert whenever arg_type 13315 is unsigned INTEGER_TYPE. 13316 13317 2012-02-06 Paolo Carlini <paolo.carlini (a] oracle.com> 13318 13319 PR c/52118 13320 * c.opt ([Wunused-local-typedefs]): Fix description. 13321 13322 2012-01-24 Mike Stump <mikestump (a] comcast.net> 13323 13324 * c-common.c (c_common_type_for_mode): Match signed/unsigned types 13325 exactly. 13326 13327 2012-01-18 Richard Guenther <rguenther (a] suse.de> 13328 13329 * c-opts.c (c_common_post_options): Reset LTO flags if 13330 we are about to generate a PCH. 13331 13332 2012-01-17 Paolo Carlini <paolo.carlini (a] oracle.com> 13333 13334 PR c++/51777 13335 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants 13336 use pp_unsigned_wide_integer. 13337 13338 2012-01-10 Richard Guenther <rguenther (a] suse.de> 13339 13340 PR middle-end/51806 13341 * c-opts.c (c_common_handle_option): Move -Werror handling 13342 to language independent code. 13343 13344 2012-01-05 Richard Guenther <rguenther (a] suse.de> 13345 13346 PR middle-end/51764 13347 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here 13348 from common.opt. 13349 13350 2011-12-30 Paolo Carlini <paolo.carlini (a] oracle.com> 13351 13352 PR c++/51316 13353 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof 13354 of array types with an unknown bound. 13355 13356 2011-12-20 Joseph Myers <joseph (a] codesourcery.com> 13357 13358 * c-common.c (flag_isoc99): Update comment to refer to C11. 13359 (flag_isoc1x): Change to flag_isoc11. 13360 * c-common.h (flag_isoc99): Update comment to refer to C11. 13361 (flag_isoc1x): Change to flag_isoc11. 13362 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to 13363 C11. 13364 * c-opts.c (set_std_c1x): Change to set_std_c11. 13365 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11. 13366 Call set_std_c11. 13367 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11. 13368 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11. 13369 * c.opt (std=c1x): Change to std=c11. Document as non-draft 13370 standard. 13371 (std=c1x, std=iso9899:2011): Add as aliases of std=c11. 13372 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard. 13373 (std=gnu1x): Make alias of std=gnu11. 13374 13375 2011-12-19 Jason Merrill <jason (a] redhat.com> 13376 13377 PR c++/51228 13378 * c-common.c (handle_transparent_union_attribute): Check the first 13379 field if the type is complete. 13380 13381 2011-12-15 Jonathan Wakely <jwakely.gcc (a] gmail.com> 13382 13383 PR libstdc++/51365 13384 * c-common.c (RID_IS_FINAL): Add. 13385 * c-common.h (RID_IS_FINAL): Add. 13386 13387 2011-11-30 Iain Sandoe <iains (a] gcc.gnu.org> 13388 13389 * c.opt (fgnu-runtime): Provide full description. 13390 (fnext-runtime): Likewise. 13391 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove. 13392 13393 2011-11-28 Andrew MacLeod <amacleod (a] redhat.com> 13394 13395 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic 13396 predefines in one place. Add LOCK_FREE predefines. 13397 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to 13398 new func. 13399 13400 2011-11-24 Andrew MacLeod <amacleod (a] redhat.com> 13401 13402 PR c/51256 13403 * c-common.c (get_atomic_generic_size): Check for various error 13404 conditions 13405 (resolve_overloaded_atomic_exchange, 13406 resolve_overloaded_atomic_compare_exchange, 13407 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return 13408 error_mark_node for error conditions. 13409 13410 2011-11-08 Richard Guenther <rguenther (a] suse.de> 13411 13412 PR middle-end/51010 13413 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs. 13414 13415 2011-11-07 Richard Henderson <rth (a] redhat.com> 13416 Aldy Hernandez <aldyh (a] redhat.com> 13417 Torvald Riegel <triegel (a] redhat.com> 13418 13419 Merged from transactional-memory. 13420 13421 * c-common.c (handle_tm_wrap_attribute, 13422 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New. 13423 (struct c_common_reswords): Added __transaction* keywords. 13424 (struct c_common_attribute_table): Added transaction* and tm_regparm 13425 attributes. 13426 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT* 13427 masks. 13428 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr, 13429 find_tm_attribute): Declare. 13430 13431 2011-11-07 Jason Merrill <jason (a] redhat.com> 13432 13433 PR c++/35688 13434 * c-common.c, c-common.h: Revert yesterday's changes. 13435 13436 2011-11-06 Jason Merrill <jason (a] redhat.com> 13437 13438 PR c++/35688 13439 * c-common.c (decl_has_visibility_attr): Split out from... 13440 (c_determine_visibility): ...here. 13441 * c-common.h: Declare it. 13442 13443 2011-11-06 Joseph Myers <joseph (a] codesourcery.com> 13444 13445 * c-common.c (c_common_reswords): Add _Alignas and _Alignof. 13446 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function 13447 type. 13448 (check_user_alignment): New. Split out of 13449 handle_aligned_attribute. Disallow integer constants with 13450 noninteger types. Conditionally allow zero. 13451 (handle_aligned_attribute): Use check_user_alignment. 13452 * c-common.h (RID_ALIGNAS, check_user_alignment): New. 13453 13454 2011-11-06 Andrew MacLeod <amacleod (a] redhat.com> 13455 Richard Henderson <rth (a] redhat.com> 13456 13457 Merged from cxx-mem-model. 13458 13459 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns. 13460 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak 13461 parameters that are the same type size. 13462 (get_atomic_generic_size): New. Find size of generic 13463 atomic function parameters and do typechecking. 13464 (add_atomic_size_parameter): New. Insert size into parameter list. 13465 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to 13466 either __atomic_exchange_n or external library call. 13467 (resolve_overloaded_atomic_compare_exchange): Restructure 13468 __atomic_compare_exchange to either _n variant or external library call. 13469 (resolve_overloaded_atomic_load): Restructure __atomic_load to either 13470 __atomic_load_n or an external library call. 13471 (resolve_overloaded_atomic_store): Restructure __atomic_store to either 13472 __atomic_store_n or an external library call. 13473 (resolve_overloaded_builtin): Handle new __atomic builtins. 13474 13475 2011-11-04 Eric Botcazou <ebotcazou (a] adacore.com> 13476 13477 PR c++/50608 13478 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1. 13479 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust. 13480 <INDIRECT_REF>: Return the argument. 13481 <ARRAY_REF>: Remove special code for negative offset. 13482 Call fold_build_pointer_plus instead of size_binop. 13483 (fold_offsetof): Remove STOP_REF argument and adjust. 13484 * c-common.h (fold_offsetof_1): Declare. 13485 (fold_offsetof): Remove STOP_REF argument. 13486 13487 2011-11-02 Paolo Carlini <paolo.carlini (a] oracle.com> 13488 13489 PR c++/50810 13490 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part 13491 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default 13492 Wnarrowing for C++0x and C++98. 13493 * c.opt ([Wnarrowing]): Update. 13494 13495 2011-11-01 Paolo Carlini <paolo.carlini (a] oracle.com> 13496 13497 PR c++/44277 13498 * c.opt: Add Wzero-as-null-pointer-constant. 13499 13500 2011-10-31 Jason Merrill <jason (a] redhat.com> 13501 13502 * c.opt (-fdeduce-init-list): Off by default. 13503 13504 PR c++/50920 13505 * c-common.h (cxx_dialect): Add cxx11 and cxx03. 13506 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03, 13507 and -Wc++11-compat. 13508 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x. 13509 13510 2011-10-27 Roberto Agostino Vitillo <ravitillo (a] lbl.gov> 13511 13512 PR c++/30066 13513 * c.opt (fvisibility-inlines-hidden): Description change. 13514 13515 2011-10-26 Ed Smith-Rowland <3dw4rd (a] verizon.net> 13516 13517 Implement C++11 user-defined literals. 13518 * c-common.c (build_userdef_literal): New. 13519 * c-common.def: New tree code. 13520 * c-common.h (tree_userdef_literal): New tree struct and accessors. 13521 * c-lex.c (interpret_float): Add suffix parm. 13522 (c_lex_with_flags): Build literal tokens. 13523 13524 2011-10-23 Paolo Carlini <paolo.carlini (a] oracle.com> 13525 13526 PR c++/50841 13527 Revert: 13528 2011-10-23 Paolo Carlini <paolo.carlini (a] oracle.com> 13529 13530 PR c++/50810 13531 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part 13532 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default 13533 Wnarrowing for C++0x and C++98. 13534 * c.opt ([Wnarrowing]): Update. 13535 13536 2011-10-23 Paolo Carlini <paolo.carlini (a] oracle.com> 13537 13538 PR c++/50810 13539 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part 13540 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default 13541 Wnarrowing for C++0x and C++98. 13542 * c.opt ([Wnarrowing]): Update. 13543 13544 2011-10-21 Paolo Carlini <paolo.carlini (a] oracle.com> 13545 13546 PR c++/45385 13547 * c-common.c (conversion_warning): Remove code looking for 13548 artificial operands. 13549 13550 2011-10-18 Dodji Seketeli <dodji (a] redhat.com> 13551 13552 PR bootstrap/50760 13553 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when 13554 !NO_IMPLICIT_EXTERN_C. 13555 13556 2011-10-17 Michael Spertus <mike_spertus (a] symantec.com> 13557 13558 * c-common.c (c_common_reswords): Add __bases, 13559 __direct_bases. 13560 * c-common.h: Add RID_BASES and RID_DIRECT_BASES. 13561 13562 2011-10-17 Paolo Carlini <paolo.carlini (a] oracle.com> 13563 13564 PR c++/50757 13565 * c.opt ([Wnonnull]): Add C++ and Objective-C++. 13566 13567 2011-10-15 Tom Tromey <tromey (a] redhat.com> 13568 Dodji Seketeli <dodji (a] redhat.com> 13569 13570 * c.opt (fdebug-cpp): New option. 13571 * c-opts.c (c_common_handle_option): Handle the option. 13572 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an 13573 output stream in parameter. Factorized from ... 13574 (maybe_print_line): ... this. Dump location debug information when 13575 -fdebug-cpp is in effect. 13576 (print_line_1): New static function. Takes an output stream in 13577 parameter. Factorized from ... 13578 (print_line): ... here. Dump location information when -fdebug-cpp 13579 is in effect. 13580 (scan_translation_unit): Dump location information when 13581 -fdebug-cpp is in effect. 13582 13583 2011-10-15 Tom Tromey <tromey (a] redhat.com> 13584 Dodji Seketeli <dodji (a] redhat.com> 13585 13586 * c.opt (ftrack-macro-expansion): New option. Handle it with and 13587 without argument. 13588 * c-opts.c (c_common_handle_option)<case 13589 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New 13590 cases. Handle -ftrack-macro-expansion with and without argument. 13591 13592 2011-10-15 Tom Tromey <tromey (a] redhat.com> 13593 Dodji Seketeli <dodji (a] redhat.com> 13594 13595 * c-ppoutput.c (scan_translation_unit, maybe_print_line) 13596 (print_line, cb_define, do_line_change): Adjust to avoid touching 13597 the internals of struct line_map. Use the public API instead. 13598 * c-pch.c (c_common_read_pch): Likewise. 13599 * c-lex.c (fe_file_change): Likewise. 13600 13601 2011-10-14 Paolo Carlini <paolo.carlini (a] oracle.com> 13602 13603 PR c++/17212 13604 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++. 13605 13606 2011-10-11 Paolo Carlini <paolo.carlini (a] oracle.com> 13607 13608 PR c++/33067 13609 * c-pretty-print.c (pp_c_floating_constant): Output 13610 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits. 13611 13612 2011-10-11 Michael Meissner <meissner (a] linux.vnet.ibm.com> 13613 13614 * c-common.c (def_builtin_1): Delete old interface with two 13615 parallel arrays to hold standard builtin declarations, and replace 13616 it with a function based interface that can support creating 13617 builtins on the fly in the future. Change all uses, and poison 13618 the old names. Make sure 0 is not a legitimate builtin index. 13619 * c-omp.c (c_finish_omp_barrier): Ditto. 13620 (c_finish_omp_taskwait): Ditto. 13621 (c_finish_omp_flush): Ditto. 13622 13623 2011-10-11 Tristan Gingold <gingold (a] adacore.com> 13624 13625 * c.opt: (fallow-parameterless-variadic-functions): New. 13626 13627 2011-09-08 Dodji Seketeli <dodji (a] redhat.com> 13628 13629 PR c++/33255 - Support -Wunused-local-typedefs warning 13630 * c-common.h (struct c_language_function::local_typedefs): New 13631 field. 13632 (record_locally_defined_typedef, maybe_record_typedef_use) 13633 (maybe_warn_unused_local_typedefs): Declare new functions. 13634 * c-common.c (record_locally_defined_typedef) 13635 (maybe_record_typedef_use) 13636 (maybe_warn_unused_local_typedefs): Define new functions. 13637 * c.opt: Declare new -Wunused-local-typedefs flag. 13638 13639 2011-09-06 Eric Botcazou <ebotcazou (a] adacore.com> 13640 13641 PR middle-end/50266 13642 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like 13643 computations. 13644 13645 2011-09-05 Richard Guenther <rguenther (a] suse.de> 13646 13647 * c-common.c (complete_array_type): Use ssize_int (-1) instead 13648 of integer_minus_one_node for empty array upper bounds. 13649 13650 2011-08-28 Dodji Seketeli <dodji (a] redhat.com> 13651 13652 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as 13653 it's the first time it's being called on this main TU. 13654 13655 2011-08-24 Richard Guenther <rguenther (a] suse.de> 13656 13657 PR c/49396 13658 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional. 13659 13660 2011-08-22 Gabriel Charette <gchare (a] google.com> 13661 13662 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens 13663 defined in cpp_init_builtins and c_cpp_builtins. 13664 13665 2011-08-19 Joseph Myers <joseph (a] codesourcery.com> 13666 13667 * c-common.c (c_common_reswords): Add __builtin_complex. 13668 * c-common.h (RID_BUILTIN_COMPLEX): New. 13669 13670 2011-08-18 Joseph Myers <joseph (a] codesourcery.com> 13671 13672 * c-common.c (c_common_reswords): Add _Noreturn. 13673 (keyword_is_function_specifier): Handle RID_NORETURN. 13674 * c-common.h (RID_NORETURN): New. 13675 13676 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff (a] gmail.com> 13677 13678 * c-common.c (unsafe_conversion_p): New function. Check if it is 13679 unsafe to convert an expression to the type. 13680 (conversion_warning): Adjust, use unsafe_conversion_p. 13681 * c-common.h (unsafe_conversion_p): New function declaration. 13682 13683 2011-08-02 Jakub Jelinek <jakub (a] redhat.com> 13684 13685 * c-common.h (c_finish_omp_atomic): Adjust prototype. 13686 (c_finish_omp_taskyield): New prototype. 13687 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1 13688 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and 13689 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1 13690 or RHS1 have side-effects, evaluate those too in the right spot, 13691 if it is a decl and LHS is also a decl, error out if they 13692 aren't the same. 13693 (c_finish_omp_taskyield): New function. 13694 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107. 13695 * c-pragma.c (omp_pragmas): Add taskyield. 13696 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD. 13697 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and 13698 PRAGMA_OMP_CLAUSE_MERGEABLE. 13699 13700 2011-07-25 Dodji Seketeli <dodji (a] redhat.com> 13701 13702 * c-common.h (set_underlying_type): Remove parm name from 13703 declaration. 13704 13705 2011-07-25 Romain Geissler <romain.geissler (a] gmail.com> 13706 13707 * c-pretty-print.h: Search c-common.h in c-family. 13708 13709 2011-07-22 Jason Merrill <jason (a] redhat.com> 13710 13711 PR c++/49793 13712 * c.opt (Wnarrowing): New. 13713 13714 PR c++/30112 13715 * c-common.h: Declare c_linkage_bindings. 13716 * c-pragma.c (handle_pragma_redefine_extname): Use it. 13717 13718 PR c++/49813 13719 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99. 13720 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well 13721 as flag_isoc99 for 'restrict'. 13722 (pp_c_specifier_qualifier_list): Likewise for _Complex. 13723 13724 2011-07-21 Ian Lance Taylor <iant (a] google.com> 13725 13726 PR middle-end/49705 13727 * c-common.c (c_disable_warnings): New static function. 13728 (c_enable_warnings): New static function. 13729 (c_fully_fold_internal): Change local unused_p to bool. Call 13730 c_disable_warnings and c_enable_warnings rather than change 13731 c_inhibit_evaluation_warnings. 13732 13733 2011-07-20 Jason Merrill <jason (a] redhat.com> 13734 13735 PR c++/6709 (DR 743) 13736 PR c++/42603 (DR 950) 13737 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h. 13738 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise. 13739 (CPP_DECLTYPE): New. 13740 * c-common.c (c_parse_error): Handle CPP_DECLTYPE. 13741 13742 2011-07-19 Richard Guenther <rguenther (a] suse.de> 13743 13744 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus. 13745 * c-omp.c (c_finish_omp_for): Likewise. 13746 13747 2011-07-12 Eric Botcazou <ebotcazou (a] adacore.com> 13748 13749 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop 13750 body on the next line. 13751 13752 2011-07-08 Jason Merrill <jason (a] redhat.com> 13753 13754 PR c++/45437 13755 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation. 13756 13757 PR c++/49673 13758 * c-common.c (c_apply_type_quals_to_decl): Don't check 13759 TYPE_NEEDS_CONSTRUCTING. 13760 13761 2011-07-06 Richard Guenther <rguenther (a] suse.de> 13762 13763 * c-common.c (c_common_nodes_and_builtins): 13764 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2. 13765 13766 2011-07-05 Richard Guenther <rguenther (a] suse.de> 13767 13768 * c-common.c (c_common_nodes_and_builtins): Build all common 13769 tree nodes first. 13770 13771 2011-06-27 Jakub Jelinek <jakub (a] redhat.com> 13772 13773 * c-common.h (c_tree_chain_next): New static inline function. 13774 13775 * c-common.c (check_builtin_function_arguments): Handle 13776 BUILT_IN_ASSUME_ALIGNED. 13777 13778 2011-06-21 Andrew MacLeod <amacleod (a] redhat.com> 13779 13780 * c-common.c: Add sync_ or SYNC__ to builtin names. 13781 * c-omp.c: Add sync_ or SYNC__ to builtin names. 13782 13783 2011-06-20 Pierre Vittet <piervit (a] pvittet.com> 13784 13785 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New 13786 handler. 13787 (gen_pragma_handler): New union. 13788 (internal_pragma_handler): New type. 13789 (c_register_pragma_with_data) 13790 (c_register_pragma_with_expansion_and_data): New functions. 13791 13792 * c-pragma.c (registered_pragmas, c_register_pragma_1) 13793 (c_register_pragma, c_register_pragma_with_expansion) 13794 (c_invoke_pragma_handler): Changed to work with 13795 internal_pragma_handler. 13796 (c_register_pragma_with_data) 13797 (c_register_pragma_with_expansion_and_data): New functions. 13798 13799 2011-06-14 Joseph Myers <joseph (a] codesourcery.com> 13800 13801 * c-common.c: Include common/common-target.h. 13802 (handle_section_attribute): Use 13803 targetm_common.have_named_sections. 13804 * c-cppbuiltin.c: Include common/common-target.h. 13805 (c_cpp_builtins): Use targetm_common.except_unwind_info. 13806 13807 2011-06-10 Richard Guenther <rguenther (a] suse.de> 13808 13809 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier 13810 to print a IDENTIFIER_NODE. 13811 13812 2011-06-09 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE> 13813 Joseph Myers <joseph (a] codesourcery.com> 13814 13815 * c.opt (fbuilding-libgcc): New option. 13816 * c-cppbuiltin.c (c_cpp_builtins): Define 13817 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc. 13818 13819 2011-06-07 Jason Merrill <jason (a] redhat.com> 13820 13821 * c-common.c (max_tinst_depth): Lower default to 900. 13822 13823 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format. 13824 13825 2011-06-07 Richard Guenther <rguenther (a] suse.de> 13826 13827 * c-common.c (c_common_nodes_and_builtins): Do not set 13828 size_type_node or call set_sizetype. 13829 13830 2011-06-07 Dodji Seketeli <dodji (a] redhat.com> 13831 13832 PR debug/49130 13833 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical 13834 type when using pointer comparison to compare types. 13835 13836 2011-06-02 Jonathan Wakely <jwakely.gcc (a] gmail.com> 13837 13838 * c.opt: Add -Wdelete-non-virtual-dtor. 13839 * c-opts.c (c_common_handle_option): Include it in -Wall. 13840 13841 2011-05-30 Nathan Froyd <froydnj (a] gcc.gnu.org> 13842 13843 PR bootstrap/49190 13844 13845 Revert: 13846 2011-05-26 Nathan Froyd <froydnj (a] codesourcery.com> 13847 13848 * c-common.h (struct c_common_identifier): Inherit from tree_typed, 13849 not tree_common. 13850 13851 2011-05-27 Jakub Jelinek <jakub (a] redhat.com> 13852 13853 PR c++/49165 13854 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For 13855 C++ don't call c_common_truthvalue_conversion on void type arms. 13856 13857 2011-05-27 Nathan Froyd <froydnj (a] codesourcery.com> 13858 13859 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC. 13860 (stmt_list_stack): Define. 13861 (cur_stmt_list): Adjust for new type of x_cur_stmt_list. 13862 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise. 13863 13864 2011-05-26 Nathan Froyd <froydnj (a] codesourcery.com> 13865 13866 * c-common.c (warning_candidate_p): Check for BLOCKs. 13867 13868 2011-05-26 Nathan Froyd <froydnj (a] codesourcery.com> 13869 13870 * c-common.h (struct c_common_identifier): Inherit from tree_typed, 13871 not tree_common. 13872 13873 2011-05-25 Jakub Jelinek <jakub (a] redhat.com> 13874 13875 * c-common.c (def_fn_type): Remove extra va_end. 13876 13877 2011-05-23 Jason Merrill <jason (a] redhat.com> 13878 13879 PR c++/48106 13880 * c-common.c (c_common_get_narrower): New. 13881 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it. 13882 13883 2011-05-23 Nathan Froyd <froydnj (a] codesourcery.com> 13884 13885 * c-common.h (check_function_arguments): Tweak prototype of 13886 check_function_arguments. 13887 * c-common.c (check_function_arguments): Likewise. Adjust 13888 calls to check_function_nonnull, check_function_format, and 13889 check_function_sentinel. 13890 (check_function_sentinel): Take a FUNCTION_TYPE rather than 13891 separate attributes and typelist arguments. Use 13892 FOREACH_FUNCTION_ARGS to iterate over argument types. 13893 13894 2011-05-15 Paolo Carlini <paolo.carlini (a] oracle.com> 13895 13896 * c-common.c (c_common_reswords): Reorder. 13897 * c-common.h (rid): Likewise. 13898 13899 2011-05-10 Nathan Froyd <froydnj (a] codesourcery.com> 13900 13901 * c-common.c (def_fn_type): Don't call build_function_type, call 13902 build_function_type_array or build_varargs_function_type_array 13903 instead. 13904 (c_common_nodes_and_builtins): Likewise. 13905 13906 2011-05-05 Nathan Froyd <froydnj (a] codesourcery.com> 13907 13908 * c-common.c (c_add_case_label): Omit the loc argument to 13909 build_case_label. 13910 * c-common.h (build_case_label): Remove. 13911 * c-semantics.c (build_case_label): Remove. 13912 13913 2011-05-05 Joseph Myers <joseph (a] codesourcery.com> 13914 13915 * c-objc.h (objc_start_method_definition): Update prototype. 13916 * stub-objc.c (objc_start_method_definition): Add extra parameter. 13917 13918 2011-05-04 Nathan Froyd <froydnj (a] codesourcery.com> 13919 13920 * c-common.c (check_main_parameter_types): Reindent. Don't use 13921 TYPE_ARG_TYPES directly. 13922 (handle_nonnull_attribute): Likewise. 13923 (sync_resolve_params): Likewise. 13924 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call 13925 to check_format_string. 13926 (handle_format_attribute): Likewise. 13927 (check_format_string): Take a function type to examine instead of 13928 a type list. Use a function_arg_iterator to step through argument 13929 types. 13930 13931 2011-05-04 Richard Guenther <rguenther (a] suse.de> 13932 13933 * c-common.c (fix_string_type): Use size_int for index type bounds. 13934 (start_fname_decls): Do not pass NULL to build_int_cst. 13935 (c_init_attributes): Likewise. 13936 * c-lex.c (c_lex_with_flags): Likewise. 13937 13938 2011-04-27 Jason Merrill <jason (a] redhat.com> 13939 13940 * c-common.c (make_tree_vector_from_list): New. 13941 * c-common.h: Declare it. 13942 13943 2011-04-26 Richard Guenther <rguenther (a] suse.de> 13944 13945 PR preprocessor/48248 13946 * c-ppoutput.c (maybe_print_line): Always optimize newlines 13947 for output size with -P. 13948 13949 2011-04-25 Paolo Carlini <paolo.carlini (a] oracle.com> 13950 13951 * c-common.c (struct c_common_resword): Add __underlying_type. 13952 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE. 13953 13954 2011-04-20 Jim Meyering <meyering (a] redhat.com> 13955 13956 * c-format.c (init_dollar_format_checking): Remove useless 13957 if-before-free. 13958 13959 2011-04-15 Nicola Pero <nicola.pero (a] meta-innovation.com> 13960 13961 * c-objc.h (objc_get_interface_ivars): Removed. 13962 (objc_detect_field_duplicates): New. 13963 * stub-objc.c: Likewise. 13964 13965 2011-04-14 Nicola Pero <nicola.pero (a] meta-innovation.com> 13966 13967 * stub-objc.c (objc_declare_protocols): Renamed to 13968 objc_declare_protocol. 13969 * c-objc.h: Likewise. 13970 13971 2011-04-14 Nicola Pero <nicola.pero (a] meta-innovation.com> 13972 13973 * stub-objc.c (objc_declare_class): Updated argument name. 13974 13975 2011-04-12 Nathan Froyd <froydnj (a] codesourcery.com> 13976 13977 * c-common.h (c_common_init_ts): Declare. 13978 * c-common.c (c_common_init_ts): Define. 13979 13980 2011-04-12 Nicola Pero <nicola.pero (a] meta-innovation.com> 13981 13982 * c-objc.h (objc_build_message_expr): Updated prototype. 13983 * stub-objc.c (objc_build_message_expr): Likewise. 13984 13985 2011-04-12 Martin Jambor <mjambor (a] suse.cz> 13986 13987 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead 13988 of cgraph_node. 13989 13990 2011-04-11 Richard Guenther <rguenther (a] suse.de> 13991 13992 * c-common.c (complete_array_type): Build a range type of 13993 proper type. 13994 13995 2011-04-08 Nathan Froyd <froydnj (a] codesourcery.com> 13996 13997 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES. 13998 (handle_type_generic_attribute): Likewise. 13999 14000 2011-04-07 Jason Merrill <jason (a] redhat.com> 14001 14002 PR c++/48450 14003 * c-common.c (c_common_truthvalue_conversion): Don't ignore 14004 conversion from C++0x scoped enum. 14005 14006 2011-04-06 Joseph Myers <joseph (a] codesourcery.com> 14007 14008 * c-target-def.h: New file. 14009 * c-target.def: New file. 14010 * c-target.h: New file. 14011 * c-common.c (targetcm): Don't define here. 14012 * c-common.h (default_handle_c_option): Declare. 14013 * c-format.c: Include c-target.h instead of target.h. 14014 * c-opts.c: Include c-target.h instead of target.h. Explicitly 14015 include tm.h. 14016 (default_handle_c_option): Move from targhooks.c. 14017 14018 2011-03-29 Jakub Jelinek <jakub (a] redhat.com> 14019 14020 PR preprocessor/48248 14021 * c-ppoutput.c (print): Add src_file field. 14022 (init_pp_output): Initialize it. 14023 (maybe_print_line): Don't optimize by adding up to 8 newlines 14024 if map->to_file and print.src_file are different file. 14025 (print_line): Update print.src_file. 14026 14027 2011-03-25 Kai Tietz <ktietz (a] redhat.com> 14028 14029 * c-ada-spec.c (compare_comment): Use filename_cmp 14030 instead of strcmp for filename. 14031 14032 2011-03-25 Jeff Law <law (a] redhat.com> 14033 14034 * c-common.c (def_fn_type): Add missing va_end. 14035 14036 2011-03-25 Jason Merrill <jason (a] redhat.com> 14037 14038 * c.opt: Add -std=c++03. 14039 14040 2011-03-22 Eric Botcazou <ebotcazou (a] adacore.com> 14041 14042 * c-ada-spec.c (dump_ada_template): Skip non-class instances. 14043 14044 2011-03-17 Kai Tietz <ktietz (a] redhat.com> 14045 14046 PR target/12171 14047 * c-pretty-print.c (pp_c_specifier_qualifier_list): 14048 Display allowed attributes for function pointer types. 14049 (pp_c_attributes_display): New function to display 14050 attributes having affects_type_identity flag set to true. 14051 * c-pretty-print.h (pp_c_attributes_display): New prototype. 14052 14053 * c-common.c (c_common_attribute_table): 14054 Add new element. 14055 (c_common_format_attribute_table): Likewise. 14056 14057 2011-03-18 Jason Merrill <jason (a] redhat.com> 14058 14059 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth). 14060 * c-common.h: Don't declare it here. 14061 * c-common.c: Or define it here. 14062 * c-opts.c (c_common_handle_option): Or set it here. 14063 14064 PR c++/35315 14065 * c-common.c (handle_transparent_union_attribute): Don't 14066 make a duplicate type in C++. 14067 14068 2011-03-15 Jason Merrill <jason (a] redhat.com> 14069 14070 * c-common.c (max_constexpr_depth): New. 14071 * c-common.h: Declare it. 14072 * c-opts.c (c_common_handle_option): Set it. 14073 * c.opt (fconstexpr-depth): New option. 14074 14075 2011-03-11 Jason Merrill <jason (a] redhat.com> 14076 14077 * c-common.c (attribute_takes_identifier_p): Add missing const. 14078 14079 PR c++/46803 14080 * c-common.c (attribute_takes_identifier_p): Assume that an 14081 unknown attribute takes an identifier. 14082 14083 2011-03-07 Nathan Froyd <froydnj (a] codesourcery.com> 14084 14085 PR c/47786 14086 * c-common.c (c_type_hash): Call list_length instead of iterating 14087 through DECL_CHAIN. Rename 'i' to 'n_elements'. 14088 14089 2011-02-19 Jakub Jelinek <jakub (a] redhat.com> 14090 14091 PR c/47809 14092 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR. 14093 14094 2011-02-17 Iain Sandoe <iains (a] gcc.gnu.org> 14095 14096 * c.opt (fobjc-abi-version=) New. 14097 (fobjc-nilcheck): New. 14098 14099 2011-02-03 Nathan Froyd <froydnj (a] codesourcery.com> 14100 14101 PR c++/46890 14102 * c-common.h (keyword_is_decl_specifier): Declare. 14103 * c-common.c (keyword_is_decl_specifier): Define. 14104 (keyword_is_function_specifier): New function. 14105 14106 2011-01-26 Jakub Jelinek <jakub (a] redhat.com> 14107 14108 PR c/47473 14109 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure 14110 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of 14111 REAL_TYPE. 14112 14113 2011-01-26 Arnaud Charlet <charlet (a] adacore.com> 14114 14115 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type. 14116 14117 2011-01-26 Jakub Jelinek <jakub (a] redhat.com> 14118 14119 PR pch/47430 14120 * c-opts.c (c_common_post_options): Call c_common_no_more_pch 14121 after init_c_lex if pch_file is set. 14122 14123 2011-01-26 Dave Korn <dave.korn.cygwin (a] gmail.com> 14124 14125 PR c++/43601 14126 * c.opt (-fkeep-inline-dllexport): New switch. 14127 14128 2011-01-12 Richard Guenther <rguenther (a] suse.de> 14129 14130 PR middle-end/32511 14131 * c-common.c (handle_weak_attribute): Warn instead of error 14132 on declaring an inline function weak. 14133 14134 2011-01-05 Tom Tromey <tromey (a] redhat.com> 14135 14136 * c-common.h (lvalue_error): Update. 14137 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at, 14138 not error. 14139 14140 2010-12-29 Nicola Pero <nicola.pero (a] meta-innovation.com> 14141 14142 PR objc/47075 14143 * c-objc.h (objc_finish_message_expr): Added argument to 14144 prototype. 14145 14146 2010-12-22 Nathan Froyd <froydnj (a] codesourcery.com> 14147 14148 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute): 14149 Use prototype_p. 14150 14151 2010-12-18 Nicola Pero <nicola.pero (a] meta-innovation.com> 14152 14153 * c-objc.h (objc_maybe_warn_exceptions): New. 14154 * stub-objc.c (objc_maybe_warn_exceptions): New. 14155 14156 2010-12-10 Nathan Froyd <froydnj (a] codesourcery.com> 14157 14158 * c-common.h (readonly_error): Declare. 14159 * c-common.c (readonly_error): Define. 14160 14161 2010-12-09 Nathan Froyd <froydnj (a] codesourcery.com> 14162 14163 * c-common.h (invalid_indirection_error): Declare. 14164 * c-common.c (invalid_indirection_error): Define. 14165 14166 2010-12-03 Richard Guenther <rguenther (a] suse.de> 14167 14168 PR c/46745 14169 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF. 14170 (pp_c_unary_expression): Likewise. 14171 (pp_c_expression): Likewise. 14172 14173 2010-11-30 Nicola Pero <nicola.pero (a] meta-innovation.com> 14174 14175 * c-common.h (objc_finish_function): New. 14176 (objc_non_volatilized_type): Removed. 14177 (objc_type_quals_match): Removed. 14178 * stub-objc.c (objc_finish_function): New. 14179 (objc_non_volatilized_type): Removed. 14180 (objc_type_quals_match): Removed. 14181 14182 2010-11-30 Joseph Myers <joseph (a] codesourcery.com> 14183 14184 * c-common.h (parse_optimize_options): Declare. 14185 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c, 14186 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h. 14187 14188 2010-11-29 Joseph Myers <joseph (a] codesourcery.com> 14189 14190 * c-opts.c (check_deps_environment_vars): Use getenv instead of 14191 GET_ENVIRONMENT. 14192 * c-pch.c (O_BINARY): Don't define here. 14193 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>. 14194 14195 2010-11-25 Joseph Myers <joseph (a] codesourcery.com> 14196 14197 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to 14198 targetm.except_unwind_info. 14199 14200 2010-11-23 Joseph Myers <joseph (a] codesourcery.com> 14201 14202 * c-opts.c (c_common_handle_option): Pass location to 14203 set_struct_debug_option. 14204 14205 2010-11-23 Joseph Myers <joseph (a] codesourcery.com> 14206 14207 * c-common.c (visibility_options): Move from ../opts.c. 14208 * c-common.h (struct visibility_flags, visibility_options): 14209 Declare here. 14210 * c-opts.c (finish_options): Rename to c_finish_options. 14211 (c_common_init): Update call to finish_options. 14212 14213 2010-11-22 Nicola Pero <nicola.pero (a] meta-innovation.com> 14214 14215 PR objc/34033 14216 * c-lex.c (lex_string): Check that each string in an Objective-C 14217 string concat sequence starts with either one or zero '@', and 14218 that there are no spurious '@' signs at the end. 14219 14220 2010-11-20 Joseph Myers <joseph (a] codesourcery.com> 14221 14222 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK, 14223 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and 14224 HANDLE_PRAGMA_VISIBILITY. 14225 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK, 14226 HANDLE_PRAGMA_VISIBILITY): Don't define. 14227 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test. 14228 14229 2010-11-20 Nathan Froyd <froydnj (a] codesourcery.com> 14230 14231 PR c++/16189 14232 PR c++/36888 14233 PR c++/45331 14234 * c-common.h (keyword_begins_type_specifier): Declare. 14235 (keyword_is_storage_class_specifier): Declare. 14236 (keyword_is_type_qualifier): Declare. 14237 * c-common.c (keyword_begins_type_specifier): New function. 14238 (keyword_is_storage_class_specifier): New function. 14239 (keyword_is_type_qualifier): Declare. 14240 14241 2010-11-19 Joseph Myers <joseph (a] codesourcery.com> 14242 14243 PR c/46547 14244 * c-common.c (in_late_binary_op): Define. 14245 (c_common_truthvalue_conversion): Check in_late_binary_op before 14246 calling c_save_expr. 14247 * c-common.h (in_late_binary_op): Declare. 14248 14249 2010-11-19 Joseph Myers <joseph (a] codesourcery.com> 14250 14251 * c-opts.c (c_common_handle_option): Update calls to 14252 set_struct_debug_option. 14253 14254 2010-11-19 Nicola Pero <nicola.pero (a] meta-innovation.com> 14255 14256 * c-common.h (objc_declare_protocols): Added additional argument. 14257 * stub-objc.c (objc_declare_protocol): Same change. 14258 14259 2010-11-18 Nathan Froyd <froydnj (a] codesourcery.com> 14260 14261 PR c/33193 14262 * c-common.h (build_real_imag_expr): Declare. 14263 * c-semantics.c (build_real_imag_expr): Define. 14264 14265 2010-11-17 Joseph Myers <joseph (a] codesourcery.com> 14266 14267 * c-opts.c (c_common_parse_file): Take no arguments. 14268 * c-common.h (c_common_parse_file): Update prototype. 14269 14270 2010-11-16 Jakub Jelinek <jakub (a] redhat.com> 14271 14272 PR c++/46401 14273 * c-common.c (warning_candidate_p): Don't track non-const calls 14274 or STRING_CSTs. 14275 14276 2010-11-15 Ian Lance Taylor <iant (a] google.com> 14277 14278 * c-lex.c (init_c_lex): Set macro debug callbacks if 14279 flag_dump_go_spec is set. 14280 14281 2010-11-15 Nicola Pero <nicola.pero (a] meta-innovation.com> 14282 14283 * c-common.h (objc_build_incr_expr_for_property_ref): New. 14284 * stub-objc.c (objc_build_incr_expr_for_property_ref): New. 14285 14286 2010-11-15 Nathan Froyd <froydnj (a] codesourcery.com> 14287 14288 PR preprocessor/45038 14289 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++ 14290 dialects. 14291 14292 2010-11-12 Joseph Myers <joseph (a] codesourcery.com> 14293 14294 * c-common.h (c_family_lang_mask): Declare. 14295 * c-opts.c (c_family_lang_mask): Make extern. 14296 * c-pragma.c (handle_pragma_diagnostic): Use 14297 control_warning_option. 14298 14299 2010-11-12 Joseph Myers <joseph (a] codesourcery.com> 14300 14301 * c-common.c (parse_optimize_options): Update call to 14302 decode_options. 14303 * c-common.h (c_common_handle_option): Update prototype. 14304 * c-opts.c (c_common_handle_option): Take location_t parameter and 14305 pass it to other functions. 14306 14307 2010-11-11 Joseph Myers <joseph (a] codesourcery.com> 14308 14309 * c-opts.c (warning_as_error_callback): Remove. 14310 (c_common_initialize_diagnostics): Don't call 14311 register_warning_as_error_callback. 14312 (c_common_handle_option): Handle -Werror=normalized= here. 14313 14314 2010-11-10 Joseph Myers <joseph (a] codesourcery.com> 14315 14316 * c-common.c (handle_mode_attribute): Use %' and word "signedness" 14317 in diagnostic. 14318 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase 14319 letter. 14320 * c-pragma.c (handle_pragma_target, handle_pragma_optimize): 14321 Remove trailing '.' from diagnostics. 14322 * c.opt (Wwrite-strings_: Avoid '`' in help text. 14323 14324 2010-11-10 Joseph Myers <joseph (a] codesourcery.com> 14325 14326 * c-common.c (parse_optimize_options): Pass global_dc to 14327 decode_options. 14328 * c-opts.c (c_common_handle_option): Pass &global_options to 14329 set_Wstrict_aliasing. 14330 * c.opt (v): Don't mark Common or document here. 14331 14332 2010-11-06 Iain Sandoe <iains (a] gcc.gnu.org> 14333 14334 PR target/44981 14335 * c-format.c (format_type): New type gcc_objc_string_format_type. 14336 (valid_stringptr_type_p): New. 14337 (handle_format_arg_attribute): Use valid_stringptr_type_p (). 14338 (check_format_string): Pass expected type, use 14339 valid_stringptr_type_p (), check that the format string types are 14340 consistent with the format specification. 14341 (decode_format_attr): Warn if NSString is used outside objective-c. 14342 (format_types_orig): Add NSString. 14343 (format_name): New. 14344 (format_flags): New. 14345 (check_format_arg): Handle format strings requiring an external parser. 14346 first_target_format_type: New variable. 14347 (handle_format_attribute): Set up first_target_format_type, pass the 14348 expected format arg string type to check_format_string(). 14349 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag. 14350 * stub-objc.c (objc_string_ref_type_p): New. 14351 (objc_check_format_arg): New. 14352 14353 2010-11-04 Nicola Pero <nicola.pero (a] meta-innovation.com> 14354 14355 Fixed using the Objective-C 2.0 dot-syntax with class names. 14356 * c-common.h (objc_build_class_component_ref): New. 14357 * stub-objc.c (objc_build_class_component_ref): New. 14358 14359 2010-11-03 Nicola Pero <nicola.pero (a] meta-innovation.com> 14360 14361 * c.opt (Wproperty-assign-default): New option. 14362 14363 2010-11-03 Nicola Pero <nicola.pero (a] meta-innovation.com> 14364 14365 Implemented -fobjc-std=objc1 flag. 14366 * c.opt (fobjc-std=objc1): New option. 14367 14368 2010-11-01 Nicola Pero <nicola.pero (a] meta-innovation.com> 14369 14370 Implemented format and noreturn attributes for Objective-C methods. 14371 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn' 14372 attribute for Objective-C methods. 14373 14374 2010-10-31 Jason Merrill <jason (a] redhat.com> 14375 14376 * c-common.c (conversion_warning, warn_for_collisions_1): Use 14377 EXPR_LOC_OR_HERE. 14378 14379 2010-10-30 Nicola Pero <nicola.pero (a] meta-innovation.com> 14380 14381 Implemented Objective-C 2.0 @property, @synthesize and @dynamic. 14382 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR. 14383 (objc_add_property_declaration): Removed arguments for copies and 14384 ivar. 14385 (objc_build_getter_call): Renamed to 14386 objc_maybe_build_component_ref. 14387 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr. 14388 (objc_is_property_ref): New. 14389 * c-common.c (c_common_reswords): Removed copies and ivar. 14390 * stub-objc.c (objc_add_property_declaration): Removed arguments 14391 for copies and ivar. 14392 (objc_build_getter_call): Renamed to 14393 objc_maybe_build_component_ref. 14394 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr. 14395 (objc_is_property_ref): New. 14396 14397 2010-10-29 Arnaud Charlet <charlet (a] adacore.com> 14398 Matthew Gingell <gingell (a] adacore.com> 14399 14400 * c-ada-spec.c (separate_class_package): New function. 14401 (pp_ada_tree_identifier): Prefix references to C++ classes with the 14402 name of their enclosing package. 14403 (print_ada_declaration): Use separate_class_package. 14404 14405 2010-10-27 Jason Merrill <jason (a] redhat.com> 14406 14407 * c-common.c (c_common_reswords): Add __is_literal_type. 14408 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE. 14409 14410 * c-common.c (check_case_value): Remove special C++ code. 14411 14412 2010-10-27 Nicola Pero <nicola.pero (a] meta-innovation.com> 14413 14414 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN, 14415 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR 14416 and RID_LAST_PATTR. 14417 (objc_add_property_declaration): Added additional arguments. 14418 (objc_property_attribute_kind): Removed. 14419 (objc_set_property_attr): Removed. 14420 * c-common.c (c_common_reswords): Added readwrite, assign, retain, 14421 copy and nonatomic. 14422 * stub-objc.c (objc_add_property_declaration): Added additional 14423 arguments. 14424 (objc_set_property_attr): Removed. 14425 14426 2010-10-27 Nicola Pero <nicola.pero (a] meta-innovation.com> 14427 14428 * c-common.h (objc_add_property_variable): Renamed to 14429 objc_add_property_declaration. Added location argument. 14430 * stub-objc.c (objc_add_property_variable): Same change. 14431 14432 2010-10-23 Nicola Pero <nicola.pero (a] meta-innovation.com> 14433 14434 * c-common.h (objc_maybe_printable_name): New. 14435 * stub-objc.c (objc_maybe_printable_name): New. 14436 14437 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff (a] gmail.com> 14438 Andrew Pinski <pinskia (a] gmail.com> 14439 14440 * c-common.h (c_common_mark_addressable_vec): Declare. 14441 * c-common.c (c_common_mark_addressable_vec): New function. 14442 14443 2010-10-20 Nicola Pero <nicola.pero (a] meta-innovation.com> 14444 14445 * c-common.h (objc_set_method_type): Removed. 14446 (objc_add_method_declaration): Added boolean argument. 14447 (objc_start_method_definition): Same change. 14448 (objc_build_method_signature): Same change. 14449 * stub-objc.c (objc_set_method_type): Removed. 14450 (objc_add_method_declaration): Added boolean argument. 14451 (objc_start_method_definition): Same change. 14452 (objc_build_method_signature): Same change. 14453 14454 2010-10-20 Nicola Pero <nicola.pero (a] meta-innovation.com> 14455 14456 * c-common.h (finish_file): Removed. 14457 (objc_write_global_declarations): New. 14458 * c-opts.c (c_common_parse_file): Do not call finish_file. 14459 * stub-objc.c (objc_write_global_declarations): New. 14460 14461 2010-10-18 Nicola Pero <nicola.pero (a] meta-innovation.com> 14462 14463 Implemented parsing @synthesize and @dynamic for 14464 Objective-C/Objective-C++. 14465 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC. 14466 (objc_add_synthesize_declaration): New. 14467 (objc_add_dynamic_declaration): New. 14468 * c-common.c (c_common_reswords): Add synthesize and dynamic. 14469 * stub-objc.c (objc_add_synthesize_declaration): New. 14470 (objc_add_dynamic_declaration): New. 14471 14472 2010-10-18 Michael Meissner <meissner (a] linux.vnet.ibm.com> 14473 14474 PR target/46041 14475 * c-cppbuiltin.c (mode_has_fma): Move function here from 14476 builtins.c. Don't use the fma optab, instead just use the 14477 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when 14478 using -save-temps. 14479 14480 2010-10-18 Nicola Pero <nicola.pero (a] meta-innovation.com> 14481 14482 Merge from 'apple/trunk' branch on FSF servers. 14483 14484 2005-11-08 Fariborz Jahanian <fjahanian (a] apple.com> 14485 14486 Radar 4330422 14487 * c-common.h (objc_non_volatilized_type): New declaration 14488 * stub-objc.c (objc_non_volatilized_type): New stub. 14489 14490 2010-10-17 Nicola Pero <nicola.pero (a] meta-innovation.com> 14491 14492 Merge from 'apple/trunk' branch on FSF servers. 14493 14494 2006-03-27 Fariborz Jahanian <fjahanian (a] apple.com> 14495 14496 Radar 4133425 14497 * c-common.h (objc_diagnose_private_ivar): New decl. 14498 * stub-objc.c (objc_diagnose_private_ivar): New stub. 14499 14500 2010-10-17 Iain Sandoe <iains (a] gcc.gnu.org> 14501 14502 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE. 14503 * c-common.h (enum rid): Add RID_AT_PACKAGE. 14504 (objc_ivar_visibility_kind): New enum. 14505 (objc_set_visibility): Adjust prototype to use visibility enum. 14506 * stub-objc.c (objc_set_visibility): Adjust stub to use 14507 visibility enum. 14508 14509 2010-10-14 Michael Meissner <meissner (a] linux.vnet.ibm.com> 14510 14511 * c-cppbuiltin.c (builtin_define_float_constants): Emit 14512 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine 14513 has the appropriate fma builtins. 14514 (c_cpp_builtins): Adjust call to builtin_define_float_constants. 14515 14516 2010-10-14 Iain Sandoe <iains (a] gcc.gnu.org> 14517 14518 merge from FSF apple 'trunk' branch. 14519 2006 Fariborz Jahanian <fjahanian (a] apple.com> 14520 14521 Radars 4436866, 4505126, 4506903, 4517826 14522 * c-common.c (c_common_resword): Define @property and its attributes. 14523 * c-common.h: Define property attribute enum entries. 14524 (OBJC_IS_PATTR_KEYWORD): New. 14525 (objc_property_attribute_kind): New enum. 14526 Declare objc_set_property_attr (), objc_add_property_variable (), 14527 objc_build_getter_call () and objc_build_setter_call (). 14528 * stub-objc.c (objc_set_property_attr): New stub. 14529 (objc_add_property_variable): Likewise. 14530 (objc_build_getter_call): Likewise. 14531 (objc_build_setter_call) Likewise. 14532 14533 2010-10-13 Iain Sandoe <iains (a] gcc.gnu.org> 14534 14535 merge from FSF apple 'trunk' branch. 14536 2006-04-26 Fariborz Jahanian <fjahanian (a] apple.com> 14537 14538 Radar 3803157 (method attributes) 14539 * c-common.c (handle_deprecated_attribute): Recognize 14540 objc methods as valid declarations. 14541 * c-common.h: Declare objc_method_decl (). 14542 * stub-objc.c (objc_method_decl): New stub. 14543 14544 2010-10-08 Joseph Myers <joseph (a] codesourcery.com> 14545 14546 * c-common.c (parse_optimize_options): Call 14547 decode_cmdline_options_to_array_default_mask before 14548 decode_options. Update arguments to decode_options. 14549 * c-common.h (c_common_init_options_struct): Declare. 14550 * c-opts.c (c_common_init_options_struct): New. Split out from 14551 c_common_init_options. 14552 14553 2010-10-06 Nicola Pero <nicola.pero (a] meta-innovation.com> 14554 14555 Implemented fast enumeration for Objective-C. 14556 * c-common.h (objc_finish_foreach_loop): New. 14557 * stub-objc.c (objc_finish_foreach_loop): New. 14558 14559 2010-10-05 Joseph Myers <joseph (a] codesourcery.com> 14560 14561 * c-common.h (struct diagnostic_context): Don't declare here. 14562 (c_common_initialize_diagnostics): Declare using 14563 diagnostic_context typedef. 14564 * c-opts.c (c_common_handle_option): Pass global_dc to 14565 handle_generated_option. 14566 14567 2010-10-04 Joseph Myers <joseph (a] codesourcery.com> 14568 14569 * c-opts.c (c_common_handle_option): Pass &global_options_set to 14570 handle_generated_option. 14571 14572 2010-10-03 Ian Lance Taylor <iant (a] google.com> 14573 14574 * c.opt (-fplan9-extensions): New option. 14575 14576 2010-10-03 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org> 14577 14578 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision): 14579 Remove. 14580 (c_cpp_builtins): Call functions from cppbuiltin.c instead 14581 of duplicating code. 14582 14583 2010-09-30 Iain Sandoe <iains (a] gcc.gnu.org> 14584 14585 * c-common.c: Add two new entries for @optional 14586 and @required keywords. 14587 14588 merge from FSF 'apple/trunk' branch. 14589 2006-01-30 Fariborz Jahanian <fjahanian (a] apple.com> 14590 14591 Radar 4386773 14592 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new 14593 objective-c keywords. 14594 (objc_set_method_opt): New declaration. 14595 * stub-objc.c (objc_set_method_opt): New stub. 14596 14597 2010-09-30 Joseph Myers <joseph (a] codesourcery.com> 14598 14599 * c-common.c (handle_optimize_attribute): Pass &global_options to 14600 cl_optimization_save and cl_optimization_restore. 14601 * c-opts.c (c_common_handle_option): Pass &global_options to 14602 handle_generated_option. 14603 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var. 14604 (handle_pragma_pop_options, handle_pragma_reset_options): Pass 14605 &global_options to cl_optimization_restore. 14606 14607 2010-09-30 Nicola Pero <nicola.pero (a] meta-innovation.com> 14608 14609 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME 14610 Objective-C/Objective-C++ keywords. 14611 14612 2010-09-29 Nicola Pero <nicola.pero (a] meta-innovation.com> 14613 14614 Merge from 'apple/trunk' branch on FSF servers. 14615 14616 2005-10-04 Fariborz Jahanian <fjahanian (a] apple.com> 14617 14618 Radar 4281748 14619 * c-common.h (objc_check_global_decl): New declaration. 14620 * stub-objc.c (objc_check_global_decl): New stub. 14621 14622 2010-09-29 Joseph Myers <joseph (a] codesourcery.com> 14623 14624 * c.opt: Don't use VarExists. 14625 14626 2010-09-29 Joseph Myers <joseph (a] codesourcery.com> 14627 14628 * c-common.c (c_cpp_error): Update names of diagnostic_context 14629 members. 14630 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of 14631 cl_optimization members. 14632 * c-opts.c (warning_as_error_callback, c_common_handle_option, 14633 sanitize_cpp_opts, finish_options): Update names of cpp_options 14634 members. 14635 14636 2010-09-29 Nicola Pero <nicola.pero (a] meta-innovation.com> 14637 14638 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments. 14639 (objc_is_reserved_word): Removed. 14640 * c-common.c: Updated comments. 14641 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of 14642 objc_is_reserved_word. 14643 * stub-objc.c (objc_is_reserved_word): Removed. 14644 14645 2010-09-28 Iain Sandoe <iains (a] gcc.gnu.org> 14646 14647 * c-common.h (objc_add_method_declaration): Adjust prototype to 14648 include attributes. 14649 (objc_start_method_definition): Likewise. 14650 (objc_build_keyword_decl): Likewise. 14651 * stub-objc.c:(objc_add_method_declaration): Handle attributes. 14652 (objc_start_method_definition): Likewise. 14653 (objc_build_keyword_decl): Likewise. 14654 14655 2010-09-28 Iain Sandoe <iains (a] gcc.gnu.org> 14656 14657 * c-common.h (objc_start_class_interface): Adjust prototype. 14658 (objc_start_category_interface): Likewise. 14659 (objc_start_protocol): Likewise. 14660 * stub-objc.c (objc_start_protocol): Adjust for extra argument. 14661 (objc_start_class_interface): Likewise. 14662 (objc_start_category_interface): Likewise. 14663 14664 2010-09-27 Ian Lance Taylor <iant (a] google.com> 14665 14666 * c-common.c (c_common_attribute_table): Add no_split_stack. 14667 (handle_no_split_stack_attribute): New static function. 14668 14669 2010-09-27 Nicola Pero <nicola.pero (a] meta-innovation.com> 14670 14671 Merge from 'apple/trunk' branch on FSF servers. 14672 14673 2005-12-15 Fariborz Jahanian <fjahanian (a] apple.com> 14674 14675 Radar 4229905 14676 * c-common.h (objc_have_common_type): New declaration. 14677 * stub-objc.c (objc_have_common_type): New stub. 14678 14679 2005-06-22 Ziemowit Laski <zlaski (a] apple.com> 14680 14681 Radar 4154928 14682 * c-common.h (objc_common_type): New prototype. 14683 * stub-objc.c (objc_common_type): New stub. 14684 14685 2010-09-24 Jan Hubicka <jh (a] suse.cz> 14686 14687 * c-common.c (handle_leaf_attribute): New function. 14688 (struct attribute_spec c_common_att): Add leaf. 14689 14690 2010-09-22 Joseph Myers <joseph (a] codesourcery.com> 14691 14692 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments, 14693 -comments-in-macros, -define-macro, -define-macro=, -dependencies, 14694 -dump, -dump=, -imacros, -imacros=, -include, -include=, 14695 -include-barrier, -include-directory, -include-directory=, 14696 -include-directory-after, -include-directory-after=, 14697 -include-prefix, -include-prefix=, -include-with-prefix, 14698 -include-with-prefix=, -include-with-prefix-after, 14699 -include-with-prefix-after=, -include-with-prefix-before, 14700 -include-with-prefix-before=, -no-integrated-cpp, 14701 -no-line-commands, -no-standard-includes, -no-warnings, -output, 14702 -output=, -pedantic, -pedantic-errors, -preprocess, 14703 -print-missing-file-dependencies, -trace-includes, -traditional, 14704 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=, 14705 -user-dependencies, -verbose, -write-dependencies, 14706 -write-user-dependencies, no-integrated-cpp, traditional): New. 14707 14708 2010-09-21 Nicola Pero <nicola.pero (a] meta-innovation.com> 14709 14710 PR objc/23710 14711 * c-common.h (objc_start_method_definition): Return bool instead 14712 of void. 14713 * stub-objc.c (objc_start_method_definition): Return bool instead 14714 of void. 14715 14716 2010-09-21 Nicola Pero <nicola.pero (a] meta-innovation.com> 14717 14718 PR objc/25965 14719 * c-common.h (objc_get_interface_ivars): New declaration. 14720 * stub-objc.c (objc_get_interface_ivars): New stub. 14721 14722 2010-09-15 Ian Lance Taylor <iant (a] google.com> 14723 14724 * c-common.c (parse_optimize_options): Do not capitalize warning 14725 messages. Remove period at end of warning message. 14726 14727 2010-09-09 Nathan Sidwell <nathan (a] codesourcery.com> 14728 14729 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ... 14730 (handle_alias_attribute): ... here. 14731 (handle_ifunc_attribute): New. 14732 14733 2010-09-06 Mark Mitchell <mark (a] codesourcery.com> 14734 14735 * c-common.h (do_warn_double_promotion): Declare. 14736 * c-common.c (do_warn_double_promotion): Define. 14737 14738 2010-09-05 Mark Mitchell <mark (a] codesourcery.com> 14739 14740 * c.opt (Wdouble-promotion): New. 14741 14742 2010-09-02 Joseph Myers <joseph (a] codesourcery.com> 14743 14744 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc, 14745 fvtable-thunks, fxref): Mark no longer supported in help text. 14746 14747 2010-09-02 Joseph Myers <joseph (a] codesourcery.com> 14748 14749 * c.opt (Wimport, fall-virtual, falt-external-templates, 14750 fdefault-inline, fenum-int-equiv, fexternal-templates, 14751 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok, 14752 fname-mangling-version-, fnew-abi, fnonnull-objects, 14753 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable, 14754 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as 14755 applicable. 14756 (fhandle-exceptions): Mark with Alias and Warn. 14757 * c-opts.c (c_common_handle_option): Don't handle options marked 14758 as ignored. 14759 14760 2010-09-02 Joseph Myers <joseph (a] codesourcery.com> 14761 14762 * c.opt (Wcomments, Werror-implicit-function-declaration, 14763 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x, 14764 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as 14765 aliases. 14766 * c-common.c (option_codes): Use OPT_Wcomment instead of 14767 OPT_Wcomments. 14768 * c-opts.c (warning_as_error_callback, c_common_handle_option): 14769 Don't handle options marked as aliases. 14770 14771 2010-08-25 Richard Guenther <rguenther (a] suse.de> 14772 14773 * c-common.c (c_common_get_alias_set): Remove special 14774 handling for pointers. 14775 14776 2010-08-20 Nathan Froyd <froydnj (a] codesourcery.com> 14777 14778 * c-common.c: Use FOR_EACH_VEC_ELT. 14779 * c-gimplify.c: Likewise. 14780 * c-pragma.c: Likewise. 14781 14782 2010-08-16 Joseph Myers <joseph (a] codesourcery.com> 14783 14784 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of 14785 RejectDriver. 14786 (MMDX): Change back to MMD. Mark NoDriverArg instead of 14787 RejectDriver. 14788 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD 14789 instead of OPT_MDX and OPT_MMDX. 14790 14791 2010-08-16 Joseph Myers <joseph (a] codesourcery.com> 14792 14793 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver. 14794 14795 2010-08-12 Joseph Myers <joseph (a] codesourcery.com> 14796 14797 * c.opt (MD, MMD): Change to MDX and MMDX. 14798 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX. 14799 14800 2010-08-11 Joseph Myers <joseph (a] codesourcery.com> 14801 14802 * c-opts.c (c_common_handle_option): Call handle_generated_option 14803 instead of handle_option. 14804 14805 2010-08-08 Nathan Froyd <froydnj (a] codesourcery.com> 14806 14807 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push. 14808 (maybe_apply_renaming_pragma): Delete unneeded declarations. 14809 14810 2010-08-08 Nathan Froyd <froydnj (a] codesourcery.com> 14811 14812 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it. 14813 (pending_redefine_extname): Change type to a VEC. 14814 (add_to_renaming_pragma_list): Update for new type of 14815 pending_redefine_extname. 14816 (maybe_apply_renaming_pragma): Likewise. 14817 14818 2010-08-04 Arnaud Charlet <charlet (a] adacore.com> 14819 14820 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as 14821 visited. 14822 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to 14823 decide whether a type has already been declared/seen. 14824 Do not go to the original type. 14825 (dump_nested_types): New parameter forward. 14826 Generate forward declaration if needed and mark type as visited. 14827 (print_ada_declaration): Call dump_nested_types if not already done. 14828 Mark types as visited. 14829 14830 2010-08-03 Joseph Myers <joseph (a] codesourcery.com> 14831 14832 * c.opt (-print-pch-checksum): Remove option. 14833 * c-opts.c (c_common_handle_option): Don't handle 14834 OPT_print_pch_checksum. 14835 14836 2010-07-27 Joseph Myers <joseph (a] codesourcery.com> 14837 14838 * c-common.h (c_common_handle_option): Update prototype and return 14839 value type. 14840 * c-opts.c (c_common_handle_option): Update prototype and return 14841 value type. Update calls to handle_option and 14842 enable_warning_as_error. 14843 14844 2010-07-27 Jakub Jelinek <jakub (a] redhat.com> 14845 14846 PR c/45079 14847 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR. 14848 14849 2010-07-27 Joseph Myers <joseph (a] codesourcery.com> 14850 14851 * c-common.h (c_common_missing_argument): Remove. 14852 * c-opts.c (c_common_missing_argument): Remove. 14853 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=, 14854 idirafter, imacros, include, isysroot, isystem, iquote): Add 14855 MissingArgError. 14856 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove. 14857 14858 2010-07-27 Joseph Myers <joseph (a] codesourcery.com> 14859 14860 * c-common.h (c_common_option_lang_mask, 14861 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p): 14862 New. 14863 (c_common_init_options): Update prototype. 14864 * c-opts.c (c_common_option_lang_mask): New. 14865 (c_common_initialize_diagnostics): Split out of 14866 c_common_init_options. 14867 (accept_all_c_family_options, c_common_complain_wrong_lang_p): 14868 New. 14869 (c_common_init_options): Update prototype. Use decoded options in 14870 search for -lang-asm. 14871 14872 2010-07-15 Nathan Froyd <froydnj (a] codesourcery.com> 14873 14874 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN. 14875 * c-format.c: Likewise. 14876 14877 2010-07-08 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 14878 14879 * c-common.h: Include diagnostic-core.h. Error if already 14880 included. 14881 * c-semantics.c: Do not define GCC_DIAG_STYLE here. 14882 14883 2010-07-03 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 14884 14885 * c-common.c (IN_GCC_FRONTEND): Do not undef. 14886 Do not include expr.h 14887 (vector_mode_valid_p): Move here. 14888 14889 2010-06-21 DJ Delorie <dj (a] redhat.com> 14890 14891 * c-pragma.c (handle_pragma_diagnostic): Add push/pop, 14892 allow these pragmas anywhere. 14893 14894 2010-06-14 Jakub Jelinek <jakub (a] redhat.com> 14895 14896 PR bootstrap/44509 14897 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h. 14898 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers. 14899 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use 14900 ggc_strdup instead of xstrdup. 14901 14902 2010-06-10 Jakub Jelinek <jakub (a] redhat.com> 14903 14904 * c-cppbuiltin.c: Include cpp-id-data.h. 14905 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables. 14906 (lazy_hex_fp_value): New function. 14907 (builtin_define_with_hex_fp_value): Provide definitions lazily. 14908 14909 2010-06-30 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 14910 14911 * c-gimplify.c: Do not include tree-flow.h 14912 14913 2010-06-29 Joern Rennecke <joern.rennecke (a] embecosm.com> 14914 14915 PR other/44034 14916 * c-common.c: Rename targetm member: 14917 targetm.enum_va_list -> targetm.enum_va_list_p 14918 14919 2010-06-28 Anatoly Sokolov <aesok (a] post.ru> 14920 14921 * c-common.c (shorten_compare): Adjust call to force_fit_type_double. 14922 14923 2010-06-28 Steven Bosscher <steven (a] gcc.gnu.org> 14924 14925 * c-cppbuiltin.c: Do not include except.h. 14926 14927 2010-06-24 Andi Kleen <ak (a] linux.intel.com> 14928 14929 * c-common.c (warn_for_omitted_condop): New. 14930 * c-common.h (warn_for_omitted_condop): Add prototype. 14931 14932 2010-06-21 Joseph Myers <joseph (a] codesourcery.com> 14933 14934 * c.opt (lang-objc): Remove. 14935 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc. 14936 14937 2010-06-21 Joern Rennecke <joern.rennecke (a] embecosm.com> 14938 14939 * c-opts.c: Include "tm_p.h". 14940 14941 2010-06-20 Joseph Myers <joseph (a] codesourcery.com> 14942 14943 * c-common.c (parse_optimize_options): Update call to 14944 decode_options. 14945 14946 2010-06-18 Nathan Froyd <froydnj (a] codesourcery.com> 14947 14948 * c-common.c (record_types_used_by_current_var_decl): Adjust for 14949 new type of types_used_by_cur_var_decl. 14950 14951 2010-06-17 Joern Rennecke <joern.rennecke (a] embecosm.com> 14952 14953 PR bootstrap/44512 14954 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast 14955 for C++ standard compliance. 14956 14957 2010-06-16 Jason Merrill <jason (a] redhat.com> 14958 14959 * c.opt: Add -Wnoexcept. 14960 14961 2010-06-16 Richard Guenther <rguenther (a] suse.de> 14962 14963 PR c/44555 14964 * c-common.c (c_common_truthvalue_conversion): Remove 14965 premature and wrong optimization concering ADDR_EXPRs. 14966 14967 2010-06-15 Arnaud Charlet <charlet (a] adacore.com> 14968 14969 * c-ada-spec.c (dump_sloc): Remove column info. 14970 (is_simple_enum): New function. 14971 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada 14972 enum types when relevant. 14973 14974 2010-06-11 Manuel Lpez-Ibez <manu (a] gcc.gnu.org> 14975 14976 * c-common.c (conversion_warning): Warn at expression 14977 location. 14978 14979 2010-06-10 Joseph Myers <joseph (a] codesourcery.com> 14980 14981 * c-opts.c (c_common_handle_option): Don't handle 14982 OPT_fshow_column. 14983 14984 2010-06-08 Laurynas Biveinis <laurynas.biveinis (a] gmail.com> 14985 14986 * c-pragma.c (push_alignment): Use typed GC allocation. 14987 (handle_pragma_push_options): Likewise. 14988 14989 * c-common.c (parse_optimize_options): Likewise. 14990 14991 * c-common.h (struct sorted_fields_type): Add variable_size GTY 14992 option. 14993 14994 2010-06-07 Joseph Myers <joseph (a] codesourcery.com> 14995 14996 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin, 14997 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar, 14998 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm, 14999 flag_signed_bitfields, warn_strict_null_sentinel, 15000 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes, 15001 flag_gen_declaration, flag_no_gnu_keywords, 15002 flag_implement_inlines, flag_implicit_templates, 15003 flag_implicit_inline_templates, flag_optional_diags, 15004 flag_elide_constructors, flag_default_inline, flag_rtti, 15005 flag_conserve_space, flag_access_control, flag_check_new, 15006 flag_new_for_scope, flag_weak, flag_working_directory, 15007 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr, 15008 flag_enforce_eh_specs, flag_threadsafe_statics, 15009 flag_pretty_templates): Remove. 15010 * c-common.h (flag_preprocess_only, flag_nil_receivers, 15011 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link, 15012 flag_replace_objc_classes, flag_undef, flag_no_builtin, 15013 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar, 15014 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm, 15015 flag_const_strings, flag_signed_bitfields, flag_gen_declaration, 15016 flag_no_gnu_keywords, flag_implement_inlines, 15017 flag_implicit_templates, flag_implicit_inline_templates, 15018 flag_optional_diags, flag_elide_constructors, flag_default_inline, 15019 flag_rtti, flag_conserve_space, flag_access_control, 15020 flag_check_new, flag_new_for_scope, flag_weak, 15021 flag_working_directory, flag_use_cxa_atexit, 15022 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs, 15023 flag_threadsafe_statics, flag_pretty_templates, 15024 warn_strict_null_sentinel): Remove. 15025 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm, 15026 fbuiltin, fcheck-new, fconserve-space, felide-constructors, 15027 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines, 15028 fimplicit-inline-templates, fimplicit-templates, 15029 flax-vector-conversions, fms-extensions, fnil-receivers, 15030 fnonansi-builtins, fpretty-templates, freplace-objc-classes, 15031 frtti, fshort-double, fshort-enums, fshort-wchar, 15032 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics, 15033 funsigned-bitfields, funsigned-char, fuse-cxa-atexit, 15034 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link, 15035 gen-decls, undef): Use Var. 15036 (fdefault-inline, foptional-diags): Document as doing nothing. 15037 * c-opts.c (c_common_handle_option): Remove cases for options now 15038 using Var. Mark ignored options as such. 15039 15040 2010-06-05 Steven Bosscher <steven (a] gcc.gnu.org> 15041 15042 * c-common.c: Moved to here from parent directory. 15043 * c-common.def: Likewise. 15044 * c-common.h: Likewise. 15045 * c-cppbuiltin.c: Likewise. 15046 * c-dump.c: Likewise. 15047 * c-format.c: Likewise. 15048 * c-format.h : Likewise. 15049 * c-gimplify.c: Likewise. 15050 * c-lex.c: Likewise. 15051 * c-omp.c: Likewise. 15052 * c.opt: Likewise. 15053 * c-opts.c: Likewise. 15054 * c-pch.c: Likewise. 15055 * c-ppoutput.c: Likewise. 15056 * c-pragma.c: Likewise. 15057 * c-pragma.h: Likewise. 15058 * c-pretty-print.c: Likewise. 15059 * c-pretty-print.h: Likewise. 15060 * c-semantics.c: Likewise. 15061 * stub-objc.c: Likewise. 15062 15063 * c-common.c: Include gt-c-family-c-common.h. 15064 * c-pragma.c: Include gt-c-family-c-pragma.h. 15065 15067 Copyright (C) 2010-2024 Free Software Foundation, Inc. 15068 15069 Copying and distribution of this file, with or without modification, 15070 are permitted in any medium without royalty provided the copyright 15071 notice and this notice are preserved. 15072