12020-03-04 Release Manager 2 3 * GCC 8.4.0 released. 4 52020-02-14 Jakub Jelinek <jakub@redhat.com> 6 7 Backported from mainline 8 2019-11-26 Jakub Jelinek <jakub@redhat.com> 9 10 PR c++/61414 11 * c-attribs.c (handle_mode_attribute): Add mode attribute to 12 ENUMERAL_TYPEs. 13 142019-09-03 Iain Sandoe <iain@sandoe.co.uk> 15 16 Backport from mainline 17 2019-08-23 Iain Sandoe <iain@sandoe.co.uk> 18 19 PR pch/61250 20 * c-lex.c (c_lex_with_flags): Don't call 21 c_common_no_more_pch () from here. 22 232019-08-30 Richard Biener <rguenther@suse.de> 24 25 Backport from mainline 26 2019-05-15 Richard Biener <rguenther@suse.de> 27 28 PR c/90474 29 * c-common.c (c_common_mark_addressable_vec): Also mark 30 a COMPOUND_LITERAL_EXPR_DECL addressable similar to 31 c_mark_addressable. 32 332019-08-29 Jakub Jelinek <jakub@redhat.com> 34 35 Backported from mainline 36 2019-06-25 Jakub Jelinek <jakub@redhat.com> 37 38 PR sanitizer/90954 39 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition 40 to SAVE_EXPR in first operand of a COMPOUND_EXPR. 41 422019-05-22 Eric Botcazou <ebotcazou@adacore.com> 43 44 Backport from mainline 45 2018-05-10 Eric Botcazou <ebotcazou@adacore.com> 46 47 PR c++/85400 48 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs. 49 502019-04-30 Jakub Jelinek <jakub@redhat.com> 51 52 Backported from mainline 53 2019-04-12 Jakub Jelinek <jakub@redhat.com> 54 55 PR c/89946 56 * c-attribs.c (handle_patchable_function_entry_attribute): Add 57 function comment. Warn if arguments of the attribute are not positive 58 integer constants. 59 602019-04-09 Eric Botcazou <ebotcazou@adacore.com> 61 62 * c-ada-spec.c (print_destructor): Deal with deleting destructors. 63 (dump_ada_declaration) <FUNCTION_DECL>: Likewise. 64 652019-02-22 Release Manager 66 67 * GCC 8.3.0 released. 68 692019-02-07 Jakub Jelinek <jakub@redhat.com> 70 71 Backported from mainline 72 2019-01-22 Jakub Jelinek <jakub@redhat.com> 73 74 PR middle-end/88968 75 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type 76 variable after using BIT_FIELD_REF. 77 78 2019-01-14 Jakub Jelinek <jakub@redhat.com> 79 80 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision 81 and __cpp_nontype_template_parameter_auto. Add a comment that 82 __cpp_template_auto is deprecated. 83 842019-01-08 Jakub Jelinek <jakub@redhat.com> 85 86 Backported from mainline 87 2018-11-28 Jakub Jelinek <jakub@redhat.com> 88 89 PR c++/88215 90 * c-ubsan.c: Include langhooks.h. 91 (ubsan_instrument_division): Change gcc_assert that main variants 92 of op0 and op1 types are equal to gcc_checking_assert that the 93 main variants are compatible types. 94 952018-08-17 Martin Liska <mliska@suse.cz> 96 97 PR other/86992 98 * c.opt: Fix declaration of cilkplus. 99 1002018-07-26 Release Manager 101 102 * GCC 8.2.0 released. 103 1042018-07-18 Martin Sebor <msebor@redhat.com> 105 106 PR middle-end/85602 107 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute 108 nonstring. 109 1102018-07-19 Richard Biener <rguenther@suse.de> 111 112 Backport from mainline 113 2018-07-12 Richard Biener <rguenther@suse.de> 114 115 PR c/86453 116 * c-attribs.c (handle_packed_attribute): Do not build a variant 117 type with TYPE_PACKED, instead ignore the attribute if we may 118 not apply to the original type. 119 1202018-07-12 Jakub Jelinek <jakub@redhat.com> 121 122 * c-attribs.c (c_common_attribute_table): Add 123 "omp declare target implicit" attribute. 124 1252018-06-20 Jakub Jelinek <jakub@redhat.com> 126 127 PR c++/86210 128 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete 129 comment. 130 1312018-06-13 Jason Merrill <jason@redhat.com> 132 133 * c-opts.c (c_common_post_options): Warn about useless -Wabi. 134 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version 135 handling. 136 137 PR c++/86094 - wrong code with defaulted move ctor. 138 * c-opts.c (c_common_post_options): Bump the current ABI version to 139 13. Set warn_abi_version and flag_abi_compat_version to the current 140 version rather than 0. Fix defaulting flag_abi_compat_version from 141 warn_abi_version. 142 1432018-06-11 Jason Merrill <jason@redhat.com> 144 145 PR c++/85710 - ICE with -Wmemset-elt-size. 146 * c-warn.c (warn_for_memset): Don't crash on incomplete element type. 147 1482018-06-01 Eric Botcazou <ebotcazou@adacore.com> 149 150 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward 151 declaration for a typedef independently of whether the declaration of 152 the subtype is generated. 153 1542018-05-30 Jakub Jelinek <jakub@redhat.com> 155 156 Backported from mainline 157 2018-05-11 Jakub Jelinek <jakub@redhat.com> 158 159 PR c/85696 160 * c-omp.c (c_omp_predetermined_sharing): Return 161 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type. 162 163 2018-05-10 Jakub Jelinek <jakub@redhat.com> 164 165 PR c++/85662 166 * c-common.h (fold_offsetof_1): Removed. 167 (fold_offsetof): Add TYPE argument defaulted to size_type_node and 168 CTX argument defaulted to ERROR_MARK. 169 * c-common.c (fold_offsetof_1): Renamed to ... 170 (fold_offsetof): ... this. Remove wrapper function. Add TYPE 171 argument, convert the pointer constant to TYPE and use size_binop 172 with PLUS_EXPR instead of fold_build_pointer_plus if type is not 173 a pointer type. Adjust recursive calls. 174 1752018-05-26 Jakub Jelinek <jakub@redhat.com> 176 177 PR bootstrap/85921 178 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary 179 noinline variable to workaround broken kernel headers. 180 1812018-05-23 Martin Liska <mliska@suse.cz> 182 183 Backport from mainline 184 2018-05-11 Martin Liska <mliska@suse.cz> 185 186 PR sanitizer/85556 187 * c-attribs.c (handle_no_sanitize_attribute): Iterate all 188 TREE_LIST values. 189 1902018-05-02 Release Manager 191 192 * GCC 8.1.0 released. 193 1942018-03-29 David Malcolm <dmalcolm@redhat.com> 195 196 PR c++/84269 197 * known-headers.cc (get_stdlib_header_for_name): Add various names 198 from <assert.h>, <string.h>, and <memory.h>; add more names from 199 <stdio.h>. 200 2012018-03-27 Jakub Jelinek <jakub@redhat.com> 202 203 PR c++/85061 204 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that 205 get_base_address of the second operand is a VAR_P, rather than the 206 operand itself, and use gcc_checking_assert instead of gcc_assert. 207 2082018-03-23 Marek Polacek <polacek@redhat.com> 209 210 PR c++/85045 211 * c-pretty-print.c (c_pretty_printer::multiplicative_expression) 212 <case RDIV_EXPR>: Tweak condition. 213 2142018-03-20 Eric Botcazou <ebotcazou@adacore.com> 215 216 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool. 217 2182018-03-16 Jakub Jelinek <jakub@redhat.com> 219 220 PR c/84909 221 * c-warn.c (conversion_warning): Replace "to to" with "to" in 222 diagnostics. 223 224 PR c/84910 225 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from 226 diagnostics. 227 2282018-03-16 Richard Biener <rguenther@suse.de> 229 230 PR c/84873 231 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead 232 unshare the possibly folded expression. 233 2342018-03-15 Richard Biener <rguenther@suse.de> 235 236 PR c/84873 237 * c-gimplify.c (c_gimplify_expr): Do not fold expressions. 238 2392018-03-13 Martin Sebor <msebor@redhat.com> 240 241 PR tree-optimization/84725 242 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring 243 with all three narrow character types, including their qualified forms. 244 2452018-03-12 Martin Sebor <msebor@redhat.com> 246 247 PR tree-optimization/83456 248 * gcc/c-family/c-common.c (check_function_restrict): Return bool. 249 Restore checking of bounded built-in functions. 250 (check_function_arguments): Also return the result 251 of warn_for_restrict. 252 * gcc/c-family/c-common.c (check_function_restrict): Return bool. 253 * gcc/c-family/c-warn.c (warn_for_restrict): Return bool. 254 2552018-03-02 Marek Polacek <polacek@redhat.com> 256 257 PR c++/84171 258 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands 259 is erroneous. 260 2612018-03-02 Thomas Schwinge <thomas@codesourcery.com> 262 263 * c-attribs.c (c_common_attribute_table): Remove "cilk simd 264 function". 265 2662018-03-01 Marek Polacek <polacek@redhat.com> 267 268 PR c++/84639 269 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid 270 alignment in computation. 271 2722018-02-28 Eric Botcazou <ebotcazou@adacore.com> 273 274 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case. 275 <REAL_TYPE>: Deal specifically with _Float128/__float128. 276 2772018-02-28 Eric Botcazou <ebotcazou@adacore.com> 278 279 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case. 280 (is_char_array): Take a type instead of a declaration. 281 (dump_ada_array_type): Likewise. 282 (is_simple_enum): Minor tweak. 283 (dump_ada_enum_type): New function extracted from... 284 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it. 285 <INTEGER_TYPE>: Remove unreachable code. 286 <RECORD_TYPE>: Likewise. Minor tweaks. 287 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes. 288 <ENUMERAL_TYPE>: New case. 289 <RECORD_TYPE>: Factor out common code. 290 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes. 291 Minor tweaks. Deal with enumeral types. 292 (dump_ada_structure): Minor tweaks. 293 2942018-02-28 Eric Botcazou <ebotcazou@adacore.com> 295 296 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic 297 address for incomplete structures. 298 (dump_forward_type): Do not bail out for incomplete structures. 299 (dump_ada_declaration): Do not special-case incomplete structures 300 for subtypes. Dump them as null records for types. 301 3022018-02-28 Eric Botcazou <ebotcazou@adacore.com> 303 304 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting. 305 (is_char_array): Fix formatting. 306 (dump_template_types): Likewise. 307 (dump_generic_ada_node): Rename into... 308 (dump_ada_node): ...this. 309 <POINTER_TYPE>: Remove superfluous space. Use generic address for 310 incomplete structures and not for empty structures. Do not use it 311 when forward declarations are needed. 312 (dump_forward_type): New function. 313 (dump_nested_types): Remove FORWARD parameter. Do not consider 314 TREE_VISITED and do not generate a forward declaration. Only dump 315 original nested types for nested declaration. 316 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type. 317 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer. 318 <RECORD_TYPE>: Do not consider TREE_VISITED. 319 (dump_ada_declaration): Use booleans and fix formatting throughout. 320 <TYPE_DECL>: Skip incomplete structures and not empty structures. 321 Call dump_forward_type instead of dump_nested_types for a typedef. 322 Remove superfluous check and adjust call to dump_nested_types. 323 <POINTER_TYPE>: Call dump_forward_type and fall through. 324 (dump_ada_struct_decl): Rename into... 325 (dump_ada_structure): ...this. Do not special-case empty structures. 326 3272018-02-27 Martin Sebor <msebor@redhat.com> 328 329 PR c++/83871 330 * c.opt (-Wmissing-attributes): New option. 331 3322018-02-21 Martin Liska <mliska@suse.cz> 333 334 * c.opt (Wcatch-value=): Add IntegerRange. 335 3362018-02-15 Jason Merrill <jason@redhat.com> 337 338 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides. 339 3402018-02-09 Nathan Sidwell <nathan@acm.org> 341 342 PR c/84293 343 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC 344 arg. 345 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC 346 arg. Adjust. 347 3482018-02-09 Martin Sebor <msebor@redhat.com> 349 350 PR lto/84212 351 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO. 352 (-Walloc-size-larger-than, -Wformat-truncation=): Same. 353 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same. 354 (-Wstrict-overflow, -Wsuggest-attribute): Same. 355 (-Wuninitialized): Same. 356 3572018-02-09 Eric Botcazou <ebotcazou@adacore.com> 358 359 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant' 360 keyword for components. 361 3622018-02-02 Paolo Carlini <paolo.carlini@oracle.com> 363 364 * c-common.h (DECL_UNNAMED_BIT_FIELD): New. 365 3662018-02-02 Julia Koval <julia.koval@intel.com> 367 368 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h. 369 3702018-01-29 Marek Polacek <polacek@redhat.com> 371 372 PR c/83966 373 * c-format.c (check_function_format): Check current_function_decl. 374 3752018-01-27 Jakub Jelinek <jakub@redhat.com> 376 377 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix 378 argument. 379 (LAZY_HEX_FP_VALUES_CNT): Define. 380 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp 381 values rather than just 12. 382 (builtin_define_with_hex_fp_value): Likewise. 383 3842018-01-18 Boris Kolpackov <boris@codesynthesis.com> 385 386 PR other/70268 387 * c.opt (-fmacro-prefix-map): New option. 388 * c-opts.c (c_common_handle_option): Handle it. 389 * c-lex.c (init_c_lex): Set remap_filename cpp callback. 390 * c-ppoutput.c (init_pp_output): Likewise. 391 3922018-01-17 David Malcolm <dmalcolm@redhat.com> 393 394 PR c++/83814 395 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c. 396 3972018-01-10 Eric Botcazou <ebotcazou@adacore.com> 398 399 * c-ada-spec.c (dump_number): Add FLOAT_P parameter. 400 Skip 'f' and 'F' characters if it is true. 401 (store_ada_macro): Minor tweak. 402 (dump_ada_macros) <CPP_COMMENT>: Likewise. 403 <CPP_WSTRING>: Likewise. 404 <CPP_STRING>: Output '&' in the buffer if not the first string. 405 <CPP_NUMBER>: Adjust calls to dump_number. 406 4072018-01-10 David Malcolm <dmalcolm@redhat.com> 408 409 PR c++/43486 410 * c-common.c: Include "selftest.h". 411 (get_atomic_generic_size): Perform the test for integral type 412 before the range test for any integer constant, fixing indentation 413 of braces. Call fold_for_warn before testing for an INTEGER_CST. 414 (reject_gcc_builtin): Strip any location wrapper from EXPR. 415 (selftest::test_fold_for_warn): New function. 416 (selftest::c_common_c_tests): New function. 417 (selftest::c_family_tests): Call it, and 418 selftest::c_pretty_print_c_tests. 419 * c-common.h (selftest::c_pretty_print_c_tests): New decl. 420 * c-format.c (check_format_arg): Convert VAR_P check to a 421 fold_for_warn. 422 * c-pretty-print.c: Include "selftest.h". 423 (pp_c_cast_expression): Don't print casts for location wrappers. 424 (selftest::assert_c_pretty_printer_output): New function. 425 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro. 426 (selftest::test_location_wrappers): New function. 427 (selftest::c_pretty_print_c_tests): New function. 428 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments. 429 4302018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 431 Alan Hayward <alan.hayward@arm.com> 432 David Sherwood <david.sherwood@arm.com> 433 434 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL. 435 4362018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 437 Alan Hayward <alan.hayward@arm.com> 438 David Sherwood <david.sherwood@arm.com> 439 440 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE 441 as polynomial. 442 4432018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 444 Alan Hayward <alan.hayward@arm.com> 445 David Sherwood <david.sherwood@arm.com> 446 447 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr) 448 (convert_vector_to_array_for_subscript): Handle polynomial 449 TYPE_VECTOR_SUBPARTS. 450 (c_common_type_for_mode): Check valid_vector_subparts_p. 451 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial 452 VECTOR_CST_NELTS. 453 4542018-01-03 Jakub Jelinek <jakub@redhat.com> 455 456 Update copyright years. 457 4582017-12-22 Mike Stump <mikestump@comcast.net> 459 Eric Botcazou <ebotcazou@adacore.com> 460 461 * c-pragma.c (init_pragma): Register pragma GCC unroll. 462 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL. 463 4642017-12-22 Alexandre Oliva <aoliva@redhat.com> 465 466 PR debug/83527 467 PR debug/83419 468 * c-semantics.c (only_debug_stmts_after_p): New. 469 (pop_stmt_list): Clear side effects in debug-only stmt list. 470 Check for single nondebug stmt followed by debug stmts only. 471 4722017-12-21 Alexandre Oliva <aoliva@redhat.com> 473 474 PR debug/83419 475 * c-semantics.c (pop_stmt_list): Propagate side effects from 476 single nondebug stmt to container list. 477 4782017-12-19 Jakub Jelinek <jakub@redhat.com> 479 480 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda 481 conditions with typical order conditions. 482 4832017-12-18 Marek Polacek <polacek@redhat.com> 484 485 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is 486 not in effect. 487 4882017-12-17 Martin Sebor <msebor@redhat.com> 489 490 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing 491 an error for attribute warn_if_not_aligned. 492 4932017-12-16 Martin Sebor <msebor@redhat.com> 494 495 PR tree-optimization/78918 496 * c-common.c (check_function_restrict): Avoid checking built-ins. 497 * c.opt (-Wrestrict): Include in -Wall. 498 4992017-12-15 Jakub Jelinek <jakub@redhat.com> 500 501 * c-attribs.c (c_common_attribute_table, 502 c_common_format_attribute_table): Swap affects_type_identity 503 and handler fields, adjust comments. 504 5052017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de> 506 507 * c.opt (Wcast-function-type): New warning option. 508 * c-lex.c (get_fileinfo): Avoid warning. 509 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast. 510 5112017-12-14 Qing Zhao <qing.zhao@oracle.com> 512 513 PR middle_end/79538 514 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): 515 Adjust the size of buf1 and buf2, add a new buf to avoid 516 format-overflow warning. 517 5182017-12-12 Alexandre Oliva <aoliva@redhat.com> 519 520 * c-semantics.c (pop_stmt_list): Move begin stmt marker into 521 subsequent statement list. 522 5232017-12-07 Martin Sebor <msebor@redhat.com> 524 525 PR c/81544 526 PR c/81566 527 * c-attribs.c (attr_aligned_exclusions): New array. 528 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same. 529 (attr_common_exclusions, attr_const_pure_exclusions): Same. 530 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same. 531 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same. 532 (attr_warn_unused_result_exclusions): Same. 533 (handle_hot_attribute, handle_cold_attribute): Simplify. 534 (handle_const_attribute): Warn on function returning void. 535 (handle_pure_attribute): Same. 536 (handle_aligned_attribute): Diagnose conflicting attribute 537 specifications. 538 * c-warn.c (diagnose_mismatched_attributes): Simplify. 539 5402017-12-06 David Malcolm <dmalcolm@redhat.com> 541 542 PR c/83236 543 * c-common.c (selftest::c_family_tests): Call 544 selftest::c_spellcheck_cc_tests. 545 * c-common.h (selftest::c_spellcheck_cc_tests): New decl. 546 * c-spellcheck.cc: Include "selftest.h". 547 (name_reserved_for_implementation_p): New function. 548 (should_suggest_as_macro_p): New function. 549 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to 550 should_suggest_as_macro_p and call it. 551 (selftest::test_name_reserved_for_implementation_p): New function. 552 (selftest::c_spellcheck_cc_tests): New function. 553 * c-spellcheck.h (name_reserved_for_implementation_p): New decl. 554 5552017-12-06 David Malcolm <dmalcolm@redhat.com> 556 557 * c-spellcheck.cc: New file, taken from macro-handling code in 558 spellcheck-tree.c. 559 * c-spellcheck.h: New file, taken from macro-handling code in 560 spellcheck-tree.h. 561 5622017-12-01 Jakub Jelinek <jakub@redhat.com> 563 564 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function" 565 attribute. 566 (handle_simd_attribute): Don't check for "cilk simd function" 567 attribute. Reindent, formatting changes. 568 5692017-11-30 Julia Koval <julia.koval@intel.com> 570 571 * c-common.h (inv_list): Remove. 572 5732017-11-28 Jakub Jelinek <jakub@redhat.com> 574 575 PR sanitizer/81275 576 * c-common.c (c_switch_covers_all_cases_p_1, 577 c_switch_covers_all_cases_p): New functions. 578 * c-common.h (c_switch_covers_all_cases_p): Declare. 579 5802017-11-28 Julia Koval <julia.koval@intel.com> 581 Sebastian Peryt <sebastian.peryt@intel.com> 582 583 * array-notation-common.c: Delete. 584 * c-cilkplus.c: Ditto. 585 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove. 586 * c-common.def (ARRAY_NOTATION_REF): Remove. 587 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr, 588 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop, 589 c_validate_cilk_plus_loop, cilkplus_an_parts, 590 cilk_ignorable_spawn_rhs_op, 591 cilk_recognize_spawn): Remove. 592 * c-gimplify.c (CILK_SPAWN_STMT): Remove. 593 * c-omp.c: Remove CILK_SIMD check. 594 * c-pragma.c: Ditto. 595 * c-pragma.h: Remove CILK related pragmas. 596 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove 597 ARRAY_NOTATION_REF condition. 598 (c_pretty_printer::expression): Ditto. 599 * c.opt (fcilkplus): Remove. 600 * cilk.c: Delete. 601 6022017-11-21 Marc Glisse <marc.glisse@inria.fr> 603 604 * c-pretty-print.c (pp_c_additive_expression, 605 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR. 606 6072017-11-21 Jakub Jelinek <jakub@redhat.com> 608 609 * c-common.c (get_nonnull_operand): Use tree_to_uhwi. 610 611 PR c++/83059 612 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW 613 instead of tree_to_uhwi, formatting fix. 614 6152017-11-20 David Malcolm <dmalcolm@redhat.com> 616 617 PR c/81404 618 * known-headers.cc: New file, based on material from c/c-decl.c. 619 (suggest_missing_header): Copied as-is. 620 (get_stdlib_header_for_name): New, based on get_c_name_hint but 621 heavily edited to add C++ support. Add some knowledge about 622 <limits.h>, <stdint.h>, and <wchar.h>. 623 * known-headers.h: Likewise. 624 6252017-11-20 David Malcolm <dmalcolm@redhat.com> 626 627 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h. 628 (lookup_name_fuzzy): Likewise. Convert return type from 629 const char * to name_hint. Add location_t param. 630 * name-hint.h: New header. 631 6322017-11-19 Jakub Jelinek <jakub@redhat.com> 633 634 PR c/66618 635 PR c/69960 636 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false. 637 6382017-11-16 Joseph Myers <joseph@codesourcery.com> 639 640 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018 641 expected publication date of C17. 642 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases. 643 6442017-11-15 Joseph Myers <joseph@codesourcery.com> 645 646 PR c/81156 647 * c-common.c (c_common_reswords): Add __builtin_tgmath. 648 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH. 649 6502017-11-10 Martin Sebor <msebor@redhat.com> 651 652 PR c/81117 653 * c-common.c (catenate_strings): Use memcpy instead of strncpy. 654 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays. 655 * c.opt (-Wstringop-truncation): New option. 656 6572017-11-06 Martin Liska <mliska@suse.cz> 658 659 PR middle-end/82404 660 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++ 661 FE. 662 * c.opt: Set default value of warn_return_type. 663 6642017-10-31 David Malcolm <dmalcolm@redhat.com> 665 666 * c-common.c (binary_op_error): Update for renaming of 667 error_at_rich_loc. 668 (c_parse_error): Likewise. 669 * c-warn.c (warn_logical_not_parentheses): Likewise for 670 renaming of inform_at_rich_loc. 671 (warn_for_restrict): Likewise for renaming of 672 warning_at_rich_loc_n. 673 6742017-10-30 Joseph Myers <joseph@codesourcery.com> 675 676 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options. 677 * c-opts.c (set_std_c17): New function. 678 (c_common_init_options): Use gnu17 as default C version. 679 (c_common_handle_option): Handle -std=c17 and -std=gnu17. 680 6812017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com> 682 683 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode. 684 (c_cpp_builtins): If a machine has a fast fma _Float<N> and 685 _Float<N>X variant, define __FP_FAST_FMA<N> and/or 686 __FP_FAST_FMA<N>X. 687 6882017-10-23 Marek Polacek <polacek@redhat.com> 689 690 PR c/82681 691 * c-warn.c (warnings_for_convert_and_check): Fix typos. 692 6932017-10-19 Eric Botcazou <ebotcazou@adacore.com> 694 695 * c-common.c (check_builtin_function_arguments): Also check arguments 696 of __builtin_alloca_with_align_and_max. 697 6982017-10-17 David Malcolm <dmalcolm@redhat.com> 699 700 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION 701 rather than NULL to format_warning_va. 702 (check_format_types): Likewise when calling format_type_warning. 703 Remove code to extract source_ranges and source_range * in favor 704 of just a location_t. 705 (format_type_warning): Convert source_range * param to a 706 location_t. 707 7082017-10-13 Jakub Jelinek <jakub@redhat.com> 709 710 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like 711 [LR]SHIFT_EXPR. 712 7132017-10-12 David Malcolm <dmalcolm@redhat.com> 714 715 * c-common.c (enum missing_token_insertion_kind): New enum. 716 (get_missing_token_insertion_kind): New function. 717 (maybe_suggest_missing_token_insertion): New function. 718 * c-common.h (maybe_suggest_missing_token_insertion): New decl. 719 7202017-10-11 Nathan Sidwell <nathan@acm.org> 721 722 * c-opts.c (add_prefixed_path): Change chain to incpath_kind. 723 (c_common_handle_option): Update incpath_kind names. 724 7252017-10-11 Martin Liska <mliska@suse.cz> 726 727 PR sanitizer/82490 728 * c-attribs.c (handle_no_sanitize_attribute): Report directly 729 Wattributes warning. 730 7312017-10-10 Richard Sandiford <richard.sandiford@linaro.org> 732 733 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when 734 operating on trees as wide_ints. 735 * c-common.c (pointer_int_sum): Likewise. 736 * c-pretty-print.c (pp_c_integer_constant): Likewise. 737 * c-warn.c (match_case_to_enum_1): Likewise. 738 (c_do_switch_warnings): Likewise. 739 (maybe_warn_shift_overflow): Likewise. 740 7412017-10-10 Jakub Jelinek <jakub@redhat.com> 742 743 PR c/82437 744 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide 745 instead of wide_int::from. 746 7472017-10-06 Jakub Jelinek <jakub@redhat.com> 748 749 PR c/82437 750 * c-warn.c (warn_tautological_bitwise_comparison): Instead of 751 using to_widest use wide_int with the larger of the two precisions. 752 7532017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de> 754 755 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic 756 functions. 757 7582017-10-02 Richard Sandiford <richard.sandiford@linaro.org> 759 760 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest 761 when combining the original unconverted comparison operands. 762 7632017-09-29 Jakub Jelinek <jakub@redhat.com> 764 765 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect" 766 attribute. 767 7682017-09-29 Eric Botcazou <ebotcazou@adacore.com> 769 770 * c-ada-spec.c (to_ada_name): Add index parameter. 771 (pp_ada_tree_identifier): Likewise. 772 (dump_ada_macros): Adjust call to to_ada_name. 773 (struct overloaded_name_hash): New type. 774 (struct overloaded_name_hasher): Likewise. 775 (overloaded_names): New hash table. 776 (compute_overloading_index): New function. 777 (dump_ada_decl_name): Call it and pass the result to 778 pp_ada_tree_identifier. 779 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier. 780 (dump_ada_function_declaration): Likewise. 781 (dump_generic_ada_node): Likewise. 782 (print_constructor): Likewise. 783 (print_destructor): Likewise. 784 (dump_ada_specs): Delete overloaded_names table. 785 7862017-09-29 Eric Botcazou <ebotcazou@adacore.com> 787 788 * c-ada-spec.c (max_ada_macros): Move around. 789 (store_ada_macro_index): Likewise. 790 (source_file): Rename into... 791 (macro_source_file): ...this. 792 (count_ada_macro): Move around. 793 (store_ada_macro): Likewise. 794 (compare_macro): Likewise. 795 (print_ada_macros): Merge in... 796 (dump_ada_macros): ...this. 797 (source_file_base): Rename into... 798 (current_source_file): ...this. 799 (print_comment): Move around. 800 (dump_ada_nodes): Call dump_ada_declaration directly. 801 (struct with): Change type of limited field to bool. 802 (append_withs): Change type of limited_access parameter to bool. 803 (pp_ada_tree_identifie): Likewise. 804 (dump_ada_decl_nam): Likewise. 805 (dump_generic_ada_node): Likewise. Do not print the return type. 806 (to_ada_name): Change type of space_found parameter to bool. 807 (dump_ada_function_declaration): Return void and change type of 808 parameters to bool. Also print the return type for a function. 809 (print_ada_methods): Rename into... 810 (dump_ada_methods): ...this. 811 (print_ada_declaration): Rename into ... 812 (dump_ada_declaration): ...this. Do not print the return type. 813 (print_ada_struct_decl): Rename into... 814 (dump_ada_struct_decl): ...this. 815 8162017-09-29 Jakub Jelinek <jakub@redhat.com> 817 818 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD 819 rather than DECL_INITIAL. 820 (common_handle_aligned_attribute): Likewise. 821 8222017-09-20 Alexandre Oliva <aoliva@redhat.com> 823 824 * c.opt (gen-decls): Add RejectNegative. 825 8262017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com> 827 Jakub Jelinek <jakub@redhat.com> 828 829 Add support for -std=c++2a. 830 * c-common.h (cxx_dialect): Add cxx2a as a dialect. 831 * opt.c: Add options for -std=c++2a and -std=gnu++2a. 832 * c-opts.c (set_std_cxx2a): New. 833 (c_common_handle_option): Set options when -std=c++2a is enabled. 834 (c_common_post_options): Adjust comments. 835 (set_std_cxx14, set_std_cxx17): Likewise. 836 8372017-09-15 Eric Botcazou <ebotcazou@adacore.com> 838 839 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error 840 message for non-uniform endianness and issue a warning in C++. 841 8422017-09-15 Jakub Jelinek <jakub@redhat.com> 843 844 * c.opt (Wc++1z-compat): Change from option to undocumented alias. 845 (Wc++17-compat): Change from undocumented alias to option. 846 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat, 847 change C++1z to C++17 in description. 848 (std=c++1z, std=gnu++1z): Change from option to undocumented 849 deprecated alias. 850 (std=c++17, std=gnu++17): Change from undocumented alias to option. 851 Adjust description. 852 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17. 853 * c-opts.c (set_std_cxx1z): Rename to ... 854 (set_std_cxx17): ... this. 855 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17 856 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z 857 caller. 858 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust 859 comments. 860 8612017-09-12 H.J. Lu <hongjiu.lu@intel.com> 862 863 * c-attribs.c (common_handle_aligned_attribute): Don't warn 864 function alignment if warn_if_not_aligned_p is true. 865 8662017-09-12 Nathan Sidwell <nathan@acm.org> 867 868 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp, 869 resort_sorted_fields): Move to c/c-decl.c. 870 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete. 871 (struct sorted_fields_type): Move to c/c-lang.h. 872 8732017-09-09 Jonathan Wakely <jwakely@redhat.com> 874 875 PR c++/81852 876 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init. 877 8782017-09-04 Marek Polacek <polacek@redhat.com> 879 880 PR c/81783 881 * c-warn.c (warn_tautological_bitwise_comparison): New function. 882 (warn_tautological_cmp): Call it. 883 8842017-09-01 Boris Kolpackov <boris@codesynthesis.com> 885 886 * c-opts.c (c_common_finish): Write dependency information even if 887 there are errors. 888 8892017-09-01 Jakub Jelinek <jakub@redhat.com> 890 891 PR c/81887 892 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ... 893 (omp_pragmas_simd): ... here. 894 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone, 895 create new clauses list containing just simd clause. 896 8972017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 898 Alan Hayward <alan.hayward@arm.com> 899 David Sherwood <david.sherwood@arm.com> 900 901 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call 902 into scalar_mode_supported_p call. 903 (handle_mode_attribute): Update call to scalar_mode_supported_p. 904 9052017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 906 Alan Hayward <alan.hayward@arm.com> 907 David Sherwood <david.sherwood@arm.com> 908 909 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode 910 for the mode iterator. 911 9122017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 913 Alan Hayward <alan.hayward@arm.com> 914 David Sherwood <david.sherwood@arm.com> 915 916 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE. 917 * c-common.c (c_build_vec_perm_expr): Likewise. 918 9192017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 920 Alan Hayward <alan.hayward@arm.com> 921 David Sherwood <david.sherwood@arm.com> 922 923 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>. 924 9252017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 926 Alan Hayward <alan.hayward@arm.com> 927 David Sherwood <david.sherwood@arm.com> 928 929 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode 930 before calling targetm.addr_space.valid_pointer_mode. 931 9322017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 933 Alan Hayward <alan.hayward@arm.com> 934 David Sherwood <david.sherwood@arm.com> 935 936 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode. 937 9382017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 939 Alan Hayward <alan.hayward@arm.com> 940 David Sherwood <david.sherwood@arm.com> 941 942 * c-common.c (c_common_fixed_point_type_for_size): Use new mode 943 iterators. 944 * c-cppbuiltin.c (c_cpp_builtins): Likewise. 945 9462017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 947 Alan Hayward <alan.hayward@arm.com> 948 David Sherwood <david.sherwood@arm.com> 949 950 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in 951 case statements. 952 9532017-08-29 Martin Liska <mliska@suse.cz> 954 955 PR other/39851 956 * c-common.c (parse_optimize_options): Add argument to function 957 call. 958 * c-pragma.c (handle_pragma_diagnostic): Likewise. 959 9602017-08-24 David Malcolm <dmalcolm@redhat.com> 961 962 * c-lex.c (interpret_float): Use token location 963 when building an EXCESS_PRECISION_EXPR. 964 9652017-08-21 David Malcolm <dmalcolm@redhat.com> 966 967 * c-common.c (check_function_arguments): Add "arglogs" param; pass 968 it to check_function_format. 969 * c-common.h (check_function_arguments): Add vec<location_t> * 970 param. 971 (check_function_format): Likewise. 972 * c-format.c (struct format_check_context): Add field "arglocs". 973 (check_function_format): Add param "arglocs"; pass it to 974 check_format_info. 975 (check_format_info): Add param "arglocs"; use it to initialize 976 new field of format_ctx. 977 (check_format_arg): Pass format_ctx->arglocs to new param of 978 check_format_info_main. 979 (class argument_parser): New field "arglocs". 980 (argument_parser::argument_parser): Add "arglocs_" param and use 981 it to initialize new field. 982 (argument_parser::check_argument_type): Pass new arglocs field to 983 check_format_types. 984 (check_format_info_main): Add param "arglocs", and use it when 985 constructing arg_parser. 986 (check_format_types): Add param "arglocs"; use it if non-NULL when 987 !EXPR_HAS_LOCATION (cur_param) to get at location information. 988 9892017-08-18 H.J. Lu <hongjiu.lu@intel.com> 990 991 PR c/53037 992 * c-attribs.c (handle_warn_if_not_aligned_attribute): New. 993 (c_common_attribute_table): Add warn_if_not_aligned. 994 (handle_aligned_attribute): Renamed to ... 995 (common_handle_aligned_attribute): Remove argument, name, and add 996 argument, warn_if_not_aligned. Handle warn_if_not_aligned. 997 (handle_aligned_attribute): New. 998 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned. 999 10002017-08-14 Martin Sebor <msebor@redhat.com> 1001 1002 PR c/81117 1003 * c-attribs.c (c_common_attribute_table): Add nonstring entry. 1004 (handle_nonstring_attribute): New function. 1005 10062017-08-14 Martin Sebor <msebor@redhat.com> 1007 1008 PR c/81117 1009 * c-format.h (T89_G): New macro. 1010 * c-format.c (local_gcall_ptr_node): New variable. 1011 (init_dynamic_diag_info): Initialize it. 1012 10132017-08-11 Martin Liska <mliska@suse.cz> 1014 1015 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with 1016 TARGET_SUPPORTS_ALIASES. 1017 10182017-08-10 David Malcolm <dmalcolm@redhat.com> 1019 1020 * c-common.c (c_parse_error): Add rich_location * param, using it 1021 rather implicitly using input_location. 1022 * c-common.h (c_parse_error): Add rich_location * param. 1023 10242017-08-09 Marek Polacek <polacek@redhat.com> 1025 1026 * c-common.c (pointer_int_sum): Use true/false instead of 1/0. 1027 (c_common_truthvalue_conversion): Likewise. 1028 * c-omp.c (c_finish_omp_atomic): Likewise. 1029 * c-common.h (build_binary_op): Update declaration. 1030 10312017-08-08 Martin Liska <mliska@suse.cz> 1032 1033 * c-ada-spec.c: Include header files. 1034 * c-ubsan.c: Likewise. 1035 * c-warn.c: Likewise. 1036 10372017-08-07 Jakub Jelinek <jakub@redhat.com> 1038 1039 PR c/69389 1040 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields. 1041 10422017-08-07 Eric Botcazou <ebotcazou@adacore.com> 1043 1044 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL. 1045 (print_ada_methods): Likewise. 1046 (print_ada_declaration): Likewise. 1047 10482017-08-07 Martin Liska <mliska@suse.cz> 1049 1050 * array-notation-common.c: Add new includes. 1051 * c-format.c( handle_format_attribute): Canonicalize a format 1052 function name. 1053 * c-lex.c (c_common_has_attribute): Canonicalize name of an 1054 attribute. 1055 * c-pretty-print.c: Add new include. 1056 10572017-08-05 Eric Botcazou <ebotcazou@adacore.com> 1058 1059 * c-ada-spec.c (has_static_fields): Look only into variables. 1060 (print_constructor): Add TYPE parameter and use it for the name. 1061 (print_destructor): Likewise. 1062 (print_ada_declaration): Adjust to new constructor/destructor names. 1063 Adjust calls to print_constructor and print_destructor. 1064 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL. 1065 Look only into variables in the final loop. 1066 10672017-08-01 Eric Botcazou <ebotcazou@adacore.com> 1068 1069 * c-ada-spec.c (has_static_fields): Look only into fields. 1070 (dump_generic_ada_node): Small tweak. 1071 (dump_nested_types): Look only into fields. 1072 (print_ada_declaration): Look only into methods. Small tweak. 1073 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P. 1074 10752017-08-01 Eric Botcazou <ebotcazou@adacore.com> 1076 1077 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant. 1078 (dump_ada_function_declaration): Likewise. 1079 (dump_generic_ada_node): Likewise. 1080 (print_ada_declaration): Add support for const-qualified variables. 1081 10822017-07-31 Martin Liska <mliska@suse.cz> 1083 1084 PR sanitize/81530 1085 * c-ubsan.c (ubsan_maybe_instrument_array_ref): 1086 Guard condition with flag_sanitize_p also with current_function_decl 1087 non-null equality. 1088 (ubsan_maybe_instrument_reference_or_call): Likewise. 1089 10902017-07-30 Uros Bizjak <ubizjak@gmail.com> 1091 1092 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars. 1093 10942017-07-29 Eric Botcazou <ebotcazou@adacore.com> 1095 1096 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness 1097 for enumeral types. 1098 (print_ada_declaration): Add missing guard for record types. 1099 11002017-07-27 Jakub Jelinek <jakub@redhat.com> 1101 1102 PR c/45784 1103 * c-omp.c (c_finish_omp_for): If the condition is wrapped in 1104 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into 1105 new COMPOUND_EXPRs around the rhs of the comparison. 1106 11072017-07-27 Marek Polacek <polacek@redhat.com> 1108 1109 PR c/81417 1110 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print 1111 the types. 1112 11132017-07-27 Jakub Jelinek <jakub@redhat.com> 1114 1115 * c-attribs.c (c_common_attribute_table): Add noipa attribute. 1116 (handle_noipa_attribute): New function. 1117 11182017-07-07 Torsten Duwe <duwe@suse.de> 1119 1120 * c-attribs.c (c_common_attribute_table): Add entry for 1121 "patchable_function_entry". 1122 11232017-07-20 Nathan Sidwell <nathan@acm.org> 1124 1125 Remove TYPE_METHODS. 1126 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods, 1127 dump_ada_template, print_ada_methods, 1128 print_ada_declaration): Member fns are on TYPE_FIELDS. 1129 11302017-07-18 Nathan Sidwell <nathan@acm.org> 1131 1132 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE. 1133 11342017-07-14 David Malcolm <dmalcolm@redhat.com> 1135 1136 * c-common.c (try_to_locate_new_include_insertion_point): New 1137 function. 1138 (per_file_includes_t): New typedef. 1139 (added_includes_t): New typedef. 1140 (added_includes): New variable. 1141 (maybe_add_include_fixit): New function. 1142 * c-common.h (maybe_add_include_fixit): New decl. 1143 11442017-07-10 Martin Sebor <msebor@redhat.com> 1145 1146 PR other/81345 1147 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy. 1148 11492017-07-06 David Malcolm <dmalcolm@redhat.com> 1150 1151 * c-common.c (selftest::c_family_tests): New. 1152 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h. 1153 (selftest::c_family_tests): New decl. 1154 11552017-07-04 Marek Polacek <polacek@redhat.com> 1156 1157 PR c/81231 1158 * c-common.c (sync_resolve_size): Give error for pointers to incomplete 1159 types. 1160 11612017-07-04 Marek Polacek <polacek@redhat.com> 1162 1163 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling. 1164 11652017-06-28 Martin Liska <mliska@suse.cz> 1166 1167 PR ipa/81128 1168 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias 1169 to a function declaration. 1170 11712017-06-28 Martin Liska <mliska@suse.cz> 1172 1173 PR driver/79659 1174 * c.opt: Add IntegerRange to various options. 1175 11762017-06-26 Marek Polacek <polacek@redhat.com> 1177 1178 PR c/80116 1179 * c-common.h (warn_for_multistatement_macros): Declare. 1180 * c-warn.c: Include "c-family/c-indentation.h". 1181 (warn_for_multistatement_macros): New function. 1182 * c.opt (Wmultistatement-macros): New option. 1183 * c-indentation.c (guard_tinfo_to_string): No longer static. 1184 Change the parameter type to "enum rid". Handle RID_SWITCH. 1185 * c-indentation.h (guard_tinfo_to_string): Declare. 1186 11872017-06-23 Marc Glisse <marc.glisse@inria.fr> 1188 1189 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types. 1190 11912017-06-15 Martin Sebor <msebor@redhat.com> 1192 1193 PR c++/80560 1194 * c.opt (-Wclass-memaccess): New option. 1195 11962017-06-14 Boris Kolpackov <boris@codesynthesis.com> 1197 1198 * c-opts.c (c_common_finish): Handle '-' special value to -MF. 1199 12002017-06-13 Marek Polacek <polacek@redhat.com> 1201 1202 PR objc/80949 1203 * c-warn.c (do_warn_duplicated_branches): Return if any of the 1204 branches is null. 1205 12062017-06-13 Martin Liska <mliska@suse.cz> 1207 1208 PR sanitize/78204 1209 * c-attribs.c (add_no_sanitize_value): New function. 1210 (handle_no_sanitize_attribute): Likewise. 1211 (handle_no_sanitize_address_attribute): Use the function. 1212 (handle_no_sanitize_thread_attribute): New function. 1213 (handle_no_address_safety_analysis_attribute): Use 1214 add_no_sanitize_value. 1215 (handle_no_sanitize_undefined_attribute): Likewise. 1216 * c-common.h: Declare new functions. 1217 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p. 1218 (ubsan_instrument_shift): Likewise. 1219 (ubsan_instrument_bounds): Likewise. 1220 (ubsan_maybe_instrument_array_ref): Likewise. 1221 (ubsan_maybe_instrument_reference_or_call): Likewise. 1222 12232017-06-11 Jason Merrill <jason@redhat.com> 1224 1225 * c-ada-spec.c, c-pragma.c: Use id_equal. 1226 12272017-06-04 Marek Polacek <polacek@redhat.com> 1228 1229 PR c/80919 1230 * c-format.c (matching_type_p): Return false if any of the types 1231 requires structural equality. 1232 12332017-06-02 Martin Sebor <msebor@redhat.com> 1234 1235 PR c/80892 1236 * c-warn.c (conversion_warning): Use -Wconversion for integer 1237 conversion and -Wfloat-conversion for floating one. 1238 12392017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 1240 1241 * c.opt (Wsizeof-pointer-div): New warning option. 1242 12432017-06-01 Volker Reichelt <v.reichelt@netcologne.de> 1244 1245 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1. 1246 (Wcatch-value=1): Enable by -Wall. 1247 12482017-05-30 David Malcolm <dmalcolm@redhat.com> 1249 1250 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to 1251 format_chars. 1252 * c.opt (fdiagnostics-show-template-tree): New option. 1253 (felide-type): New option. 1254 12552017-05-25 Volker Reichelt <v.reichelt@netcologne.de> 1256 1257 * c.opt (Wcatch-value=): New C++ warning flag. 1258 12592017-05-24 Nathan Sidwell <nathan@acm.org> 1260 1261 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T 1262 const casts to avoid warning. 1263 12642017-05-24 Martin Sebor <msebor@redhat.com> 1265 1266 PR c/80731 1267 * c-common.h (unsafe_conversion_p): Add a function argument. 1268 * c-common.c (unsafe_conversion_p): Same. 1269 Add type names and values to diagnostics. 1270 (scalar_to_vector): Adjust. 1271 * c-warn.c (constant_expression_error): Add a function argument. 1272 Add type names and values to diagnostics. 1273 (conversion_warning): Add a function argument. 1274 Add type names and values to diagnostics. 1275 (warnings_for_convert_and_check): Same. 1276 12772017-05-19 Jason Merrill <jason@redhat.com> 1278 1279 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no 1280 enumerators. 1281 12822017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de> 1283 1284 * c-format.c (locus): Move out of function scope, 1285 add GTY attribute. 1286 12872017-05-19 Nathan Sidwell <nathan@acm.org> 1288 1289 * c-opts.c (class_dump_file, class_dump_flags): Delete. 1290 (c_common_parse_file): Remove class dump handling. 1291 (get_dump_info): Likewise. 1292 12932017-05-19 Richard Biener <rguenther@suse.de> 1294 1295 PR c++/80593 1296 * c-warn.c (strict_aliasing_warning): Do not warn for accesses 1297 to alias-set zero memory. 1298 12992017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de> 1300 1301 * c-format.c (local_tree_type_node): Add GTY attribute. 1302 13032017-05-18 Marek Polacek <polacek@redhat.com> 1304 1305 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0. 1306 (c_common_fixed_point_type_for_size): Likewise. 1307 (c_common_type_for_mode): Likewise. 1308 (shorten_compare): Likewise. 1309 (c_promoting_integer_type_p): Use false/true instead of 0/1. 1310 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0. 1311 13122017-05-18 Marek Polacek <polacek@redhat.com> 1313 1314 * c-common.c (self_promoting_args_p): Change the return type to bool. 1315 Use false/true instead of 0/1. 1316 * c-common.h (self_promoting_args_p): Update. 1317 13182017-05-17 Marek Polacek <polacek@redhat.com> 1319 1320 * c-common.c: Use NULL_TREE instead of 0 where appropriate. 1321 * c-warn.c: Likewise. 1322 13232017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com> 1324 1325 Implement new C++ intrinsics __is_assignable and __is_constructible. 1326 * c-common.c (__is_assignable, __is_constructible): New. 1327 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise. 1328 13292017-05-17 Martin Liska <mliska@suse.cz> 1330 1331 * c-common.h: Introduce dump_flags_t type and 1332 use it instead of int type. 1333 * c-gimplify.c (c_genericize): Likewise. 1334 * c-opts.c: Likewise. 1335 13362017-05-17 Marek Polacek <polacek@redhat.com> 1337 1338 * c-common.c (c_save_expr): Remove. 1339 (c_common_truthvalue_conversion): Remove a call to c_save_expr. 1340 * c-common.h (c_save_expr): Remove declaration. 1341 13422017-05-09 Volker Reichelt <v.reichelt@netcologne.de> 1343 1344 PR c/35441 1345 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR, 1346 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR. 1347 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR. 1348 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR, 1349 RDIV_EXPR. 1350 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR. 1351 13522017-05-09 Marek Polacek <polacek@redhat.com> 1353 1354 PR c/80525 1355 * c-warn.c (unwrap_c_maybe_const): New. 1356 (warn_logical_operator): Call it. 1357 13582017-05-09 Nathan Sidwell <nathan@acm.org> 1359 1360 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook. 1361 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here. 1362 13632017-05-08 Martin Sebor <msebor@redhat.com> 1364 1365 PR translation/80280 1366 * c-format.h (struct format_flag_spec): Add new member. 1367 (T89_T): New macro. 1368 * c-format.c (local_tree_type_node): New global. 1369 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data. 1370 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto. 1371 (strfmon_flag_specs): Likewise. 1372 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers 1373 with distinct quoting properties. 1374 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same. 1375 (flag_chars_t::validate): Add argument and handle bad quoting. 1376 (check_format_info_main): Handle quoting problems. 1377 (init_dynamic_diag_info): Simplify. 1378 13792017-05-08 Jason Merrill <jason@redhat.com> 1380 1381 * c-opts.c (c_common_post_options): Update defaults for 1382 flag_abi_version and flag_abi_compat_version. 1383 13842017-05-05 David Malcolm <dmalcolm@redhat.com> 1385 1386 * c-common.c (c_cpp_error): Replace report_diagnostic 1387 with diagnostic_report_diagnostic. 1388 13892017-05-04 Martin Sebor <msebor@redhat.com> 1390 1391 PR translation/80280 1392 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive. 1393 (handle_weakref_attribute): Same. 1394 13952017-05-03 Nathan Sidwell <nathan@acm.org> 1396 1397 Canonicalize canonical type hashing 1398 * c-common.c (complete_array_type): Use type_hash_canon. 1399 14002017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn> 1401 1402 PR c++/80038 1403 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove 1404 prototype. 1405 (cilk_install_body_pedigree_operations): Likewise. 1406 * cilk.c (cilk_set_spawn_marker): Mark functions that should be 1407 detatched. 1408 (cilk_gimplify_call_params_in_spawned_fn): Remove. 1409 (cilk_install_body_pedigree_operations): Likewise. 1410 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR 1411 unwrapping. 1412 14132017-04-27 Jakub Jelinek <jakub@redhat.com> 1414 1415 PR c++/80534 1416 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE 1417 flag on non-aggregate element types. 1418 14192017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de> 1420 1421 * c-common.c (c_type_hasher, type_hash_table): Remove. 1422 (c_common_get_alias_set): Remove unreachable code. 1423 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file. 1424 14252017-04-20 Volker Reichelt <v.reichelt@netcologne.de> 1426 1427 * c.opt (Wextra-semi): New C++ warning flag. 1428 14292017-04-20 Jakub Jelinek <jakub@redhat.com> 1430 1431 PR middle-end/80423 1432 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE. 1433 14342017-04-18 Jakub Jelinek <jakub@redhat.com> 1435 1436 PR middle-end/79788 1437 PR middle-end/80375 1438 * c-common.c (c_common_type_for_mode): Don't handle 1439 widest_*_literal_type_node here. 1440 c_common_signed_or_unsigned_type): Likewise. 1441 (c_common_nodes_and_builtins): Set widest_*_literal_type_node 1442 to *intTI_type_node or *intDI_type_node depending on whether 1443 TImode is supported by the target or not. 1444 14452017-04-10 Martin Liska <mliska@suse.cz> 1446 1447 PR sanitizer/80350 1448 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before 1449 doing an UBSAN check. 1450 14512017-04-03 Jonathan Wakely <jwakely@redhat.com> 1452 1453 * c-warn.c (do_warn_double_promotion): Fix typo in comment. 1454 14552017-03-31 Jakub Jelinek <jakub@redhat.com> 1456 1457 PR c++/79572 1458 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to 1459 tree *. 1460 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle 1461 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with 1462 REFERENCE_TYPE. 1463 14642017-03-31 David Malcolm <dmalcolm@redhat.com> 1465 1466 PR documentation/78732 1467 * c.opt (Wendif-labels): Fix description to refer to 1468 #else rather than #elif. 1469 14702017-03-31 Jakub Jelinek <jakub@redhat.com> 1471 1472 PR libstdc++/80251 1473 * c-common.h (enum rid): Add RID_IS_AGGREGATE. 1474 * c-common.c (c_common_reswords): Add __is_aggregate trait. 1475 14762017-03-27 Jakub Jelinek <jakub@redhat.com> 1477 1478 PR middle-end/80162 1479 * c-common.c (c_common_mark_addressable_vec): Don't set 1480 TREE_ADDRESSABLE on DECL_HARD_REGISTER. 1481 14822017-03-21 Martin Sebor <msebor@redhat.com> 1483 1484 PR c++/79548 1485 * c-common.c (set_underlying_type): Mark type used only when 1486 original del is declared unused. 1487 14882017-03-10 David Malcolm <dmalcolm@redhat.com> 1489 1490 PR translation/79848 1491 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to 1492 "%qs". 1493 14942017-03-10 David Malcolm <dmalcolm@redhat.com> 1495 1496 PR c/79921 1497 * c-indentation.c (warn_for_misleading_indentation): Remove parens 1498 from inform's message, so that xgettext can locate it. 1499 15002017-03-09 Marek Polacek <polacek@redhat.com> 1501 1502 PR c++/79962 1503 PR c++/79984 1504 * c-attribs.c (handle_nonnull_attribute): Save the result of default 1505 conversion to the attribute list. 1506 15072017-03-09 Martin Liska <mliska@suse.cz> 1508 1509 * c-ada-spec.c (macro_length): Increment value instead of a pointer. 1510 15112017-03-03 Jason Merrill <jason@redhat.com> 1512 1513 * c.opt (Wnoexcept-type): New. 1514 15152017-03-02 Richard Biener <rguenther@suse.de> 1516 1517 PR c/79756 1518 * c-common.c (c_common_mark_addressable_vec): Look through 1519 C_MAYBE_CONST_EXPR. 1520 15212017-02-28 Martin Liska <mliska@suse.cz> 1522 1523 * c.opt: Replace space with tabular for options of <number> 1524 type. 1525 15262017-02-28 Martin Liska <mliska@suse.cz> 1527 1528 * c.opt: Fix --help=option -Q for options which are of 1529 an enum type. 1530 15312017-02-24 Jakub Jelinek <jakub@redhat.com> 1532 1533 PR c++/79588 1534 * c-common.c (check_function_restrict): New function. 1535 (check_function_arguments): Add FNDECL argument. Call 1536 check_function_restrict if -Wrestrict. 1537 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY 1538 and NARGS. Use auto_vec for ARG_POSITIONS, simplify. 1539 * c-common.h (check_function_arguments): Add FNDECL argument. 1540 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS. 1541 15422017-02-24 Eric Botcazou <ebotcazou@adacore.com> 1543 1544 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the 1545 treatment of parameters with pointer-to-tagged type and tidy up. 1546 (print_ada_methods): Remove the special treatment of C++ static member 1547 functions. 1548 15492017-02-22 Martin Liska <mliska@suse.cz> 1550 1551 * c.opt: Replace inequality signs with square brackets 1552 for -Wnornalized. 1553 15542017-02-21 Jakub Jelinek <jakub@redhat.com> 1555 1556 PR c++/79641 1557 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to 1558 preserve quals. 1559 15602017-02-17 Joseph Myers <joseph@codesourcery.com> 1561 1562 * c-cppbuiltin.c (builtin_define_float_constants): Define 1563 __DECIMAL_DIG__ to the value for long double. 1564 15652017-02-15 Marek Polacek <polacek@redhat.com> 1566 1567 PR c/79515 1568 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid 1569 conversion has occured. 1570 15712017-01-24 David Malcolm <dmalcolm@redhat.com> 1572 1573 * c-common.c (c_common_reswords): Add "__RTL". 1574 * c-common.h (enum rid): Add RID_RTL. 1575 15762017-01-20 Marek Polacek <polacek@redhat.com> 1577 1578 PR c/64279 1579 * c-common.h (do_warn_duplicated_branches_r): Declare. 1580 * c-gimplify.c (c_genericize): Walk the function tree calling 1581 do_warn_duplicated_branches_r. 1582 * c-warn.c (expr_from_macro_expansion_r): New. 1583 (do_warn_duplicated_branches): New. 1584 (do_warn_duplicated_branches_r): New. 1585 * c.opt (Wduplicated-branches): New option. 1586 15872017-01-17 David Malcolm <dmalcolm@redhat.com> 1588 1589 PR c++/71497 1590 * c-indentation.c (warn_for_misleading_indentation): Use the past 1591 subjunctive in the note. 1592 15932017-01-17 Aldy Hernandez <aldyh@redhat.com> 1594 1595 PR c/79116 1596 * array-notation-common.c (cilkplus_extract_an_triplets): Convert 1597 start type to integer_type. 1598 15992017-01-16 Jakub Jelinek <jakub@redhat.com> 1600 1601 PR driver/49726 1602 * c.opt (gen-decls): Add Driver flag. 1603 16042017-01-16 Paolo Carlini <paolo.carlini@oracle.com> 1605 1606 Revert: 1607 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com> 1608 1609 PR c++/71737 1610 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE. 1611 16122017-01-16 Paolo Carlini <paolo.carlini@oracle.com> 1613 1614 PR c++/71737 1615 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE. 1616 16172017-01-12 Martin Sebor <msebor@redhat.com> 1618 1619 (-Wformat-overflow): ...to this. 1620 16212017-01-11 Martin Sebor <msebor@redhat.com> 1622 1623 PR c/78768 1624 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation): 1625 Also enable for LTO. 1626 16272017-01-10 Jason Merrill <jason@redhat.com> 1628 1629 Implement P0195R2, C++17 variadic using. 1630 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using. 1631 16322017-01-09 Jakub Jelinek <jakub@redhat.com> 1633 1634 PR translation/79019 1635 PR translation/79020 1636 * c.opt (Wnormalized=): Fix typo in description. 1637 16382017-01-08 Martin Sebor <msebor@redhat.com> 1639 1640 PR middle-end/77708 1641 * c.opt (-Wformat-truncation): New option. 1642 16432017-01-06 Alexandre Oliva <aoliva@redhat.com> 1644 1645 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit 1646 value to unsigned short to fit in 4 hex digits without 1647 warnings. 1648 16492017-01-05 Eric Botcazou <ebotcazou@adacore.com> 1650 1651 * c.opt (fsso-struct): Add 'native' value. 1652 16532017-01-05 Martin Liska <mliska@suse.cz> 1654 1655 PR pch/78970 1656 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled 1657 header. 1658 16592017-01-04 Marek Polacek <polacek@redhat.com> 1660 1661 PR c++/64767 1662 * c.opt (Wpointer-compare): New option. 1663 16642017-01-04 Jakub Jelinek <jakub@redhat.com> 1665 1666 PR driver/78957 1667 * c.opt (fsso-struct=): Add RejectNegative. 1668 16692017-01-01 Jakub Jelinek <jakub@redhat.com> 1670 1671 Update copyright years. 1672 16732016-12-29 Martin Liska <mliska@suse.cz> 1674 1675 PR c/78933 1676 * c.opt (strong-eval-order): Add RejectNegative keyword. 1677 16782016-12-22 Jason Merrill <jason@redhat.com> 1679 1680 Implement P0522R0, matching of template template arguments. 1681 * c-cppbuiltin.c (c_cpp_builtins): Define 1682 __cpp_template_template_args. 1683 16842016-12-21 Jakub Jelinek <jakub@redhat.com> 1685 1686 PR bootstrap/78817 1687 * c-common.c (struct nonnull_arg_ctx): New type. 1688 (check_function_nonnull): Return bool instead of void. Use 1689 nonnull_arg_ctx as context rather than just location_t. 1690 (check_nonnull_arg): Adjust for the new context type, set 1691 warned_p to true if a warning has been diagnosed. 1692 (check_function_arguments): Return bool instead of void. 1693 * c-common.h (check_function_arguments): Adjust prototype. 1694 16952016-12-21 Jason Merrill <jason@redhat.com> 1696 1697 * c.opt (-fnew-ttp-matching): New flag. 1698 * c-opts.c (c_common_post_options): Default on if -std=c++1z. 1699 17002016-12-14 Martin Jambor <mjambor@suse.cz> 1701 1702 * c-omp.c: Include omp-general.h instead of omp-low.h. 1703 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new 1704 name. 1705 17062016-12-14 Martin Sebor <msebor@redhat.com> 1707 1708 PR c/17308 1709 * c-common.c (check_nonnull_arg): Disable when optimization 1710 is enabled. 1711 17122016-12-12 Marek Polacek <polacek@redhat.com> 1713 1714 PR c++/78647 1715 * c-common.c (attribute_fallthrough_p): Return false for 1716 error_mark_node. 1717 17182016-12-08 Martin Sebor <msebor@redhat.com> 1719 1720 PR c/78284 1721 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options. 1722 17232016-12-08 Martin Sebor <msebor@redhat.com> 1724 1725 PR c/78165 1726 * c-pretty-print (pp_c_integer_constant): Avoid formatting type 1727 suffix. 1728 17292016-12-07 Martin Sebor <msebor@redhat.com> 1730 1731 PR c/53562 1732 PR middle-end/77784 1733 PR middle-end/78149 1734 PR middle-end/78138 1735 * c.opt (-Wstringop-overflow): New option. 1736 17372016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com> 1738 1739 * c-attribs.c (asan odr indicator): New attribute. 1740 (handle_asan_odr_indicator_attribute): New function. 1741 17422016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 1743 1744 * c-common.c (c_common_nodes_and_builtins): Remove initialization of 1745 ptrdiff_type_node; 1746 17472016-11-23 James Greenhalgh <james.greenhalgh@arm.com> 1748 1749 * c-common.c (excess_precision_mode_join): New. 1750 (c_ts18661_flt_eval_method): New. 1751 (c_c11_flt_eval_method): Likewise. 1752 (c_flt_eval_method): Likewise. 1753 * c-common.h (excess_precision_mode_join): New. 1754 (c_flt_eval_method): Likewise. 1755 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New. 1756 (cpp_iec_559_value): Call it. 1757 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__, 1758 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and 1759 __FLT_EVAL_METHOD_TS_18661_3__. 1760 17612016-11-23 James Greenhalgh <james.greenhalgh@arm.com> 1762 1763 * c-opts.c (c_common_post_options): Add logic to handle the default 1764 case for -fpermitted-flt-eval-methods. 1765 17662016-11-23 Paolo Bonzini <bonzini@gnu.org> 1767 1768 * c.opt (Wexpansion-to-defined): New. 1769 17702016-11-23 Jakub Jelinek <jakub@redhat.com> 1771 1772 PR target/78451 1773 * c-pragma.c (handle_pragma_target): Don't replace 1774 current_target_pragma, but chainon the new args to the current one. 1775 17762016-11-22 Nathan Sidwell <nathan@acm.org> 1777 1778 * array-notation-common.c (cilkplus_extract_an_trplets): Fix 1779 indentation and formatting. 1780 17812016-11-21 Martin Sebor <msebor@redhat.com> 1782 1783 * c.opt (-fprintf-return-value): Enable by default. 1784 17852016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de> 1786 1787 PR c++/71973 1788 * c.opt (-Wbuiltin-declaration-mismatch): New warning. 1789 * c-common.c (c_common_nodes_and_builtins): Initialize 1790 const_tm_ptr_type_node. 1791 17922016-11-16 Marek Polacek <polacek@redhat.com> 1793 1794 PR c/78285 1795 * c-common.c (c_add_case_label): Turn error_at calls into inform. 1796 17972016-11-14 Jakub Jelinek <jakub@redhat.com> 1798 1799 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings. 1800 18012016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com> 1802 Richard Biener <rguenther@suse.de> 1803 1804 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types. 1805 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI. 1806 * c.opt (fgimple): New option. 1807 18082016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 1809 1810 PR c/35503 1811 * c-common.h (warn_for_restrict): Declare. 1812 * c-warn.c: Include gcc-rich-location.h. 1813 (warn_for_restrict): New function. 1814 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier. 1815 (gcc_cdiag_char_table): Likewise. 1816 (gcc_cxxdiag_char_table): Likewise. 1817 * c.opt (Wrestrict): New option. 1818 18192016-11-13 Eric Botcazou <ebotcazou@adacore.com> 1820 1821 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look 1822 for nested types only if the type is a record or union and dump SLOC. 1823 18242016-11-09 Jason Merrill <jason@redhat.com> 1825 1826 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto. 1827 18282016-11-09 Jakub Jelinek <jakub@redhat.com> 1829 1830 * c-ubsan.c (ubsan_instrument_shift): Handle split 1831 -fsanitize=shift-base and -fsanitize=shift-exponent. 1832 18332016-11-07 Jason Merrill <jason@redhat.com> 1834 1835 * c.opt (Wc++1z-compat): New. 1836 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type. 1837 18382016-11-07 Martin Liska <mliska@suse.cz> 1839 1840 * c-warn.c (warn_for_unused_label): Save all labels used 1841 in goto or in &label. 1842 18432016-11-03 Jason Merrill <jason@redhat.com> 1844 1845 * c-cppbuiltin.c (c_cpp_builtins): Correct 1846 __cpp_inheriting_constructors. 1847 18482016-11-01 Jason Merrill <jason@redhat.com> 1849 1850 * c-cppbuiltin.c (c_cpp_builtins): Update 1851 __cpp_inheriting_constructors. 1852 1853 * c.opt (-fnew-inheriting-ctors): New. 1854 * c-opts.c: Default to on for ABI 11+. 1855 18562016-10-31 Jakub Jelinek <jakub@redhat.com> 1857 1858 PR c++/77948 1859 * c.opt (fext-numeric-literals): Add Var and Init. 1860 * c-opts.c (c_common_handle_option): Don't clear 1861 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}. 1862 (c_common_post_options): Clear it here if not set 1863 explicitly. 1864 18652016-10-28 Aldy Hernandez <aldyh@redhat.com> 1866 1867 PR debug/77773 1868 * c-pretty-print.c (simple_type_specifier): Do not dereference `t' 1869 if NULL. 1870 18712016-10-25 Jakub Jelinek <jakub@redhat.com> 1872 1873 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER. 1874 * c-common.c (c_common_reswords): Add __builtin_launder. 1875 18762016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de> 1877 1878 * c-common.c (c_common_truthvalue_conversion): Warn for 1879 multiplications in boolean context. Fix the quoting of '<<' and '<' 1880 in the shift warning. 1881 18822016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de> 1883 1884 * c-common.c (c_common_truthvalue_conversion): Fix the comment. 1885 18862016-10-20 Jason Merrill <jason@redhat.com> 1887 1888 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value. 1889 18902016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de> 1891 1892 * c-common.c (c_common_truthvalue_conversion): Warn only for signed 1893 integer shift ops in boolean context. 1894 18952016-10-18 Aldy Hernandez <aldyh@redhat.com> 1896 1897 * c.opt (Walloca): New. 1898 (Walloca-larger-than=): New. 1899 (Wvla-larger-than=): New. 1900 19012016-10-17 Marek Polacek <polacek@redhat.com> 1902 1903 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names. 1904 Return immediately when finding a match. 1905 (warn_tautological_cmp): Remove a boolean variable that is no longer 1906 needed. 1907 19082016-10-17 Marek Polacek <polacek@redhat.com> 1909 1910 * c-attribs.c: New file. 1911 * c-common.c: Move attributes handling to c-attribs.c. 1912 (get_nonnull_operand): No longer static. 1913 * c-common.h: Move the declarations from c-attribs.c to its own section. 1914 19152016-10-14 Jason Merrill <jason@redhat.com> 1916 1917 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases 1918 and __cpp_deduction_guides. 1919 19202016-10-13 Jason Merrill <jason@redhat.com> 1921 1922 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables. 1923 19242016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com> 1925 1926 * c-cppbuiltin.c: Include memmodel.h. 1927 * c-opts.c: Likewise. 1928 * c-pragma.c: Likewise. 1929 * c-warn.c: Likewise. 1930 19312016-10-12 Jakub Jelinek <jakub@redhat.com> 1932 1933 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option. 1934 (Wimplicit-fallthrough=): Enable for these languages by -Wextra. 1935 * c-opts.c (sanitize_cpp_opts): Initialize 1936 cpp_opts->cpp_warn_implicit_fallthrough. 1937 19382016-10-11 Marek Polacek <polacek@redhat.com> 1939 1940 * c-common.c (warning_candidate_p): Change the return type to bool 1941 and return true/false instead of 1/0. 1942 (vector_mode_valid_p): Likewise. 1943 19442016-10-11 Marek Polacek <polacek@redhat.com> 1945 1946 * c-common.c (fold_for_warn): No longer static. 1947 (bool_promoted_to_int_p): Likewise. 1948 (c_common_get_narrower): Likewise. 1949 (constant_expression_warning): Move to c-warn.c. 1950 (constant_expression_error): Likewise. 1951 (overflow_warning): Likewise. 1952 (warn_logical_operator): Likewise. 1953 (find_array_ref_with_const_idx_r): Likewise. 1954 (warn_tautological_cmp): Likewise. 1955 (expr_has_boolean_operands_p): Likewise. 1956 (warn_logical_not_parentheses): Likewise. 1957 (warn_if_unused_value): Likewise. 1958 (strict_aliasing_warning): Likewise. 1959 (sizeof_pointer_memaccess_warning): Likewise. 1960 (check_main_parameter_types): Likewise. 1961 (conversion_warning): Likewise. 1962 (warnings_for_convert_and_check): Likewise. 1963 (match_case_to_enum_1): Likewise. 1964 (match_case_to_enum): Likewise. 1965 (c_do_switch_warnings): Likewise. 1966 (warn_for_omitted_condop): Likewise. 1967 (readonly_error): Likewise. 1968 (lvalue_error): Likewise. 1969 (invalid_indirection_error): Likewise. 1970 (warn_array_subscript_with_type_char): Likewise. 1971 (warn_about_parentheses): Likewise. 1972 (warn_for_unused_label): Likewise. 1973 (warn_for_div_by_zero): Likewise. 1974 (warn_for_memset): Likewise. 1975 (warn_for_sign_compare): Likewise. 1976 (do_warn_double_promotion): Likewise. 1977 (do_warn_unused_parameter): Likewise. 1978 (record_locally_defined_typedef): Likewise. 1979 (maybe_record_typedef_use): Likewise. 1980 (maybe_warn_unused_local_typedefs): Likewise. 1981 (maybe_warn_bool_compare): Likewise. 1982 (maybe_warn_shift_overflow): Likewise. 1983 (warn_duplicated_cond_add_or_warn): Likewise. 1984 (diagnose_mismatched_attributes): Likewise. 1985 * c-common.h: Move the declarations from c-warn.c to its own section. 1986 * c-warn.c: New file. 1987 19882016-10-08 Jason Merrill <jason@redhat.com> 1989 1990 * c-common.c (c_common_truthvalue_conversion): Don't distribute 1991 into COND_EXPR in C++. 1992 19932016-10-08 Jakub Jelinek <jakub@redhat.com> 1994 1995 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT 1996 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and 1997 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards. 1998 19992016-10-07 Jakub Jelinek <jakub@redhat.com> 2000 2001 Implement LWG2296 helper intrinsic 2002 * c-common.h (enum rid): Add RID_ADDRESSOF. 2003 * c-common.c (c_common_reswords): Add __builtin_addressof. 2004 20052016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de> 2006 2007 PR c++/77700 2008 * c-common.c (c_common_truthvalue_conversion): Warn also for 2009 suspicious enum values in boolean context. 2010 20112016-10-06 Jakub Jelinek <jakub@redhat.com> 2012 2013 Implement P0258R2 - helper for C++17 2014 std::has_unique_object_representations trait 2015 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS. 2016 * c-common.c (c_common_reswords): Add 2017 __has_unique_object_representations. 2018 20192016-10-05 Jakub Jelinek <jakub@redhat.com> 2020 2021 PR sanitizer/66343 2022 * c-ubsan.c (ubsan_instrument_return): Don't call 2023 initialize_sanitizer_builtins here. 2024 20252016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de> 2026 2027 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious 2028 conditional expression in boolean context when only one arm is 2029 non-boolean. 2030 20312016-10-05 Jakub Jelinek <jakub@redhat.com> 2032 2033 PR sanitizer/77823 2034 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0 2035 is not integral. 2036 2037 * c-common.c (c_common_reswords): Update comment for C++11. 2038 20392016-10-04 Jason Merrill <jason@redhat.com> 2040 2041 * c-common.c (make_tree_vector_from_ctor): New. 2042 * c-common.h: Declare it. 2043 20442016-10-04 Jakub Jelinek <jakub@redhat.com> 2045 2046 * c-cppbuiltin.c (c_cpp_builtins): Don't define 2047 __LIBGCC_JCR_SECTION_NAME__. 2048 20492016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de> 2050 2051 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious 2052 left shift in boolean context. 2053 20542016-09-29 Jakub Jelinek <jakub@redhat.com> 2055 2056 Implement P0001R1 - C++17 removal of register storage class specifier 2057 * c.opt (Wregister): New warning. 2058 * c-opts.c (c_common_post_options): Enable -Wregister by 2059 default for C++17. 2060 20612016-09-29 James Greenhalgh <james.greenhalgh@arm.com> 2062 2063 * c-opts.c (c_common_post_options): Remove special case for 2064 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard 2065 in C++. 2066 20672016-09-27 Jakub Jelinek <jakub@redhat.com> 2068 2069 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for 2070 -std=c++1z. 2071 2072 * c-ada-spec.c (print_ada_declaration): Remove break after return. 2073 20742016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com> 2075 2076 * c-common.c: Include memmodel.h. 2077 20782016-09-26 Marek Polacek <polacek@redhat.com> 2079 2080 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough. 2081 20822016-09-26 Marek Polacek <polacek@redhat.com> 2083 2084 PR c/7652 2085 * c-common.c (c_common_attribute_table): Add fallthrough attribute. 2086 (handle_fallthrough_attribute): New function. 2087 (attribute_fallthrough_p): New function. 2088 * c-common.h (attribute_fallthrough_p): Declare. 2089 20902016-09-24 Marek Polacek <polacek@redhat.com> 2091 2092 PR c/77490 2093 * c.opt (Wbool-operation): New. 2094 20952016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de> 2096 2097 * c-common.c (c_common_truthvalue_conversion): Inhibit 2098 Wint-in-bool-context warning with from_macro_definition_at. 2099 Mention the expression will always evaluate to true. 2100 21012016-09-21 Martin Sebor <msebor@redhat.com> 2102 2103 PR bootstrap/77676 2104 * c.opt (fprintf-return-value): Temporarily initialize to zero 2105 to unblock bootstrap failures. 2106 21072016-09-21 Jakub Jelinek <jakub@redhat.com> 2108 2109 PR c++/77651 2110 * c.opt (Waligned-new=): Add RejectNegative. 2111 (faligned-new=): Likewise. Spelling fix - change 2112 aligned_new_threshhold to aligned_new_threshold. 2113 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold 2114 to aligned_new_threshold. 2115 21162016-09-20 Martin Sebor <msebor@redhat.com> 2117 2118 PR middle-end/49905 2119 * c.opt: Add -Wformat-length and -fprintf-return-value. 2120 21212016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de> 2122 2123 PR c++/77434 2124 * c.opt (Wint-in-bool-context): New warning. 2125 * c-common.c (c_common_truthvalue_conversion): Warn on integer 2126 constants in boolean context. 2127 21282016-09-19 Joseph Myers <joseph@codesourcery.com> 2129 2130 * c-common.c (max_align_t_align): Also consider alignment of 2131 float128_type_node. 2132 21332016-09-15 Jason Merrill <jason@redhat.com> 2134 2135 * c-common.c (check_cxx_fundamental_alignment_constraints): Check 2136 DECL_EXTERNAL. 2137 21382016-09-14 Jason Merrill <jason@redhat.com> 2139 2140 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't 2141 limit FIELD_DECL, either. 2142 21432016-09-14 Marek Polacek <polacek@redhat.com> 2144 2145 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0. 2146 * c-common.h (build_unary_op): Change nonconvert parameter type to bool. 2147 * c-omp.c (c_finish_omp_atomic): Use false instead of 0. 2148 21492016-09-13 David Malcolm <dmalcolm@redhat.com> 2150 2151 * c-common.c (warn_logical_not_parentheses): Replace 2152 rich_location::add_fixit_insert calls with add_fixit_insert_before 2153 and add_fixit_insert_after, eliminating the "next_loc" calculation. 2154 21552016-09-13 Jason Merrill <jason@redhat.com> 2156 Tom de Vries <tom@codesourcery.com> 2157 2158 PR c++/77427 2159 * c-common.c (set_underlying_type): Don't treat array as builtin type. 2160 21612016-09-13 Jason Merrill <jason@redhat.com> 2162 2163 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't 2164 limit types at all. 2165 21662016-09-12 Jason Merrill <jason@redhat.com> 2167 2168 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix 2169 bit/byte confusion, allow large alignment for types. 2170 21712016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de> 2172 2173 PR c++/77496 2174 * c-common.c (warn_for_omitted_condop): Also warn for boolean data. 2175 21762016-09-12 David Malcolm <dmalcolm@redhat.com> 2177 2178 PR c/72858 2179 * c-format.c (argument_parser::check_argument_type): Add params 2180 "type_start" and "conversion_char". Use the former to generate 2181 offset_to_type_start and pass it and conversion_char to 2182 check_format_types. 2183 (check_format_info_main): Capture the start of the type 2184 information as "type_start", and pass it an format_char 2185 to arg_parser.check_argument_type. 2186 (check_format_types): Provide an example in the leading comment. 2187 Add params "offset_to_type_start" and "conversion_char"; pass 2188 them to format_type_warning calls. 2189 (test_get_modifier_for_format_len): Likewise. 2190 (matching_type_p): New function. 2191 (get_format_for_type): Add param "conversion_char" and move 2192 implementation into... 2193 (get_format_for_type_1): ...new function, called twice. 2194 Use new function matching_type_p rather than checking for 2195 TYPE_CANONICAL equality. 2196 (get_corrected_substring): New function. 2197 (format_type_warning): Provide an example in the leading comment. 2198 Add params "offset_to_type_start" and "conversion_char". Replace 2199 call to get_format_for_type with call to get_corrected_substring 2200 and move rejection of hints for widths/precisions there. 2201 (assert_format_for_type_streq): Add param "conversion_char". 2202 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR. 2203 (test_get_format_for_type_printf): Add conversion chars to the 2204 tests, adding coverage for various combinations of integer 2205 vs double conversions, and for preserving octal and hexadecimal 2206 conversions. 2207 (test_get_format_for_type_scanf): Add conversion chars to the 2208 tests. 2209 22102016-09-10 Tom de Vries <tom@codesourcery.com> 2211 2212 PR C/71602 2213 * c-common.c (build_va_arg): Handle more strict 2214 targetm.canonical_va_list_type. Replace first argument type error with 2215 assert. 2216 22172016-09-09 Martin Sebor <msebor@redhat.com> 2218 2219 PR c/77520 2220 PR c/77521 2221 * c-format.c (argument_parser::find_format_char_info): Use %qc 2222 format directive unconditionally. 2223 22242016-09-09 Jason Merrill <jason@redhat.com> 2225 2226 Implement C++17 new of over-aligned types. 2227 * c.opt: Add -faligned-new and -Waligned-new. 2228 * c-common.c (max_align_t_align): Split out from... 2229 (cxx_fundamental_alignment_p): ...here. 2230 * c-common.h: Declare it. 2231 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new. 2232 22332016-09-09 Joseph Myers <joseph@codesourcery.com> 2234 2235 * c-cppbuiltin.c (builtin_define_type_width): New function. 2236 (builtin_define_stdint_macros, c_cpp_builtins): Define type width 2237 macros. 2238 22392016-09-07 David Malcolm <dmalcolm@redhat.com> 2240 2241 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed 2242 a POINTER_TYPE. 2243 (substring_loc::get_location): Move to substring-locations.c, 2244 keeping implementation as... 2245 (c_get_substring_location): New function, from the above, reworked 2246 to use accessors rather than member lookup. 2247 * c-common.h (class substring_loc): Move to substring-locations.h, 2248 replacing with a forward decl. 2249 (c_get_substring_location): New decl. 2250 * c-format.c: Include "substring-locations.h". 2251 (format_warning_va): Move to substring-locations.c. 2252 (format_warning_at_substring): Likewise. 2253 22542016-09-06 Martin Sebor <msebor@redhat.com> 2255 2256 PR c/77336 2257 * c-format.c (check_function_format): Avoid issuing warnings for 2258 functions unless they call format functions with non-constant 2259 format strings. 2260 22612016-09-06 Richard Biener <rguenther@suse.de> 2262 2263 PR c/77450 2264 * c-common.c (c_common_mark_addressable_vec): Handle 2265 COMPOUND_LITERAL_EXPR. 2266 22672016-09-05 Marek Polacek <polacek@redhat.com> 2268 2269 PR c/77423 2270 * c-common.c (bool_promoted_to_int_p): New function. 2271 (expr_has_boolean_operands_p): New function. 2272 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p. 2273 (maybe_warn_bool_compare): Use bool_promoted_to_int_p. 2274 22752016-09-04 Tom de Vries <tom@codesourcery.com> 2276 2277 revert: 2278 2016-08-29 Tom de Vries <tom@codesourcery.com> 2279 2280 * c-common.c (build_va_arg): Replace first argument type error 2281 with assert. 2282 22832016-09-02 Jakub Jelinek <jakub@redhat.com> 2284 2285 PR c/65467 2286 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions. 2287 (c_finish_omp_for): Reject _Atomic qualified iterators. 2288 22892016-09-01 Martin Sebor <msebor@redhat.com> 2290 2291 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer 2292 size to guarantee it fits the output of the formatted function 2293 regardless of its arguments. 2294 22952016-09-01 Marek Polacek <polacek@redhat.com> 2296 2297 PR c/7652 2298 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add 2299 FALLTHRU comments. 2300 23012016-08-29 Marek Polacek <polacek@redhat.com> 2302 2303 PR c/77292 2304 * c-common.c (warn_logical_not_parentheses): Don't warn for 2305 a comparison or a logical operator. 2306 23072016-08-29 Tom de Vries <tom@codesourcery.com> 2308 2309 * c-common.c (build_va_arg): Fix type comparison assert. 2310 23112016-08-29 Tom de Vries <tom@codesourcery.com> 2312 2313 * c-common.c (build_va_arg): Replace first argument type error 2314 with assert. 2315 23162016-08-29 Tom de Vries <tom@codesourcery.com> 2317 2318 PR c/77398 2319 * c-common.c (build_va_arg): Add first argument error. Build va_arg 2320 with error_mark_node as va_list instead of with illegal va_list. 2321 23222016-08-25 Marek Polacek <polacek@redhat.com> 2323 David Malcolm <dmalcolm@redhat.com> 2324 2325 * c-common.c (warn_logical_not_parentheses): Print fixit hints. 2326 * c-common.h (warn_logical_not_parentheses): Update declaration. 2327 23282016-08-22 Marek Polacek <polacek@redhat.com> 2329 2330 PR c++/77321 2331 * c-common.c (warn_for_memset): Check type for null. 2332 23332016-08-22 Joseph Myers <joseph@codesourcery.com> 2334 2335 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and 2336 _FloatNx types for suffixes for built-in functions. 2337 23382016-08-19 Joseph Myers <joseph@codesourcery.com> 2339 2340 PR c/32187 2341 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32) 2342 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X) 2343 (RID_FLOAT128X): New enum rid values. 2344 (CASE_RID_FLOATN_NX): New macro. 2345 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx 2346 keywords. 2347 (c_common_type_for_mode): Check for _FloatN and _FloatNx and 2348 corresponding complex types. 2349 (c_common_nodes_and_builtins): For non-C++, register _FloatN and 2350 _FloatNx and corresponding complex types. 2351 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX. 2352 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN 2353 and _FloatNx types for the widest type for determining 2354 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as 2355 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL. 2356 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN 2357 and _FloatNx types. 2358 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx 2359 constants. 2360 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and 2361 _FloatNx types. 2362 23632016-08-18 David Malcolm <dmalcolm@redhat.com> 2364 2365 * c-opts.c (c_diagnostic_finalizer): Update for change to 2366 diagnostic_show_locus. 2367 23682016-08-18 David Malcolm <dmalcolm@redhat.com> 2369 2370 * c-common.c: Include "spellcheck.h". 2371 (cb_get_suggestion): New function. 2372 * c-common.h (cb_get_suggestion): New decl. 2373 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to 2374 cb_get_suggestion. 2375 23762016-08-18 Marek Polacek <polacek@redhat.com> 2377 2378 PR c/71514 2379 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function 2380 and pointer-to-VLA. 2381 23822016-08-16 David Malcolm <dmalcolm@redhat.com> 2383 2384 PR c/72857 2385 * c-common.c (substring_loc::get_range): Rename to... 2386 (substring_loc::get_location): ...this, converting param from a 2387 source_range * to a location_t *. Call 2388 get_source_location_for_substring rather than 2389 get_source_range_for_substring, and pass in m_caret_idx. 2390 * c-common.h (substring_loc::substring_loc): Add param "caret_idx". 2391 (substring_loc::get_range): Replace with... 2392 (substring_loc::get_location): ...this. 2393 (substring_loc::set_caret_index): New method. 2394 (substring_loc): Add field m_caret_idx. 2395 * c-format.c (format_warning_va): Update for above changes. 2396 Rename local "substring_loc" to "fmt_substring_loc" to avoid 2397 clashing with type name. 2398 (format_warning_at_char): Add caret_idx param to substring_loc ctor. 2399 (check_argument_type): Likewise. 2400 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc" 2401 Use a copy when emitting warnings, setting the caret index from TYPE. 2402 24032016-08-16 Eric Botcazou <ebotcazou@adacore.com> 2404 Arnaud Charlet <charlet@adacore.com> 2405 2406 * c-ada-spec.c (dump_number): New function. 2407 (handle_escape_character): Likewise. 2408 (print_ada_macros): Add handling of constant integers and strings. 2409 24102016-08-12 Marek Polacek <polacek@redhat.com> 2411 2412 PR c/7652 2413 * c-common.c (scalar_to_vector): Adjust fall through comment. 2414 * c-opts.c (c_common_handle_option): Likewise. 2415 * c-pragma.c (handle_pragma_pack): Add FALLTHRU. 2416 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust 2417 fall through comment. 2418 * cilk.c (extract_free_variables): Add FALLTHRU. 2419 24202016-08-10 Jason Merrill <jason@redhat.com> 2421 2422 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr. 2423 24242016-08-09 Jason Merrill <jason@redhat.com> 2425 2426 * c-common.c (c_common_attribute_table): vector_size affects type 2427 identity. 2428 24292016-08-09 Marek Polacek <polacek@redhat.com> 2430 2431 PR c/7652 2432 * c-ada-spec.c (dump_generic_ada_node): Add return. 2433 24342016-08-09 Jason Merrill <jason@redhat.com> 2435 2436 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for 2437 C++17 constexpr lambdas. 2438 24392016-08-08 David Malcolm <dmalcolm@redhat.com> 2440 2441 PR c/64955 2442 * c-common.h (selftest::c_format_c_tests): New declaration. 2443 (selftest::run_c_tests): New declaration. 2444 * c-format.c: Include "selftest.h. 2445 (format_warning_va): Add param "corrected_substring" and use 2446 it to add a replacement fix-it hint. 2447 (format_warning_at_substring): Likewise. 2448 (format_warning_at_char): Update for new param of 2449 format_warning_va. 2450 (argument_parser::check_argument_type): Pass "fki" to 2451 check_format_types. 2452 (check_format_types): Add param "fki" and pass it to 2453 format_type_warning. 2454 (deref_n_times): New function. 2455 (get_modifier_for_format_len): New function. 2456 (selftest::test_get_modifier_for_format_len): New function. 2457 (get_format_for_type): New function. 2458 (format_type_warning): Add param "fki" and use it to attempt 2459 to provide hints for argument types when calling 2460 format_warning_at_substring. 2461 (selftest::get_info): New function. 2462 (selftest::assert_format_for_type_streq): New function. 2463 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro. 2464 (selftest::test_get_format_for_type_printf): New function. 2465 (selftest::test_get_format_for_type_scanf): New function. 2466 (selftest::c_format_c_tests): New function. 2467 24682016-08-08 David Malcolm <dmalcolm@redhat.com> 2469 2470 PR c/52952 2471 * c-format.c: Include "diagnostic.h". 2472 (location_column_from_byte_offset): Delete. 2473 (location_from_offset): Delete. 2474 (format_warning_va): New function. 2475 (format_warning_at_substring): New function. 2476 (format_warning_at_char): New function. 2477 (check_format_arg): Capture location of format_tree and pass to 2478 check_format_info_main. 2479 (argument_parser): Add fields "start_of_this_format" and 2480 "format_string_cst". 2481 (flag_chars_t::validate): Add param "format_string_cst". Convert 2482 warning_at call using location_from_offset to call to 2483 format_warning_at_char. 2484 (argument_parser::argument_parser): Add param "format_string_cst_" 2485 and use use it to initialize field "format_string_cst". 2486 Initialize new field "start_of_this_format". 2487 (argument_parser::read_format_flags): Convert warning_at call 2488 using location_from_offset to a call to format_warning_at_char. 2489 (argument_parser::read_any_format_left_precision): Likewise. 2490 (argument_parser::read_any_format_precision): Likewise. 2491 (argument_parser::read_any_other_modifier): Likewise. 2492 (argument_parser::find_format_char_info): Likewise, in three places. 2493 (argument_parser::parse_any_scan_set): Likewise, in one place. 2494 (argument_parser::handle_conversions): Likewise, in two places. 2495 (argument_parser::check_argument_type): Add param "fmt_param_loc" 2496 and use it to make a substring_loc. Pass the latter to 2497 check_format_types. 2498 (check_format_info_main): Add params "fmt_param_loc" and 2499 "format_string_cst". Convert warning_at calls using 2500 location_from_offset to calls to format_warning_at_char. Pass the 2501 new params to the arg_parser ctor. Pass "format_string_cst" to 2502 flag_chars.validate. Pass "fmt_param_loc" to 2503 arg_parser.check_argument_type. 2504 (check_format_types): Convert first param from a location_t 2505 to a const substring_loc & and rename to "fmt_loc". Attempt 2506 to extract the range of the relevant parameter and pass it 2507 to format_type_warning. 2508 (format_type_warning): Convert first param from a location_t 2509 to a const substring_loc & and rename to "fmt_loc". Add 2510 params "param_range" and "type". Replace calls to warning_at 2511 with calls to format_warning_at_substring. 2512 25132016-08-08 David Malcolm <dmalcolm@redhat.com> 2514 2515 * c-format.c (class flag_chars_t): New class. 2516 (struct length_modifier): New struct. 2517 (class argument_parser): New class. 2518 (flag_chars_t::flag_chars_t): New ctor. 2519 (flag_chars_t::has_char_p): New method. 2520 (flag_chars_t::add_char): New method. 2521 (flag_chars_t::validate): New method. 2522 (flag_chars_t::get_alloc_flag): New method. 2523 (flag_chars_t::assignment_suppression_p): New method. 2524 (argument_parser::argument_parser): New ctor. 2525 (argument_parser::read_any_dollar): New method. 2526 (argument_parser::read_format_flags): New method. 2527 (argument_parser::read_any_format_width): New method. 2528 (argument_parser::read_any_format_left_precision): New method. 2529 (argument_parser::read_any_format_precision): New method. 2530 (argument_parser::handle_alloc_chars): New method. 2531 (argument_parser::read_any_length_modifier): New method. 2532 (argument_parser::read_any_other_modifier): New method. 2533 (argument_parser::find_format_char_info): New method. 2534 (argument_parser::validate_flag_pairs): New method. 2535 (argument_parser::give_y2k_warnings): New method. 2536 (argument_parser::parse_any_scan_set): New method. 2537 (argument_parser::handle_conversions): New method. 2538 (argument_parser::check_argument_type): New method. 2539 (check_format_info_main): Introduce classes argument_parser 2540 and flag_chars_t, moving the code within the loop into methods 2541 of these classes. Make various locals "const". 2542 25432016-08-05 David Malcolm <dmalcolm@redhat.com> 2544 2545 * c-common.c: Include "substring-locations.h". 2546 (get_cpp_ttype_from_string_type): New function. 2547 (g_string_concat_db): New global. 2548 (substring_loc::get_range): New method. 2549 * c-common.h (g_string_concat_db): New declaration. 2550 (class substring_loc): New class. 2551 * c-lex.c (lex_string): When concatenating strings, capture the 2552 locations of all tokens using a new obstack, and record the 2553 concatenation locations within g_string_concat_db. 2554 * c-opts.c (c_common_init_options): Construct g_string_concat_db 2555 on the ggc-heap. 2556 25572016-07-29 Marek Polacek <polacek@redhat.com> 2558 2559 PR c/71926 2560 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the 2561 parentheses warning. 2562 2563 PR c/71574 2564 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL. 2565 25662016-07-28 Martin Liska <mliska@suse.cz> 2567 2568 PR gcov-profile/68025 2569 * c-common.c (handle_no_profile_instrument_function_attribute): 2570 25712016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de> 2572 2573 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of 2574 BITS_PER_UNIT_LOG. 2575 25762016-07-25 Jason Merrill <jason@redhat.com> 2577 2578 PR c++/65970 2579 * c.opt (fconstexpr-loop-limit): New. 2580 25812016-07-22 Martin Sebor <msebor@redhat.com> 2582 2583 PR c++/71675 2584 * c-common.c (resolve_overloaded_builtin): Avoid converting 2585 __atomic_compare_exchange_n return type to that of what its 2586 first argument points to. 2587 25882016-07-22 Uros Bizjak <ubizjak@gmail.com> 2589 2590 * c-common.c: Use HOST_WIDE_INT_M1U instead of 2591 ~(unsigned HOST_WIDE_INT) 0. 2592 25932016-07-22 Martin Liska <mliska@suse.cz> 2594 2595 PR gcov-profile/69028 2596 PR gcov-profile/62047 2597 * cilk.c (create_cilk_helper_decl): Set location of a new decl 2598 to the current_function_decl. 2599 26002016-07-21 Jason Merrill <jason@redhat.com> 2601 2602 PR c++/65168 2603 * c-common.c (c_common_truthvalue_conversion): Check 2604 c_inhibit_evaluation_warnings for warning about address of 2605 reference. 2606 26072016-07-20 David Malcolm <dmalcolm@redhat.com> 2608 2609 * c-common.h (lookup_name_fuzzy): Convert return type from tree to 2610 const char *. 2611 26122016-07-15 Jason Merrill <jason@redhat.com> 2613 2614 * c-opts.c (c_common_post_options): Update -fabi-version default to 11. 2615 26162016-07-15 Jakub Jelinek <jakub@redhat.com> 2617 2618 PR c/71858 2619 * c-common.h (enum lookup_name_fuzzy_kind): Add 2620 FUZZY_LOOKUP_FUNCTION_NAME. 2621 26222016-07-08 Jason Merrill <jason@redhat.com> 2623 2624 P0145: Refining Expression Order for C++. 2625 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order. 2626 * c-opts.c: Adjust. 2627 26282016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de> 2629 2630 PR c++/71214 2631 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references. 2632 26332016-06-29 Thomas Schwinge <thomas@codesourcery.com> 2634 2635 * c-pragma.h (enum pragma_kind): Rename 2636 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all 2637 users. 2638 26392016-06-29 Richard Biener <rguenther@suse.de> 2640 2641 PR middle-end/71002 2642 * c-common.c (c_common_get_alias_set): Remove union type punning case. 2643 26442016-06-24 Jason Merrill <jason@redhat.com> 2645 2646 P0145R2: Refining Expression Order for C++. 2647 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of 2648 MODIFY_EXPR. 2649 26502016-06-24 Jakub Jelinek <jakub@redhat.com> 2651 2652 * c-common.c (check_builtin_function_arguments): Require last 2653 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type. 2654 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW 2655 if the last argument is pointer to enumerated or boolean type. 2656 26572016-06-22 David Malcolm <dmalcolm@redhat.com> 2658 2659 PR c/70339 2660 * c-common.h (enum lookup_name_fuzzy_kind): New enum. 2661 (lookup_name_fuzzy): New prototype. 2662 26632016-06-21 John David Anglin <danglin@gcc.gnu.org> 2664 2665 * c-common.c (get_source_date_epoch): Use int64_t instead of long long. 2666 26672016-06-14 Jason Merrill <jason@redhat.com> 2668 2669 P0145R2: Refining Expression Order for C++. 2670 * c.opt (fargs-in-order): New. 2671 * c-opts.c (c_common_post_options): Adjust flag_args_in_order. 2672 26732016-06-13 Jakub Jelinek <jakub@redhat.com> 2674 2675 PR sanitizer/71498 2676 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on 2677 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY. 2678 2679 PR preprocessor/71183 2680 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch 2681 to cb_get_source_date_epoch. 2682 26832016-06-10 Jakub Jelinek <jakub@redhat.com> 2684 2685 PR c/68657 2686 * c.opt (Wpsabi): Add Warning flag. 2687 26882016-06-10 Martin Sebor <msebor@redhat.com> 2689 2690 PR c/71392 2691 * c-common.c (handle_nonnull_attribute): Accept 2692 the nonnull attribute in type-generic builtins. 2693 26942016-06-09 Martin Sebor <msebor@redhat.com> 2695 2696 PR c/70883 2697 * c-common.c (builtin_function_validate_nargs): Make text of error 2698 message consistent with others like it. 2699 27002016-06-08 Martin Sebor <msebor@redhat.com> 2701 Jakub Jelinek <jakub@redhat.com> 2702 2703 PR c++/70507 2704 PR c/68120 2705 * c-common.c (check_builtin_function_arguments): Handle 2706 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P. 2707 27082016-06-08 Richard Biener <rguenther@suse.de> 2709 2710 * c-common.c (parse_optimize_options): Improve diagnostic messages. 2711 27122016-06-07 Richard Biener <rguenther@suse.de> 2713 2714 PR c/61564 2715 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION 2716 options and warn about others. 2717 27182016-06-01 Eduard Sanou <dhole@openmailbox.org> 2719 2720 * c-common.c (get_source_date_epoch): Rename to 2721 cb_get_source_date_epoch. 2722 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr 2723 message when the parsing fails. Use error_at instead of fatal_error. 2724 * c-common.h (get_source_date_epoch): Rename to 2725 cb_get_source_date_epoch. 2726 * c-common.h (cb_get_source_date_epoch): Prototype. 2727 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define. 2728 * c-common.h (c_omp_region_type): Remove trailing comma. 2729 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback. 2730 * c-lex.c (c_lex_with_flags): Remove initialization of 2731 pfile->source_date_epoch. 2732 27332016-05-30 Jakub Jelinek <jakub@redhat.com> 2734 2735 PR c++/71349 2736 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to 2737 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to 2738 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct, 2739 instead of C_OMP_CLAUSE_SPLIT_FOR. 2740 27412016-05-24 Richard Biener <rguenther@suse.de> 2742 2743 PR middle-end/70434 2744 PR c/69504 2745 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ... 2746 (convert_vector_to_array_for_subscript): ... this. 2747 * c-common.c (convert_vector_to_pointer_for_subscript): Use a 2748 VIEW_CONVERT_EXPR to an array type. Rename to ... 2749 (convert_vector_to_array_for_subscript): ... this. 2750 27512016-05-12 Marek Polacek <polacek@redhat.com> 2752 2753 PR c/70756 2754 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of 2755 size_in_bytes and pass LOC to it. 2756 27572016-05-11 Mikhail Maltsev <maltsevm@gmail.com> 2758 2759 PR c/43651 2760 * c.opt (Wduplicate-decl-specifier): New option. 2761 27622016-05-11 Marek Polacek <polacek@redhat.com> 2763 2764 PR c++/71024 2765 * c-common.c (diagnose_mismatched_attributes): New function. 2766 * c-common.h (diagnose_mismatched_attributes): Declare. 2767 27682016-05-04 Marek Polacek <polacek@redhat.com> 2769 2770 * c.opt (Wdangling-else): New option. 2771 27722016-05-03 Marek Polacek <polacek@redhat.com> 2773 2774 PR c/70859 2775 * c-common.c (builtin_function_validate_nargs): Add location 2776 parameter. Use it. 2777 (check_builtin_function_arguments): Add location and arguments 2778 parameters. Use them. 2779 * c-common.h (check_builtin_function_arguments): Update declaration. 2780 27812016-05-03 Richard Biener <rguenther@suse.de> 2782 2783 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not 2784 allow call args to gimplify to SSA names. 2785 27862016-05-03 Marek Polacek <polacek@redhat.com> 2787 2788 * c-common.h (enum c_omp_region_type): Remove stray comma. 2789 27902016-05-02 Cesar Philippidis <cesar@codesourcery.com> 2791 2792 * c-common.h (enum c_omp_region_type): Define. 2793 27942016-05-02 Richard Sandiford <richard.sandiford@arm.com> 2795 2796 * c-common.c (shorten_compare): Use wi::to_wide. 2797 27982016-04-29 Cesar Philippidis <cesar@codesourcery.com> 2799 2800 PR middle-end/70626 2801 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument. 2802 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate 2803 reduction clauses in acc parallel loops. 2804 28052016-04-29 Marek Polacek <polacek@redhat.com> 2806 2807 PR c/70852 2808 * c-common.c (warn_for_memset): Check domain before accessing it. 2809 28102016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com> 2811 2812 PR/69089 2813 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the 2814 "aligned" attribute. 2815 28162016-04-28 Jason Merrill <jason@redhat.com> 2817 2818 * c-lex.c (c_common_has_attribute): Handle nodiscard. 2819 28202016-04-28 Eduard Sanou <dhole@openmailbox.org> 2821 Matthias Klose <doko@debian.org> 2822 2823 * c-common.c (get_source_date_epoch): New function, gets the environment 2824 variable SOURCE_DATE_EPOCH and parses it as long long with error 2825 handling. 2826 * c-common.h (get_source_date_epoch): Prototype. 2827 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch. 2828 28292015-04-27 Ryan Burn <contact@rnburn.com> 2830 2831 PR c++/69024 2832 PR c++/68997 2833 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage. 2834 (cilk_recognize_spawn): Renamed from recognize_spawn and change to 2835 external linkage. 2836 (cilk_detect_and_unwrap): Corresponding changes. 2837 (extract_free_variables): Don't extract free variables from 2838 AGGR_INIT_EXPR slot. 2839 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype. 2840 (cilk_recognize_spawn): Likewise. 2841 28422016-04-27 Bernd Schmidt <bschmidt@redhat.com> 2843 2844 * c.opt (Wmemset-elt-size): New option. 2845 * c-common.c (warn_for_memset): New function. 2846 * c-common.h (warn_for_memset): Declare. 2847 28482016-04-25 Jason Merrill <jason@redhat.com> 2849 2850 * c-common.c (handle_unused_attribute): Accept CONST_DECL. 2851 No longer static. 2852 * c-common.h: Declare it. 2853 * c-lex.c (c_common_has_attribute): Add maybe_unused. 2854 28552016-04-22 Jason Merrill <jason@redhat.com> 2856 2857 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for. 2858 28592016-04-20 Ilya Verbin <ilya.verbin@intel.com> 2860 2861 PR c++/69363 2862 * c-cilkplus.c (c_finish_cilk_clauses): Remove function. 2863 * c-common.h (c_finish_cilk_clauses): Remove declaration. 2864 28652016-04-18 Michael Matz <matz@suse.de> 2866 2867 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN 2868 and SET_DECL_ALIGN. 2869 28702016-04-17 Eric Botcazou <ebotcazou@adacore.com> 2871 2872 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any. 2873 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access 2874 to incomplete types. 2875 (dump_nested_type): Remove redundant tests and tidy up. 2876 (print_ada_declaration): Also set TREE_VISITED on the declaration of 2877 a type which is the typedef of an original type. 2878 28792016-04-15 Marek Polacek <polacek@redhat.com> 2880 2881 PR c/70651 2882 * c-common.c (build_va_arg): Change two asserts into errors and return 2883 error_mark_node. 2884 28852016-04-13 Marek Polacek <polacek@redhat.com> 2886 2887 PR c++/70639 2888 * c-indentation.c (should_warn_for_misleading_indentation): Bail out 2889 for switch statements, too. 2890 28912016-03-28 Jason Merrill <jason@redhat.com> 2892 2893 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for. 2894 28952016-03-23 Marek Polacek <polacek@redhat.com> 2896 2897 PR c++/69884 2898 * c.opt (Wignored-attributes): New option. 2899 29002016-03-22 David Malcolm <dmalcolm@redhat.com> 2901 2902 PR c/69993 2903 * c-indentation.c (warn_for_misleading_indentation): Rewrite the 2904 diagnostic text, reversing the order of the warning and note so 2905 that they appear in source order. 2906 29072016-03-17 Marek Polacek <polacek@redhat.com> 2908 2909 PR c/69407 2910 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch 2911 operations. 2912 29132016-03-14 Jason Merrill <jason@redhat.com> 2914 2915 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float. 2916 2917 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for. 2918 29192016-03-09 Richard Biener <rguenther@suse.de> 2920 2921 PR c/70143 2922 * c-common.c (strict_aliasing_warning): Add back 2923 alias_sets_conflict_p check. 2924 29252016-03-08 Jason Merrill <jason@redhat.com> 2926 2927 * c-opts.c (set_std_cxx1z): Don't enable concepts. 2928 29292016-03-04 David Malcolm <dmalcolm@redhat.com> 2930 2931 PR c/68187 2932 * c-indentation.c (get_visual_column): Move code to determine next 2933 tab stop to... 2934 (next_tab_stop): ...this new function. 2935 (line_contains_hash_if): Delete function. 2936 (detect_preprocessor_logic): Delete function. 2937 (get_first_nws_vis_column): New function. 2938 (detect_intervening_unindent): New function. 2939 (should_warn_for_misleading_indentation): Replace call to 2940 detect_preprocessor_logic with a call to 2941 detect_intervening_unindent. 2942 29432016-03-04 David Malcolm <dmalcolm@redhat.com> 2944 2945 PR c/68187 2946 * c-indentation.c (should_warn_for_misleading_indentation): When 2947 suppressing warnings about cases where the guard and body are on 2948 the same column, only use the first non-whitespace column in place 2949 of the guard token column when dealing with "else" clauses. 2950 When rejecting aligned BODY and NEXT, loosen the requirement 2951 from equality with the first non-whitespace of guard to simply 2952 that they not be indented relative to it. 2953 29542016-03-04 Richard Biener <rguenther@suse.de> 2955 2956 PR c++/70054 2957 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of 2958 instead of alias_sets_conflict_p. 2959 29602016-03-01 Marek Polacek <polacek@redhat.com> 2961 2962 PR c++/69795 2963 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than 2964 any DECL. 2965 29662016-02-22 Martin Sebor <msebor@redhat.com> 2967 2968 PR middle-end/69780 2969 * c-common.c (check_builtin_function_arguments): Validate and 2970 reject invalid arguments to __builtin_alloca_with_align. 2971 29722016-02-20 Mark Wielaard <mjw@redhat.com> 2973 2974 PR c/28901 2975 * c.opt (Wunused-const-variable): Turn into Alias for... 2976 (Wunused-const-variable=): New option. 2977 29782016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de> 2979 2980 PR c++/69865 2981 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from 2982 here... 2983 (c_common_init_options): ...to here. 2984 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99. 2985 29862016-02-19 Jakub Jelinek <jakub@redhat.com> 2987 2988 PR c++/69826 2989 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE. 2990 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for 2991 flag_preprocess_only. 2992 29932016-02-16 Jakub Jelinek <jakub@redhat.com> 2994 2995 PR c/69835 2996 * c.opt (Wnonnull-compare): Enable for -Wall. 2997 29982016-02-15 Jakub Jelinek <jakub@redhat.com> 2999 3000 PR c++/69797 3001 * c-common.c (sync_resolve_size): Diagnose too few arguments 3002 even when params is non-NULL empty vector. 3003 30042016-02-08 Bernd Schmidt <bschmidt@redhat.com> 3005 3006 PR target/60410 3007 * c.opt (fshort-double): Remove. 3008 30092016-02-05 Martin Sebor <msebor@redhat.com> 3010 3011 PR c++/69662 3012 * c.opt (Warning options): Update -Wplacement-new to take 3013 an optional argument. 3014 30152016-02-01 Jakub Jelinek <jakub@redhat.com> 3016 3017 PR preprocessor/69543 3018 PR c/69558 3019 * c-pragma.c (handle_pragma_diagnostic): Pass input_location 3020 instead of loc to control_warning_option. 3021 30222016-02-01 Nathan Sidwell <nathan@codesourcery.com> 3023 3024 * c.opt (fopenacc-dim=): New option. 3025 30262016-01-27 Ryan Burn <contact@rnburn.com> 3027 3028 PR cilkplus/69267 3029 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use 3030 gimplify_arg. Removed superfluous post_p argument. 3031 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed 3032 superfluous post_p argument. 3033 * c-gimplify.c (c_gimplify_expr): Likewise. 3034 30352016-01-26 David Malcolm <dmalcolm@redhat.com> 3036 3037 PR other/69006 3038 * c-opts.c (c_diagnostic_finalizer): Replace invocation of 3039 pp_newline_and_flush with pp_flush. 3040 30412016-01-20 Martin Sebor <msebor@redhat.com> 3042 3043 PR c/69405 3044 * c-common.c (sync_resolve_size): Avoid printing diagnostic about 3045 an incompatible argument when the argument isn't a valid tree node. 3046 30472016-01-18 Jason Merrill <jason@redhat.com> 3048 3049 PR c++/68767 3050 * c-common.c (check_function_arguments_recurse): Fold the whole 3051 COND_EXPR, not just the condition. 3052 30532016-01-18 Tom de Vries <tom@codesourcery.com> 3054 3055 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION, 3056 classify as loop clause. 3057 30582016-01-15 Jakub Jelinek <jakub@redhat.com> 3059 3060 PR bootstrap/68271 3061 * c-pragma.c (c_register_pragma_1): Adjust comment to note that 3062 C++ FE no longer has limit on number of pragmas. 3063 30642015-01-14 Ryan Burn <contact@rnburn.com> 3065 3066 PR c++/69048 3067 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr 3068 to add missing cleanup point. 3069 30702016-01-14 David Malcolm <dmalcolm@redhat.com> 3071 3072 PR c++/68819 3073 * c-indentation.c (get_visual_column): Add location_t param. 3074 Handle the column number being zero by effectively disabling the 3075 warning, with an "inform". 3076 (should_warn_for_misleading_indentation): Add location_t argument 3077 for all uses of get_visual_column. 3078 30792016-01-10 Patrick Palka <ppalka@gcc.gnu.org> 3080 3081 PR c++/69029 3082 * c-indentation.c (should_warn_for_misleading_indentation): 3083 Don't warn about do-while statements. 3084 30852016-01-07 Martin Sebor <msebor@redhat.com> 3086 3087 PR c/68966 3088 * c-common.c (sync_resolve_size): Reject first argument when it's 3089 a pointer to _Bool. 3090 30912016-01-05 David Malcolm <dmalcolm@redhat.com> 3092 3093 PR c/69122 3094 * c-indentation.c (get_visual_column): Remove default argument. 3095 (should_warn_for_misleading_indentation): For the multiline case, 3096 update call to get_visual_column for next_stmt_exploc so that it 3097 captures the location of the first non-whitespace character in the 3098 relevant line. Don't issue warnings if there is non-whitespace 3099 before the next statement. 3100 31012016-01-04 Jakub Jelinek <jakub@redhat.com> 3102 3103 Update copyright years. 3104 31052015-12-21 David Malcolm <dmalcolm@redhat.com> 3106 3107 * c-common.c (binary_op_error): Convert first param from 3108 location_t to rich_location * and use it when emitting an error. 3109 * c-common.h (binary_op_error): Convert first param from 3110 location_t to rich_location *. 3111 31122015-12-16 David Malcolm <dmalcolm@redhat.com> 3113 3114 * c-common.h (conflict_marker_get_final_tok_kind): New prototype. 3115 * c-lex.c (conflict_marker_get_final_tok_kind): New function. 3116 31172015-12-15 Ilya Verbin <ilya.verbin@intel.com> 3118 3119 * c-common.c (c_common_attribute_table): Handle "omp declare target 3120 link" attribute. 3121 31222015-12-14 Jakub Jelinek <jakub@redhat.com> 3123 3124 PR c/68833 3125 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option. 3126 31272014-12-12 Tobias Burnus <burnus@net-b.de> 3128 3129 PR fortran/68815 3130 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining 3131 specifiers (%d, %i,%u and %c). 3132 31332015-12-10 David Malcolm <dmalcolm@redhat.com> 3134 3135 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++. 3136 31372015-12-08 Jakub Jelinek <jakub@redhat.com> 3138 3139 PR c/48088 3140 PR c/68657 3141 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning. 3142 * c-pragma.c (handle_pragma_diagnostic): Adjust 3143 control_warning_option caller. 3144 31452015-12-07 David Malcolm <dmalcolm@redhat.com> 3146 3147 * c-common.c (c_cpp_error): Update for change to 3148 rich_location::set_range. 3149 31502015-12-04 Paolo Bonzini <bonzini@gnu.org> 3151 3152 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if 3153 shifting 1 out of the sign bit. 3154 31552015-12-04 Kirill Yukhin <kirill.yukhin@intel.com> 3156 3157 * c-common.c (c_common_attribute_table[]): Update max arguments 3158 count for "simd" attribute. 3159 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments. 3160 31612015-12-03 Jakub Jelinek <jakub@redhat.com> 3162 3163 PR preprocessor/57580 3164 * c-ppoutput.c (print): Change printed field to bool. 3165 Move src_file last for smaller padding. 3166 (init_pp_output): Set print.printed to false instead of 0. 3167 (scan_translation_unit): Fix up formatting. Set print.printed 3168 to true after printing something other than newline. 3169 (scan_translation_unit_trad): Set print.printed to true instead of 1. 3170 (maybe_print_line_1): Set print.printed to false instead of 0. 3171 (print_line_1): Likewise. 3172 (do_line_change): Set print.printed to true instead of 1. 3173 (cb_define, dump_queued_macros, cb_include, cb_def_pragma, 3174 dump_macro): Set print.printed to false after printing newline. 3175 31762015-12-02 Jason Merrill <jason@redhat.com> 3177 3178 * c-common.c (fold_for_warn): New. 3179 (warn_logical_operator, warn_tautological_cmp) 3180 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it. 3181 3182 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold) 3183 (c_fully_fold_internal, decl_constant_value_for_optimization): 3184 Move to c/c-fold.c. 3185 * c-common.h: Don't declare decl_constant_value_for_optimization. 3186 31872015-12-02 Joseph Myers <joseph@codesourcery.com> 3188 3189 PR c/68162 3190 * c-common.h (c_build_qualified_type): Add extra default 3191 arguments. 3192 31932015-12-01 Julian Brown <julian@codesourcery.com> 3194 Cesar Philippidis <cesar@codesourcery.com> 3195 James Norris <James_Norris@mentor.com> 3196 3197 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA. 3198 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA. 3199 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE. 3200 32012015-11-30 Eric Botcazou <ebotcazou@adacore.com> 3202 3203 * c-ada-spec.c (print_ada_macros): Remove redundant blank line. 3204 (decl_sloc_common): Delete and move bulk of processing to... 3205 (decl_sloc): ...here. 3206 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE. 3207 (dump_ada_double_name): Remove S parameter and compute the suffix. 3208 (dump_ada_array_type): Add PARENT parameter. Simplify computation of 3209 element type and deal with an anonymous one. 3210 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro. 3211 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type 3212 and remove reference to QUAL_UNION_TYPE. 3213 (dump_nested_types): Make 2 passes on the fields and move bulk to... 3214 (dump_nested_type): ...here. New function extracted from above. 3215 Generate a full declaration for anonymous element type of arrays. 3216 (print_ada_declaration): Really skip anonymous declarations. Remove 3217 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type. 3218 Clean up processing of declarations of array types and objects. 3219 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE. 3220 Remove obsolete code and tidy up. 3221 32222015-11-29 Jan Hubicka <hubicka@ucw.cz> 3223 3224 PR c/67581 3225 * c-common.c (handle_transparent_union_attribute): Update 3226 also type variants. 3227 32282015-11-27 Martin Liska <mliska@suse.cz> 3229 3230 PR c++/68312 3231 * array-notation-common.c (cilkplus_extract_an_triplets): 3232 Release vector of vectors. 3233 * cilk.c (gimplify_cilk_spawn): Free allocated memory. 3234 32352015-11-26 Eric Botcazou <ebotcazou@adacore.com> 3236 3237 PR c++/68527 3238 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node. 3239 (print_ada_struct_decl): Likewise. 3240 32412015-11-23 Igor Zamyatin <igor.zamyatin@intel.com> 3242 3243 PR c++/68001 3244 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error. 3245 * cilk.c (recognize_spawn): Determine location in a more precise 3246 way. 3247 32482015-11-19 Jason Merrill <jason@redhat.com> 3249 3250 * c-common.c (shorten_compare): But look through macros from 3251 system headers. 3252 32532015-11-18 Jason Merrill <jason@redhat.com> 3254 3255 * c-common.c (shorten_compare): Don't -Wtype-limits if the 3256 non-constant operand comes from a macro. 3257 32582015-11-17 Jason Merrill <jason@redhat.com> 3259 3260 PR bootstrap/68346 3261 * c-common.c (warn_tautological_cmp): Fold before checking for 3262 constants. 3263 32642015-11-16 Marek Polacek <polacek@redhat.com> 3265 3266 PR c++/68362 3267 * c-common.c (check_case_bounds): Fold low and high cases. 3268 32692015-11-16 Marek Polacek <polacek@redhat.com> 3270 3271 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P. 3272 * c-common.c (c_common_get_alias_set): Likewise. 3273 (handle_visibility_attribute): Likewise. 3274 32752015-11-16 Kirill Yukhin <kirill.yukhin@intel.com> 3276 3277 * c-common.c (handle_simd_attribute): New. 3278 (struct attribute_spec): Add entry for "simd". 3279 (handle_simd_attribute): New. 3280 32812015-11-13 Kai Tietz <ktietz70@googlemail.com> 3282 3283 * c-lex.c (interpret_float): Use fold_convert. 3284 32852015-11-13 David Malcolm <dmalcolm@redhat.com> 3286 3287 * c-common.c (c_fully_fold_internal): Capture existing souce_range, 3288 and store it on the result. 3289 * c-opts.c (c_common_init_options): Set 3290 global_dc->colorize_source_p. 3291 32922015-11-12 James Norris <jnorris@codesourcery.com> 3293 Joseph Myers <joseph@codesourcery.com> 3294 3295 * c-pragma.c (oacc_pragmas): Add entry for declare directive. 3296 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE. 3297 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and 3298 PRAGMA_OACC_CLAUSE_LINK. 3299 33002015-11-11 Marek Polacek <polacek@redhat.com> 3301 3302 PR c/68107 3303 PR c++/68266 3304 * c-common.c (valid_array_size_p): New function. 3305 * c-common.h (valid_array_size_p): Declare. 3306 33072015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr> 3308 3309 PR bootstrap/68271 3310 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256. 3311 33122015-11-11 Andrew MacLeod <amacleod@redhat.com> 3313 3314 * array-notation-common.c: Remove unused header files. 3315 * c-ada-spec.c: Likewise. 3316 * c-cilkplus.c: Likewise. 3317 * c-common.c: Likewise. 3318 * c-cppbuiltin.c: Likewise. 3319 * c-dump.c: Likewise. 3320 * c-format.c: Likewise. 3321 * c-gimplify.c: Likewise. 3322 * c-indentation.c: Likewise. 3323 * c-lex.c: Likewise. 3324 * c-omp.c: Likewise. 3325 * c-opts.c: Likewise. 3326 * c-pch.c: Likewise. 3327 * c-ppoutput.c: Likewise. 3328 * c-pragma.c: Likewise. 3329 * c-pretty-print.c: Likewise. 3330 * c-semantics.c: Likewise. 3331 * c-ubsan.c: Likewise. 3332 * cilk.c: Likewise. 3333 * stub-objc.c: Likewise. 3334 33352015-11-09 Thomas Schwinge <thomas@codesourcery.com> 3336 Cesar Philippidis <cesar@codesourcery.com> 3337 James Norris <jnorris@codesourcery.com> 3338 Julian Brown <julian@codesourcery.com> 3339 Nathan Sidwell <nathan@codesourcery.com> 3340 3341 * c-pragma.c (oacc_pragmas): Add "routine". 3342 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE. 3343 33442015-11-08 Eric Botcazou <ebotcazou@adacore.com> 3345 3346 * c-common.c (c_common_attributes): Add scalar_storage_order. 3347 (handle_scalar_storage_order_attribute): New function. 3348 * c-pragma.c (global_sso): New variable. 3349 (maybe_apply_pragma_scalar_storage_order): New function. 3350 (handle_pragma_scalar_storage_order): Likewise. 3351 (init_pragma): Register scalar_storage_order. 3352 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare. 3353 * c.opt (Wscalar-storage-order): New warning. 3354 (fsso-struct=): New option. 3355 33562015-11-08 Martin Sebor <msebor@redhat.com> 3357 3358 * c.opt (Wplacement-new): Add a period to the end of a sentence. 3359 33602015-11-07 Richard Sandiford <richard.sandiford@arm.com> 3361 3362 * c-common.c: Don't undef DEF_BUILTIN. 3363 33642015-11-06 David Malcolm <dmalcolm@redhat.com> 3365 3366 * c-common.c (c_cpp_error): Convert parameter from location_t to 3367 rich_location *. Eliminate the "column_override" parameter and 3368 the call to diagnostic_override_column. 3369 Update the "done_lexing" clause to set range 0 3370 on the rich_location, rather than overwriting a location_t. 3371 * c-common.h (c_cpp_error): Convert parameter from location_t to 3372 rich_location *. Eliminate the "column_override" parameter. 3373 33742015-11-05 Cesar Philippidis <cesar@codesourcery.com> 3375 Thomas Schwinge <thomas@codesourcery.com> 3376 James Norris <jnorris@codesourcery.com> 3377 3378 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR, 3379 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION 3380 clauses with parallel and kernels and loops. 3381 * c-pragma.h (enum pragma_omp_clause): Add entries for 3382 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}. 3383 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS, 3384 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO, 3385 INDEPENDENT,SEQ}. 3386 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}. 3387 33882015-11-05 Martin Sebor <msebor@redhat.com> 3389 3390 PR c++/67942 3391 * c.opt (-Wplacement-new): New option. 3392 33932015-11-05 Jakub Jelinek <jakub@redhat.com> 3394 3395 * c-common.h (c_finish_omp_atomic): Add TEST argument. 3396 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes. 3397 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call 3398 save_expr or create_tmp_var* if TEST is true. 3399 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always. 3400 Don't call add_stmt here. 3401 (struct c_omp_check_loop_iv_data): New type. 3402 (c_omp_check_loop_iv_r, c_omp_check_loop_iv, 3403 c_omp_check_loop_iv_exprs): New functions. 3404 (c_omp_split_clauses): Adjust for lastprivate being allowed on 3405 distribute. 3406 (c_omp_declare_simd_clauses_to_numbers): Change 3407 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers. 3408 (c_omp_declare_simd_clauses_to_decls): Similarly change those 3409 from numbers to PARM_DECLs. 3410 34112015-11-04 Mikhail Maltsev <maltsevm@gmail.com> 3412 3413 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use 3414 flag_checking. 3415 34162015-11-03 Bernd Schmidt <bschmidt@redhat.com> 3417 3418 PR c++-common/67882 3419 * c-common.h (fold_offsetof_1): Add argument. 3420 * c-common.c (fold_offsetof_1): Diagnose more invalid 3421 offsetof expressions that reference elements past the end of 3422 an array. 3423 34242015-11-03 Thomas Schwinge <thomas@codesourcery.com> 3425 Chung-Lin Tang <cltang@codesourcery.com> 3426 3427 * c-pragma.c (oacc_pragmas): Add "atomic". 3428 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC. 3429 34302015-10-30 Evgeny Stupachenko <evstupac@gmail.com> 3431 3432 * c-common.c (handle_target_clones_attribute): New. 3433 (c_common_attribute_table): Add handle_target_clones_attribute. 3434 (handle_always_inline_attribute): Add check on target_clones attribute. 3435 (handle_target_attribute): Ditto. 3436 34372015-10-29 Andrew MacLeod <amacleod@redhat.com> 3438 3439 * array-notation-common.c: Reorder #include's and remove duplicates. 3440 * c-ada-spec.c: Likewise. 3441 * c-cilkplus.c: Likewise. 3442 * c-common.c: Likewise. 3443 * c-cppbuiltin.c: Likewise. 3444 * c-dump.c: Likewise. 3445 * c-format.c: Likewise. 3446 * c-gimplify.c: Likewise. 3447 * c-indentation.c: Likewise. 3448 * c-lex.c: Likewise. 3449 * c-omp.c: Likewise. 3450 * c-opts.c: Likewise. 3451 * c-pch.c: Likewise. 3452 * c-ppoutput.c: Likewise. 3453 * c-pragma.c: Likewise. 3454 * c-pretty-print.c: Likewise. 3455 * c-semantics.c: Likewise. 3456 * c-ubsan.c: Likewise. 3457 * cilk.c: Likewise. 3458 * stub-objc.c: Likewise. 3459 34602015-10-28 Jason Merrill <jason@redhat.com> 3461 3462 * c-common.c (pointer_int_sum): Fold the MULT_EXPR. 3463 34642015-10-27 Thomas Schwinge <thomas@codesourcery.com> 3465 James Norris <jnorris@codesourcery.com> 3466 Cesar Philippidis <cesar@codesourcery.com> 3467 3468 PR c/64765 3469 PR c/64880 3470 * c-common.h (c_oacc_split_loop_clauses): Declare function. 3471 * c-omp.c (c_oacc_split_loop_clauses): New function. 3472 34732015-10-21 Martin Sebor <msebor@redhat.com> 3474 3475 PR driver/68043 3476 * c.opt: End each sentence that describes an option with a period. 3477 34782015-10-20 Marek Polacek <polacek@redhat.com> 3479 3480 * array-notation-common.c (is_cilkplus_vector_p): Define. 3481 * c-common.h (is_cilkplus_vector_p): Declare. 3482 34832015-10-20 Marek Polacek <polacek@redhat.com> 3484 3485 * c.opt (std=gnu++11): Do not describe as experimental. 3486 (std=gnu++14): Likewise. 3487 34882015-10-19 Jason Merrill <jason@redhat.com> 3489 3490 * c-cppbuiltin.c (c_cpp_builtins): Define 3491 __cpp_nontype_template_args. 3492 34932015-10-19 Jason Merrill <jason@redhat.com> 3494 3495 * c-cppbuiltin.c (c_cpp_builtins): Define 3496 __cpp_enumerator_attributes, __cpp_fold_expressions, 3497 __cpp_unicode_characters. 3498 34992015-10-13 Jakub Jelinek <jakub@redhat.com> 3500 Aldy Hernandez <aldyh@redhat.com> 3501 3502 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9, 3503 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11. 3504 (c_define_builtins): Likewise. 3505 * c-common.h (enum c_omp_clause_split): Add 3506 C_OMP_CLAUSE_SPLIT_TASKLOOP. 3507 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument. 3508 (c_finish_omp_for): Add ORIG_DECLV argument. 3509 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as 3510 201511 instead of 201307. 3511 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set 3512 OMP_CRITICAL_CLAUSES to it. 3513 (c_finish_omp_ordered): Add CLAUSES argument, set 3514 OMP_ORDERED_CLAUSES to it. 3515 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS 3516 to it if OMP_FOR. Clear DECL_INITIAL on the IVs. 3517 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite 3518 constructs and new OpenMP 4.5 clauses. Clear 3519 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add 3520 verification code. 3521 * c-pragma.c (omp_pragmas_simd): Add taskloop. 3522 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP. 3523 (enum pragma_omp_clause): Add 3524 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR} 3525 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}. 3526 35272015-10-05 Richard Sandiford <richard.sandiford@arm.com> 3528 3529 * c-lex.c (interpret_float): Use real_equal instead of 3530 REAL_VALUES_EQUAL. 3531 35322015-10-04 Jason Merrill <jason@redhat.com> 3533 3534 Implement N4514, C++ Extensions for Transactional Memory. 3535 * c-common.c (c_common_reswords): Add C++ TM TS keywords. 3536 (c_common_attribute_table): Add transaction_safe_dynamic. 3537 transaction_safe now affects type identity. 3538 (handle_tm_attribute): Handle transaction_safe_dynamic. 3539 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT, 3540 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED. 3541 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED. 3542 (D_TRANSMEM): New. 3543 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory. 3544 * c-pretty-print.c (pp_c_attributes_display): Don't print 3545 transaction_safe in C++. 3546 35472015-10-02 Marek Polacek <polacek@redhat.com> 3548 3549 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore. 3550 35512015-10-02 Marek Polacek <polacek@redhat.com> 3552 3553 PR c/64249 3554 * c-common.c (warn_duplicated_cond_add_or_warn): New function. 3555 * c-common.h (warn_duplicated_cond_add_or_warn): Declare. 3556 * c.opt (Wduplicated-cond): New option. 3557 35582015-10-01 Joseph Myers <joseph@codesourcery.com> 3559 3560 * c.opt (std=c11): Do not describe as experimental. 3561 (std=gnu11): Likewise. 3562 (std=iso9899:2011): Likewise. 3563 35642015-09-28 Nathan Sidwell <nathan@codesourcery.com> 3565 3566 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New. 3567 (DEF_FUNCTION_TYPE_VAR_11): Delete. 3568 35692015-09-25 Marek Polacek <polacek@redhat.com> 3570 3571 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code. 3572 (ubsan_instrument_shift): Likewise. 3573 35742015-09-25 Marek Polacek <polacek@redhat.com> 3575 3576 PR sanitizer/64906 3577 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1. 3578 35792015-09-24 Patrick Palka <ppalka@gcc.gnu.org> 3580 3581 * c-indentation.c (should_warn_for_misleading_indentation): 3582 Compare next_stmt_vis_column with guard_line_first_nws instead 3583 of with guard_line_vis_column. 3584 35852015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org> 3586 3587 PR c/49654 3588 PR c/49655 3589 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning 3590 options and options not valid for the current language. 3591 35922015-09-22 Patrick Palka <ppalka@gcc.gnu.org> 3593 3594 * c-indentation.c (should_warn_for_misleading_indentation): 3595 Float out and consolidate the calls to get_visual_column that 3596 are passed guard_exploc as an argument. Compare 3597 next_stmt_vis_column with guard_line_first_nws instead of with 3598 body_line_first_nws. 3599 36002015-09-22 Nathan Sidwell <nathan@codesourcery.com> 3601 3602 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates, 3603 Wnamespaces): New C++ warnings. 3604 36052015-09-22 Jason Merrill <jason@redhat.com> 3606 3607 * c-common.h (abi_compat_version_crosses): New. 3608 (warn_abi_version): Declare. 3609 * c-common.c: Define it. 3610 * c-opts.c (c_common_post_options): Handle it. 3611 flag_abi_compat_version defaults to 8. 3612 36132015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com> 3614 3615 Complete the implementation of N4230, Nested namespace definition. 3616 * c-cppbuiltin.c: Add __cpp_namespace_attributes and 3617 __cpp_nested_namespace_definitions. 3618 36192015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org> 3620 3621 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return. 3622 36232015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org> 3624 3625 * c-pragma.c (handle_pragma_diagnostic): Use explicit location 3626 when warning. 3627 * c-pragma.h (pragma_lex): Add optional loc argument. 3628 36292015-09-16 Mikhail Maltsev <maltsevm@gmail.com> 3630 3631 * c-format.c (check_format_arg): Adjust to use common block size in all 3632 object pools. 3633 36342015-09-15 David Malcolm <dmalcolm@redhat.com> 3635 3636 * c-format.c (location_from_offset): Update for change in 3637 signature of location_get_source_line. 3638 * c-indentation.c (get_visual_column): Likewise. 3639 (line_contains_hash_if): Likewise. 3640 36412015-09-14 Marek Polacek <polacek@redhat.com> 3642 3643 * c-opts.c (c_common_post_options): Set C++ standard earlier, before 3644 setting various warnings. 3645 36462015-09-14 Marek Polacek <polacek@redhat.com> 3647 3648 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting 3649 a negative value. 3650 36512015-09-11 Mark Wielaard <mjw@redhat.com> 3652 3653 PR c/28901 3654 * c.opt (Wunused-variable): Option from common.opt. 3655 (Wunused-const-variable): New option. 3656 36572015-09-09 Paolo Carlini <paolo.carlini@oracle.com> 3658 3659 PR c++/53184 3660 * c.opt ([Wsubobject-linkage]): Add. 3661 36622015-09-03 Martin Sebor <msebor@redhat.com> 3663 3664 PR c/66516 3665 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new 3666 functions. 3667 * c-common.c (reject_gcc_builtin): Define. 3668 36692015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com> 3670 3671 PR middle-end/60586 3672 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New 3673 prototype. 3674 * c-gimplify.c (c_gimplify_expr): Added a call to the function 3675 cilk_gimplify_call_params_in_spawned_fn. 3676 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function. 3677 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR 3678 unwrapping. 3679 36802015-08-25 Marek Polacek <polacek@redhat.com> 3681 3682 PR middle-end/67330 3683 * c-common.c (handle_weak_attribute): Don't check whether the 3684 visibility can be changed here. 3685 36862015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org> 3687 3688 * c-lex.c (c_lex_with_flags): Use explicit locations. 3689 36902015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> 3691 3692 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h, 3693 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless 3694 36952015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 3696 3697 PR middle-end/36757 3698 * c-common.c (check_builtin_function_arguments): Add check 3699 for BUILT_IN_SIGNBIT argument. 3700 37012015-08-18 Paolo Carlini <paolo.carlini@oracle.com> 3702 3703 PR c++/67160 3704 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value 3705 in c++1z mode. 3706 37072015-08-17 Marek Polacek <polacek@redhat.com> 3708 3709 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing 3710 with whitespaces before qualifier names. 3711 37122015-08-12 Marek Polacek <polacek@redhat.com> 3713 3714 PR c++/55095 3715 * c-common.c (maybe_warn_shift_overflow): Properly handle 3716 left-shifting 1 into the sign bit. 3717 37182015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org> 3719 3720 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy. 3721 37222015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com> 3723 Braden Obrzut <admin@maniacsvault.net> 3724 Jason Merrill <jason@redhat.com> 3725 3726 Add C++ Concepts TS support. 3727 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires. 3728 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES. 3729 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New. 3730 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts. 3731 * c-opts.c (set_std_cxx1z): Set flag_concepts. 3732 * c.opt (fconcepts): New. 3733 37342015-08-02 Martin Sebor <msebor@redhat.com> 3735 3736 * c.opt (-Wframe-address): New warning option. 3737 37382015-08-02 Patrick Palka <ppalka@gcc.gnu.org> 3739 3740 * c-indentation.c (should_warn_for_misleading_indentation): 3741 Improve heuristics. 3742 37432015-08-02 Patrick Palka <ppalka@gcc.gnu.org> 3744 3745 * c-indentation.c (get_visual_column): Add parameter first_nws, 3746 use it. Update comment documenting the function. 3747 (is_first_nonwhitespace_on_line): Remove. 3748 (should_warn_for_misleading_indentation): Replace usage of 3749 of is_first_nonwhitespace_on_line with get_visual_column. 3750 37512015-08-02 Patrick Palka <ppalka@gcc.gnu.org> 3752 3753 * c-indentation.h (struct token_indent_info): Define. 3754 (get_token_indent_info): Define. 3755 (warn_for_misleading_information): Declare. 3756 * c-common.h (warn_for_misleading_information): Remove. 3757 * c-identation.c (warn_for_misleading_indentation): 3758 Change declaration to take three token_indent_infos. Adjust 3759 accordingly. 3760 * c-identation.c (should_warn_for_misleading_indentation): 3761 Likewise. Bail out early if the body is a compound statement. 3762 (guard_tinfo_to_string): Define. 3763 37642015-07-30 Jason Merrill <jason@redhat.com> 3765 3766 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print 3767 '*' for reference decay. 3768 37692015-07-30 Marek Polacek <polacek@redhat.com> 3770 3771 * c-common.c (warn_tautological_cmp): Bail for float types. 3772 37732015-07-27 Marek Polacek <polacek@redhat.com> 3774 3775 PR bootstrap/67030 3776 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion. 3777 37782015-07-27 Marek Polacek <polacek@redhat.com> 3779 3780 PR c++/66555 3781 PR c/54979 3782 * c-common.c (find_array_ref_with_const_idx_r): New function. 3783 (warn_tautological_cmp): New function. 3784 * c-common.h (warn_tautological_cmp): Declare. 3785 * c.opt (Wtautological-compare): New option. 3786 37872015-07-23 Marek Polacek <polacek@redhat.com> 3788 3789 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout. 3790 (ubsan_instrument_shift): Likewise. 3791 37922015-07-23 Marek Polacek <polacek@redhat.com> 3793 3794 PR sanitizer/66908 3795 * c-ubsan.c: Include gimplify.h. 3796 (ubsan_instrument_division): Unshare OP0 and OP1. 3797 (ubsan_instrument_shift): Likewise. 3798 37992015-07-20 Marek Polacek <polacek@redhat.com> 3800 Richard Sandiford <richard.sandiford@arm.com> 3801 3802 PR c++/55095 3803 * c-common.c (c_fully_fold_internal): Warn about left shift overflows. 3804 Use EXPR_LOC_OR_LOC. 3805 (maybe_warn_shift_overflow): New function. 3806 * c-common.h (maybe_warn_shift_overflow): Declare. 3807 * c-opts.c (c_common_post_options): Set warn_shift_overflow. 3808 * c.opt (Wshift-overflow): New option. 3809 38102015-07-16 Martin Liska <mliska@suse.cz> 3811 3812 * c-format.c (static void check_format_info_main): Use 3813 object_allocator instead of pool_allocator. 3814 (check_format_arg): Likewise. 3815 (check_format_info_main): Likewise. 3816 38172015-07-15 Andrew MacLeod <amacleod@redhat.com> 3818 3819 * c-opts.c: Remove multiline #include comment. 3820 38212015-07-12 Aldy Hernandez <aldyh@redhat.com> 3822 3823 * c-common.c: Fix double word typos. 3824 38252015-07-10 Eric Botcazou <ebotcazou@adacore.com> 3826 3827 * c-ada-spec.h (cpp_operation): Revert latest change. 3828 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit 3829 constructors and destructors. 3830 38312015-07-09 Andrew MacLeod <amacleod@redhat.com> 3832 3833 * c-common.h: Adjust includes for flags.h changes. 3834 * stub-objc.c: Likewise. 3835 38362015-07-08 Eric Botcazou <ebotcazou@adacore.com> 3837 3838 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR. 3839 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors. 3840 38412015-07-08 Jakub Jelinek <jakub@redhat.com> 3842 3843 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses 3844 are to be removed, return NULL rather than original clauses list. 3845 38462015-07-07 Andrew MacLeod <amacleod@redhat.com> 3847 3848 * array-notation-common.c: Adjust includes. 3849 * c-ada-spec.c: Likewise. 3850 * c-cilkplus.c: Likewise. 3851 * c-common.h: Likewise. 3852 * c-cppbuiltin.c: Likewise. 3853 * c-dump.c: Likewise. 3854 * c-format.c: Likewise. 3855 * c-gimplify.c: Likewise. 3856 * c-indentation.c: Likewise. 3857 * c-lex.c: Likewise. 3858 * c-omp.c: Likewise. 3859 * c-opts.c: Likewise. 3860 * c-pch.c: Likewise. 3861 * c-ppoutput.c: Likewise. 3862 * c-pragma.c: Likewise. 3863 * c-pretty-print.c: Likewise. 3864 * c-semantics.c: Likewise. 3865 * c-ubsan.c: Likewise. 3866 * cilk.c: Likewise. 3867 * stub-objc.c: Likewise. 3868 38692015-07-07 Eric Botcazou <ebotcazou@adacore.com> 3870 3871 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR. 3872 * c-ada-spec.c (print_ada_declaration): Skip move constructors. 3873 38742015-07-01 Jason Merrill <jason@redhat.com> 3875 3876 * c-common.h (D_CXX11): Rename from D_CXX0X. 3877 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X. 3878 * c-common.c: Adjust. 3879 3880 * c-opts.c (c_common_post_options): Default to C++14. 3881 3882 * c-opts.c (c_common_post_options): Highest ABI level is now 10. 3883 38842015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net> 3885 3886 Implement N4197 - Adding u8 character literals 3887 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like 3888 CPP_CHAR. 3889 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and 3890 CPP_UTF8CHAR_USERDEF tokens. 3891 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF 3892 and CPP_UTF8CHAR tokens. 3893 (lex_charconst): Treat CPP_UTF8CHAR token. 3894 38952015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org> 3896 3897 PR fortran/66605 3898 * c-common.c (do_warn_unused_parameter): Move here. 3899 * c-common.h (do_warn_unused_parameter): Declare. 3900 39012015-06-29 Marek Polacek <polacek@redhat.com> 3902 3903 PR c/66322 3904 * c-common.c (check_case_bounds): Add bool * parameter. Set 3905 OUTSIDE_RANGE_P. 3906 (c_add_case_label): Add bool * parameter. Pass it down to 3907 check_case_bounds. 3908 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool 3909 warning here. 3910 * c-common.h (c_add_case_label, c_do_switch_warnings): Update 3911 declarations. 3912 39132015-06-27 Marek Polacek <polacek@redhat.com> 3914 3915 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P 3916 or VECTOR_INTEGER_TYPE_P throughout. 3917 * c-gimplify.c: Likewise. 3918 39192015-06-26 Marek Polacek <polacek@redhat.com> 3920 3921 * array-notation-common.c (find_rank): Use INDIRECT_REF_P. 3922 * c-common.c (c_fully_fold_internal): Likewise. 3923 (c_alignof_expr): Likewise. 3924 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise. 3925 * c-ubsan.c (ubsan_instrument_bounds): Likewise. 3926 * cilk.c (create_parm_list): Likewise. 3927 39282015-06-26 Marek Polacek <polacek@redhat.com> 3929 3930 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P. 3931 39322015-06-25 Andrew MacLeod <amacleod@redhat.com> 3933 3934 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list. 3935 * c-gimplify.c: Likewise. 3936 * c-pragma.c: Likewise. 3937 * c-ubsan.c: Likewise. 3938 * cilk.c: Likewise. 3939 39402015-06-25 Richard Sandiford <richard.sandiford@arm.com> 3941 3942 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than 3943 ggc_hasher. 3944 39452015-06-25 Andrew MacLeod <amacleod@redhat.com> 3946 3947 * cilk.c: Move calls.h after tm.h in the include chain. 3948 39492015-06-25 Marek Polacek <polacek@redhat.com> 3950 3951 * array-notation-common.c: Use VAR_P throughout. 3952 * c-ada-spec.c: Likewise. 3953 * c-common.c: Likewise. 3954 * c-format.c: Likewise. 3955 * c-gimplify.c: Likewise. 3956 * c-omp.c: Likewise. 3957 * c-pragma.c: Likewise. 3958 * c-pretty-print.c: Likewise. 3959 * cilk.c: Likewise. 3960 39612015-06-25 Marek Polacek <polacek@redhat.com> 3962 3963 * cilk.c (extract_free_variables): Use is_global_var. 3964 39652015-06-23 Richard Sandiford <richard.sandiford@arm.com> 3966 3967 * c-common.c: Don't include target-def.h. 3968 39692015-06-23 Marek Polacek <polacek@redhat.com> 3970 3971 * c-common.c (warn_logical_operator): Use tree_int_cst_equal 3972 when comparing INTEGER_CSTs. 3973 39742015-06-22 Pierre-Marie de Rodat <derodat@adacore.com> 3975 3976 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS. 3977 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL 3978 (dump_ada_template): Skip partially specialized types. 3979 39802015-06-22 Mikhail Maltsev <maltsevm@gmail.com> 3981 3982 * c-common.c (scalar_to_vector): Use std::swap instead of manually 3983 swapping. 3984 39852015-06-17 Andrew MacLeod <amacleod@redhat.com> 3986 3987 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h. 3988 * c-ada-spec.c: Likewise. 3989 * c-cilkplus.c: Likewise. 3990 * c-common.c: Likewise. 3991 * c-common.h: Likewise. 3992 * c-cppbuiltin.c: Likewise. 3993 * c-dump.c: Likewise. 3994 * c-format.c: Likewise. 3995 * c-gimplify.c: Likewise. 3996 * c-indentation.c: Likewise. 3997 * c-lex.c: Likewise. 3998 * c-omp.c: Likewise. 3999 * c-opts.c: Likewise. 4000 * c-pch.c: Likewise. 4001 * c-ppoutput.c: Likewise. 4002 * c-pragma.c: Likewise. 4003 * c-pretty-print.c: Likewise. 4004 * c-semantics.c: Likewise. 4005 * c-ubsan.c: Likewise. 4006 * cilk.c: Likewise. 4007 * stub-objc.c: Likewise. 4008 40092015-06-13 Patrick Palka <ppalka@gcc.gnu.org> 4010 4011 PR c++/65168 4012 * c-common.c (c_common_truthvalue_conversion): Warn when 4013 converting an address of a reference to a truth value. 4014 40152015-06-08 Andrew MacLeod <amacleod@redhat.com> 4016 4017 * array-notation-common.c : Adjust include files. 4018 * c-ada-spec.c : Likewise. 4019 * c-cilkplus.c : Likewise. 4020 * c-common.c : Likewise. 4021 * c-common.h : Likewise. 4022 * c-cppbuiltin.c : Likewise. 4023 * c-dump.c : Likewise. 4024 * c-format.c : Likewise. 4025 * c-gimplify.c : Likewise. 4026 * c-indentation.c : Likewise. 4027 * c-lex.c : Likewise. 4028 * c-omp.c : Likewise. 4029 * c-opts.c : Likewise. 4030 * c-pch.c : Likewise. 4031 * c-ppoutput.c : Likewise. 4032 * c-pragma.c : Likewise. 4033 * c-pretty-print.c : Likewise. 4034 * c-semantics.c : Likewise. 4035 * c-ubsan.c : Likewise. 4036 * cilk.c : Likewise. 4037 * stub-objc.c : Likewise. 4038 40392015-06-08 Marek Polacek <polacek@redhat.com> 4040 4041 PR c/66415 4042 * c-format.c (location_from_offset): Return LOC if LINE is null. 4043 40442015-06-05 Aldy Hernandez <aldyh@redhat.com> 4045 4046 * c-common.h (c_parse_final_cleanups): New prototype. 4047 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups. 4048 40492015-06-04 Sriraman Tallam <tmsriram@google.com> 4050 4051 * c-common.c (noplt): New attribute. 4052 (handle_noplt_attribute): New handler. 4053 40542015-06-04 Andrew MacLeod <amacleod@redhat.com> 4055 4056 * array-notation-common.c: Adjust includes for restructured coretypes.h. 4057 * c-ada-spec.c: Likewise. 4058 * c-cilkplus.c: Likewise. 4059 * c-common.c: Likewise. 4060 * c-common.h: Likewise. 4061 * c-cppbuiltin.c: Likewise. 4062 * c-dump.c: Likewise. 4063 * c-format.c: Likewise. 4064 * c-gimplify.c: Likewise. 4065 * c-indentation.c: Likewise. 4066 * c-lex.c: Likewise. 4067 * c-omp.c: Likewise. 4068 * c-opts.c: Likewise. 4069 * c-pch.c: Likewise. 4070 * c-ppoutput.c: Likewise. 4071 * c-pragma.c: Likewise. 4072 * c-pretty-print.c: Likewise. 4073 * c-semantics.c: Likewise. 4074 * c-ubsan.c: Likewise. 4075 * cilk.c: Likewise. 4076 * stub-objc.c: Likewise. 4077 40782015-06-02 David Malcolm <dmalcolm@redhat.com> 4079 4080 PR c/66220: 4081 * c-indentation.c (should_warn_for_misleading_indentation): Use 4082 expand_location rather than expand_location_to_spelling_point. 4083 Don't warn if the guarding statement is more indented than the 4084 next/body stmts. 4085 40862015-06-02 David Malcolm <dmalcolm@redhat.com> 4087 4088 * c-indentation.c (warn_for_misleading_indentation): Bail out 4089 immediately if -Wmisleading-indentation isn't enabled. 4090 40912015-06-01 Martin Liska <mliska@suse.cz> 4092 4093 * c-format.c (check_format_arg):Use new type-based pool allocator. 4094 (check_format_info_main) Likewise. 4095 40962015-05-31 Eric Botcazou <ebotcazou@adacore.com> 4097 4098 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant. 4099 (has_nontrivial_methods): Likewise. 4100 41012015-05-25 Marek Polacek <polacek@redhat.com> 4102 4103 * c-ubsan.c (ubsan_instrument_shift): Use type0. 4104 41052015-05-22 Marek Polacek <polacek@redhat.com> 4106 4107 PR c/47043 4108 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL. 4109 41102015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> 4111 4112 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with 4113 STACK_GROWS_DOWNWARD. 4114 41152015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> 4116 4117 * c-cppbuiltin.c (c_cpp_builtins): Check the value of 4118 STACK_GROWS_DOWNWARD rather than if it is defined. 4119 41202015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org> 4121 4122 PR c/52952 4123 * c-format.c (location_column_from_byte_offset): New. 4124 (location_from_offset): New. 4125 (struct format_wanted_type): Add offset_loc field. 4126 (check_format_info): Move handling of location for extra arguments 4127 closer to the point of warning. 4128 (check_format_info_main): Pass the result of location_from_offset 4129 to warning_at. 4130 (format_type_warning): Pass the result of location_from_offset 4131 to warning_at. 4132 41332015-05-20 Marek Polacek <polacek@redhat.com> 4134 4135 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P. 4136 41372015-05-20 Marek Polacek <polacek@redhat.com> 4138 4139 * c-ada-spec.c (dump_sloc): Use DECL_P. 4140 41412015-05-20 Marek Polacek <polacek@redhat.com> 4142 4143 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout. 4144 * c-common.c: Likewise. 4145 41462015-05-19 David Malcolm <dmalcolm@redhat.com> 4147 4148 * c-common.h (fe_file_change): Strengthen param from 4149 const line_map * to const line_map_ordinary *. 4150 (pp_file_change): Likewise. 4151 * c-lex.c (fe_file_change): Likewise. 4152 (cb_define): Use linemap_check_ordinary when invoking 4153 SOURCE_LINE. 4154 (cb_undef): Likewise. 4155 * c-opts.c (c_finish_options): Use linemap_check_ordinary when 4156 invoking cb_file_change. 4157 (c_finish_options): Likewise. 4158 (push_command_line_include): Likewise. 4159 (cb_file_change): Strengthen param "new_map" from 4160 const line_map * to const line_map_ordinary *. 4161 * c-ppoutput.c (cb_define): Likewise for local "map". 4162 (pp_file_change): Likewise for param "map" and local "from". 4163 41642015-05-19 Mikhail Maltsev <maltsevm@gmail.com> 4165 4166 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps. 4167 41682015-05-18 Tom de Vries <tom@codesourcery.com> 4169 4170 * c-common.c (build_va_arg_1): New function. 4171 (build_va_arg): Add address operator to va_list operand if necessary. 4172 41732015-05-15 Mikhail Maltsev <maltsevm@gmail.com> 4174 4175 PR c/48956 4176 * c-common.c (int_safely_convertible_to_real_p): Define. 4177 (unsafe_conversion_p): Check conversions involving complex types. 4178 (conversion_warning): Add new warning message for conversions which 4179 discard imaginary component. 4180 * c-common.h: (enum conversion_safety): Add new enumerator for such 4181 conversions. 4182 41832015-05-14 Marek Polacek <polacek@redhat.com> 4184 4185 PR c/66066 4186 PR c/66127 4187 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal. 4188 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with 4189 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and 4190 use it. If FOR_INT_CONST, require that all evaluated operands be 4191 INTEGER_CSTs. 4192 41932015-05-12 David Malcolm <dmalcolm@redhat.com> 4194 4195 * c-common.h (warn_for_misleading_indentation): New prototype. 4196 * c-indentation.c: New file. 4197 * c.opt (Wmisleading-indentation): New option. 4198 41992015-05-12 Tom de Vries <tom@codesourcery.com> 4200 4201 PR tree-optimization/66010 4202 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary. 4203 42042015-05-09 Jason Merrill <jason@redhat.com> 4205 4206 * c-opts.c (c_common_post_options): Also clear 4207 cpp_opts->cpp_warn_cxx11_compat. 4208 4209 * c-common.h (enum cxx_dialect): Add cxx_unset. 4210 * c-common.c (cxx_dialect): Initialize to cxx_unset. 4211 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset. 4212 4213 * c.opt (std=c++14): Remove Undocumented flag and experimental warning. 4214 (std=gnu++0x): Mark as Undocumented. 4215 (std=gnu++1y): Add deprecated message. 4216 42172015-05-08 Jason Merrill <jason@redhat.com> 4218 4219 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat. 4220 * c-opts.c: Adjust. 4221 4222 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat. 4223 42242015-05-08 Marek Polacek <polacek@redhat.com> 4225 4226 PR c/64918 4227 * c.opt (Woverride-init-side-effects): New option. 4228 42292015-05-07 Marek Polacek <polacek@redhat.com> 4230 4231 PR c/65179 4232 * c-common.c (c_fully_fold_internal): Warn when left shifting a 4233 negative value. 4234 * c.opt (Wshift-negative-value): New option. 4235 * c-opts.c (c_common_post_options): Set warn_shift_negative_value 4236 when -Wextra and C99/C++11 mode. 4237 42382015-05-07 Marek Polacek <polacek@redhat.com> 4239 Martin Uecker <uecker@eecs.berkeley.edu> 4240 4241 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting 4242 flexible member array-like members if SANITIZE_BOUNDS_STRICT. 4243 42442015-05-05 Jason Merrill <jason@redhat.com> 4245 4246 * c.opt (Wterminate): New. 4247 42482015-04-30 Marek Polacek <polacek@redhat.com> 4249 4250 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1, 4251 require that the non-constant be of a boolean type. 4252 42532015-04-29 Josh Triplett <josh@joshtriplett.org> 4254 4255 * c-common.c (handle_section_attribute): Refactor to reduce 4256 nesting and distinguish between error cases. 4257 42582015-04-29 Marek Polacek <polacek@redhat.com> 4259 4260 PR c/64610 4261 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean 4262 with 0/1. 4263 42642015-04-29 Jakub Jelinek <jakub@redhat.com> 4265 4266 * c-common.h (omp_clause_mask): Unconditionally define as a class. 4267 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of 4268 HOST_BITS_PER_WIDE_INT. 4269 42702015-04-28 Tom de Vries <tom@codesourcery.com> 4271 4272 PR tree-optimization/65887 4273 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable. 4274 42752015-04-28 Eric Botcazou <ebotcazou@adacore.com> 4276 Pierre-Marie de Rodat <derodat@adacore.com> 4277 4278 * c-ada-spec.c (in_function): Delete. 4279 (dump_generic_ada_node): Do not change in_function and remove the 4280 redundant code dealing with it. 4281 (print_ada_declaration): Do not change in_function. Use INDENT_INCR. 4282 (print_ada_methods): Output the static member functions in a nested 4283 package after the regular methods as well as associated renamings. 4284 42852015-04-24 Marek Polacek <polacek@redhat.com> 4286 4287 PR c/65830 4288 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative 4289 and OPT_Wshift_count_overflow. 4290 4291 PR c/63357 4292 * c-common.c (warn_logical_operator): Warn if the operands have the 4293 same expressions. 4294 42952015-04-24 Marek Polacek <polacek@redhat.com> 4296 4297 PR c/61534 4298 * c-common.c (warn_logical_operator): Bail if either operand comes 4299 from a macro expansion. 4300 43012015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 4302 4303 PR target/55143 4304 * c-common.c (c_default_pointer_mode): Add definition. 4305 * c-common.h (c_default_pointer_mode): Add declaration. 4306 43072015-03-11 Jakub Jelinek <jakub@redhat.com> 4308 4309 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup 4310 on record_builtin_type argument. 4311 43122015-03-10 Jakub Jelinek <jakub@redhat.com> 4313 4314 PR c/65120 4315 * c-common.c (warn_logical_not_parentheses): Don't warn for 4316 !x == 0 or !x != 0. 4317 43182015-03-07 Marek Polacek <polacek@redhat.com> 4319 4320 PR sanitizer/65280 4321 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF 4322 before trying to figure out whether we have a flexible array member. 4323 43242015-03-06 Eric Botcazou <ebotcazou@adacore.com> 4325 Jonathan Wakely <jwakely.gcc@gmail.com> 4326 4327 * c-ada-spec.c (dump_ada_double_name): Fix pasto. 4328 43292015-03-05 Eric Botcazou <ebotcazou@adacore.com> 4330 4331 PR ada/65319 4332 * c-ada-spec.c (print_destructor): Remove obsolete code. 4333 43342015-03-01 Eric Botcazou <ebotcazou@adacore.com> 4335 4336 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX. 4337 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and 4338 DECL_TEMPLATE_RESULT emulations. 4339 (dump_ada_template)): Add guard for TYPE_METHODS. 4340 43412015-02-27 Marek Polacek <polacek@redhat.com> 4342 4343 PR c/65040 4344 * c.opt (Wformat-signedness): Don't enable by -Wformat=2. 4345 43462015-02-27 Kai Tietz <ktietz@redhat.com> 4347 4348 PR c/35330 4349 * c-pragma.c (handle_pragma_weak): Do not try to create 4350 weak/alias of declarations not being function, or variable 4351 declarations. 4352 43532015-02-24 Thomas Schwinge <thomas@codesourcery.com> 4354 4355 PR libgomp/64625 4356 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12): 4357 Remove macros. 4358 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros. 4359 43602015-02-16 Marek Polacek <polacek@redhat.com> 4361 4362 PR c/65066 4363 * c-format.c (check_format_types): Handle null param. 4364 43652015-02-13 Marek Polacek <polacek@redhat.com> 4366 4367 PR c/65040 4368 * c-format.c (check_format_types): Don't warn about different 4369 signedness if the original value is in the range of WANTED_TYPE. 4370 43712015-02-12 Jason Merrill <jason@redhat.com> 4372 4373 PR c++/64956 4374 * c-opts.c (c_common_post_options): Change flag_abi_version from 0 4375 to the current highest version. 4376 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0. 4377 43782015-02-04 Jakub Jelinek <jakub@redhat.com> 4379 4380 PR c/64824 4381 PR c/64868 4382 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR 4383 instead of RDIV_EXPR. Use build_binary_op instead of 4384 build2_loc. 4385 43862015-01-30 Joseph Myers <joseph@codesourcery.com> 4387 4388 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed 4389 to pass input_location as first argument. 4390 43912015-01-23 Tom de Vries <tom@codesourcery.com> 4392 4393 PR libgomp/64672 4394 * c.opt (fopenacc): Mark as LTO option. 4395 43962015-01-23 Tom de Vries <tom@codesourcery.com> 4397 4398 PR libgomp/64707 4399 * c.opt (fopenmp): Mark as LTO option. 4400 44012015-01-21 Jakub Jelinek <jakub@redhat.com> 4402 4403 PR c/63307 4404 * cilk.c (fill_decls_vec): Only put decls into vector v. 4405 (compare_decls): Fix up formatting. 4406 44072015-01-21 Igor Zamyatin <igor.zamyatin@intel.com> 4408 4409 PR c/63307 4410 * cilk.c: Include vec.h. 4411 (struct cilk_decls): New structure. 4412 (wrapper_parm_cb): Split this function to... 4413 (fill_decls_vec): ...this... 4414 (create_parm_list): ...and this. 4415 (compare_decls): New function. 4416 (for_local_cb): Remove. 4417 (wrapper_local_cb): Ditto. 4418 (build_wrapper_type): For now first traverse and fill vector of 4419 declarations then sort it and then deal with sorted vector. 4420 (cilk_outline): Ditto. 4421 (declare_one_free_variable): Ditto. 4422 44232015-01-21 Jason Merrill <jason@redhat.com> 4424 4425 PR c++/64629 4426 * c-format.c (check_format_arg): Call decl_constant_value. 4427 44282015-01-19 Martin Liska <mliska@suse.cz> 4429 4430 * c-common.c (handle_noicf_attribute): New function. 4431 44322015-01-15 Thomas Schwinge <thomas@codesourcery.com> 4433 Bernd Schmidt <bernds@codesourcery.com> 4434 James Norris <jnorris@codesourcery.com> 4435 Cesar Philippidis <cesar@codesourcery.com> 4436 Ilmir Usmanov <i.usmanov@samsung.com> 4437 Jakub Jelinek <jakub@redhat.com> 4438 4439 * c.opt (fopenacc): New option. 4440 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC. 4441 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12): 4442 New macros. 4443 * c-common.h (c_finish_oacc_wait): New prototype. 4444 * c-omp.c: Include "omp-low.h" and "gomp-constants.h". 4445 (c_finish_oacc_wait): New function. 4446 * c-pragma.c (oacc_pragmas): New variable. 4447 (c_pp_lookup_pragma, init_pragma): Handle it. 4448 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE, 4449 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA, 4450 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL, 4451 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT. 4452 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC, 4453 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE, 4454 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN, 4455 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE, 4456 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE, 4457 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE, 4458 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST, 4459 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS, 4460 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT, 4461 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY, 4462 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN, 4463 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT, 4464 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE, 4465 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF, 4466 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR, 4467 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT, 4468 PRAGMA_OACC_CLAUSE_WORKER. 4469 44702015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com> 4471 4472 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__ 4473 for the new option fstack-protector_explicit. 4474 * c-common.c (c_common_attribute_table): Add stack_protect attribute. 4475 (handle_stack_protect_attribute): New function. 4476 44772015-01-13 Martin Uecker <uecker@eecs.berkeley.edu> 4478 4479 * c.opt: New option -Warray-bounds=. 4480 44812015-01-09 Michael Collison <michael.collison@linaro.org> 4482 4483 * array-notation-common.c: Include hash-set.h, machmode.h, 4484 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 4485 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h. 4486 * c-ada-spec.c: Ditto. 4487 * c-cilkplus.c: Ditto. 4488 * c-common.c: Include input.h due to flattening of tree.h. 4489 Define macro GCC_C_COMMON_C. 4490 * c-common.h: Flatten tree.h header files into c-common.h. 4491 Remove include of tree-core.h. 4492 * c-cppbuiltin.c: Include hash-set.h, machmode.h, 4493 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 4494 fold-const.h, wide-int.h, and inchash.h due to 4495 flattening of tree.h. 4496 * c-dump.c: Ditto. 4497 * c-format.c: Flatten tree.h header files into c-common.h. 4498 * c-cppbuiltin.c: Include hash-set.h, machmode.h, 4499 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 4500 fold-const.h, wide-int.h, and inchash.h due to 4501 flattening of tree.h. 4502 * c-dump.c: Include hash-set.h, machmode.h, 4503 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 4504 fold-const.h, wide-int.h, and inchash.h due to 4505 flattening of tree.h. 4506 * c-format.c: Include hash-set.h, machmode.h, 4507 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 4508 fold-const.h, wide-int.h, inchash.h and real.h due to 4509 flattening of tree.h. 4510 * c-gimplify.c: Include hash-set.h, machmode.h, 4511 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 4512 fold-const.h, wide-int.h, and inchash.h due to 4513 flattening of tree.h. 4514 * cilk.c: Ditto. 4515 * c-lex.c: Ditto. 4516 * c-omp.c: Ditto. 4517 * c-opts.c: Ditto. 4518 * c-pch.c: Ditto. 4519 * c-ppoutput.c: Ditto. 4520 * c-pragma.c: Ditto. 4521 * c-pretty-print.c: Ditto. 4522 * c-semantics.c: Ditto. 4523 * c-ubsan.c: Ditto. 4524 * stub-objc.c: Ditto. 4525 45262015-01-08 Jason Merrill <jason@redhat.com> 4527 4528 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use 4529 do_ubsan_in_current_function. 4530 (ubsan_maybe_instrument_reference_or_call): Likewise. 4531 * c-ubsan.h: Declare it. 4532 45332015-01-08 Mike Stump <mikestump@comcast.net> 4534 4535 * c-common.c (c_common_attribute_table): Add no_sanitize_thread. 4536 45372015-01-07 Marek Polacek <polacek@redhat.com> 4538 4539 PR c/64440 4540 * c-common.c (c_fully_fold_internal): Warn for division and modulo 4541 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero. 4542 45432015-01-05 Trevor Saunders <tsaunders@mozilla.com> 4544 4545 PR c++/31397 4546 * c.opt (Wsuggest-override): New option. 4547 45482015-01-05 Jakub Jelinek <jakub@redhat.com> 4549 4550 Update copyright years. 4551 45522015-01-05 Marek Polacek <polacek@redhat.com> 4553 4554 PR c/64423 4555 * c-common.c (warn_array_subscript_with_type_char): Add location_t 4556 parameter. Use it. 4557 * c-common.h (warn_array_subscript_with_type_char): Update 4558 declaration. 4559 45602014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net> 4561 4562 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro. 4563 Control macro with flag_sized_deallocation. 4564 45652014-12-20 Martin Uecker <uecker@eecs.berkeley.edu> 4566 4567 * c.opt (Wdiscarded-array-qualifiers): New option. 4568 45692014-12-19 Jakub Jelinek <jakub@redhat.com> 4570 4571 PR preprocessor/63831 4572 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute 4573 and __has_cpp_attribute here. 4574 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to 4575 c_common_has_attribute. 4576 * c-common.h (c_common_has_attribute): New prototype. 4577 * c-lex.c (init_c_lex): Set cb->has_attribute to 4578 c_common_has_attribute instead of cb_has_attribute. 4579 (get_token_no_padding): New function. 4580 (cb_has_attribute): Renamed to ... 4581 (c_common_has_attribute): ... this. No longer static. Use 4582 get_token_no_padding, require ()s, don't build TREE_LIST 4583 unnecessarily, fix up formatting, adjust diagnostics, call 4584 init_attributes. 4585 45862014-12-15 Jason Merrill <jason@redhat.com> 4587 4588 * c.opt (-fsized-deallocation, -Wc++14-compat): New. 4589 (-Wsized-deallocation): New. 4590 * c-opts.c (c_common_post_options): -fsized-deallocation defaults 4591 to on in C++14 and up. 4592 45932014-12-11 Jason Merrill <jason@redhat.com> 4594 4595 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr. 4596 4597 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if 4598 we aren't complaining about VLAs. 4599 46002014-12-06 Marek Polacek <polacek@redhat.com> 4601 4602 PR tree-optimization/64183 4603 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a 4604 shift-expression if it is integer_type_node. Use types_compatible_p. 4605 46062014-11-29 Jakub Jelinek <jakub@redhat.com> 4607 4608 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL 4609 last argument from create_tmp_var_raw and create_tmp_var calls. 4610 * cilk.c (gimplify_cilk_spawn): Likewise. 4611 * c-omp.c (c_finish_omp_atomic): Likewise. 4612 46132014-11-28 Marek Polacek <polacek@redhat.com> 4614 4615 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR 4616 instead of unsigned_type_node. 4617 46182014-11-28 Marek Polacek <polacek@redhat.com> 4619 4620 PR c/63862 4621 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR 4622 to op1_utype. 4623 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift 4624 expression to unsigned_type_node. 4625 46262014-11-20 Mark Wielaard <mjw@redhat.com> 4627 4628 PR debug/38757 4629 * c-opts.c (set_std_c89): Set lang_hooks.name. 4630 (set_std_c99): Likewise. 4631 (set_std_c11): Likewise. 4632 (set_std_cxx98): Likewise. 4633 (set_std_cxx11): Likewise. 4634 (set_std_cxx14): Likewise. 4635 (set_std_cxx1z): Likewise. 4636 46372014-11-21 Jakub Jelinek <jakub@redhat.com> 4638 4639 PR target/63764 4640 * c-common.h (convert_vector_to_pointer_for_subscript): Change 4641 return type to bool. 4642 * c-common.c: Include gimple-expr.h. 4643 (convert_vector_to_pointer_for_subscript): Change return type to 4644 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true 4645 and copy it into a TARGET_EXPR and use that instead of *vecp 4646 directly. 4647 46482014-11-19 David Malcolm <dmalcolm@redhat.com> 4649 4650 Merger of git branch "gimple-classes-v2-option-3". 4651 * ChangeLog.gimple-classes: New. 4652 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack" 4653 from being just a vec<gimple> to a vec<gbind *>. 4654 46552014-11-18 Jakub Jelinek <jakub@redhat.com> 4656 4657 PR sanitizer/63813 4658 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type 4659 argument to ptype, set type to TREE_TYPE (ptype). Don't call 4660 get_pointer_alignment for non-pointers. Use ptype, or if it is 4661 reference type, corresponding pointer type, as type of kind 4662 argument. 4663 (ubsan_maybe_instrument_reference, 4664 ubsan_maybe_instrument_member_call): Adjust callers. 4665 46662014-11-15 Marek Polacek <polacek@redhat.com> 4667 4668 PR middle-end/63884 4669 * array-notation-common.c (is_sec_implicit_index_fn): Return false 4670 for NULL fndecl. 4671 (extract_array_notation_exprs): Return for NULL node. 4672 46732014-11-12 Joseph Myers <joseph@codesourcery.com> 4674 4675 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and 4676 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state. 4677 46782014-11-12 Jakub Jelinek <jakub@redhat.com> 4679 4680 PR c/59708 4681 * c-common.c (check_builtin_function_arguments): Handle 4682 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW. 4683 46842014-11-10 Andi Kleen <ak@linux.intel.com> 4685 4686 PR c/60804 4687 * c-common.h (check_no_cilk): Declare. 4688 * cilk.c (get_error_location): New function. 4689 (check_no_cilk): Dito. 4690 46912014-11-10 Andi Kleen <ak@linux.intel.com> 4692 4693 * cilk.c (recognize_spawn): Use expression location 4694 for error message. 4695 46962014-11-10 Paolo Carlini <paolo.carlini@oracle.com> 4697 4698 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add. 4699 47002014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net> 4701 4702 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros; 4703 (__cpp_rtti, __cpp_exceptions): New macros for C++98; 4704 (__cpp_range_based_for, __cpp_initializer_lists, 4705 __cpp_delegating_constructors, __cpp_nsdmi, 4706 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros 4707 for C++11; (__cpp_attribute_deprecated): Remove in favor of 4708 __has_cpp_attribute. 4709 * c-lex.c (cb_has_attribute): New callback CPP function; 4710 (init_c_lex): Set has_attribute callback. 4711 47122014-11-04 Richard Biener <rguenther@suse.de> 4713 4714 * c-common.c (shorten_compare): Do not shorten mixed 4715 DFP and non-DFP compares. 4716 47172014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net> 4718 4719 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests. 4720 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test. 4721 Commentary and rearrangement of tests. 4722 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test. 4723 Commentary and rearrangement of tests. 4724 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto 4725 * g++.dg/cpp1y/feat-cxx98.C: Commentary. 4726 47272014-10-29 Richard Sandiford <richard.sandiford@arm.com> 4728 4729 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant 4730 enum from machine_mode. 4731 47322014-10-28 Andrew MacLeod <amacleod@redhat.com> 4733 4734 * c-common.c: Adjust include files. 4735 * c-gimplify.c: Ditto. 4736 * cilk.c: Ditto. 4737 * c-pragma.c: Ditto. 4738 * c-ubsan.c: Ditto. 4739 47402014-10-27 Andrew MacLeod <amacleod@redhat.com> 4741 4742 * c-gimplify.c: Adjust include files. 4743 47442014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org> 4745 4746 PR c++/53061 4747 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from 4748 c_common_initialize_diagnostics. 4749 * c-common.h: Likewise. 4750 47512014-10-24 Marek Polacek <polacek@redhat.com> 4752 4753 PR c/56980 4754 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't 4755 print "struct"/"union"/"enum" for typedefed names. 4756 47572014-10-23 Marek Polacek <polacek@redhat.com> 4758 4759 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR 4760 in unsigned type. 4761 47622014-10-22 Jakub Jelinek <jakub@redhat.com> 4763 Yury Gribov <y.gribov@samsung.com> 4764 4765 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift, 4766 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask 4767 instead of flag_sanitize_recover as bool flag. 4768 47692014-10-21 Kirill Yukhin <kirill.yukhin@intel.com> 4770 4771 * cilk.c: Revert previous change. 4772 47732014-10-20 Igor Zamyatin <igor.zamyatin@intel.com> 4774 4775 PR c/63307 4776 * cilk.c: Include vec.h. 4777 (struct cilk_decls): New structure. 4778 (wrapper_parm_cb): Split this function to... 4779 (fill_decls_vec): ...this... 4780 (create_parm_list): ...and this. 4781 (compare_decls): New function. 4782 (for_local_cb): Remove. 4783 (wrapper_local_cb): Ditto. 4784 (build_wrapper_type): For now first traverse and fill vector of 4785 declarations then sort it and then deal with sorted vector. 4786 (cilk_outline): Ditto. 4787 (declare_one_free_variable): Ditto. 4788 47892014-10-17 Marek Polacek <polacek@redhat.com> 4790 4791 * c-opts.c (c_common_post_options): Set warn_implicit_int. 4792 * c.opt (Wimplicit-int): Initialize to -1. 4793 47942014-10-16 Andrew MacLeod <amacleod@redhat.com> 4795 4796 * c-pragma.c: Adjust include files. 4797 * c-semantics.c: Likewise. 4798 47992014-10-16 DJ Delorie <dj@redhat.com> 4800 4801 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are 4802 multiples of bytes. 4803 48042014-10-14 Jason Merrill <jason@redhat.com> 4805 4806 PR c++/63455 4807 * c-common.h (CPP_PREPARSED_EXPR): New. 4808 (N_CP_TTYPES): Adjust. 4809 48102014-10-15 Marek Polacek <polacek@redhat.com> 4811 4812 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C. 4813 48142014-10-14 DJ Delorie <dj@redhat.com> 4815 4816 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN 4817 types, not just __int128. 4818 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN 4819 types, not just __int128. 4820 (cpp_atomic_builtins): Round pointer sizes up. 4821 (type_suffix): Use type precision, not specific types. 4822 * c-common.c (c_common_reswords): Remove __int128 special case. 4823 (c_common_type_for_size): Check for all __intN types, not just 4824 __int128. 4825 (c_common_type_for_mode): Likewise. 4826 (c_common_signed_or_unsigned_type): Likewise. 4827 (c_build_bitfield_integer_type): Likewise. 4828 (c_common_nodes_and_builtins): Likewise. 4829 (keyword_begins_type_specifier): Likewise. 4830 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all 4831 __intN variants. 4832 48332014-10-12 Trevor Saunders <tsaunders@mozilla.com> 4834 4835 * c-common.c: Use hash_table instead of hashtab. 4836 48372014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net> 4838 4839 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the 4840 C++11 section. 4841 48422014-10-03 Marc Glisse <marc.glisse@inria.fr> 4843 4844 PR c++/54427 4845 PR c++/57198 4846 PR c++/58845 4847 * c-common.c (warn_logical_operator): Punt for vectors. 4848 48492014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net> 4850 4851 Implement SD-6: SG10 Feature Test Recommendations 4852 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature 4853 macros and the __has_header macro. 4854 48552014-09-30 Jason Merrill <jason@redhat.com> 4856 4857 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and 4858 RID_IS_TRIVIALLY_CONSTRUCTIBLE. 4859 * c-common.c (c_common_reswords): Add __is_trivially_copyable. 4860 4861 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE. 4862 * c-common.c (c_common_reswords): Add __is_trivially_copyable. 4863 4864 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO. 4865 * c-common.c (c_common_reswords): Remove __is_convertible_to. 4866 48672014-09-24 Marek Polacek <polacek@redhat.com> 4868 4869 PR c/61405 4870 PR c/53874 4871 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD. 4872 48732014-09-23 Andi Kleen <ak@linux.intel.com> 4874 4875 * c-common.c (handle_no_reorder_attribute): New function. 4876 (c_common_attribute_table): Add no_reorder attribute. 4877 48782014-09-22 Joseph Myers <joseph@codesourcery.com> 4879 4880 * c-cppbuiltin.c (c_cpp_builtins): Define 4881 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point 4882 modes. 4883 48842014-09-18 Joseph Myers <joseph@codesourcery.com> 4885 4886 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__ 4887 for supported floating-point modes. 4888 48892014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org> 4890 4891 * c.opt (Wpsabi): Use LangEnabledBy. 4892 * c-opts.c (c_common_handle_option): Do not handle here. 4893 48942014-09-12 Joseph Myers <joseph@codesourcery.com> 4895 4896 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__ 4897 macros for floating-point modes. 4898 48992014-09-11 Marc Glisse <marc.glisse@inria.fr> 4900 4901 PR target/58757 4902 * c-cppbuiltin.c (builtin_define_float_constants): Correct 4903 __*_DENORM_MIN__ without denormals. 4904 49052014-09-10 Jakub Jelinek <jakub@redhat.com> 4906 4907 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift, 4908 ubsan_instrument_vla, ubsan_instrument_return): Adjust 4909 ubsan_create_data callers. 4910 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if 4911 index is constant or BIT_AND_EXPR with constant mask and is 4912 small enough for the bound. 4913 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of 4914 ARRAY_REF, make sure the inner ARRAY_REF is not walked again. 4915 49162014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org> 4917 4918 * c.opt: Add CppReason to various flags. 4919 (Wdate-time): Re-sort. 4920 * c-common.c: Include c-common.h earlier. 4921 (struct reason_option_codes_t): Delete. 4922 (c_option_controlling_cpp_error): Prefix global type and struct 4923 with cpp_. 4924 49252014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org> 4926 4927 * c.opt (Wnormalized): New. 4928 (Wnormalized=): Use Enum and Reject Negative. 4929 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here. 4930 49312014-09-08 Joseph Myers <joseph@codesourcery.com> 4932 4933 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa 4934 digits of floating-point modes if -fbuilding-libgcc. 4935 49362014-09-05 Joseph Myers <joseph@codesourcery.com> 4937 4938 * c-cppbuiltin.c (c_cpp_builtins): Also define 4939 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__, 4940 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__, 4941 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__, 4942 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__, 4943 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__, 4944 __LIBGCC_STACK_GROWS_DOWNWARD__, 4945 __LIBGCC_DONT_USE_BUILTIN_SETJMP__, 4946 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__, 4947 __LIBGCC_DWARF_FRAME_REGISTERS__, 4948 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__, 4949 __LIBGCC_STACK_POINTER_REGNUM__ and 4950 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc. 4951 (builtin_define_with_value): Handle backslash-escaping in string 4952 macro values. 4953 49542014-09-05 Richard Biener <rguenther@suse.de> 4955 4956 PR middle-end/63148 4957 * c-format.c (check_format_arg): Properly handle 4958 effectively signed POINTER_PLUS_EXPR offset. 4959 49602014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org> 4961 4962 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels, 4963 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic, 4964 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var 4965 and Init. 4966 * c-opts.c (c_common_handle_option): Do not handle here. 4967 (sanitize_cpp_opts): Likewise. 4968 * c-common.c (struct reason_option_codes_t): Handle 4969 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC. 4970 49712014-09-03 Marek Polacek <polacek@redhat.com> 4972 4973 * c.opt (Wlogical-not-parentheses): Enable by -Wall. 4974 49752014-09-02 Jakub Jelinek <jakub@redhat.com> 4976 Balaji V. Iyer <balaji.v.iyer@intel.com> 4977 Igor Zamyatin <igor.zamyatin@intel.com> 4978 4979 * c-cilkplus.c (cilk_for_number_of_iterations): New function. 4980 * c-common.c (c_common_reswords): Added _Cilk_for. 4981 * c-common.h (enum rid): Added RID_CILK_FOR. 4982 (cilk_for_number_of_iterations): Add declaration. 4983 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and 4984 CILK_FOR. 4985 * c-pragma.c (init_pragma): Register "grainsize" pragma. 4986 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE. 4987 49882014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org> 4989 4990 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels, 4991 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs, 4992 Wundef): Use CPP, Var and Init. 4993 * c-opts.c (c_common_handle_option): Do not handle the above flags here. 4994 49952014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org> 4996 4997 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init. 4998 * c-opts.c (c_common_handle_option): Do not handle here. 4999 50002014-08-25 Jason Merrill <jason@redhat.com> 5001 5002 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for 5003 -std=c++14 and -std=gnu++14, rather than the reverse. 5004 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and 5005 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14. 5006 * c-common.h (cxx_dialect): Remove cxx1y. 5007 50082014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net> 5009 5010 * c-common.h (enum cxx_dialect): Add cxx14. 5011 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14. 5012 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from 5013 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11. 5014 50152014-08-22 Jason Merrill <jason@redhat.com> 5016 5017 * c.opt (std=gnu++17): Fix alias. 5018 50192014-08-22 Marek Polacek <polacek@redhat.com> 5020 5021 PR c++/62199 5022 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't 5023 check for vector types. Drop LHS argument. 5024 * c-common.h (warn_logical_not_parentheses): Adjust. 5025 50262014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org> 5027 5028 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy. 5029 (Wmultichar): Likewise. 5030 (Wdate-time): Use C-family languages instead of Common. Use CPP 5031 and Var. 5032 * c-opts.c (c_common_handle_option): Do not handle the above 5033 options here. 5034 (sanitize_cpp_opts): Likewise. 5035 50362014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org> 5037 5038 PR fortran/44054 5039 * c-opts.c: Include tree-diagnostics.h. 5040 (c_diagnostic_finalizer): New. 5041 (c_common_initialize_diagnostics): Use it. 5042 50432014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org> 5044 5045 PR preprocessor/51303 5046 * c-common.c (struct reason_option_codes_t option_codes): 5047 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically. 5048 50492014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org> 5050 5051 PR c/60975 5052 PR c/53063 5053 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy. 5054 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto. 5055 (c_common_post_options): Call init_global_opts_from_cpp. 5056 (sanitize_cpp_opts): Do not handle Wvariadic-macros here. 5057 50582014-08-19 Marek Polacek <polacek@redhat.com> 5059 5060 PR c++/62153 5061 * c-common.c (maybe_warn_bool_compare): New function. 5062 * c-common.h (maybe_warn_bool_compare): Declare. 5063 * c.opt (Wbool-compare): New option. 5064 50652014-08-19 Marek Polacek <polacek@redhat.com> 5066 5067 * c.opt (Wc99-c11-compat): New option. 5068 50692014-08-19 Marek Polacek <polacek@redhat.com> 5070 5071 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according 5072 to warn_c90_c99_compat. 5073 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize 5074 to -1. 5075 50762014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org> 5077 Steven Bosscher <steven@gcc.gnu.org> 5078 5079 PR c/52952 5080 * c-format.c: Add extra_arg_loc and format_string_loc to struct 5081 format_check_results. 5082 (check_function_format): Use true and add comment for boolean 5083 argument. 5084 (finish_dollar_format_checking): Use explicit location when warning. 5085 (check_format_info): Likewise. 5086 (check_format_arg): Set extra_arg_loc and format_string_loc. 5087 (check_format_info_main): Use explicit location when warning. 5088 (check_format_types): Pass explicit location. 5089 (format_type_warning): Likewise. 5090 50912014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org> 5092 5093 PR fortran/44054 5094 * c-format.c: Handle Fortran flags. 5095 50962014-08-12 Igor Zamyatin <igor.zamyatin@intel.com> 5097 5098 PR other/61962 5099 * array-notation-common.c (find_rank): Added handling for other 5100 types of references. 5101 51022014-08-10 Marek Polacek <polacek@redhat.com> 5103 5104 PR c/51849 5105 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp. 5106 * c.opt (Wc90-c99-compat): Add option. 5107 51082014-08-07 Trevor Saunders <tsaunders@mozilla.com> 5109 5110 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h. 5111 51122014-08-03 Marek Polacek <polacek@redhat.com> 5113 5114 * c-common.c (check_case_value): Add location_t parameter. Use it. 5115 (c_add_case_label): Pass loc to check_case_value. 5116 51172014-08-02 Trevor Saunders <tsaunders@mozilla.com> 5118 5119 * cilk.c: Use hash_map instead of pointer_map. 5120 51212014-08-02 Trevor Saunders <tsaunders@mozilla.com> 5122 5123 * c-gimplify.c: Use hash_set instead of pointer_set. 5124 51252014-08-01 Igor Zamyatin <igor.zamyatin@intel.com> 5126 5127 PR middle-end/61455 5128 * array-notation-common.c (extract_array_notation_exprs): Handling 5129 of DECL_EXPR added. 5130 51312014-08-01 Jakub Jelinek <jakub@redhat.com> 5132 5133 * c-common.h (min_align_of_type): Removed prototype. 5134 * c-common.c (min_align_of_type): Removed. 5135 * c-ubsan.h (ubsan_maybe_instrument_reference, 5136 ubsan_maybe_instrument_member_call): New prototypes. 5137 * c-ubsan.c: Include stor-layout.h and builtins.h. 5138 (ubsan_maybe_instrument_reference_or_call, 5139 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New 5140 functions. 5141 51422014-07-31 Marc Glisse <marc.glisse@inria.fr> 5143 5144 PR c++/60517 5145 * c.opt (-Wreturn-local-addr): Move to common.opt. 5146 51472014-07-30 Jason Merrill <jason@redhat.com> 5148 5149 PR c++/61659 5150 PR c++/61687 5151 Revert: 5152 * c.opt (-fuse-all-virtuals): New. 5153 51542014-07-30 Tom Tromey <tromey@redhat.com> 5155 5156 PR c/59855 5157 * c.opt (Wdesignated-init): New option. 5158 * c-common.c (c_common_attribute_table): Add "designated_init". 5159 (handle_designated_init): New function. 5160 51612014-07-24 Marek Polacek <polacek@redhat.com> 5162 5163 PR c/57653 5164 * c-opts.c (c_finish_options): If -imacros is in effect, return. 5165 51662014-07-16 Dodji Seketeli <dodji@redhat.com> 5167 5168 PR preprocessor/60723 - missing system-ness marks for macro tokens 5169 * c-ppoutput.c (struct print::prev_was_system_token): New data 5170 member. 5171 (init_pp_output): Initialize it. 5172 (maybe_print_line_1, maybe_print_line, print_line_1, print_line) 5173 (do_line_change): Return a flag saying if a line marker was 5174 emitted or not. 5175 (scan_translation_unit): Detect if the system-ness of the token we 5176 are about to emit is different from the one of the previously 5177 emitted token. If so, emit a line marker. Avoid emitting useless 5178 adjacent line markers. Avoid emitting line markers for tokens 5179 originating from the expansion of built-in macros. 5180 (scan_translation_unit_directives_only): Adjust. 5181 51822014-07-15 Marek Polacek <polacek@redhat.com> 5183 5184 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if 5185 TYPE_MAX_VALUE is NULL. 5186 51872014-07-14 Jakub Jelinek <jakub@redhat.com> 5188 5189 PR middle-end/61294 5190 * c.opt (Wmemset-transposed-args): New warning. 5191 51922014-07-10 Jason Merrill <jason@redhat.com> 5193 5194 PR c++/61659 5195 PR c++/61687 5196 * c.opt (-fuse-all-virtuals): New. 5197 51982014-07-09 Richard Biener <rguenther@suse.de> 5199 5200 PR c-family/61741 5201 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions 5202 using unsigned arithmetic if overflow does not wrap instead of 5203 if overflow is undefined. 5204 52052014-07-06 Marek Polacek <polacek@redhat.com> 5206 5207 PR c/6940 5208 * c.opt (Wsizeof-array-argument): New option. 5209 52102014-07-03 Jakub Jelinek <jakub@redhat.com> 5211 5212 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if 5213 comments->count <= 1, as comments->entries might be NULL. 5214 52152014-07-01 Marek Polacek <polacek@redhat.com> 5216 5217 * c.opt (Wint-conversion): New option. 5218 52192014-07-01 Marek Polacek <polacek@redhat.com> 5220 5221 PR c/58286 5222 * c.opt (Wincompatible-pointer-types): New option. 5223 52242014-06-30 Paolo Carlini <paolo.carlini@oracle.com> 5225 5226 PR c++/51400 5227 * c-common.c (handle_noreturn_attribute, handle_const_attribute): 5228 Do not discard TYPE_QUALS of type. 5229 52302014-06-26 Jason Merrill <jason@redhat.com> 5231 5232 * c-common.h (enum cxx_dialect): Add cxx1z. 5233 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New. 5234 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it. 5235 52362014-06-26 Teresa Johnson <tejohnson@google.com> 5237 5238 * c-common.h (get_dump_info): Declare. 5239 * c-gimplify.c (c_genericize): Use saved dump files. 5240 * c-opts.c (c_common_parse_file): Begin and end dumps 5241 once around parsing invocation. 5242 (get_dump_info): New function. 5243 52442014-06-23 Marek Polacek <polacek@redhat.com> 5245 Andrew MacLeod <amacleod@redhat.com> 5246 5247 PR c/61553 5248 * c-common.c (get_atomic_generic_size): Don't segfault if the 5249 type doesn't have a size. 5250 52512014-06-20 Marek Polacek <polacek@redhat.com> 5252 5253 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h". 5254 (ubsan_walk_array_refs_r): New function. 5255 (c_genericize): Instrument array bounds. 5256 * c-ubsan.c: Include "internal-fn.h". 5257 (ubsan_instrument_division): Mark instrumented arrays as having 5258 side effects. Adjust ubsan_type_descriptor call. 5259 (ubsan_instrument_shift): Likewise. 5260 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call. 5261 (ubsan_instrument_bounds): New function. 5262 (ubsan_array_ref_instrumented_p): New function. 5263 (ubsan_maybe_instrument_array_ref): New function. 5264 * c-ubsan.h (ubsan_instrument_bounds): Declare. 5265 (ubsan_array_ref_instrumented_p): Declare. 5266 (ubsan_maybe_instrument_array_ref): Declare. 5267 52682014-06-20 Hale Wang <hale.wang@arm.com> 5269 5270 PR lto/61123 5271 * c.opt (fshort-enums): Add to LTO. 5272 * c.opt (fshort-wchar): Likewise. 5273 52742014-06-16 Marek Polacek <polacek@redhat.com> 5275 5276 PR c/60439 5277 * c.opt (Wswitch-bool): Add Var. 5278 52792014-06-12 Jakub Jelinek <jakub@redhat.com> 5280 5281 PR middle-end/61486 5282 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in 5283 #pragma omp target teams or 5284 #pragma omp {,target }teams distribute simd. 5285 52862014-06-12 Jason Merrill <jason@redhat.com> 5287 5288 * c.opt (Wabi=, fabi-compat-version): New. 5289 * c-opts.c (c_common_handle_option): Handle -Wabi=. 5290 (c_common_post_options): Handle flag_abi_compat_version default. 5291 Disallow -fabi-compat-version=1. 5292 * c-common.h (abi_version_crosses): New. 5293 52942014-06-11 Jan Hubicka <hubicka@ucw.cz> 5295 5296 * c-common.c (handle_section_attribute): Update handling for 5297 section names that are no longer trees. 5298 52992014-06-10 Jakub Jelinek <jakub@redhat.com> 5300 5301 PR fortran/60928 5302 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK... 5303 (omp_pragmas): ... back here. 5304 53052014-06-05 Marek Polacek <polacek@redhat.com> 5306 5307 PR c/49706 5308 * c-common.c (warn_logical_not_parentheses): New function. 5309 * c-common.h (warn_logical_not_parentheses): Declare. 5310 * c.opt (Wlogical-not-parentheses): New option. 5311 53122014-06-04 Marek Polacek <polacek@redhat.com> 5313 5314 PR c/30020 5315 * c-common.c (check_case_bounds): Add location parameter. 5316 Use it. 5317 (c_add_case_label): Pass loc to check_case_bounds. 5318 53192014-06-03 Marek Polacek <polacek@redhat.com> 5320 5321 PR c/60439 5322 * c.opt (Wswitch-bool): New option. 5323 53242014-05-22 Thomas Schwinge <thomas@codesourcery.com> 5325 5326 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl): 5327 Remove prototypes. 5328 (record_types_used_by_current_var_decl): Move prototype to where 5329 it belongs. 5330 5331 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6) 5332 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8) 5333 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes. 5334 53352014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com> 5336 5337 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete. 5338 * c-common.c (c_common_nodes_and_builtins): Don't initialize 5339 void_zero_node. 5340 * c-pretty-print.c (pp_c_void_constant): New function. 5341 (c_pretty_printer::constant, c_pretty_printer::primary_expression) 5342 (c_pretty_printer::expression): Handle VOID_CST. 5343 * cilk.c (extract_free_variables): Likewise. 5344 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift) 5345 (ubsan_instrument_vla): Use void_node instead of void_zero_node. 5346 53472014-05-17 Trevor Saunders <tsaunders@mozilla.com> 5348 5349 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute. 5350 * c-pragma.c (push_alignment): Adjust. 5351 (handle_pragma_push_options): Likewise. 5352 53532014-05-09 Marek Polacek <polacek@redhat.com> 5354 5355 PR c/50459 5356 * c-common.c (check_user_alignment): Return -1 if alignment is error 5357 node. 5358 (handle_aligned_attribute): Don't call default_conversion on 5359 FUNCTION_DECLs. 5360 (handle_vector_size_attribute): Likewise. 5361 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node. 5362 (handle_sentinel_attribute): Call default_conversion and allow even 5363 integral types as an argument. 5364 53652014-05-08 Marek Polacek <polacek@redhat.com> 5366 5367 PR c/61053 5368 * c-common.c (min_align_of_type): New function factored out from... 5369 (c_sizeof_or_alignof_type): ...here. 5370 * c-common.h (min_align_of_type): Declare. 5371 53722014-05-08 Marek Polacek <polacek@redhat.com> 5373 5374 PR c/61077 5375 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified 5376 parameter type of main. 5377 53782014-05-07 DJ Delorie <dj@redhat.com> 5379 5380 * c-cppbuiltin.c (print_bits_of_hex): New. 5381 (builtin_define_type_minmax): Print values using hex so as not to 5382 require a pre-computed list of string values. 5383 53842014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com> 5385 Mike Stump <mikestump@comcast.net> 5386 Richard Sandiford <rdsandiford@googlemail.com> 5387 5388 * c-ada-spec.c: Include wide-int.h. 5389 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove. 5390 (dump_generic_ada_node): Use wide-int interfaces. 5391 * c-common.c: Include wide-int-print.h. 5392 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt. 5393 (pointer_int_sum): Use wide-int interfaces. 5394 (c_common_nodes_and_builtins): Use make_int_cst. 5395 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p. 5396 (handle_alloc_size_attribute): Use wide-int interfaces. 5397 (get_nonnull_operand): Likewise. 5398 * c-format.c (get_constant): Use tree_fits_uhwi_p. 5399 * c-lex.c: Include wide-int.h. 5400 (narrowest_unsigned_type): Take a widest_int rather than two 5401 HOST_WIDE_INTs. 5402 (narrowest_signed_type): Likewise. 5403 (interpret_integer): Update accordingly. Use wide-int interfaces. 5404 (lex_charconst): Use wide-int interfaces. 5405 * c-pretty-print.c: Include wide-int.h. 5406 (pp_c_integer_constant): Use wide-int interfaces. 5407 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of 5408 INT_CST_LT_UNSIGNED. 5409 54102014-05-06 Richard Biener <rguenther@suse.de> 5411 5412 * c-opts.c (c_common_post_options): For -freestanding, 5413 -fno-hosted and -fno-builtin disable pattern recognition 5414 if not enabled explicitely. 5415 54162014-05-02 Marek Polacek <polacek@redhat.com> 5417 5418 * c.opt (Wsizeof-pointer-memaccess): Describe option. 5419 54202014-05-01 Marek Polacek <polacek@redhat.com> 5421 5422 PR c/43245 5423 * c.opt (Wdiscarded-qualifiers): Add. 5424 54252014-04-30 Marek Polacek <polacek@redhat.com> 5426 5427 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform 5428 INT_MIN / -1 sanitization only for integer types. 5429 54302014-04-25 Marek Polacek <polacek@redhat.com> 5431 5432 PR c/18079 5433 * c-common.c (handle_noinline_attribute): Warn if the attribute 5434 conflicts with always_inline attribute. 5435 (handle_always_inline_attribute): Warn if the attribute conflicts 5436 with noinline attribute. 5437 54382014-04-25 Marek Polacek <polacek@redhat.com> 5439 5440 PR c/60156 5441 * c-common.c (check_main_parameter_types): Warn about variadic main. 5442 54432014-04-24 Mike Stump <mikestump@comcast.net> 5444 5445 * c.opt (Wshadow-ivar): Default to on. 5446 54472014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com> 5448 5449 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add. 5450 54512014-04-23 Marek Polacek <polacek@redhat.com> 5452 5453 * c-common.c (handle_tm_wrap_attribute): Tweak error message. 5454 54552014-04-22 Jakub Jelinek <jakub@redhat.com> 5456 5457 PR sanitizer/60275 5458 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap () 5459 if flag_sanitize_undefined_trap_on_error. 5460 (ubsan_instrument_division, ubsan_instrument_shift, 5461 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort () 5462 if !flag_sanitize_recover. 5463 54642014-04-22 Marc Glisse <marc.glisse@inria.fr> 5465 5466 PR libstdc++/43622 5467 * c-common.c (registered_builtin_types): Make non-static. 5468 * c-common.h (registered_builtin_types): Declare. 5469 54702014-04-14 Richard Biener <rguenther@suse.de> 5471 Marc Glisse <marc.glisse@inria.fr> 5472 5473 PR c/60819 5474 * c-common.c (convert_vector_to_pointer_for_subscript): Properly 5475 apply may-alias the scalar pointer type when applicable. 5476 54772014-04-12 Igor Zamyatin <igor.zamyatin@intel.com> 5478 5479 PR middle-end/60467 5480 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL 5481 as possible argument for Cilk_spawn. 5482 54832014-04-11 Tobias Burnus <burnus@net-b.de> 5484 5485 PR c/60194 5486 * c.opt (Wformat-signedness): Add 5487 * c-format.c(check_format_types): Use it. 5488 54892014-04-11 Jason Merrill <jason@redhat.com> 5490 5491 PR c++/57926 5492 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call 5493 default_conversion for an array argument. 5494 54952014-04-08 Marek Polacek <polacek@redhat.com> 5496 5497 PR sanitizer/60745 5498 * c-ubsan.c: Include asan.h. 5499 (ubsan_instrument_return): Call initialize_sanitizer_builtins. 5500 55012014-04-03 Nathan Sidwell <nathan@codesourcery.com> 5502 5503 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++. 5504 55052014-04-02 Marek Polacek <polacek@redhat.com> 5506 5507 * c-common.h (c_expand_expr): Remove declaration. 5508 55092014-03-28 Jakub Jelinek <jakub@redhat.com> 5510 5511 PR c++/60689 5512 * c-common.c (add_atomic_size_parameter): When creating new 5513 params vector, push the size argument first. 5514 55152014-03-26 Jakub Jelinek <jakub@redhat.com> 5516 5517 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift, 5518 ubsan_instrument_vla, ubsan_instrument_return): Adjust 5519 ubsan_create_data callers. 5520 55212014-03-22 Jakub Jelinek <jakub@redhat.com> 5522 5523 PR debug/60603 5524 * c-opts.c (c_finish_options): Restore cb_file_change call to 5525 <built-in>. 5526 55272014-03-13 Jakub Jelinek <jakub@redhat.com> 5528 5529 PR middle-end/36282 5530 * c-pragma.c (apply_pragma_weak): Only look at 5531 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if 5532 DECL_ASSEMBLER_NAME_SET_P (decl). 5533 (maybe_apply_pending_pragma_weaks): Exit early if 5534 vec_safe_is_empty (pending_weaks) rather than only when 5535 !pending_weaks. 5536 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P, 5537 set assembler name back to NULL afterwards. 5538 55392014-03-11 Jason Merrill <jason@redhat.com> 5540 5541 * c.opt: Add -std=gnu++14. 5542 55432014-03-11 Ian Bolton <ian.bolton@arm.com> 5544 5545 * c-opts.c (c_common_post_options): Don't override 5546 -ffp-contract=fast if unsafe-math-optimizations is on. 5547 55482014-03-08 Paulo Matos <paulo@matos-sorge.com> 5549 5550 * c.opt: Enable LTO FE for fshort-double. 5551 55522014-03-07 Jason Merrill <jason@redhat.com> 5553 5554 * c.opt: Add -std=c++14. 5555 55562014-03-06 Marek Polacek <polacek@redhat.com> 5557 5558 PR c/60197 5559 * cilk.c (contains_cilk_spawn_stmt): New function. 5560 (contains_cilk_spawn_stmt_walker): Likewise. 5561 (recognize_spawn): Give error on invalid use of _Cilk_spawn. 5562 * c-common.h (contains_cilk_spawn_stmt): Add declaration. 5563 55642014-03-03 Jakub Jelinek <jakub@redhat.com> 5565 5566 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD. 5567 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD 5568 even when flag_preprocess_only. 5569 55702014-02-26 Jason Merrill <jason@redhat.com> 5571 5572 PR c++/59231 5573 PR c++/11586 5574 * c-common.c (shorten_compare): Don't check 5575 c_inhibit_evaluation_warnings. 5576 55772014-02-19 Jakub Jelinek <jakub@redhat.com> 5578 5579 PR c/37743 5580 * c-common.c (c_common_nodes_and_builtins): When initializing 5581 c_uint{16,32,64}_type_node, also set corresponding 5582 uint{16,32,64}_type_node to the same value. 5583 5584 PR c++/60267 5585 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma 5586 for PRAGMA_IVDEP if flag_preprocess_only. 5587 55882014-02-12 Jakub Jelinek <jakub@redhat.com> 5589 5590 PR c/60101 5591 * c-common.c (merge_tlist): If copy is true, call new_tlist, 5592 if false, add ADD itself, rather than vice versa. 5593 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero 5594 copy. For SAVE_EXPR, only call merge_tlist once. 5595 55962014-02-08 Jakub Jelinek <jakub@redhat.com> 5597 5598 PR middle-end/60092 5599 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p 5600 and tree_to_uhwi. 5601 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New 5602 functions. 5603 (c_common_attribute_table): Add alloc_align and assume_aligned 5604 attributes. 5605 56062014-02-06 Marek Polacek <polacek@redhat.com> 5607 5608 PR c/60087 5609 * c-common.c (warn_for_sign_compare): Call warning_at with location 5610 instead of warning. 5611 56122014-02-05 Marek Polacek <polacek@redhat.com> 5613 5614 PR c/53123 5615 * c-omp.c (c_finish_omp_atomic): Remove unreachable return 5616 statement. 5617 56182014-02-04 Marek Polacek <polacek@redhat.com> 5619 5620 PR c/60036 5621 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or 5622 SAVE_EXPR. 5623 56242014-02-03 Marc Glisse <marc.glisse@inria.fr> 5625 5626 PR c++/53017 5627 PR c++/59211 5628 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute, 5629 handle_vector_size_attribute, handle_nonnull_attribute): Call 5630 default_conversion on the attribute argument. 5631 (handle_nonnull_attribute): Increment the argument number. 5632 56332014-01-31 Marek Polacek <polacek@redhat.com> 5634 5635 PR c/59963 5636 * c-common.c (add_atomic_size_parameter): Pass vNULL to 5637 build_function_call_vec. 5638 (resolve_overloaded_builtin): Likewise. 5639 * c-common.h (build_function_call_vec): Adjust declaration. 5640 56412014-01-30 Marek Polacek <polacek@redhat.com> 5642 5643 PR c/59940 5644 * c-common.h (unsafe_conversion_p): Adjust declaration. 5645 (warnings_for_convert_and_check): Likewise. 5646 (convert_and_check): Likewise. 5647 * c-common.c (unsafe_conversion_p): Add location parameter. Call 5648 expansion_point_location_if_in_system_header on it. 5649 (warnings_for_convert_and_check): Add location parameter. Call 5650 expansion_point_location_if_in_system_header on it. Use it. 5651 (convert_and_check): Add location parameter. Use it. 5652 (conversion_warning): Likewise. 5653 (c_add_case_label): Adjust convert_and_check calls. 5654 (scalar_to_vector): Adjust unsafe_conversion_p calls. 5655 56562014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com> 5657 5658 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with 5659 flag_cilkplus. 5660 * c-pragma.c (init_pragma): Likewise. 5661 * c.opt: Likewise. 5662 56632014-01-23 Marek Polacek <polacek@redhat.com> 5664 5665 PR c/59846 5666 * c-common.c (shorten_compare): Add location_t parameter. 5667 * c-common.h (shorten_binary_op): Adjust declaration. 5668 56692014-01-23 Marek Polacek <polacek@redhat.com> 5670 5671 PR c/58346 5672 * c-common.c (pointer_to_zero_sized_aggr_p): New function. 5673 * c-common.h: Declare it. 5674 56752014-01-20 Eric Botcazou <ebotcazou@adacore.com> 5676 5677 * c-ada-spec.h (dump_ada_specs): Revert prototype change. 5678 * c-ada-spec.c (dump_ads): Likewise. 5679 (cpp_check): Likewise. 5680 (dump_ada_specs): Likewise. 5681 56822014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com> 5683 5684 PR c++/49718 5685 * c-common.c (handle_no_instrument_function_attribute): Allow 5686 no_instrument_function attribute in class member 5687 definition/declaration. 5688 56892014-01-15 Jakub Jelinek <jakub@redhat.com> 5690 5691 PR c/58943 5692 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around 5693 build_modify_expr with non-NOP_EXPR opcode. Handle return from it 5694 being COMPOUND_EXPR. 5695 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first 5696 operand a SAVE_EXPR and second MODIFY_EXPR. 5697 56982014-01-09 Jakub Jelinek <jakub@redhat.com> 5699 5700 PR target/58115 5701 * c-pch.c (c_common_write_pch): Call 5702 prepare_target_option_nodes_for_pch. 5703 57042014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 5705 5706 Update copyright years 5707 57082014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 5709 5710 * array-notation-common.c, c-cilkplus.c: Use the standard form for 5711 the copyright notice. 5712 57132013-12-28 Eric Botcazou <ebotcazou@adacore.com> 5714 5715 * c-ada-spec.c (print_constructor): New function. 5716 (print_destructor): Retrieve the origin of the destructor. 5717 (print_ada_declaration): Revamp handling of constructors/destructors. 5718 57192013-12-23 Stuart Hastings <stuart@apple.com> 5720 Bill Maddox <maddox@google.com> 5721 Jason Merrill <jason@redhat.com> 5722 5723 * c.opt: Add -fdeclone-ctor-dtor. 5724 * c-opts.c (c_common_post_options): Default to on iff -Os. 5725 57262013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com> 5727 5728 * c-common.c (c_common_attribute_table): Added "cilk simd function" 5729 attribute. 5730 * c-pragma.h (enum pragma_cilk_clause): Remove. 5731 (enum pragma_omp_clause): Added the following fields: 5732 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK, 5733 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE, 5734 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE, 5735 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE, 5736 PRAGMA_CILK_CLAUSE_UNIFORM. 5737 5738 57392013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com> 5740 5741 * cilk.c (cilk_outline): Made this function non-static. 5742 (gimplify_cilk_spawn): Removed pre_p and post_p arguments. 5743 (create_cilk_wrapper): Added a new parameter: a function pointer. 5744 (c_install_body_w_frame_cleanup): Remove 5745 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case. 5746 * c-common.h (cilk_outline): New prototype. 5747 (gimplify_cilk_spawn): Removed two parameters. 5748 (cilk_install_body_with_frame_cleanup): New prototype. 5749 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and 5750 CILK_SPAWN_STMT case. 5751 57522013-12-11 Bernd Schmidt <bernds@codesourcery.com> 5753 5754 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR. 5755 5756 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE. 5757 (int_array_type_node): Remove. 5758 * c-common.c (c_common_nodes_and_builtins): Don't build it. 5759 57602013-12-05 Marek Polacek <polacek@redhat.com> 5761 5762 PR c/52023 5763 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into 5764 [ADJUST_FIELD_ALIGN]. 5765 57662013-12-04 Joseph Myers <joseph@codesourcery.com> 5767 5768 PR c/52023 5769 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof 5770 and check field alignment if set. 5771 * c-common.h (c_sizeof_or_alignof_type): Update prototype. 5772 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type. 5773 57742013-12-04 Jakub Jelinek <jakub@redhat.com> 5775 Marek Polacek <polacek@redhat.com> 5776 5777 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow 5778 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS. 5779 57802013-11-29 H.J. Lu <hongjiu.lu@intel.com> 5781 5782 PR c/59309 5783 * cilk.c (gimplify_cilk_spawn): Properly handle function without 5784 arguments. 5785 57862013-11-29 Jakub Jelinek <jakub@redhat.com> 5787 5788 PR c/59280 5789 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE, 5790 goto invalid. If it is error_mark_node, don't issue further 5791 diagnostics. 5792 57932013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com> 5794 5795 * c.opt (Wopenmp-simd): New. 5796 57972013-11-22 Jakub Jelinek <jakub@redhat.com> 5798 5799 * c-ubsan.h (ubsan_instrument_return): New prototype. 5800 * c-ubsan.c (ubsan_instrument_return): New function. 5801 58022013-11-22 Andrew MacLeod <amacleod@redhat.com> 5803 5804 * c-common.c: Add required include files from gimple.h. 5805 * c-gimplify.c: Likewise 5806 * cilk.c: Likewise 5807 58082013-11-22 David Malcolm <dmalcolm@redhat.com> 5809 5810 * c-common.c (unsafe_conversion_p): Remove use of 5811 EXPR_LOC_OR_HERE macro. 5812 (conversion_warning): Likewise. 5813 (warnings_for_convert_and_check): Likewise. 5814 (warn_for_collisions_1): Likewise. 5815 (shorten_compare): Likewise, and remove use of in_system_header 5816 macro, using the location from the former. 5817 * c-lex.c (dump_one_header): Remove use of input_filename macro. 5818 (cb_def_pragma): Remove use of in_system_header macro. 5819 (lex_string): Likewise. 5820 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise. 5821 58222013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com> 5823 Mike Stump <mikestump@comcast.net> 5824 Richard Sandiford <rdsandiford@googlemail.com> 5825 5826 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi 5827 instead of TREE_INT_CST_LOW, in cases where there is a protecting 5828 tree_fits_shwi_p or tree_fits_uhwi_p. 5829 (dump_generic_ada_node): Likewise. 5830 * c-format.c (check_format_arg): Likewise. 5831 * c-pretty-print.c (pp_c_integer_constant): Likewise. 5832 58332013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com> 5834 5835 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi. 5836 58372013-11-19 Joshua J Cogliati <jrincayc@yahoo.com> 5838 5839 PR c/53001 5840 * c-common.c (unsafe_conversion_p): Make this function 5841 return an enumeration with more detail. 5842 (conversion_warning): Use the new return type of 5843 unsafe_conversion_p to separately warn either about conversions 5844 that lower floating point number precision or about the other 5845 kinds of conversions. 5846 * c-common.h (enum conversion_safety): New enumeration. 5847 (unsafe_conversion_p): switching return type to 5848 conversion_safety enumeration. 5849 * c.opt: Adding new warning -Wfloat-conversion and 5850 enabling it with -Wconversion. 5851 58522013-11-19 Basile Starynkevitch <basile@starynkevitch.net> 5853 5854 * c-opts.c: Include plugin.h. 5855 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE. 5856 58572013-11-19 Marek Polacek <polacek@redhat.com> 5858 5859 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data 5860 call. 5861 (ubsan_instrument_shift): Likewise. 5862 (ubsan_instrument_vla): Likewise. 5863 58642013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 5865 5866 * c-common.c (convert_vector_to_pointer_for_subscript): Remove 5867 cast to unsigned type. 5868 58692013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 5870 5871 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than 5872 tree_low_cst. 5873 (complete_array_type): Update comment to refer to tree_to_[su]hwi 5874 rather than tree_low_cst. 5875 58762013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 5877 5878 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with 5879 tree_to_uhwi throughout. 5880 58812013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 5882 5883 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace 5884 tree_low_cst (..., 0) with tree_to_shwi throughout. 5885 58862013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 5887 5888 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace 5889 host_integerp (..., 1) with tree_fits_uhwi_p throughout. 5890 58912013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 5892 5893 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace 5894 host_integerp (..., 0) with tree_fits_shwi_p throughout. 5895 58962013-11-15 Aldy Hernandez <aldyh@redhat.com> 5897 5898 * c-cilkplus.c: New file. 5899 * c-common.c (readonly_error): Add location argument. 5900 * c-common.h (readonly_error): Same. 5901 (c_finish_cilk_clauses): Protoize. 5902 (c_check_cilk_loop): Same. 5903 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes. 5904 Do not fail on error_mark_node. 5905 Abstract increment canonicalization to here... 5906 (c_omp_for_incr_canonicalize_ptr): New. 5907 c-pragma.c (init_pragma): Register "simd" pragma. 5908 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD. 5909 (enum pragma_cilk_clause): New. 5910 59112013-11-15 Richard Sandiford <rdsandiford@googlemail.com> 5912 5913 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary 5914 wchar_type and host_integerp checks. 5915 59162013-11-14 Andrew MacLeod <amacleod@redhat.com> 5917 5918 * c-common.c: Likewise. 5919 * c-gimplify.c: Likewise. 5920 * cilk.c: Likewise. 5921 59222013-11-14 Diego Novillo <dnovillo@google.com> 5923 5924 * c-common.c: Include fold-const.h. 5925 Include stor-layout.h. 5926 Include calls.h. 5927 Include stringpool.h. 5928 Include attribs.h. 5929 Include varasm.h. 5930 Include trans-mem.h. 5931 * c-cppbuiltin.c: Include stor-layout.h. 5932 Include stringpool.h. 5933 * c-format.c: Include stringpool.h. 5934 * c-lex.c: Include stringpool.h. 5935 Include stor-layout.h. 5936 * c-pragma.c: Include stringpool.h. 5937 Include attribs.h. 5938 Include varasm.h. 5939 Include gcc-symtab.h. 5940 * c-pretty-print.c: Include stor-layout.h. 5941 Include attribs.h. 5942 * cilk.c: Include stringpool.h. 5943 Include calls.h. 5944 59452013-11-13 Joseph Myers <joseph@codesourcery.com> 5946 5947 * c-common.h (enum rid): Add RID_AUTO_TYPE. 5948 * c-common.c (c_common_reswords): Add __auto_type. 5949 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE. 5950 59512013-11-12 Andrew MacLeod <amacleod@redhat.com> 5952 5953 * c-common.c: Include gimplify.h. 5954 * c-gimplify.c: Likewise. 5955 * cilk.c: Likewise. 5956 * c-omp.c: Include gimple-expr.h instead of gimple.h. 5957 * c-ubsan.c: Don't include gimple.h. 5958 59592013-11-12 Joseph Myers <joseph@codesourcery.com> 5960 5961 * c-common.c (c_common_reswords): Add _Thread_local. 5962 59632013-11-09 Joseph Myers <joseph@codesourcery.com> 5964 5965 * c-common.c (atomic_size_supported_p): New function. 5966 (resolve_overloaded_atomic_exchange) 5967 (resolve_overloaded_atomic_compare_exchange) 5968 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): 5969 Use it instead of comparing size with a local list of sizes. 5970 59712013-11-07 Andrew MacLeod <amacleod@redhat.com> 5972 Joseph Myers <joseph@codesourcery.com> 5973 5974 * c-common.h (enum rid): Add RID_ATOMIC. 5975 * c-common.c (c_common_reswords): Add _Atomic. 5976 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument. 5977 (keyword_is_type_qualifier): Accept RID_ATOMIC. 5978 * c-format.c (check_format_types): Check for extra _Atomic 5979 qualifiers in format argument. 5980 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier. 5981 (pp_c_type_qualifier_list): Mention _Atomic in comment. 5982 59832013-11-06 Tobias Burnus <burnus@net-b.de> 5984 5985 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME. 5986 59872013-11-06 Joseph Myers <joseph@codesourcery.com> 5988 5989 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C 5990 standards modes. 5991 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast 5992 to mean lack of IEEE 754 support. 5993 59942013-11-05 Tobias Burnus <burnus@net-b.de> 5995 5996 * c.opt (-Wdate-time): New option 5997 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp. 5998 59992013-11-05 Joseph Myers <joseph@codesourcery.com> 6000 6001 * c-cppbuiltin.c (cpp_iec_559_value): Test 6002 flag_excess_precision_cmdline not flag_excess_precision. 6003 60042013-11-05 Tobias Burnus <burnus@net-b.de> 6005 6006 * c.opt (fopenmp-simd): New option. 6007 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ... 6008 (omp_pragmas): ... this new struct. 6009 (c_pp_lookup_pragma): Also walk omp_pragmas. 6010 (init_pragma): Init pragmas for -fopenmp-simd. 6011 60122013-11-04 Marek Polacek <polacek@redhat.com> 6013 6014 PR c++/58979 6015 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case. 6016 60172013-11-04 Joseph Myers <joseph@codesourcery.com> 6018 6019 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value): 6020 New functions. 6021 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX. 6022 60232013-11-04 Eric Botcazou <ebotcazou@adacore.com> 6024 6025 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL. 6026 (dump_ada_specs): Adjust prototype of second callback. 6027 * c-ada-spec.c (cpp_check): New global variable. 6028 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down. 6029 (print_generic_ada_decl): Likewise. 6030 (has_static_fields): Change return type to bool and add guard. 6031 (has_nontrivial_methods): New predicate. 6032 (is_tagged_type): Change return type to bool. 6033 (separate_class_package): Call has_nontrivial_methods. 6034 (pp_ada_tree_identifier): Minor tweaks. 6035 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node. 6036 (dump_ada_array_domains): Likewise. 6037 (dump_ada_array_type): Likewise. 6038 (dump_template_types): Remove cpp_check parameter and do not pass it to 6039 dump_generic_ada_node. 6040 (dump_ada_template): Likewise. 6041 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it 6042 recursively. 6043 (print_ada_methods): Change return type to integer. Remove cpp_check 6044 parameter and do not pass it down. 6045 (dump_nested_types): Remove cpp_check parameter and do not pass it to 6046 dump_generic_ada_node. 6047 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before 6048 accessing methods. 6049 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it 6050 down. Use has_nontrivial_methods to recognize C++ classes. Use return 6051 value of print_ada_methods. 6052 (dump_ads): Rename cpp_check parameter to check and adjust prototype. 6053 Set cpp_check to it before invoking dump_ada_nodes. 6054 (dump_ada_specs): Likewise. 6055 60562013-11-03 Marek Polacek <polacek@redhat.com> 6057 6058 * c-ubsan.c: Don't include hash-table.h. 6059 (ubsan_instrument_vla): New function. 6060 * c-ubsan.h: Declare it. 6061 60622013-10-31 David Malcolm <dmalcolm@redhat.com> 6063 6064 Automated part of renaming of symtab_node_base to symtab_node. 6065 6066 Patch autogenerated by rename_symtab.py from 6067 https://github.com/davidmalcolm/gcc-refactoring-scripts 6068 revision 58bb219cc090b2f4516a9297d868c245495ee622 6069 6070 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename 6071 symtab_node_base to symtab_node. 6072 60732013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net> 6074 6075 Implement C++14 digit separators. 6076 * c-lex.c (interpret_float): Remove digit separators from scratch string 6077 before building real literal. 6078 60792013-10-30 Jakub Jelinek <jakub@redhat.com> 6080 6081 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC. 6082 60832013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com> 6084 6085 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync 6086 fields. 6087 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is 6088 enabled. 6089 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC. 6090 (insert_cilk_frame): New prototype. 6091 (cilk_init_builtins): Likewise. 6092 (gimplify_cilk_spawn): Likewise. 6093 (c_cilk_install_body_w_frame_cleanup): Likewise. 6094 (cilk_detect_spawn_and_unwrap): Likewise. 6095 (cilk_set_spawn_marker): Likewise. 6096 (build_cilk_sync): Likewise. 6097 (build_cilk_spawn): Likewise. 6098 * cilk.c: New file. 6099 61002013-10-29 David Malcolm <dmalcolm@redhat.com> 6101 6102 Patch autogenerated by refactor_symtab.py from 6103 https://github.com/davidmalcolm/gcc-refactoring-scripts 6104 revision 58bb219cc090b2f4516a9297d868c245495ee622 6105 6106 * c-gimplify.c (c_genericize): Update for conversion of symtab types 6107 to a true class hierarchy. 6108 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise. 6109 61102013-10-27 Richard Sandiford <rdsandiford@googlemail.com> 6111 6112 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend. 6113 61142013-10-26 Jeff Law <law@redhat.com> 6115 6116 * c-common.c (c_define_builtins): Remove mudflap support. 6117 * c.opt: Ignore and warn for mudflap options. 6118 61192013-10-24 Tobias Burnus <burnus@net-b.de> 6120 6121 PR other/33426 6122 * c-pragma.c (init_pragma) Add #pragma ivdep handling. 6123 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP. 6124 61252013-10-23 Jason Merrill <jason@redhat.com> 6126 6127 * c-format.c (gcc_cxxdiag_char_table): Add %X. 6128 61292013-10-11 Jakub Jelinek <jakub@redhat.com> 6130 6131 * c-common.h (omp_clause_mask::operator !=): New method. 6132 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0) 6133 instead of if (mask & something) tests everywhere. 6134 6135 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to 6136 201307 instead of 201107. 6137 * c-common.c (DEF_FUNCTION_TYPE_8): Define. 6138 (c_common_attribute_table): Add "omp declare target" and 6139 "omp declare simd" attributes. 6140 (handle_omp_declare_target_attribute, 6141 handle_omp_declare_simd_attribute): New functions. 6142 * c-omp.c: Include c-pragma.h. 6143 (c_finish_omp_taskgroup): New function. 6144 (c_finish_omp_atomic): Add swapped argument, if true, 6145 build the operation first with rhs, lhs arguments and use NOP_EXPR 6146 build_modify_expr. 6147 (c_finish_omp_for): Add code argument, pass it down to make_code. 6148 (c_omp_split_clauses): New function. 6149 (c_split_parallel_clauses): Removed. 6150 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers, 6151 c_omp_declare_simd_clauses_to_decls): New functions. 6152 * c-common.h (omp_clause_mask): New type. 6153 (OMP_CLAUSE_MASK_1): Define. 6154 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=, 6155 omp_clause_mask::operator |=, omp_clause_mask::operator ~, 6156 omp_clause_mask::operator |, omp_clause_mask::operator &, 6157 omp_clause_mask::operator <<, omp_clause_mask::operator >>, 6158 omp_clause_mask::operator ==): New methods. 6159 (enum c_omp_clause_split): New. 6160 (c_finish_omp_taskgroup): New prototype. 6161 (c_finish_omp_atomic): Add swapped argument. 6162 (c_finish_omp_for): Add code argument. 6163 (c_omp_split_clauses): New prototype. 6164 (c_split_parallel_clauses): Removed. 6165 (c_omp_declare_simd_clauses_to_numbers, 6166 c_omp_declare_simd_clauses_to_decls): New prototypes. 6167 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs. 6168 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL, 6169 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION, 6170 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD, 6171 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS. 6172 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS. 6173 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED, 6174 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE, 6175 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR, 6176 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH, 6177 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP, 6178 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS, 6179 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND, 6180 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS, 6181 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP, 6182 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and 6183 PRAGMA_OMP_CLAUSE_UNIFORM. 6184 61852013-10-09 Marc Glisse <marc.glisse@inria.fr> 6186 6187 PR tree-optimization/20318 6188 * c-common.c (handle_returns_nonnull_attribute): New function. 6189 (c_common_attribute_table): Add returns_nonnull. 6190 61912013-10-03 Marc Glisse <marc.glisse@inria.fr> 6192 6193 PR c++/19476 6194 * c.opt (fcheck-new): Move to common.opt. 6195 61962013-09-25 Marek Polacek <polacek@redhat.com> 6197 Jakub Jelinek <jakub@redhat.com> 6198 6199 PR sanitizer/58413 6200 * c-ubsan.c (ubsan_instrument_shift): Don't instrument 6201 an expression if we can prove it is correct. 6202 (ubsan_instrument_division): Likewise. Remove unnecessary 6203 check. 6204 62052013-09-18 Marek Polacek <polacek@redhat.com> 6206 6207 PR sanitizer/58411 6208 * c-common.c (handle_no_sanitize_undefined_attribute): New function. 6209 Declare it. 6210 (struct attribute_spec c_common_att): Add no_sanitize_undefined. 6211 62122013-09-14 Iain Sandoe <iain@codesourcery.com> 6213 6214 PR target/48094 6215 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version, 6216 fobjc-gc, freplace-objc-classes): Accept for LTO. 6217 62182013-09-13 Jacek Caban <jacek@codeweavers.com> 6219 6220 * c-target.def: New hook 6221 62222013-09-09 Paolo Carlini <paolo.carlini@oracle.com> 6223 6224 PR c++/43452 6225 * c.opt (Wdelete-incomplete): Add. 6226 62272013-09-08 Joern Rennecke <joern.rennecke@embecosm.com> 6228 6229 * c-common.c (same_scalar_type_ignoring_signedness): Delete. 6230 (vector_types_compatible_elements_p): New function. 6231 * c-common.h: (same_scalar_type_ignoring_signedness): Delete 6232 declaration. 6233 (vector_types_compatible_elements_p): Declare. 6234 62352013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net> 6236 6237 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now 6238 a virtual member function. 6239 (pp_simple_type_specifier): Remove. 6240 (pp_c_type_specifier): Likewise. 6241 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): 6242 Rename from pp_c_type_specifier. Adjust. 6243 (c_pretty_printer::c_pretty_printer): Do not assign to 6244 simple_type_specifier. 6245 62462013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net> 6247 6248 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual 6249 member function. 6250 (c_pretty_printer::storage_class_specifier): Likewise. 6251 (c_pretty_printer::initializer): Likewise. 6252 (pp_declaration): Remove. 6253 (pp_declaration_specifiers): Likewise. 6254 (pp_abstract_declarator): Likewise. 6255 (pp_declarator): Likewise. 6256 (pp_type_id): Likewise. 6257 (pp_statement): Likewise. 6258 (pp_constant): Likewise. 6259 (pp_id_expression): Likewise. 6260 (pp_primary_expression): Likewise. 6261 (pp_unary_expression): Likewise. 6262 (pp_multiplicative_expression): Likewise. 6263 (pp_conditional_expression): Likewise. 6264 (pp_assignment_expression): Likewise. 6265 (pp_expression): Likewise. 6266 (pp_c_type_id): Likewise. 6267 (pp_c_storage_class_specifier): Likewise. 6268 * c-pretty-print.c (pp_c_type_cast): Tidy. 6269 (pp_c_pointer): Likewise. 6270 (pp_c_type_specifier): Likewise. 6271 (pp_c_parameter_type_list): Likewise. 6272 (pp_c_function_definition): Likewise. 6273 (pp_c_init_declarator): Likewise. 6274 (pp_c_initializer_list): Likewise. 6275 (pp_c_constructor_elts): Likewise. 6276 (c_pretty_printer::direct_abstract_declarator): Likewise. 6277 (c_pretty_printer::declaration_specifiers): Likewise. 6278 (c_pretty_printer::primary_expression): Likewise. 6279 (c_pretty_printer::postfix_expression): Likewise. 6280 (c_pretty_printer::type_id): Rename from pp_c_type_id. 6281 (c_pretty_printer::storage_class_specifier): Rename from 6282 pp_c_storage_class_specifier. 6283 (c_pretty_printer::initializer): Rename from pp_c_initializer. 6284 (c_pretty_printer::c_pretty_printer): Do not assign to type_id, 6285 storage_class_specifier, initializer, offset_list, flags. 6286 62872013-08-30 Marek Polacek <polacek@redhat.com> 6288 6289 * c-ubsan.c: New file. 6290 * c-ubsan.h: New file. 6291 62922013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net> 6293 6294 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual 6295 member function. 6296 (c_pretty_printer::declaration_specifiers): Likewise. 6297 (c_pretty_printer::declarator): Likewise. 6298 (c_pretty_printer::abstract_declarator): Likewise. 6299 (c_pretty_printer::direct_abstract_declarator): Likewise. 6300 (c_pretty_printer::direct_declarator): Likewise. 6301 (c_pretty_printer::function_specifier): Likewise. 6302 (pp_declaration): Adjust. 6303 (pp_declaration_specifiers): Likewise. 6304 (pp_abstract_declarator): Likewise. 6305 (pp_direct_declarator): Likewise. 6306 (pp_function_specifier): Likewise. 6307 (pp_direct_abstract_declarator): Remove as unused. 6308 (pp_c_declaration): Remove. 6309 (pp_c_declaration_specifiers): Likewise. 6310 (pp_c_declarator): Likewise. 6311 (pp_c_direct_declarator): Likewise. 6312 (pp_c_function_specifier): Likewise. 6313 (pp_c_direct_abstract_declarator): Likewise. 6314 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename 6315 from pp_c_abstract_declarator. Adjust. 6316 (c_pretty_printer::direct_abstract_declarator): Rename from 6317 pp_c_direct_abstract_declarator. Adjust. 6318 (c_pretty_printer::function_specifier): Rename from 6319 pp_c_function_specifier. Adjust. 6320 (c_pretty_printer::declaration_specifiers): Rename from 6321 pp_c_declaration_specifiers. Adjust. 6322 (c_pretty_printer::direct_declarator): Rename from 6323 pp_c_direct_declarator. Adjust. 6324 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust. 6325 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust. 6326 (c_pretty_printer::c_pretty_printer): Do not assign to 6327 declaration, declaration_specifiers, declarator, 6328 direct_declarator, direct_abstract_declarator, function_specifier. 6329 63302013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net> 6331 6332 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a 6333 virtual member function. 6334 (c_pretty_printer::multiplicative_expression): Likewise. 6335 (c_pretty_printer::conditional_expression): Likewise. 6336 (c_pretty_printer::assignment_expression): Likewise. 6337 (c_pretty_printer::expression): Likewise. 6338 (pp_unary_expression): Adjust. 6339 (pp_multiplicative_expression): Likewise. 6340 (pp_assignment_expression): Likewise. 6341 (pp_conditional_expression): Likewise. 6342 (pp_expression): Likewise. 6343 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename 6344 from pp_c_unary_expression. Adjust. 6345 (c_pretty_printer::multiplicative_expression): Rename from 6346 pp_c_multiplicative_expression. Adjust. 6347 (c_pretty_printer::conditional_expression): Rename from 6348 pp_c_conditional_expression. Adjust. 6349 (c_pretty_printer::assignment_expression): Rename from 6350 pp_c_assignment_expression. Adjust. 6351 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust. 6352 (c_pretty_printer::c_pretty_printer): Do not assign to 6353 unary_expression, multiplicative_expression, 6354 conditional_expression, expression. 6355 63562013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net> 6357 6358 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a 6359 virtual member function. 6360 (pp_postfix_expression): Adjust. 6361 (pp_c_postfix_expression): Remove. 6362 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename 6363 from pp_c_postfix_expression. Adjust. 6364 (c_pretty_printer::c_pretty_printer): Do not assign to 6365 postfix_expression. 6366 63672013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net> 6368 6369 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a 6370 virtua member function. 6371 (pp_primary_expression): Adjust. 6372 (pp_c_primary_expression): Remove. 6373 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename 6374 from pp_c_primary_expression. Adjust. 6375 (pp_c_initializer_list): Use pp_primary_expression. 6376 (c_pretty_printer::c_pretty_printer): Do not assign to 6377 primary_expression. 6378 63792013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net> 6380 6381 * c-pretty-print.h (c_pretty_printer::translate_string): Declare. 6382 * c-pretty-print.c (M_): Remove. 6383 (c_pretty_printer::translate_string): Define. 6384 (pp_c_type_specifier): Use it. 6385 (pp_c_primary_expression): Likewise. 6386 (pp_c_expression): Likewise. 6387 63882013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net> 6389 6390 * c-pretty-print.h (c_pretty_printer::id_expression): Now a 6391 virtual function. 6392 (pp_c_id_expression): Remove. 6393 (pp_id_expression): Adjust. 6394 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from 6395 pp_c_id_expression. Adjust. 6396 (pp_c_postfix_expression): Use pp_id_expression. 6397 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression. 6398 63992013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net> 6400 6401 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual 6402 member function. 6403 (pp_constant): Adjust. 6404 (pp_c_constant): Remove. 6405 * c-pretty-print.c (c_pretty_printer::constant): Rename from 6406 pp_c_constant. Adjust. 6407 (pp_c_constant) 6408 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant. 6409 (c_pretty_printer::c_pretty_printer): Remove assignment to constant. 6410 64112013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net> 6412 6413 * c-pretty-print.h (pp_c_pretty_printer_init): Remove. 6414 (c_pretty_printer::c_pretty_printer): Declare. 6415 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from 6416 c_pretty_printer_init. Adjust. 6417 (print_c_tree): Do not call c_pretty_printer_init. 6418 * c-ada-spec.c (dump_ads): Remove call to pp_construct. 6419 64202013-08-09 Arnaud Charlet <charlet@adacore.com> 6421 6422 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name 6423 64242013-08-05 Paolo Carlini <paolo.carlini@oracle.com> 6425 6426 PR c++/58080 6427 * c-common.c (pointer_int_sum): Add bool parameter. 6428 * c-common.h (pointer_int_sum): Adjust declaration. 6429 64302013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net> 6431 6432 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local 6433 c_pretty_printer variable. 6434 64352013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net> 6436 6437 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer. 6438 (pp_base): Remove. 6439 (pp_c_base): Likewise. Adjust users. 6440 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust. 6441 (pp_c_whitespace): Do not call pp_base. 6442 (pp_c_left_paren): Likewise. 6443 (pp_c_right_paren): Likewise. 6444 (pp_c_left_brace): Likewise. 6445 (pp_c_right_brace): Likewise. 6446 (pp_c_left_bracket): Likewise. 6447 (pp_c_right_bracket): Likewise. 6448 (pp_c_dot): Likewise. 6449 (pp_c_ampersand): Likewise. 6450 (pp_c_star): Likewise. 6451 (pp_c_arrow): Likewise. 6452 (pp_c_semicolon): Likewise. 6453 (pp_c_complement): Likewise. 6454 (pp_c_exclamation): Likewise. 6455 (pp_c_direct_declarator): Likewise. 6456 (pp_c_ws_string): Likewise. 6457 (pp_c_identifier): Likewise. 6458 (pp_c_statement): Likewise. 6459 (print_c_tree): Likewise. 6460 64612013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net> 6462 6463 PR c++/58072 6464 * c-common.c (c_parse_error): Catch user-defined literal tokens and 6465 provide useful error strings. 6466 64672013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net> 6468 6469 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty 6470 printer functions instead of pp_string or operators and punctuators. 6471 (dump_generic_ada_node): Likewise. 6472 * c-pretty-print.c (pp_c_type_specifier): Likewise. 6473 (pp_c_relational_expression): Likewise. 6474 (pp_c_logical_or_expression): Likewise. 6475 64762013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net> 6477 6478 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer 6479 functions instead of pp_character. 6480 (pp_ada_tree_identifier): Likewise. 6481 (dump_ada_double_name): Likewise. 6482 (dump_ada_function_declaration): Likewise. 6483 (dump_ada_array_domains): Likewise. 6484 (dump_template_types): Likewise. 6485 (dump_generic_ada_node): Likewise. 6486 (print_ada_declaration): Likewise. 6487 (print_ada_struct_decl): Likewise. 6488 * c-pretty-print.c (pp_c_integer_constant): Likewise. 6489 64902013-07-23 Tom Tromey <tromey@redhat.com> 6491 6492 * c-common.h (enum rid) <RID_GENERIC>: New constant. 6493 * c-common.c (c_common_reswords): Add _Generic. 6494 64952013-07-21 OndÅej BÃlka <neleai@seznam.cz> 6496 6497 * c-common.c: Fix typos. 6498 * c-common.h: Likewise. 6499 65002013-07-13 Lubos Lunak <l.lunak@suse.cz> 6501 6502 PR c++/55203 6503 * c-common.c (c_common_attribute_table): Add warn_unused. 6504 (handle_warn_unused_attribute): New. 6505 65062013-07-10 Jakub Jelinek <jakub@redhat.com> 6507 6508 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines 6509 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT. 6510 65112013-07-10 Paolo Carlini <paolo.carlini@oracle.com> 6512 6513 PR c++/57869 6514 * c.opt: Add Wconditionally-supported. 6515 65162013-07-08 Graham Stott <graham.stott@btinternet.com> 6517 6518 * array-notation-common.c (length_mismatch_in_expr_p): Delete 6519 unused variables l_length and l_node. 6520 65212013-07-04 Joern Rennecke <joern.rennecke@embecosm.com> 6522 6523 PR c/57821 6524 * c-common.c (complete_array_type): Delay folding first index 6525 like other indices. When folding, check for index overflow. 6526 65272013-06-27 Marc Glisse <marc.glisse@inria.fr> 6528 6529 PR c++/57509 6530 * c-common.h (c_build_vec_perm_expr): New complain argument. 6531 * c-common.c (c_build_vec_perm_expr): Likewise. 6532 Use save_expr also in C++. 6533 65342013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net> 6535 6536 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x. 6537 * c-cppbuiltin.c (c_cpp_builtins): Likewise. 6538 * c-opts.c (c_common_post_options): Likewise. 6539 65402013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com> 6541 6542 * array-notation-common.c (length_mismatch_in_expr): Changed the 6543 parameter type's from a dynamic array to a vec_tree. Also removed 6544 the size parameters. 6545 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per 6546 the change above. 6547 65482013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com> 6549 6550 * c-common.h (struct cilkplus_an_parts): New structure. 6551 (struct cilkplus_an_loop_parts): Likewise. 6552 (cilkplus_extract_an_triplets): New prototype. 6553 (fix_sec_implicit_args): Likewise. 6554 * array-notation-common.c (cilkplus_extract_an_triplets): New function. 6555 (fix_sec_implicit_args): Likewise. 6556 65572013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com> 6558 6559 * array-notation-common.c (find_inv_trees): Removed an unwanted 6560 typecasting. 6561 * c-common.h (struct inv_list::additional_tcodes): Changed type from 6562 enum rid to enum tree_code. 6563 65642013-06-11 Jan Hubicka <jh@suse.cz> 6565 6566 * c-common.c (handle_alias_ifunc_attribute): Do not set 6567 DECL_EXTERNAL for weakref variables. 6568 * c-pragma.c (handle_pragma_weak): Make sure aliases 6569 are not declared as external. 6570 65712013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com> 6572 6573 * array-notation-common.c (length_mismatch_in_expr_p): Moved this 6574 function from c/c-array-notation.c. 6575 (is_cilkplus_reduce_builtin): Likewise. 6576 (find_rank): Likewise. 6577 (extract_array_notation_exprs): Likewise. 6578 (replace_array_notations): Likewise. 6579 (find_inv_trees): Likewise. 6580 (replace_inv_trees): Likewise. 6581 (contains_array_notation_expr): Likewise. 6582 (find_correct_array_notation_type): Likewise. 6583 * c-common.h (struct inv_list): Moved this struct from the file 6584 c/c-array-notation.c and added a new field called additional tcodes. 6585 (length_mismatch_in_expr_p): New prototype. 6586 (is_cilkplus_reduce_builtin): Likewise. 6587 (find_rank): Likewise. 6588 (extract_array_notation_exprs): Likewise. 6589 (replace_array_notation): Likewise. 6590 (find_inv_trees): Likewise. 6591 (replace_inv_trees): Likewise. 6592 (find_correct_array_notation_type): Likewise. 6593 65942013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com> 6595 6596 * c-common.c (c_define_builtins): When cilkplus is enabled, the 6597 function array_notation_init_builtins is called. 6598 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed. 6599 * c-common.def (ARRAY_NOTATION_REF): New tree. 6600 * c-common.h (build_array_notation_expr): New function declaration. 6601 (build_array_notation_ref): Likewise. 6602 (extract_sec_implicit_index_arg): New extern declaration. 6603 (is_sec_implicit_index_fn): Likewise. 6604 (ARRAY_NOTATION_CHECK): New define. 6605 (ARRAY_NOTATION_ARRAY): Likewise. 6606 (ARRAY_NOTATION_START): Likewise. 6607 (ARRAY_NOTATION_LENGTH): Likewise. 6608 (ARRAY_NOTATION_STRIDE): Likewise. 6609 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for 6610 ARRAY_NOTATION_REF. 6611 (pp_c_expression): Likewise. 6612 * c.opt (flag_enable_cilkplus): New flag. 6613 * array-notation-common.c: New file. 6614 66152013-05-14 Jakub Jelinek <jakub@redhat.com> 6616 6617 PR c++/57274 6618 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR. 6619 66202013-05-10 Marc Glisse <marc.glisse@inria.fr> 6621 6622 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for 6623 vectors. 6624 66252013-05-07 Han Shen <shenhan@google.com> 6626 6627 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3". 6628 66292013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 6630 6631 * c-common.c (check_user_alignment): Emit error for negative values. 6632 66332013-04-24 Paolo Carlini <paolo.carlini@oracle.com> 6634 6635 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y. 6636 66372013-04-24 Paolo Carlini <paolo.carlini@oracle.com> 6638 6639 * c-cppbuiltin.c (c_cpp_builtins): Do not define 6640 __GXX_EXPERIMENTAL_CXX1Y__. 6641 66422013-04-24 Paolo Carlini <paolo.carlini@oracle.com> 6643 Manuel Lopez-Ibanez <manu@gcc.gnu.org> 6644 6645 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented. 6646 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns 6647 to simply use OPT_Wpointer_arith. 6648 (c_sizeof_or_alignof_type): Likewise. 6649 66502013-04-24 Paolo Carlini <paolo.carlini@oracle.com> 6651 6652 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__. 6653 66542013-04-12 Jakub Jelinek <jakub@redhat.com> 6655 6656 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table, 6657 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format 6658 specifiers. 6659 66602013-04-07 Steven Bosscher <steven@gcc.gnu.org> 6661 6662 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment. 6663 66642013-04-03 Paolo Carlini <paolo.carlini@oracle.com> 6665 6666 * c-common.c (pointer_int_sum): Remove dead code. 6667 66682013-03-09 Richard Sandiford <rdsandiford@googlemail.com> 6669 6670 PR middle-end/56524 6671 * c-common.c (handle_optimize_attribute): Don't call 6672 save_optabs_if_changed. 6673 66742013-03-05 Jakub Jelinek <jakub@redhat.com> 6675 6676 PR middle-end/56461 6677 * c-pch.c (pch_init): Free target_validity at the end. 6678 66792013-03-04 Jakub Jelinek <jakub@redhat.com> 6680 6681 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags. 6682 66832013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com> 6684 Jakub Jelinek <jakub@redhat.com> 6685 6686 PR sanitizer/56454 6687 * c-common.c (handle_no_sanitize_address_attribute): New function. 6688 (c_common_attribute_table): Add no_sanitize_address attribute. 6689 (handle_no_address_safety_analysis_attribute): Add 6690 no_sanitize_address attribute, not no_address_safety_analysis 6691 attribute. 6692 66932013-02-18 Aldy Hernandez <aldyh@redhat.com> 6694 6695 PR target/52555 6696 * c-common.c (handle_optimize_attribute): Call 6697 save_optabs_if_changed. 6698 66992013-02-18 Jakub Jelinek <jakub@redhat.com> 6700 Steven Bosscher <steven@gcc.gnu.org> 6701 6702 PR pch/54117 6703 * c-opts.c (c_common_post_options): If debug info is enabled 6704 and non-dwarf*, refuse to load PCH files and when writing PCH 6705 file warn. 6706 67072013-02-05 Jakub Jelinek <jakub@redhat.com> 6708 6709 PR middle-end/56167 6710 * c-common.c (handle_error_attribute): Fix condition. 6711 67122013-01-30 Jakub Jelinek <jakub@redhat.com> 6713 6714 PR c++/55742 6715 * c-common.c (handle_target_attribute): Revert 2012-12-26 change. 6716 67172013-01-18 Jason Merrill <jason@redhat.com> 6718 6719 PR target/54908 6720 * c.opt (-fextern-tls-init): New. 6721 * c-opts.c (c_common_post_options): Handle it. 6722 67232013-01-09 Jakub Jelinek <jakub@redhat.com> 6724 6725 PR c/48418 6726 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and 6727 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST 6728 and is either negative or bigger or equal to type precision 6729 of the first operand. 6730 67312012-12-03 Marek Polacek <polacek@redhat.com> 6732 6733 PR c/55570 6734 * c-common.c (check_user_alignment): Swap order of tests, 6735 check TREE_CODE first. 6736 67372012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net> 6738 6739 PR c++/52654 6740 * c-common.h (overflow_type): New enum. 6741 (build_userdef_literal): Add overflow_type argument. 6742 (tree_userdef_literal): Add overflow_type. 6743 (USERDEF_LITERAL_OVERFLOW): New access macro. 6744 * c-common.c (build_userdef_literal): Add overflow_type 6745 argument. 6746 * c-lex.c (c_lex_with_flags): Add overflow_type to 6747 build_userdef_literal calls. 6748 (interpret_integer, interpret_float): Add overflow_type argument. 6749 67502012-11-28 Richard Biener <rguenther@suse.de> 6751 6752 PR c/35634 6753 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions 6754 here and use a type with proper overflow behavior for types that would 6755 need to be promoted for the arithmetic. 6756 67572012-11-23 Jakub Jelinek <jakub@redhat.com> 6758 6759 PR sanitizer/55435 6760 * c-common.c (handle_no_address_safety_analysis_attribute): New 6761 function. 6762 (c_common_attribute_table): Add no_address_safety_analysis. 6763 67642012-11-16 Simon Baldwin <simonb@google.com> 6765 6766 * c.opt: Add f[no-]canonical-system-headers. 6767 * c-opts.c (c_common_handle_option): Handle 6768 OPT_fcanonical_system_headers. 6769 67702012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net> 6771 6772 PR c++/54413 6773 * c-opts.c (c_common_handle_option): Set new flags. 6774 * c.opt: Describe new flags. 6775 67762012-11-09 Jason Merrill <jason@redhat.com> 6777 6778 * c.opt (Wabi-tag): New. 6779 67802012-11-09 Andi Kleen <ak@linux.intel.com> 6781 6782 PR 55139 6783 * c-common.c (get_atomic_generic_size): Mask with 6784 MEMMODEL_MASK 6785 67862012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org> 6787 6788 PR c/53063 6789 * c.opt (Wformat): Make it Alias Wformat=1. 6790 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral, 6791 Wformat-security,Wformat-y2k,Wformat-zero-length): Use 6792 LangEnabledBy. 6793 (Wformat=): RejectNegative. Use LangEnabledBy. 6794 (Wnonnull): Use LangEnabledBy. 6795 * c-opts.c (c_common_handle_option): Do not handle Wformat here. 6796 * c-format.c (set_Wformat): Delete. 6797 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_. 6798 (maybe_read_dollar_number): Likewise. 6799 (avoid_dollar_number): Likewise. 6800 (finish_dollar_format_checking): Likewise. 6801 (check_format_info): Likewise. 6802 (check_format_info_main): Likewise. 6803 (check_format_types): Likewise. 6804 (format_type_warning): Likewise. 6805 * c-common.c (int): Likewise. 6806 (check_function_sentinel): Likewise. 6807 * c-common.h (warn_format,set_Wformat): Do not declare here. 6808 68092012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org> 6810 6811 PR c/53063 6812 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare, 6813 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros): 6814 Use LangEnabledBy. 6815 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from 6816 common.opt. 6817 (Wvariadic-macros): Init(1). 6818 * c-opts.c (c_common_handle_option): Do not handle them 6819 explicitly. 6820 (c_common_post_options): Likewise. 6821 (sanitize_cpp_opts): warn_unused_macros is now 6822 cpp_warn_unused_macros. 6823 (push_command_line_include): Likewise. 6824 * c-common.c (warn_unknown_pragmas): Do not define. 6825 * c-common.h (warn_unknown_pragmas): Do not declare. 6826 68272012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org> 6828 6829 PR c/51294 6830 * c-common.c (conversion_warning): Handle conditional expressions. 6831 68322012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com> 6833 6834 PR c++/54930 6835 * c.opt (Wreturn_local_addr): Define new option. 6836 68372012-10-25 Jason Merrill <jason@redhat.com> 6838 6839 * c.opt (Wvirtual-move-assign): New. 6840 6841 * c.opt (Winherited-variadic-ctor): New. 6842 68432012-10-25 Marc Glisse <marc.glisse@inria.fr> 6844 6845 PR c++/54427 6846 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR. 6847 68482012-10-23 Joseph Myers <joseph@codesourcery.com> 6849 6850 * c-common.h (pch_cpp_save_state): Declare. 6851 * c-target.def (c_preinclude): New hook. 6852 * c-opts.c (done_preinclude): New. 6853 (push_command_line_include): Handle default preincluded header. 6854 (cb_file_change): Call pch_cpp_save_state when calling 6855 push_command_line_include. 6856 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved) 6857 (pch_cpp_save_state): New. 6858 (pch_init): Call pch_cpp_save_state conditionally, instead of 6859 calling cpp_save_state. 6860 68612012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org> 6862 6863 PR c/53063 6864 PR c/40989 6865 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit, 6866 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess, 6867 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point, 6868 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused, 6869 Wvolatile-register-var): Add LangEnabledBy or EnabledBy. 6870 * c-opts.c (c_common_handle_option): Remove explicit handling from 6871 here. 6872 (c_common_post_options): Likewise. 6873 68742012-10-18 Eric Botcazou <ebotcazou@adacore.com> 6875 6876 * c-ada-spec.c (LOCATION_COL): Delete. 6877 (compare_location): New function. 6878 (compare_node): Use it. 6879 (compare_comment): Likewise. 6880 68812012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org> 6882 6883 PR c/53063 6884 PR c/40989 6885 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy. 6886 * c-opts.c (c_common_handle_option): Do not set them here. Add 6887 comment. 6888 (c_common_post_options): Likewise. 6889 68902012-10-16 Eric Botcazou <ebotcazou@adacore.com> 6891 6892 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define. 6893 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially. 6894 Remove POINTER_TYPE handling, add large unsigned handling and use 6895 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers. 6896 68972012-10-12 Jakub Jelinek <jakub@redhat.com> 6898 6899 PR c/54381 6900 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype. 6901 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3 6902 locs and array of 3 trees instead of just single loc and single 6903 sizeof_arg tree. Handle __builtin___*_chk builtins too, and 6904 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins. 6905 For *cmp* builtins that take two sources strings report warnings 6906 about first and second source, not about destination and source. 6907 69082012-10-12 Marc Glisse <marc.glisse@inria.fr> 6909 6910 PR c++/53055 6911 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New. 6912 69132012-10-11 Eric Botcazou <ebotcazou@adacore.com> 6914 6915 * c-ada-spec.c (dump_ada_template): Bail out for template declarations 6916 declaring something coming from another file. 6917 69182012-10-10 Arnaud Charlet <charlet@adacore.com> 6919 6920 PR ada/54845 6921 * c-ada-spec.c (print_ada_struct_decl): Increase buf size. 6922 69232012-10-09 Paolo Carlini <paolo.carlini@oracle.com> 6924 6925 PR c++/54194 6926 * c-common.c (warn_about_parentheses): Add location_t parameter; 6927 use EXPR_LOC_OR_LOC. 6928 * c-common.h: Update declaration. 6929 69302012-10-09 Marc Glisse <marc.glisse@inria.fr> 6931 6932 PR c++/54427 6933 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support 6934 more operations. Make error messages optional. 6935 * c-common.h (enum stv_conv): Moved from c-typeck.c. 6936 (scalar_to_vector): Declare. 6937 69382012-10-08 Jason Merrill <jason@redhat.com> 6939 6940 * c-common.c (c_common_reswords): Add thread_local. 6941 69422012-10-08 Dodji Seketeli <dodji@redhat.com> 6943 6944 PR c++/53528 C++11 attribute support 6945 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare 6946 new functions. 6947 * c-common.c (check_cxx_fundamental_alignment_constraints): New 6948 static function. 6949 (handle_aligned_attribute): In choose strictest alignment 6950 among many. Use new check_cxx_fundamental_alignment_constraints. 6951 (handle_transparent_union_attribute): In c++11 attribute syntax, 6952 don't look through typedefs. 6953 69542012-10-04 Arnaud Charlet <charlet@adacore.com> 6955 6956 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW. 6957 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition 6958 out of dumpfile.h. 6959 69602012-09-25 Dehao Chen <dehao@google.com> 6961 6962 PR middle-end/54645 6963 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data 6964 map when read in the pch. 6965 69662012-09-18 Arnaud Charlet <charlet@adacore.com> 6967 6968 * c-ada-spec.c: Style fixes. 6969 69702012-09-18 Thomas Quinot <quinot@adacore.com> 6971 6972 * c.opt (-fada-spec-parent): Define new command line switch. 6973 * c-ada-spec.c (get_ada_package): When -fada-spec-parent 6974 is specified, generate binding spec as a child of the specified unit. 6975 69762012-09-13 Paolo Carlini <paolo.carlini@oracle.com> 6977 Manuel López-Ibáñez <manu@gcc.gnu.org> 6978 6979 PR c++/53210 6980 * c.opt ([Winit-self]): Enabled by -Wall in C++. 6981 69822012-08-23 Arnaud Charlet <charlet@adacore.com> 6983 6984 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only 6985 for pointers, and add missing Convention C pragma. 6986 (print_ada_struct_decl): Add missing aliased keyword. 6987 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off). 6988 69892012-08-17 Jakub Jelinek <jakub@redhat.com> 6990 6991 * c-common.c (sizeof_pointer_memaccess_warning): New function. 6992 * c.opt (-Wsizeof-pointer-memaccess): Add new option. 6993 * c-opts.c (c_common_handle_option): Enable it for -Wall. 6994 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype. 6995 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def. 6996 69972012-08-10 Richard Guenther <rguenther@suse.de> 6998 6999 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names. 7000 70012012-08-07 Steven Bosscher <steven@gcc.gnu.org> 7002 7003 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush 7004 instead of separate pp_newline and pp_flush. 7005 (print_c_tree): Likewise. 7006 70072012-07-26 Richard Henderson <rth@redhat.com> 7008 7009 * c-common.c (handle_hot_attribute): Allow labels. 7010 (handle_cold_attribute): Likewise. 7011 70122012-07-20 Jakub Jelinek <jakub@redhat.com> 7013 7014 PR c++/28656 7015 * c-common.c (check_function_nonnull): Handle multiple nonnull 7016 attributes properly. 7017 70182012-07-16 Steven Bosscher <steven@gcc.gnu.org> 7019 7020 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h. 7021 * c-ada-spec.c: Likewise. 7022 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user. 7023 70242012-07-14 Steven Bosscher <steven@gcc.gnu.org> 7025 7026 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define. 7027 Remove code conditional on it. 7028 70292012-07-11 Steven Bosscher <steven@gcc.gnu.org> 7030 7031 * c-gimplify.c: Do not include basic-block.h. 7032 * c-common.c: Do not include linfuncs.h. 7033 70342012-07-08 Steven Bosscher <steven@gcc.gnu.org> 7035 7036 * c-common.h: Include tree.h. 7037 70382012-07-02 Jason Merrill <jason@redhat.com> 7039 7040 PR c++/53524 7041 * c-common.c (get_priority): Call default_conversion. 7042 70432012-07-01 Uros Bizjak <ubizjak@gmail.com> 7044 7045 * c-pch.c (c_common_write_pch): Remove unused variables. 7046 70472012-06-29 Steven Bosscher <steven@gcc.gnu.org> 7048 7049 * cppspec.c: Moved from gcc/ to here. 7050 70512012-06-27 Kai Tietz <ktietz@redhat.com> 7052 7053 PR preprocessor/37215 7054 * c-ppoutput.c (preprocess_file): Check for nonempty buffer. 7055 70562012-06-21 Steven Bosscher <steven@gcc.gnu.org> 7057 7058 * c-common.h (c_common_print_pch_checksum): Remove. 7059 * c-pch.c: Do not include output.h. 7060 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME. 7061 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined. 7062 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined. 7063 (struct c_pch_header): Remove. 7064 (get_ident): Update gpch version. 7065 (pch_init): Do not print executable_checksum to asm_out_file. 7066 Do not fail if there is no asm_out_file to read back from. Set 7067 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined. 7068 (c_common_write_pch): Verify that nothing was written to asm_out_file 7069 since pch_init was called. Do not write a c_pch_header, and do not 7070 copy from asm_out_file to the PCH. 7071 (c_common_read_pch): Do not read a c_pch_header, and do not restore 7072 the content of asm_out_file from the PCH. 7073 (c_common_print_pch_checksum): Remove. 7074 * c-opts.c (c_common_init): Print out executable_checksum directly. 7075 70762012-06-19 Steven Bosscher <steven@gcc.gnu.org> 7077 7078 * c-target.def (objc_declare_unresolved_class_reference, 7079 objc_declare_class_definition): Add new hooks. 7080 70812012-06-19 Steven Bosscher <steven@gcc.gnu.org> 7082 7083 * c-lex.c: Do not include output.h. 7084 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident. 7085 Remove uses of ASM_OUTPUT_IDENT. 7086 70872012-06-15 Marc Glisse <marc.glisse@inria.fr> 7088 7089 PR c++/51033 7090 * c-common.h (c_build_vec_perm_expr): Move decl here. 7091 * c-common.c (c_build_vec_perm_expr): Move definition 7092 here. 7093 70942012-06-06 Steven Bosscher <steven@gcc.gnu.org> 7095 7096 * c.opt (fconserve-space): Turn into a no-op. 7097 70982012-06-04 Sterling Augustine <saugustine@google.com> 7099 7100 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator. 7101 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at 7102 both the start and end of the function. 7103 71042012-06-04 Steven Bosscher <steven@gcc.gnu.org> 7105 7106 * c-common.c: Do not include output.h. 7107 * c-pragma.c: Likewise. 7108 71092012-06-04 Steven Bosscher <steven@gcc.gnu.org> 7110 7111 * error.c (dump_decl): Check pp_c_flag_gnu_v3. 7112 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions. 7113 (lang_decl_name): Handle namespace decls. 7114 71152012-05-31 Steven Bosscher <steven@gcc.gnu.org> 7116 7117 * c-ada-spec.c: Do not include output.h. 7118 * c-semantics.c: Likewise. 7119 71202012-05-29 Joseph Myers <joseph@codesourcery.com> 7121 7122 * c-common.c: Fix typo. 7123 71242012-05-29 Michael Matz <matz@suse.de> 7125 7126 * c-common.h (c_expand_decl): Remove prototype. 7127 71282012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org> 7129 7130 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall). 7131 * c-opts.c (c_common_handle_option): Remove code handling 7132 warn_missing_braces. 7133 71342012-05-28 Paolo Carlini <paolo.carlini@oracle.com> 7135 7136 PR c++/25137 7137 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable 7138 -Wmissing_braces. 7139 71402012-05-22 Dodji Seketeli <dodji@redhat.com> 7141 7142 PR c++/53322 7143 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused). 7144 71452012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org> 7146 7147 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here. 7148 * c-opts.c (c_common_handle_option): Do not handle explicitly 7149 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors. 7150 71512012-05-16 Dodji Seketeli <dodji@redhat.com> 7152 7153 PR preprocessor/7263 7154 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call 7155 to cpp_classify_number. For diagnostics, use the precise location 7156 instead of the global input_location. 7157 71582012-05-15 Paolo Carlini <paolo.carlini@oracle.com> 7159 7160 PR c++/11856 7161 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings. 7162 71632012-05-14 Bernd Schmidt <bernds@codesourcery.com> 7164 7165 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary. 7166 71672012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org> 7168 7169 PR 53063 7170 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init, 7171 Wreorder): Use LangEnabledBy. 7172 * c-opts.c (c_common_handle_option): Do not enable them 7173 explicitly. Call lang-specific generated functions. 7174 (c_common_post_options): Do not set them here. 7175 71762012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org> 7177 7178 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers, 7179 Wmissing-field-initializers,Wmissing-parameter-type, 7180 Wold-style-declaration,Woverride-init): Use EnabledBy. 7181 * c-opts.c (c_common_post_options): Do not set here explicitly. 7182 71832012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org> 7184 7185 PR 53063 7186 * c-opts.c (c_common_handle_option): Use handle_generated_option 7187 to enable sub-options. 7188 71892012-05-10 Paolo Carlini <paolo.carlini@oracle.com> 7190 7191 PR c++/53158 7192 * c-common.c (warnings_for_convert_and_check): Use warning_at. 7193 71942012-05-10 Richard Guenther <rguenther@suse.de> 7195 7196 * c-common.c (c_sizeof_or_alignof_type): Remove assert and 7197 adjust commentary about TYPE_IS_SIZETYPE types. 7198 71992012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org> 7200 7201 PR c++/53261 7202 * c-common.c (warn_logical_operator): Check that argument of 7203 integer_zerop is not NULL. 7204 72052012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org> 7206 7207 PR c/43772 7208 * c-common.c (warn_logical_operator): Do not warn if either side 7209 is already true or false. 7210 72112012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org> 7212 7213 PR c/51712 7214 * c-common.c (expr_original_type): New. 7215 (shorten_compare): Do not warn for enumeration types. 7216 72172012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org> 7218 7219 * c.opt (fpermissive): Add Var(flag_permissive). 7220 72212012-04-30 Marc Glisse <marc.glisse@inria.fr> 7222 7223 PR c++/51033 7224 * c-common.c (convert_vector_to_pointer_for_subscript): New function. 7225 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it. 7226 72272012-04-30 Dodji Seketeli <dodji@redhat.com> 7228 7229 Add -Wvarargs option 7230 * c.opt (Wvarargs): Define new option. 7231 72322012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org> 7233 7234 * c-common.c (check_function_arguments): Replace 7235 Wmissing-format-attribute with Wsuggest-attribute=format. 7236 72372012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org> 7238 7239 * c.opt (Wsuggest-attribute=format): New. Alias of 7240 Wmissing-format-attribute. 7241 * c-format.c (decode_format_type): Replace 7242 Wmissing-format-attribute with Wsuggest-attribute=format. 7243 (check_function_format): Likewise. 7244 72452012-04-27 Ollie Wild <aaw@google.com> 7246 7247 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping. 7248 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix. 7249 * c.opt: Add Wliteral-suffix. 7250 72512012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org> 7252 7253 PR c/44774 7254 * c.opt (Wpedantic): New. 7255 (pedantic): Alias Wpedantic. 7256 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic. 7257 (c_common_post_options): Likewise. 7258 (sanitize_cpp_opts): Likewise. 7259 * c-lex.c (interpret_float): Likewise. 7260 * c-format.c (check_format_types): Likewise. 7261 * c-common.c (pointer_int_sum): Likewise. 7262 (c_sizeof_or_alignof_type): Likewise. 7263 (c_add_case_label): Likewise. 7264 (c_do_switch_warnings): Likewise. 7265 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise. 7266 72672012-04-15 Jason Merrill <jason@redhat.com> 7268 7269 PR c++/52818 7270 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99. 7271 (C_STD_NAME): Distinguish between C++98 and C++11. 7272 72732012-04-11 Eric Botcazou <ebotcazou@adacore.com> 7274 7275 PR target/52624 7276 * c-common.h (uint16_type_node): Rename into... 7277 (c_uint16_type_node): ...this. 7278 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming. 7279 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise. 7280 72812012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org> 7282 7283 * c-common.c (warn_if_unused_value): Move definition to here. 7284 * c-common.h (warn_if_unused_value): Move declaration to here. 7285 72862012-03-23 William Bader <williambader@hotmail.com> 7287 7288 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts. 7289 72902012-03-20 Jason Merrill <jason@redhat.com> 7291 7292 * c-common.h (enum cxx_dialect): Add cxx1y. 7293 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect 7294 test. 7295 * c-cppbuiltin.c (c_cpp_builtins): Likewise. 7296 * c-opts.c (c_common_post_options): Likewise. 7297 (set_std_cxx1y): New. 7298 (c_common_handle_option): Call it. 7299 * c.opt (-std=c++1y, -std=gnu++1y): New flags. 7300 73012012-03-19 Paolo Carlini <paolo.carlini@oracle.com> 7302 7303 PR c++/14710 7304 * c.opt ([Wuseless-cast]): Add. 7305 73062012-03-16 Richard Guenther <rguenther@suse.de> 7307 7308 * c-pretty-print.c (pp_c_initializer_list): Adjust. 7309 73102012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org> 7311 7312 PR c++/44783 7313 * c.opt (ftemplate-backtrace-limit) Add. 7314 73152012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7316 7317 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix 7318 handling. 7319 * c-pragma.c (handle_pragma_extern_prefix): Remove. 7320 (init_pragma): Don't register extern_prefix. 7321 73222012-03-12 Richard Guenther <rguenther@suse.de> 7323 7324 * c-common.c (c_common_get_narrower): Use c_common_type_for_size. 7325 (builtin_type_for_size): Likewise. 7326 73272012-02-13 Jakub Jelinek <jakub@redhat.com> 7328 7329 PR c++/52215 7330 * c-common.c (sync_resolve_params): Don't decide whether to convert 7331 or not based on TYPE_SIZE comparison, convert whenever arg_type 7332 is unsigned INTEGER_TYPE. 7333 73342012-02-06 Paolo Carlini <paolo.carlini@oracle.com> 7335 7336 PR c/52118 7337 * c.opt ([Wunused-local-typedefs]): Fix description. 7338 73392012-01-24 Mike Stump <mikestump@comcast.net> 7340 7341 * c-common.c (c_common_type_for_mode): Match signed/unsigned types 7342 exactly. 7343 73442012-01-18 Richard Guenther <rguenther@suse.de> 7345 7346 * c-opts.c (c_common_post_options): Reset LTO flags if 7347 we are about to generate a PCH. 7348 73492012-01-17 Paolo Carlini <paolo.carlini@oracle.com> 7350 7351 PR c++/51777 7352 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants 7353 use pp_unsigned_wide_integer. 7354 73552012-01-10 Richard Guenther <rguenther@suse.de> 7356 7357 PR middle-end/51806 7358 * c-opts.c (c_common_handle_option): Move -Werror handling 7359 to language independent code. 7360 73612012-01-05 Richard Guenther <rguenther@suse.de> 7362 7363 PR middle-end/51764 7364 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here 7365 from common.opt. 7366 73672011-12-30 Paolo Carlini <paolo.carlini@oracle.com> 7368 7369 PR c++/51316 7370 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof 7371 of array types with an unknown bound. 7372 73732011-12-20 Joseph Myers <joseph@codesourcery.com> 7374 7375 * c-common.c (flag_isoc99): Update comment to refer to C11. 7376 (flag_isoc1x): Change to flag_isoc11. 7377 * c-common.h (flag_isoc99): Update comment to refer to C11. 7378 (flag_isoc1x): Change to flag_isoc11. 7379 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to 7380 C11. 7381 * c-opts.c (set_std_c1x): Change to set_std_c11. 7382 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11. 7383 Call set_std_c11. 7384 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11. 7385 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11. 7386 * c.opt (std=c1x): Change to std=c11. Document as non-draft 7387 standard. 7388 (std=c1x, std=iso9899:2011): Add as aliases of std=c11. 7389 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard. 7390 (std=gnu1x): Make alias of std=gnu11. 7391 73922011-12-19 Jason Merrill <jason@redhat.com> 7393 7394 PR c++/51228 7395 * c-common.c (handle_transparent_union_attribute): Check the first 7396 field if the type is complete. 7397 73982011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com> 7399 7400 PR libstdc++/51365 7401 * c-common.c (RID_IS_FINAL): Add. 7402 * c-common.h (RID_IS_FINAL): Add. 7403 74042011-11-30 Iain Sandoe <iains@gcc.gnu.org> 7405 7406 * c.opt (fgnu-runtime): Provide full description. 7407 (fnext-runtime): Likewise. 7408 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove. 7409 74102011-11-28 Andrew MacLeod <amacleod@redhat.com> 7411 7412 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic 7413 predefines in one place. Add LOCK_FREE predefines. 7414 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to 7415 new func. 7416 74172011-11-24 Andrew MacLeod <amacleod@redhat.com> 7418 7419 PR c/51256 7420 * c-common.c (get_atomic_generic_size): Check for various error 7421 conditions 7422 (resolve_overloaded_atomic_exchange, 7423 resolve_overloaded_atomic_compare_exchange, 7424 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return 7425 error_mark_node for error conditions. 7426 74272011-11-08 Richard Guenther <rguenther@suse.de> 7428 7429 PR middle-end/51010 7430 c-family/ 7431 74322011-11-07 Richard Henderson <rth@redhat.com> 7433 Aldy Hernandez <aldyh@redhat.com> 7434 Torvald Riegel <triegel@redhat.com> 7435 7436 Merged from transactional-memory. 7437 7438 * c-common.c (handle_tm_wrap_attribute, 7439 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New. 7440 (struct c_common_reswords): Added __transaction* keywords. 7441 (struct c_common_attribute_table): Added transaction* and tm_regparm 7442 attributes. 7443 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT* 7444 masks. 7445 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr, 7446 find_tm_attribute): Declare. 7447 74482011-11-07 Jason Merrill <jason@redhat.com> 7449 7450 PR c++/35688 7451 * c-common.c, c-common.h: Revert yesterday's changes. 7452 74532011-11-06 Jason Merrill <jason@redhat.com> 7454 7455 PR c++/35688 7456 * c-common.c (decl_has_visibility_attr): Split out from... 7457 (c_determine_visibility): ...here. 7458 * c-common.h: Declare it. 7459 74602011-11-06 Joseph Myers <joseph@codesourcery.com> 7461 7462 * c-common.c (c_common_reswords): Add _Alignas and _Alignof. 7463 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function 7464 type. 7465 (check_user_alignment): New. Split out of 7466 handle_aligned_attribute. Disallow integer constants with 7467 noninteger types. Conditionally allow zero. 7468 (handle_aligned_attribute): Use check_user_alignment. 7469 * c-common.h (RID_ALIGNAS, check_user_alignment): New. 7470 74712011-11-06 Andrew MacLeod <amacleod@redhat.com> 7472 Richard Henderson <rth@redhat.com> 7473 7474 Merged from cxx-mem-model. 7475 7476 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns. 7477 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak 7478 parameters that are the same type size. 7479 (get_atomic_generic_size): New. Find size of generic 7480 atomic function parameters and do typechecking. 7481 (add_atomic_size_parameter): New. Insert size into parameter list. 7482 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to 7483 either __atomic_exchange_n or external library call. 7484 (resolve_overloaded_atomic_compare_exchange): Restructure 7485 __atomic_compare_exchange to either _n variant or external library call. 7486 (resolve_overloaded_atomic_load): Restructure __atomic_load to either 7487 __atomic_load_n or an external library call. 7488 (resolve_overloaded_atomic_store): Restructure __atomic_store to either 7489 __atomic_store_n or an external library call. 7490 (resolve_overloaded_builtin): Handle new __atomic builtins. 7491 74922011-11-04 Eric Botcazou <ebotcazou@adacore.com> 7493 7494 PR c++/50608 7495 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1. 7496 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust. 7497 <INDIRECT_REF>: Return the argument. 7498 <ARRAY_REF>: Remove special code for negative offset. 7499 Call fold_build_pointer_plus instead of size_binop. 7500 (fold_offsetof): Remove STOP_REF argument and adjust. 7501 * c-common.h (fold_offsetof_1): Declare. 7502 (fold_offsetof): Remove STOP_REF argument. 7503 75042011-11-02 Paolo Carlini <paolo.carlini@oracle.com> 7505 7506 PR c++/50810 7507 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part 7508 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default 7509 Wnarrowing for C++0x and C++98. 7510 * c.opt ([Wnarrowing]): Update. 7511 75122011-11-01 Paolo Carlini <paolo.carlini@oracle.com> 7513 7514 PR c++/44277 7515 * c.opt: Add Wzero-as-null-pointer-constant. 7516 75172011-10-31 Jason Merrill <jason@redhat.com> 7518 7519 * c.opt (-fdeduce-init-list): Off by default. 7520 7521 PR c++/50920 7522 * c-common.h (cxx_dialect): Add cxx11 and cxx03. 7523 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03, 7524 and -Wc++11-compat. 7525 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x. 7526 75272011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov> 7528 7529 PR c++/30066 7530 * c.opt (fvisibility-inlines-hidden): Description change. 7531 75322011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net> 7533 7534 Implement C++11 user-defined literals. 7535 * c-common.c (build_userdef_literal): New. 7536 * c-common.def: New tree code. 7537 * c-common.h (tree_userdef_literal): New tree struct and accessors. 7538 * c-lex.c (interpret_float): Add suffix parm. 7539 (c_lex_with_flags): Build literal tokens. 7540 75412011-10-23 Paolo Carlini <paolo.carlini@oracle.com> 7542 7543 PR c++/50841 7544 Revert: 7545 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com> 7546 7547 PR c++/50810 7548 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part 7549 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default 7550 Wnarrowing for C++0x and C++98. 7551 * c.opt ([Wnarrowing]): Update. 7552 75532011-10-23 Paolo Carlini <paolo.carlini@oracle.com> 7554 7555 PR c++/50810 7556 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part 7557 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default 7558 Wnarrowing for C++0x and C++98. 7559 * c.opt ([Wnarrowing]): Update. 7560 75612011-10-21 Paolo Carlini <paolo.carlini@oracle.com> 7562 7563 PR c++/45385 7564 * c-common.c (conversion_warning): Remove code looking for 7565 artificial operands. 7566 75672011-10-18 Dodji Seketeli <dodji@redhat.com> 7568 7569 PR bootstrap/50760 7570 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when 7571 !NO_IMPLICIT_EXTERN_C. 7572 75732011-10-17 Michael Spertus <mike_spertus@symantec.com> 7574 7575 * c-common.c (c_common_reswords): Add __bases, 7576 __direct_bases. 7577 * c-common.h: Add RID_BASES and RID_DIRECT_BASES. 7578 75792011-10-17 Paolo Carlini <paolo.carlini@oracle.com> 7580 7581 PR c++/50757 7582 * c.opt ([Wnonnull]): Add C++ and Objective-C++. 7583 75842011-10-15 Tom Tromey <tromey@redhat.com> 7585 Dodji Seketeli <dodji@redhat.com> 7586 7587 * c.opt (fdebug-cpp): New option. 7588 * c-opts.c (c_common_handle_option): Handle the option. 7589 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an 7590 output stream in parameter. Factorized from ... 7591 (maybe_print_line): ... this. Dump location debug information when 7592 -fdebug-cpp is in effect. 7593 (print_line_1): New static function. Takes an output stream in 7594 parameter. Factorized from ... 7595 (print_line): ... here. Dump location information when -fdebug-cpp 7596 is in effect. 7597 (scan_translation_unit): Dump location information when 7598 -fdebug-cpp is in effect. 7599 76002011-10-15 Tom Tromey <tromey@redhat.com> 7601 Dodji Seketeli <dodji@redhat.com> 7602 7603 * c.opt (ftrack-macro-expansion): New option. Handle it with and 7604 without argument. 7605 * c-opts.c (c_common_handle_option)<case 7606 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New 7607 cases. Handle -ftrack-macro-expansion with and without argument. 7608 76092011-10-15 Tom Tromey <tromey@redhat.com> 7610 Dodji Seketeli <dodji@redhat.com> 7611 7612 * c-ppoutput.c (scan_translation_unit, maybe_print_line) 7613 (print_line, cb_define, do_line_change): Adjust to avoid touching 7614 the internals of struct line_map. Use the public API instead. 7615 * c-pch.c (c_common_read_pch): Likewise. 7616 * c-lex.c (fe_file_change): Likewise. 7617 76182011-10-14 Paolo Carlini <paolo.carlini@oracle.com> 7619 7620 PR c++/17212 7621 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++. 7622 76232011-10-11 Paolo Carlini <paolo.carlini@oracle.com> 7624 7625 PR c++/33067 7626 * c-pretty-print.c (pp_c_floating_constant): Output 7627 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits. 7628 76292011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com> 7630 7631 * c-common.c (def_builtin_1): Delete old interface with two 7632 parallel arrays to hold standard builtin declarations, and replace 7633 it with a function based interface that can support creating 7634 builtins on the fly in the future. Change all uses, and poison 7635 the old names. Make sure 0 is not a legitimate builtin index. 7636 * c-omp.c (c_finish_omp_barrier): Ditto. 7637 (c_finish_omp_taskwait): Ditto. 7638 (c_finish_omp_flush): Ditto. 7639 76402011-10-11 Tristan Gingold <gingold@adacore.com> 7641 7642 * c.opt: (fallow-parameterless-variadic-functions): New. 7643 76442011-09-08 Dodji Seketeli <dodji@redhat.com> 7645 7646 PR c++/33255 - Support -Wunused-local-typedefs warning 7647 * c-common.h (struct c_language_function::local_typedefs): New 7648 field. 7649 (record_locally_defined_typedef, maybe_record_typedef_use) 7650 (maybe_warn_unused_local_typedefs): Declare new functions. 7651 * c-common.c (record_locally_defined_typedef) 7652 (maybe_record_typedef_use) 7653 (maybe_warn_unused_local_typedefs): Define new functions. 7654 * c.opt: Declare new -Wunused-local-typedefs flag. 7655 76562011-09-06 Eric Botcazou <ebotcazou@adacore.com> 7657 7658 PR middle-end/50266 7659 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like 7660 computations. 7661 76622011-09-05 Richard Guenther <rguenther@suse.de> 7663 7664 * c-common.c (complete_array_type): Use ssize_int (-1) instead 7665 of integer_minus_one_node for empty array upper bounds. 7666 76672011-08-28 Dodji Seketeli <dodji@redhat.com> 7668 7669 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as 7670 it's the first time it's being called on this main TU. 7671 76722011-08-24 Richard Guenther <rguenther@suse.de> 7673 7674 PR c/49396 7675 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional. 7676 76772011-08-22 Gabriel Charette <gchare@google.com> 7678 7679 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens 7680 defined in cpp_init_builtins and c_cpp_builtins. 7681 76822011-08-19 Joseph Myers <joseph@codesourcery.com> 7683 7684 * c-common.c (c_common_reswords): Add __builtin_complex. 7685 * c-common.h (RID_BUILTIN_COMPLEX): New. 7686 76872011-08-18 Joseph Myers <joseph@codesourcery.com> 7688 7689 * c-common.c (c_common_reswords): Add _Noreturn. 7690 (keyword_is_function_specifier): Handle RID_NORETURN. 7691 * c-common.h (RID_NORETURN): New. 7692 76932011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com> 7694 7695 * c-common.c (unsafe_conversion_p): New function. Check if it is 7696 unsafe to convert an expression to the type. 7697 (conversion_warning): Adjust, use unsafe_conversion_p. 7698 * c-common.h (unsafe_conversion_p): New function declaration. 7699 77002011-08-02 Jakub Jelinek <jakub@redhat.com> 7701 7702 * c-common.h (c_finish_omp_atomic): Adjust prototype. 7703 (c_finish_omp_taskyield): New prototype. 7704 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1 7705 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and 7706 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1 7707 or RHS1 have side-effects, evaluate those too in the right spot, 7708 if it is a decl and LHS is also a decl, error out if they 7709 aren't the same. 7710 (c_finish_omp_taskyield): New function. 7711 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107. 7712 * c-pragma.c (omp_pragmas): Add taskyield. 7713 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD. 7714 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and 7715 PRAGMA_OMP_CLAUSE_MERGEABLE. 7716 77172011-07-25 Dodji Seketeli <dodji@redhat.com> 7718 7719 * c-common.h (set_underlying_type): Remove parm name from 7720 declaration. 7721 77222011-07-25 Romain Geissler <romain.geissler@gmail.com> 7723 7724 * c-pretty-print.h: Search c-common.h in c-family. 7725 77262011-07-22 Jason Merrill <jason@redhat.com> 7727 7728 PR c++/49793 7729 * c.opt (Wnarrowing): New. 7730 7731 PR c++/30112 7732 * c-common.h: Declare c_linkage_bindings. 7733 * c-pragma.c (handle_pragma_redefine_extname): Use it. 7734 7735 PR c++/49813 7736 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99. 7737 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well 7738 as flag_isoc99 for 'restrict'. 7739 (pp_c_specifier_qualifier_list): Likewise for _Complex. 7740 77412011-07-21 Ian Lance Taylor <iant@google.com> 7742 7743 PR middle-end/49705 7744 * c-common.c (c_disable_warnings): New static function. 7745 (c_enable_warnings): New static function. 7746 (c_fully_fold_internal): Change local unused_p to bool. Call 7747 c_disable_warnings and c_enable_warnings rather than change 7748 c_inhibit_evaluation_warnings. 7749 77502011-07-20 Jason Merrill <jason@redhat.com> 7751 7752 PR c++/6709 (DR 743) 7753 PR c++/42603 (DR 950) 7754 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h. 7755 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise. 7756 (CPP_DECLTYPE): New. 7757 * c-common.c (c_parse_error): Handle CPP_DECLTYPE. 7758 77592011-07-19 Richard Guenther <rguenther@suse.de> 7760 7761 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus. 7762 * c-omp.c (c_finish_omp_for): Likewise. 7763 77642011-07-12 Eric Botcazou <ebotcazou@adacore.com> 7765 7766 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop 7767 body on the next line. 7768 77692011-07-08 Jason Merrill <jason@redhat.com> 7770 7771 PR c++/45437 7772 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation. 7773 7774 PR c++/49673 7775 * c-common.c (c_apply_type_quals_to_decl): Don't check 7776 TYPE_NEEDS_CONSTRUCTING. 7777 77782011-07-06 Richard Guenther <rguenther@suse.de> 7779 7780 * c-common.c (c_common_nodes_and_builtins): 7781 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2. 7782 77832011-07-05 Richard Guenther <rguenther@suse.de> 7784 7785 * c-common.c (c_common_nodes_and_builtins): Build all common 7786 tree nodes first. 7787 77882011-06-27 Jakub Jelinek <jakub@redhat.com> 7789 7790 * c-common.h (c_tree_chain_next): New static inline function. 7791 7792 * c-common.c (check_builtin_function_arguments): Handle 7793 BUILT_IN_ASSUME_ALIGNED. 7794 77952011-06-21 Andrew MacLeod <amacleod@redhat.com> 7796 7797 * c-common.c: Add sync_ or SYNC__ to builtin names. 7798 * c-omp.c: Add sync_ or SYNC__ to builtin names. 7799 78002011-06-20 Pierre Vittet <piervit@pvittet.com> 7801 7802 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New 7803 handler. 7804 (gen_pragma_handler): New union. 7805 (internal_pragma_handler): New type. 7806 (c_register_pragma_with_data) 7807 (c_register_pragma_with_expansion_and_data): New functions. 7808 7809 * c-pragma.c (registered_pragmas, c_register_pragma_1) 7810 (c_register_pragma, c_register_pragma_with_expansion) 7811 (c_invoke_pragma_handler): Changed to work with 7812 internal_pragma_handler. 7813 (c_register_pragma_with_data) 7814 (c_register_pragma_with_expansion_and_data): New functions. 7815 78162011-06-14 Joseph Myers <joseph@codesourcery.com> 7817 7818 * c-common.c: Include common/common-target.h. 7819 (handle_section_attribute): Use 7820 targetm_common.have_named_sections. 7821 * c-cppbuiltin.c: Include common/common-target.h. 7822 (c_cpp_builtins): Use targetm_common.except_unwind_info. 7823 78242011-06-10 Richard Guenther <rguenther@suse.de> 7825 7826 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier 7827 to print a IDENTIFIER_NODE. 7828 78292011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 7830 Joseph Myers <joseph@codesourcery.com> 7831 7832 * c.opt (fbuilding-libgcc): New option. 7833 * c-cppbuiltin.c (c_cpp_builtins): Define 7834 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc. 7835 78362011-06-07 Jason Merrill <jason@redhat.com> 7837 7838 * c-common.c (max_tinst_depth): Lower default to 900. 7839 7840 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format. 7841 78422011-06-07 Richard Guenther <rguenther@suse.de> 7843 7844 * c-common.c (c_common_nodes_and_builtins): Do not set 7845 size_type_node or call set_sizetype. 7846 78472011-06-07 Dodji Seketeli <dodji@redhat.com> 7848 7849 PR debug/49130 7850 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical 7851 type when using pointer comparison to compare types. 7852 78532011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com> 7854 7855 * c.opt: Add -Wdelete-non-virtual-dtor. 7856 * c-opts.c (c_common_handle_option): Include it in -Wall. 7857 78582011-05-30 Nathan Froyd <froydnj@gcc.gnu.org> 7859 7860 PR bootstrap/49190 7861 7862 Revert: 7863 2011-05-26 Nathan Froyd <froydnj@codesourcery.com> 7864 7865 * c-common.h (struct c_common_identifier): Inherit from tree_typed, 7866 not tree_common. 7867 78682011-05-27 Jakub Jelinek <jakub@redhat.com> 7869 7870 PR c++/49165 7871 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For 7872 C++ don't call c_common_truthvalue_conversion on void type arms. 7873 78742011-05-27 Nathan Froyd <froydnj@codesourcery.com> 7875 7876 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC. 7877 (stmt_list_stack): Define. 7878 (cur_stmt_list): Adjust for new type of x_cur_stmt_list. 7879 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise. 7880 78812011-05-26 Nathan Froyd <froydnj@codesourcery.com> 7882 7883 * c-common.c (warning_candidate_p): Check for BLOCKs. 7884 78852011-05-26 Nathan Froyd <froydnj@codesourcery.com> 7886 7887 * c-common.h (struct c_common_identifier): Inherit from tree_typed, 7888 not tree_common. 7889 78902011-05-25 Jakub Jelinek <jakub@redhat.com> 7891 7892 * c-common.c (def_fn_type): Remove extra va_end. 7893 78942011-05-23 Jason Merrill <jason@redhat.com> 7895 7896 PR c++/48106 7897 * c-common.c (c_common_get_narrower): New. 7898 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it. 7899 79002011-05-23 Nathan Froyd <froydnj@codesourcery.com> 7901 7902 * c-common.h (check_function_arguments): Tweak prototype of 7903 check_function_arguments. 7904 * c-common.c (check_function_arguments): Likewise. Adjust 7905 calls to check_function_nonnull, check_function_format, and 7906 check_function_sentinel. 7907 (check_function_sentinel): Take a FUNCTION_TYPE rather than 7908 separate attributes and typelist arguments. Use 7909 FOREACH_FUNCTION_ARGS to iterate over argument types. 7910 79112011-05-15 Paolo Carlini <paolo.carlini@oracle.com> 7912 7913 * c-common.c (c_common_reswords): Reorder. 7914 * c-common.h (rid): Likewise. 7915 79162011-05-10 Nathan Froyd <froydnj@codesourcery.com> 7917 7918 * c-common.c (def_fn_type): Don't call build_function_type, call 7919 build_function_type_array or build_varargs_function_type_array 7920 instead. 7921 (c_common_nodes_and_builtins): Likewise. 7922 79232011-05-05 Nathan Froyd <froydnj@codesourcery.com> 7924 7925 * c-common.c (c_add_case_label): Omit the loc argument to 7926 build_case_label. 7927 * c-common.h (build_case_label): Remove. 7928 * c-semantics.c (build_case_label): Remove. 7929 79302011-05-05 Joseph Myers <joseph@codesourcery.com> 7931 7932 * c-objc.h (objc_start_method_definition): Update prototype. 7933 * stub-objc.c (objc_start_method_definition): Add extra parameter. 7934 79352011-05-04 Nathan Froyd <froydnj@codesourcery.com> 7936 7937 * c-common.c (check_main_parameter_types): Reindent. Don't use 7938 TYPE_ARG_TYPES directly. 7939 (handle_nonnull_attribute): Likewise. 7940 (sync_resolve_params): Likewise. 7941 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call 7942 to check_format_string. 7943 (handle_format_attribute): Likewise. 7944 (check_format_string): Take a function type to examine instead of 7945 a type list. Use a function_arg_iterator to step through argument 7946 types. 7947 79482011-05-04 Richard Guenther <rguenther@suse.de> 7949 7950 * c-common.c (fix_string_type): Use size_int for index type bounds. 7951 (start_fname_decls): Do not pass NULL to build_int_cst. 7952 (c_init_attributes): Likewise. 7953 * c-lex.c (c_lex_with_flags): Likewise. 7954 79552011-04-27 Jason Merrill <jason@redhat.com> 7956 7957 * c-common.c (make_tree_vector_from_list): New. 7958 * c-common.h: Declare it. 7959 79602011-04-26 Richard Guenther <rguenther@suse.de> 7961 7962 PR preprocessor/48248 7963 * c-ppoutput.c (maybe_print_line): Always optimize newlines 7964 for output size with -P. 7965 79662011-04-25 Paolo Carlini <paolo.carlini@oracle.com> 7967 7968 * c-common.c (struct c_common_resword): Add __underlying_type. 7969 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE. 7970 79712011-04-20 Jim Meyering <meyering@redhat.com> 7972 7973 * c-format.c (init_dollar_format_checking): Remove useless 7974 if-before-free. 7975 79762011-04-15 Nicola Pero <nicola.pero@meta-innovation.com> 7977 7978 * c-objc.h (objc_get_interface_ivars): Removed. 7979 (objc_detect_field_duplicates): New. 7980 * stub-objc.c: Likewise. 7981 79822011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> 7983 7984 * stub-objc.c (objc_declare_protocols): Renamed to 7985 objc_declare_protocol. 7986 * c-objc.h: Likewise. 7987 79882011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> 7989 7990 * stub-objc.c (objc_declare_class): Updated argument name. 7991 79922011-04-12 Nathan Froyd <froydnj@codesourcery.com> 7993 7994 * c-common.h (c_common_init_ts): Declare. 7995 * c-common.c (c_common_init_ts): Define. 7996 79972011-04-12 Nicola Pero <nicola.pero@meta-innovation.com> 7998 7999 * c-objc.h (objc_build_message_expr): Updated prototype. 8000 * stub-objc.c (objc_build_message_expr): Likewise. 8001 80022011-04-12 Martin Jambor <mjambor@suse.cz> 8003 8004 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead 8005 of cgraph_node. 8006 80072011-04-11 Richard Guenther <rguenther@suse.de> 8008 8009 * c-common.c (complete_array_type): Build a range type of 8010 proper type. 8011 80122011-04-08 Nathan Froyd <froydnj@codesourcery.com> 8013 8014 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES. 8015 (handle_type_generic_attribute): Likewise. 8016 80172011-04-07 Jason Merrill <jason@redhat.com> 8018 8019 PR c++/48450 8020 * c-common.c (c_common_truthvalue_conversion): Don't ignore 8021 conversion from C++0x scoped enum. 8022 80232011-04-06 Joseph Myers <joseph@codesourcery.com> 8024 8025 * c-target-def.h: New file. 8026 * c-target.def: New file. 8027 * c-target.h: New file. 8028 * c-common.c (targetcm): Don't define here. 8029 * c-common.h (default_handle_c_option): Declare. 8030 * c-format.c: Include c-target.h instead of target.h. 8031 * c-opts.c: Include c-target.h instead of target.h. Explicitly 8032 include tm.h. 8033 (default_handle_c_option): Move from targhooks.c. 8034 80352011-03-29 Jakub Jelinek <jakub@redhat.com> 8036 8037 PR preprocessor/48248 8038 * c-ppoutput.c (print): Add src_file field. 8039 (init_pp_output): Initialize it. 8040 (maybe_print_line): Don't optimize by adding up to 8 newlines 8041 if map->to_file and print.src_file are different file. 8042 (print_line): Update print.src_file. 8043 80442011-03-25 Kai Tietz <ktietz@redhat.com> 8045 8046 * c-ada-spec.c (compare_comment): Use filename_cmp 8047 instead of strcmp for filename. 8048 80492011-03-25 Jeff Law <law@redhat.com> 8050 8051 * c-common.c (def_fn_type): Add missing va_end. 8052 80532011-03-25 Jason Merrill <jason@redhat.com> 8054 8055 * c.opt: Add -std=c++03. 8056 80572011-03-22 Eric Botcazou <ebotcazou@adacore.com> 8058 8059 * c-ada-spec.c (dump_ada_template): Skip non-class instances. 8060 80612011-03-17 Kai Tietz <ktietz@redhat.com> 8062 8063 PR target/12171 8064 * c-pretty-print.c (pp_c_specifier_qualifier_list): 8065 Display allowed attributes for function pointer types. 8066 (pp_c_attributes_display): New function to display 8067 attributes having affects_type_identity flag set to true. 8068 * c-pretty-print.h (pp_c_attributes_display): New prototype. 8069 8070 * c-common.c (c_common_attribute_table): 8071 Add new element. 8072 (c_common_format_attribute_table): Likewise. 8073 80742011-03-18 Jason Merrill <jason@redhat.com> 8075 8076 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth). 8077 * c-common.h: Don't declare it here. 8078 * c-common.c: Or define it here. 8079 * c-opts.c (c_common_handle_option): Or set it here. 8080 8081 PR c++/35315 8082 * c-common.c (handle_transparent_union_attribute): Don't 8083 make a duplicate type in C++. 8084 80852011-03-15 Jason Merrill <jason@redhat.com> 8086 8087 * c-common.c (max_constexpr_depth): New. 8088 * c-common.h: Declare it. 8089 * c-opts.c (c_common_handle_option): Set it. 8090 * c.opt (fconstexpr-depth): New option. 8091 80922011-03-11 Jason Merrill <jason@redhat.com> 8093 8094 * c-common.c (attribute_takes_identifier_p): Add missing const. 8095 8096 PR c++/46803 8097 * c-common.c (attribute_takes_identifier_p): Assume that an 8098 unknown attribute takes an identifier. 8099 81002011-03-07 Nathan Froyd <froydnj@codesourcery.com> 8101 8102 PR c/47786 8103 * c-common.c (c_type_hash): Call list_length instead of iterating 8104 through DECL_CHAIN. Rename 'i' to 'n_elements'. 8105 81062011-02-19 Jakub Jelinek <jakub@redhat.com> 8107 8108 PR c/47809 8109 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR. 8110 81112011-02-17 Iain Sandoe <iains@gcc.gnu.org> 8112 8113 * c.opt (fobjc-abi-version=) New. 8114 (fobjc-nilcheck): New. 8115 81162011-02-03 Nathan Froyd <froydnj@codesourcery.com> 8117 8118 PR c++/46890 8119 * c-common.h (keyword_is_decl_specifier): Declare. 8120 * c-common.c (keyword_is_decl_specifier): Define. 8121 (keyword_is_function_specifier): New function. 8122 81232011-01-26 Jakub Jelinek <jakub@redhat.com> 8124 8125 PR c/47473 8126 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure 8127 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of 8128 REAL_TYPE. 8129 81302011-01-26 Arnaud Charlet <charlet@adacore.com> 8131 8132 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type. 8133 81342011-01-26 Jakub Jelinek <jakub@redhat.com> 8135 8136 PR pch/47430 8137 * c-opts.c (c_common_post_options): Call c_common_no_more_pch 8138 after init_c_lex if pch_file is set. 8139 81402011-01-26 Dave Korn <dave.korn.cygwin@gmail.com> 8141 8142 PR c++/43601 8143 * c.opt (-fkeep-inline-dllexport): New switch. 8144 81452011-01-12 Richard Guenther <rguenther@suse.de> 8146 8147 PR middle-end/32511 8148 * c-common.c (handle_weak_attribute): Warn instead of error 8149 on declaring an inline function weak. 8150 81512011-01-05 Tom Tromey <tromey@redhat.com> 8152 8153 * c-common.h (lvalue_error): Update. 8154 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at, 8155 not error. 8156 81572010-12-29 Nicola Pero <nicola.pero@meta-innovation.com> 8158 8159 PR objc/47075 8160 * c-objc.h (objc_finish_message_expr): Added argument to 8161 prototype. 8162 81632010-12-22 Nathan Froyd <froydnj@codesourcery.com> 8164 8165 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute): 8166 Use prototype_p. 8167 81682010-12-18 Nicola Pero <nicola.pero@meta-innovation.com> 8169 8170 * c-objc.h (objc_maybe_warn_exceptions): New. 8171 * stub-objc.c (objc_maybe_warn_exceptions): New. 8172 81732010-12-10 Nathan Froyd <froydnj@codesourcery.com> 8174 8175 * c-common.h (readonly_error): Declare. 8176 * c-common.c (readonly_error): Define. 8177 81782010-12-09 Nathan Froyd <froydnj@codesourcery.com> 8179 8180 * c-common.h (invalid_indirection_error): Declare. 8181 * c-common.c (invalid_indirection_error): Define. 8182 81832010-12-03 Richard Guenther <rguenther@suse.de> 8184 8185 PR c/46745 8186 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF. 8187 (pp_c_unary_expression): Likewise. 8188 (pp_c_expression): Likewise. 8189 81902010-11-30 Nicola Pero <nicola.pero@meta-innovation.com> 8191 8192 * c-common.h (objc_finish_function): New. 8193 (objc_non_volatilized_type): Removed. 8194 (objc_type_quals_match): Removed. 8195 * stub-objc.c (objc_finish_function): New. 8196 (objc_non_volatilized_type): Removed. 8197 (objc_type_quals_match): Removed. 8198 81992010-11-30 Joseph Myers <joseph@codesourcery.com> 8200 8201 * c-common.h (parse_optimize_options): Declare. 8202 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c, 8203 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h. 8204 82052010-11-29 Joseph Myers <joseph@codesourcery.com> 8206 8207 * c-opts.c (check_deps_environment_vars): Use getenv instead of 8208 GET_ENVIRONMENT. 8209 * c-pch.c (O_BINARY): Don't define here. 8210 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>. 8211 82122010-11-25 Joseph Myers <joseph@codesourcery.com> 8213 8214 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to 8215 targetm.except_unwind_info. 8216 82172010-11-23 Joseph Myers <joseph@codesourcery.com> 8218 8219 * c-opts.c (c_common_handle_option): Pass location to 8220 set_struct_debug_option. 8221 82222010-11-23 Joseph Myers <joseph@codesourcery.com> 8223 8224 * c-common.c (visibility_options): Move from ../opts.c. 8225 * c-common.h (struct visibility_flags, visibility_options): 8226 Declare here. 8227 * c-opts.c (finish_options): Rename to c_finish_options. 8228 (c_common_init): Update call to finish_options. 8229 82302010-11-22 Nicola Pero <nicola.pero@meta-innovation.com> 8231 8232 PR objc/34033 8233 * c-lex.c (lex_string): Check that each string in an Objective-C 8234 string concat sequence starts with either one or zero '@', and 8235 that there are no spurious '@' signs at the end. 8236 82372010-11-20 Joseph Myers <joseph@codesourcery.com> 8238 8239 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK, 8240 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and 8241 HANDLE_PRAGMA_VISIBILITY. 8242 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK, 8243 HANDLE_PRAGMA_VISIBILITY): Don't define. 8244 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test. 8245 82462010-11-20 Nathan Froyd <froydnj@codesourcery.com> 8247 8248 PR c++/16189 8249 PR c++/36888 8250 PR c++/45331 8251 * c-common.h (keyword_begins_type_specifier): Declare. 8252 (keyword_is_storage_class_specifier): Declare. 8253 (keyword_is_type_qualifier): Declare. 8254 * c-common.c (keyword_begins_type_specifier): New function. 8255 (keyword_is_storage_class_specifier): New function. 8256 (keyword_is_type_qualifier): Declare. 8257 82582010-11-19 Joseph Myers <joseph@codesourcery.com> 8259 8260 PR c/46547 8261 * c-common.c (in_late_binary_op): Define. 8262 (c_common_truthvalue_conversion): Check in_late_binary_op before 8263 calling c_save_expr. 8264 * c-common.h (in_late_binary_op): Declare. 8265 82662010-11-19 Joseph Myers <joseph@codesourcery.com> 8267 8268 * c-opts.c (c_common_handle_option): Update calls to 8269 set_struct_debug_option. 8270 82712010-11-19 Nicola Pero <nicola.pero@meta-innovation.com> 8272 8273 * c-common.h (objc_declare_protocols): Added additional argument. 8274 * stub-objc.c (objc_declare_protocol): Same change. 8275 82762010-11-18 Nathan Froyd <froydnj@codesourcery.com> 8277 8278 PR c/33193 8279 * c-common.h (build_real_imag_expr): Declare. 8280 * c-semantics.c (build_real_imag_expr): Define. 8281 82822010-11-17 Joseph Myers <joseph@codesourcery.com> 8283 8284 * c-opts.c (c_common_parse_file): Take no arguments. 8285 * c-common.h (c_common_parse_file): Update prototype. 8286 82872010-11-16 Jakub Jelinek <jakub@redhat.com> 8288 8289 PR c++/46401 8290 * c-common.c (warning_candidate_p): Don't track non-const calls 8291 or STRING_CSTs. 8292 82932010-11-15 Ian Lance Taylor <iant@google.com> 8294 8295 * c-lex.c (init_c_lex): Set macro debug callbacks if 8296 flag_dump_go_spec is set. 8297 82982010-11-15 Nicola Pero <nicola.pero@meta-innovation.com> 8299 8300 * c-common.h (objc_build_incr_expr_for_property_ref): New. 8301 * stub-objc.c (objc_build_incr_expr_for_property_ref): New. 8302 83032010-11-15 Nathan Froyd <froydnj@codesourcery.com> 8304 8305 PR preprocessor/45038 8306 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++ 8307 dialects. 8308 83092010-11-12 Joseph Myers <joseph@codesourcery.com> 8310 8311 * c-common.h (c_family_lang_mask): Declare. 8312 * c-opts.c (c_family_lang_mask): Make extern. 8313 * c-pragma.c (handle_pragma_diagnostic): Use 8314 control_warning_option. 8315 83162010-11-12 Joseph Myers <joseph@codesourcery.com> 8317 8318 * c-common.c (parse_optimize_options): Update call to 8319 decode_options. 8320 * c-common.h (c_common_handle_option): Update prototype. 8321 * c-opts.c (c_common_handle_option): Take location_t parameter and 8322 pass it to other functions. 8323 83242010-11-11 Joseph Myers <joseph@codesourcery.com> 8325 8326 * c-opts.c (warning_as_error_callback): Remove. 8327 (c_common_initialize_diagnostics): Don't call 8328 register_warning_as_error_callback. 8329 (c_common_handle_option): Handle -Werror=normalized= here. 8330 83312010-11-10 Joseph Myers <joseph@codesourcery.com> 8332 8333 * c-common.c (handle_mode_attribute): Use %' and word "signedness" 8334 in diagnostic. 8335 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase 8336 letter. 8337 * c-pragma.c (handle_pragma_target, handle_pragma_optimize): 8338 Remove trailing '.' from diagnostics. 8339 * c.opt (Wwrite-strings_: Avoid '`' in help text. 8340 83412010-11-10 Joseph Myers <joseph@codesourcery.com> 8342 8343 * c-common.c (parse_optimize_options): Pass global_dc to 8344 decode_options. 8345 * c-opts.c (c_common_handle_option): Pass &global_options to 8346 set_Wstrict_aliasing. 8347 * c.opt (v): Don't mark Common or document here. 8348 83492010-11-06 Iain Sandoe <iains@gcc.gnu.org> 8350 8351 PR target/44981 8352 * c-format.c (format_type): New type gcc_objc_string_format_type. 8353 (valid_stringptr_type_p): New. 8354 (handle_format_arg_attribute): Use valid_stringptr_type_p (). 8355 (check_format_string): Pass expected type, use 8356 valid_stringptr_type_p (), check that the format string types are 8357 consistent with the format specification. 8358 (decode_format_attr): Warn if NSString is used outside objective-c. 8359 (format_types_orig): Add NSString. 8360 (format_name): New. 8361 (format_flags): New. 8362 (check_format_arg): Handle format strings requiring an external parser. 8363 first_target_format_type: New variable. 8364 (handle_format_attribute): Set up first_target_format_type, pass the 8365 expected format arg string type to check_format_string(). 8366 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag. 8367 * stub-objc.c (objc_string_ref_type_p): New. 8368 (objc_check_format_arg): New. 8369 83702010-11-04 Nicola Pero <nicola.pero@meta-innovation.com> 8371 8372 Fixed using the Objective-C 2.0 dot-syntax with class names. 8373 * c-common.h (objc_build_class_component_ref): New. 8374 * stub-objc.c (objc_build_class_component_ref): New. 8375 83762010-11-03 Nicola Pero <nicola.pero@meta-innovation.com> 8377 8378 * c.opt (Wproperty-assign-default): New option. 8379 83802010-11-03 Nicola Pero <nicola.pero@meta-innovation.com> 8381 8382 Implemented -fobjc-std=objc1 flag. 8383 * c.opt (fobjc-std=objc1): New option. 8384 83852010-11-01 Nicola Pero <nicola.pero@meta-innovation.com> 8386 8387 Implemented format and noreturn attributes for Objective-C methods. 8388 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn' 8389 attribute for Objective-C methods. 8390 83912010-10-31 Jason Merrill <jason@redhat.com> 8392 8393 * c-common.c (conversion_warning, warn_for_collisions_1): Use 8394 EXPR_LOC_OR_HERE. 8395 83962010-10-30 Nicola Pero <nicola.pero@meta-innovation.com> 8397 8398 Implemented Objective-C 2.0 @property, @synthesize and @dynamic. 8399 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR. 8400 (objc_add_property_declaration): Removed arguments for copies and 8401 ivar. 8402 (objc_build_getter_call): Renamed to 8403 objc_maybe_build_component_ref. 8404 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr. 8405 (objc_is_property_ref): New. 8406 * c-common.c (c_common_reswords): Removed copies and ivar. 8407 * stub-objc.c (objc_add_property_declaration): Removed arguments 8408 for copies and ivar. 8409 (objc_build_getter_call): Renamed to 8410 objc_maybe_build_component_ref. 8411 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr. 8412 (objc_is_property_ref): New. 8413 84142010-10-29 Arnaud Charlet <charlet@adacore.com> 8415 Matthew Gingell <gingell@adacore.com> 8416 8417 * c-ada-spec.c (separate_class_package): New function. 8418 (pp_ada_tree_identifier): Prefix references to C++ classes with the 8419 name of their enclosing package. 8420 (print_ada_declaration): Use separate_class_package. 8421 84222010-10-27 Jason Merrill <jason@redhat.com> 8423 8424 * c-common.c (c_common_reswords): Add __is_literal_type. 8425 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE. 8426 8427 * c-common.c (check_case_value): Remove special C++ code. 8428 84292010-10-27 Nicola Pero <nicola.pero@meta-innovation.com> 8430 8431 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN, 8432 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR 8433 and RID_LAST_PATTR. 8434 (objc_add_property_declaration): Added additional arguments. 8435 (objc_property_attribute_kind): Removed. 8436 (objc_set_property_attr): Removed. 8437 * c-common.c (c_common_reswords): Added readwrite, assign, retain, 8438 copy and nonatomic. 8439 * stub-objc.c (objc_add_property_declaration): Added additional 8440 arguments. 8441 (objc_set_property_attr): Removed. 8442 84432010-10-27 Nicola Pero <nicola.pero@meta-innovation.com> 8444 8445 * c-common.h (objc_add_property_variable): Renamed to 8446 objc_add_property_declaration. Added location argument. 8447 * stub-objc.c (objc_add_property_variable): Same change. 8448 84492010-10-23 Nicola Pero <nicola.pero@meta-innovation.com> 8450 8451 * c-common.h (objc_maybe_printable_name): New. 8452 * stub-objc.c (objc_maybe_printable_name): New. 8453 84542010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com> 8455 Andrew Pinski <pinskia@gmail.com> 8456 8457 * c-common.h (c_common_mark_addressable_vec): Declare. 8458 * c-common.c (c_common_mark_addressable_vec): New function. 8459 84602010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> 8461 8462 * c-common.h (objc_set_method_type): Removed. 8463 (objc_add_method_declaration): Added boolean argument. 8464 (objc_start_method_definition): Same change. 8465 (objc_build_method_signature): Same change. 8466 * stub-objc.c (objc_set_method_type): Removed. 8467 (objc_add_method_declaration): Added boolean argument. 8468 (objc_start_method_definition): Same change. 8469 (objc_build_method_signature): Same change. 8470 84712010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> 8472 8473 * c-common.h (finish_file): Removed. 8474 (objc_write_global_declarations): New. 8475 * c-opts.c (c_common_parse_file): Do not call finish_file. 8476 * stub-objc.c (objc_write_global_declarations): New. 8477 84782010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> 8479 8480 Implemented parsing @synthesize and @dynamic for 8481 Objective-C/Objective-C++. 8482 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC. 8483 (objc_add_synthesize_declaration): New. 8484 (objc_add_dynamic_declaration): New. 8485 * c-common.c (c_common_reswords): Add synthesize and dynamic. 8486 * stub-objc.c (objc_add_synthesize_declaration): New. 8487 (objc_add_dynamic_declaration): New. 8488 84892010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com> 8490 8491 PR target/46041 8492 * c-cppbuiltin.c (mode_has_fma): Move function here from 8493 builtins.c. Don't use the fma optab, instead just use the 8494 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when 8495 using -save-temps. 8496 84972010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> 8498 8499 Merge from 'apple/trunk' branch on FSF servers. 8500 8501 2005-11-08 Fariborz Jahanian <fjahanian@apple.com> 8502 8503 Radar 4330422 8504 * c-common.h (objc_non_volatilized_type): New declaration 8505 * stub-objc.c (objc_non_volatilized_type): New stub. 8506 85072010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> 8508 8509 Merge from 'apple/trunk' branch on FSF servers. 8510 8511 2006-03-27 Fariborz Jahanian <fjahanian@apple.com> 8512 8513 Radar 4133425 8514 * c-common.h (objc_diagnose_private_ivar): New decl. 8515 * stub-objc.c (objc_diagnose_private_ivar): New stub. 8516 85172010-10-17 Iain Sandoe <iains@gcc.gnu.org> 8518 8519 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE. 8520 * c-common.h (enum rid): Add RID_AT_PACKAGE. 8521 (objc_ivar_visibility_kind): New enum. 8522 (objc_set_visibility): Adjust prototype to use visibility enum. 8523 * stub-objc.c (objc_set_visibility): Adjust stub to use 8524 visibility enum. 8525 85262010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com> 8527 8528 * c-cppbuiltin.c (builtin_define_float_constants): Emit 8529 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine 8530 has the appropriate fma builtins. 8531 (c_cpp_builtins): Adjust call to builtin_define_float_constants. 8532 85332010-10-14 Iain Sandoe <iains@gcc.gnu.org> 8534 8535 merge from FSF apple 'trunk' branch. 8536 2006 Fariborz Jahanian <fjahanian@apple.com> 8537 8538 Radars 4436866, 4505126, 4506903, 4517826 8539 * c-common.c (c_common_resword): Define @property and its attributes. 8540 * c-common.h: Define property attribute enum entries. 8541 (OBJC_IS_PATTR_KEYWORD): New. 8542 (objc_property_attribute_kind): New enum. 8543 Declare objc_set_property_attr (), objc_add_property_variable (), 8544 objc_build_getter_call () and objc_build_setter_call (). 8545 * stub-objc.c (objc_set_property_attr): New stub. 8546 (objc_add_property_variable): Likewise. 8547 (objc_build_getter_call): Likewise. 8548 (objc_build_setter_call) Likewise. 8549 85502010-10-13 Iain Sandoe <iains@gcc.gnu.org> 8551 8552 merge from FSF apple 'trunk' branch. 8553 2006-04-26 Fariborz Jahanian <fjahanian@apple.com> 8554 8555 Radar 3803157 (method attributes) 8556 * c-common.c (handle_deprecated_attribute): Recognize 8557 objc methods as valid declarations. 8558 * c-common.h: Declare objc_method_decl (). 8559 * stub-objc.c (objc_method_decl): New stub. 8560 85612010-10-08 Joseph Myers <joseph@codesourcery.com> 8562 8563 * c-common.c (parse_optimize_options): Call 8564 decode_cmdline_options_to_array_default_mask before 8565 decode_options. Update arguments to decode_options. 8566 * c-common.h (c_common_init_options_struct): Declare. 8567 * c-opts.c (c_common_init_options_struct): New. Split out from 8568 c_common_init_options. 8569 85702010-10-06 Nicola Pero <nicola.pero@meta-innovation.com> 8571 8572 Implemented fast enumeration for Objective-C. 8573 * c-common.h (objc_finish_foreach_loop): New. 8574 * stub-objc.c (objc_finish_foreach_loop): New. 8575 85762010-10-05 Joseph Myers <joseph@codesourcery.com> 8577 8578 * c-common.h (struct diagnostic_context): Don't declare here. 8579 (c_common_initialize_diagnostics): Declare using 8580 diagnostic_context typedef. 8581 * c-opts.c (c_common_handle_option): Pass global_dc to 8582 handle_generated_option. 8583 85842010-10-04 Joseph Myers <joseph@codesourcery.com> 8585 8586 * c-opts.c (c_common_handle_option): Pass &global_options_set to 8587 handle_generated_option. 8588 85892010-10-03 Ian Lance Taylor <iant@google.com> 8590 8591 * c.opt (-fplan9-extensions): New option. 8592 85932010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 8594 8595 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision): 8596 Remove. 8597 (c_cpp_builtins): Call functions from cppbuiltin.c instead 8598 of duplicating code. 8599 86002010-09-30 Iain Sandoe <iains@gcc.gnu.org> 8601 8602 * c-common.c: Add two new entries for @optional 8603 and @required keywords. 8604 8605 merge from FSF 'apple/trunk' branch. 8606 2006-01-30 Fariborz Jahanian <fjahanian@apple.com> 8607 8608 Radar 4386773 8609 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new 8610 objective-c keywords. 8611 (objc_set_method_opt): New declaration. 8612 * stub-objc.c (objc_set_method_opt): New stub. 8613 86142010-09-30 Joseph Myers <joseph@codesourcery.com> 8615 8616 * c-common.c (handle_optimize_attribute): Pass &global_options to 8617 cl_optimization_save and cl_optimization_restore. 8618 * c-opts.c (c_common_handle_option): Pass &global_options to 8619 handle_generated_option. 8620 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var. 8621 (handle_pragma_pop_options, handle_pragma_reset_options): Pass 8622 &global_options to cl_optimization_restore. 8623 86242010-09-30 Nicola Pero <nicola.pero@meta-innovation.com> 8625 8626 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME 8627 Objective-C/Objective-C++ keywords. 8628 86292010-09-29 Nicola Pero <nicola.pero@meta-innovation.com> 8630 8631 Merge from 'apple/trunk' branch on FSF servers. 8632 8633 2005-10-04 Fariborz Jahanian <fjahanian@apple.com> 8634 8635 Radar 4281748 8636 * c-common.h (objc_check_global_decl): New declaration. 8637 * stub-objc.c (objc_check_global_decl): New stub. 8638 86392010-09-29 Joseph Myers <joseph@codesourcery.com> 8640 8641 * c.opt: Don't use VarExists. 8642 86432010-09-29 Joseph Myers <joseph@codesourcery.com> 8644 8645 * c-common.c (c_cpp_error): Update names of diagnostic_context 8646 members. 8647 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of 8648 cl_optimization members. 8649 * c-opts.c (warning_as_error_callback, c_common_handle_option, 8650 sanitize_cpp_opts, finish_options): Update names of cpp_options 8651 members. 8652 86532010-09-29 Nicola Pero <nicola.pero@meta-innovation.com> 8654 8655 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments. 8656 (objc_is_reserved_word): Removed. 8657 * c-common.c: Updated comments. 8658 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of 8659 objc_is_reserved_word. 8660 * stub-objc.c (objc_is_reserved_word): Removed. 8661 86622010-09-28 Iain Sandoe <iains@gcc.gnu.org> 8663 8664 * c-common.h (objc_add_method_declaration): Adjust prototype to 8665 include attributes. 8666 (objc_start_method_definition): Likewise. 8667 (objc_build_keyword_decl): Likewise. 8668 * stub-objc.c:(objc_add_method_declaration): Handle attributes. 8669 (objc_start_method_definition): Likewise. 8670 (objc_build_keyword_decl): Likewise. 8671 86722010-09-28 Iain Sandoe <iains@gcc.gnu.org> 8673 8674 * c-common.h (objc_start_class_interface): Adjust prototype. 8675 (objc_start_category_interface): Likewise. 8676 (objc_start_protocol): Likewise. 8677 * stub-objc.c (objc_start_protocol): Adjust for extra argument. 8678 (objc_start_class_interface): Likewise. 8679 (objc_start_category_interface): Likewise. 8680 86812010-09-27 Ian Lance Taylor <iant@google.com> 8682 8683 * c-common.c (c_common_attribute_table): Add no_split_stack. 8684 (handle_no_split_stack_attribute): New static function. 8685 86862010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> 8687 8688 Merge from 'apple/trunk' branch on FSF servers. 8689 8690 2005-12-15 Fariborz Jahanian <fjahanian@apple.com> 8691 8692 Radar 4229905 8693 * c-common.h (objc_have_common_type): New declaration. 8694 * stub-objc.c (objc_have_common_type): New stub. 8695 8696 2005-06-22 Ziemowit Laski <zlaski@apple.com> 8697 8698 Radar 4154928 8699 * c-common.h (objc_common_type): New prototype. 8700 * stub-objc.c (objc_common_type): New stub. 8701 87022010-09-24 Jan Hubicka <jh@suse.cz> 8703 8704 * c-common.c (handle_leaf_attribute): New function. 8705 (struct attribute_spec c_common_att): Add leaf. 8706 87072010-09-22 Joseph Myers <joseph@codesourcery.com> 8708 8709 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments, 8710 -comments-in-macros, -define-macro, -define-macro=, -dependencies, 8711 -dump, -dump=, -imacros, -imacros=, -include, -include=, 8712 -include-barrier, -include-directory, -include-directory=, 8713 -include-directory-after, -include-directory-after=, 8714 -include-prefix, -include-prefix=, -include-with-prefix, 8715 -include-with-prefix=, -include-with-prefix-after, 8716 -include-with-prefix-after=, -include-with-prefix-before, 8717 -include-with-prefix-before=, -no-integrated-cpp, 8718 -no-line-commands, -no-standard-includes, -no-warnings, -output, 8719 -output=, -pedantic, -pedantic-errors, -preprocess, 8720 -print-missing-file-dependencies, -trace-includes, -traditional, 8721 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=, 8722 -user-dependencies, -verbose, -write-dependencies, 8723 -write-user-dependencies, no-integrated-cpp, traditional): New. 8724 87252010-09-21 Nicola Pero <nicola.pero@meta-innovation.com> 8726 8727 PR objc/23710 8728 * c-common.h (objc_start_method_definition): Return bool instead 8729 of void. 8730 * stub-objc.c (objc_start_method_definition): Return bool instead 8731 of void. 8732 87332010-09-21 Nicola Pero <nicola.pero@meta-innovation.com> 8734 8735 PR objc/25965 8736 * c-common.h (objc_get_interface_ivars): New declaration. 8737 * stub-objc.c (objc_get_interface_ivars): New stub. 8738 87392010-09-15 Ian Lance Taylor <iant@google.com> 8740 8741 * c-common.c (parse_optimize_options): Do not capitalize warning 8742 messages. Remove period at end of warning message. 8743 87442010-09-09 Nathan Sidwell <nathan@codesourcery.com> 8745 8746 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ... 8747 (handle_alias_attribute): ... here. 8748 (handle_ifunc_attribute): New. 8749 87502010-09-06 Mark Mitchell <mark@codesourcery.com> 8751 8752 * c-common.h (do_warn_double_promotion): Declare. 8753 * c-common.c (do_warn_double_promotion): Define. 8754 87552010-09-05 Mark Mitchell <mark@codesourcery.com> 8756 8757 * c.opt (Wdouble-promotion): New. 8758 87592010-09-02 Joseph Myers <joseph@codesourcery.com> 8760 8761 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc, 8762 fvtable-thunks, fxref): Mark no longer supported in help text. 8763 87642010-09-02 Joseph Myers <joseph@codesourcery.com> 8765 8766 * c.opt (Wimport, fall-virtual, falt-external-templates, 8767 fdefault-inline, fenum-int-equiv, fexternal-templates, 8768 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok, 8769 fname-mangling-version-, fnew-abi, fnonnull-objects, 8770 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable, 8771 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as 8772 applicable. 8773 (fhandle-exceptions): Mark with Alias and Warn. 8774 * c-opts.c (c_common_handle_option): Don't handle options marked 8775 as ignored. 8776 87772010-09-02 Joseph Myers <joseph@codesourcery.com> 8778 8779 * c.opt (Wcomments, Werror-implicit-function-declaration, 8780 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x, 8781 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as 8782 aliases. 8783 * c-common.c (option_codes): Use OPT_Wcomment instead of 8784 OPT_Wcomments. 8785 * c-opts.c (warning_as_error_callback, c_common_handle_option): 8786 Don't handle options marked as aliases. 8787 87882010-08-25 Richard Guenther <rguenther@suse.de> 8789 8790 * c-common.c (c_common_get_alias_set): Remove special 8791 handling for pointers. 8792 87932010-08-20 Nathan Froyd <froydnj@codesourcery.com> 8794 8795 * c-common.c: Use FOR_EACH_VEC_ELT. 8796 * c-gimplify.c: Likewise. 8797 * c-pragma.c: Likewise. 8798 87992010-08-16 Joseph Myers <joseph@codesourcery.com> 8800 8801 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of 8802 RejectDriver. 8803 (MMDX): Change back to MMD. Mark NoDriverArg instead of 8804 RejectDriver. 8805 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD 8806 instead of OPT_MDX and OPT_MMDX. 8807 88082010-08-16 Joseph Myers <joseph@codesourcery.com> 8809 8810 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver. 8811 88122010-08-12 Joseph Myers <joseph@codesourcery.com> 8813 8814 * c.opt (MD, MMD): Change to MDX and MMDX. 8815 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX. 8816 88172010-08-11 Joseph Myers <joseph@codesourcery.com> 8818 8819 * c-opts.c (c_common_handle_option): Call handle_generated_option 8820 instead of handle_option. 8821 88222010-08-08 Nathan Froyd <froydnj@codesourcery.com> 8823 8824 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push. 8825 (maybe_apply_renaming_pragma): Delete unneeded declarations. 8826 88272010-08-08 Nathan Froyd <froydnj@codesourcery.com> 8828 8829 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it. 8830 (pending_redefine_extname): Change type to a VEC. 8831 (add_to_renaming_pragma_list): Update for new type of 8832 pending_redefine_extname. 8833 (maybe_apply_renaming_pragma): Likewise. 8834 88352010-08-04 Arnaud Charlet <charlet@adacore.com> 8836 8837 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as 8838 visited. 8839 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to 8840 decide whether a type has already been declared/seen. 8841 Do not go to the original type. 8842 (dump_nested_types): New parameter forward. 8843 Generate forward declaration if needed and mark type as visited. 8844 (print_ada_declaration): Call dump_nested_types if not already done. 8845 Mark types as visited. 8846 88472010-08-03 Joseph Myers <joseph@codesourcery.com> 8848 8849 * c.opt (-print-pch-checksum): Remove option. 8850 * c-opts.c (c_common_handle_option): Don't handle 8851 OPT_print_pch_checksum. 8852 88532010-07-27 Joseph Myers <joseph@codesourcery.com> 8854 8855 * c-common.h (c_common_handle_option): Update prototype and return 8856 value type. 8857 * c-opts.c (c_common_handle_option): Update prototype and return 8858 value type. Update calls to handle_option and 8859 enable_warning_as_error. 8860 88612010-07-27 Jakub Jelinek <jakub@redhat.com> 8862 8863 PR c/45079 8864 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR. 8865 88662010-07-27 Joseph Myers <joseph@codesourcery.com> 8867 8868 * c-common.h (c_common_missing_argument): Remove. 8869 * c-opts.c (c_common_missing_argument): Remove. 8870 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=, 8871 idirafter, imacros, include, isysroot, isystem, iquote): Add 8872 MissingArgError. 8873 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove. 8874 88752010-07-27 Joseph Myers <joseph@codesourcery.com> 8876 8877 * c-common.h (c_common_option_lang_mask, 8878 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p): 8879 New. 8880 (c_common_init_options): Update prototype. 8881 * c-opts.c (c_common_option_lang_mask): New. 8882 (c_common_initialize_diagnostics): Split out of 8883 c_common_init_options. 8884 (accept_all_c_family_options, c_common_complain_wrong_lang_p): 8885 New. 8886 (c_common_init_options): Update prototype. Use decoded options in 8887 search for -lang-asm. 8888 88892010-07-15 Nathan Froyd <froydnj@codesourcery.com> 8890 8891 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN. 8892 * c-format.c: Likewise. 8893 88942010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org> 8895 8896 * c-common.h: Include diagnostic-core.h. Error if already 8897 included. 8898 * c-semantics.c: Do not define GCC_DIAG_STYLE here. 8899 89002010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org> 8901 8902 * c-common.c (IN_GCC_FRONTEND): Do not undef. 8903 Do not include expr.h 8904 (vector_mode_valid_p): Move here. 8905 89062010-06-21 DJ Delorie <dj@redhat.com> 8907 8908 * c-pragma.c (handle_pragma_diagnostic): Add push/pop, 8909 allow these pragmas anywhere. 8910 89112010-06-14 Jakub Jelinek <jakub@redhat.com> 8912 8913 PR bootstrap/44509 8914 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h. 8915 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers. 8916 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use 8917 ggc_strdup instead of xstrdup. 8918 89192010-06-10 Jakub Jelinek <jakub@redhat.com> 8920 8921 * c-cppbuiltin.c: Include cpp-id-data.h. 8922 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables. 8923 (lazy_hex_fp_value): New function. 8924 (builtin_define_with_hex_fp_value): Provide definitions lazily. 8925 89262010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org> 8927 8928 * c-gimplify.c: Do not include tree-flow.h 8929 89302010-06-29 Joern Rennecke <joern.rennecke@embecosm.com> 8931 8932 PR other/44034 8933 * c-common.c: Rename targetm member: 8934 targetm.enum_va_list -> targetm.enum_va_list_p 8935 89362010-06-28 Anatoly Sokolov <aesok@post.ru> 8937 8938 * c-common.c (shorten_compare): Adjust call to force_fit_type_double. 8939 89402010-06-28 Steven Bosscher <steven@gcc.gnu.org> 8941 8942 * c-cppbuiltin.c: Do not include except.h. 8943 89442010-06-24 Andi Kleen <ak@linux.intel.com> 8945 8946 * c-common.c (warn_for_omitted_condop): New. 8947 * c-common.h (warn_for_omitted_condop): Add prototype. 8948 89492010-06-21 Joseph Myers <joseph@codesourcery.com> 8950 8951 * c.opt (lang-objc): Remove. 8952 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc. 8953 89542010-06-21 Joern Rennecke <joern.rennecke@embecosm.com> 8955 8956 * c-opts.c: Include "tm_p.h". 8957 89582010-06-20 Joseph Myers <joseph@codesourcery.com> 8959 8960 * c-common.c (parse_optimize_options): Update call to 8961 decode_options. 8962 89632010-06-18 Nathan Froyd <froydnj@codesourcery.com> 8964 8965 * c-common.c (record_types_used_by_current_var_decl): Adjust for 8966 new type of types_used_by_cur_var_decl. 8967 89682010-06-17 Joern Rennecke <joern.rennecke@embecosm.com> 8969 8970 PR bootstrap/44512 8971 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast 8972 for C++ standard compliance. 8973 89742010-06-16 Jason Merrill <jason@redhat.com> 8975 8976 * c.opt: Add -Wnoexcept. 8977 89782010-06-16 Richard Guenther <rguenther@suse.de> 8979 8980 PR c/44555 8981 * c-common.c (c_common_truthvalue_conversion): Remove 8982 premature and wrong optimization concering ADDR_EXPRs. 8983 89842010-06-15 Arnaud Charlet <charlet@adacore.com> 8985 8986 * c-ada-spec.c (dump_sloc): Remove column info. 8987 (is_simple_enum): New function. 8988 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada 8989 enum types when relevant. 8990 89912010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org> 8992 8993 * c-common.c (conversion_warning): Warn at expression 8994 location. 8995 89962010-06-10 Joseph Myers <joseph@codesourcery.com> 8997 8998 * c-opts.c (c_common_handle_option): Don't handle 8999 OPT_fshow_column. 9000 90012010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com> 9002 9003 * c-pragma.c (push_alignment): Use typed GC allocation. 9004 (handle_pragma_push_options): Likewise. 9005 9006 * c-common.c (parse_optimize_options): Likewise. 9007 9008 * c-common.h (struct sorted_fields_type): Add variable_size GTY 9009 option. 9010 90112010-06-07 Joseph Myers <joseph@codesourcery.com> 9012 9013 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin, 9014 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar, 9015 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm, 9016 flag_signed_bitfields, warn_strict_null_sentinel, 9017 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes, 9018 flag_gen_declaration, flag_no_gnu_keywords, 9019 flag_implement_inlines, flag_implicit_templates, 9020 flag_implicit_inline_templates, flag_optional_diags, 9021 flag_elide_constructors, flag_default_inline, flag_rtti, 9022 flag_conserve_space, flag_access_control, flag_check_new, 9023 flag_new_for_scope, flag_weak, flag_working_directory, 9024 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr, 9025 flag_enforce_eh_specs, flag_threadsafe_statics, 9026 flag_pretty_templates): Remove. 9027 * c-common.h (flag_preprocess_only, flag_nil_receivers, 9028 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link, 9029 flag_replace_objc_classes, flag_undef, flag_no_builtin, 9030 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar, 9031 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm, 9032 flag_const_strings, flag_signed_bitfields, flag_gen_declaration, 9033 flag_no_gnu_keywords, flag_implement_inlines, 9034 flag_implicit_templates, flag_implicit_inline_templates, 9035 flag_optional_diags, flag_elide_constructors, flag_default_inline, 9036 flag_rtti, flag_conserve_space, flag_access_control, 9037 flag_check_new, flag_new_for_scope, flag_weak, 9038 flag_working_directory, flag_use_cxa_atexit, 9039 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs, 9040 flag_threadsafe_statics, flag_pretty_templates, 9041 warn_strict_null_sentinel): Remove. 9042 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm, 9043 fbuiltin, fcheck-new, fconserve-space, felide-constructors, 9044 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines, 9045 fimplicit-inline-templates, fimplicit-templates, 9046 flax-vector-conversions, fms-extensions, fnil-receivers, 9047 fnonansi-builtins, fpretty-templates, freplace-objc-classes, 9048 frtti, fshort-double, fshort-enums, fshort-wchar, 9049 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics, 9050 funsigned-bitfields, funsigned-char, fuse-cxa-atexit, 9051 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link, 9052 gen-decls, undef): Use Var. 9053 (fdefault-inline, foptional-diags): Document as doing nothing. 9054 * c-opts.c (c_common_handle_option): Remove cases for options now 9055 using Var. Mark ignored options as such. 9056 90572010-06-05 Steven Bosscher <steven@gcc.gnu.org> 9058 9059 * c-common.c: Moved to here from parent directory. 9060 * c-common.def: Likewise. 9061 * c-common.h: Likewise. 9062 * c-cppbuiltin.c: Likewise. 9063 * c-dump.c: Likewise. 9064 * c-format.c: Likewise. 9065 * c-format.h : Likewise. 9066 * c-gimplify.c: Likewise. 9067 * c-lex.c: Likewise. 9068 * c-omp.c: Likewise. 9069 * c.opt: Likewise. 9070 * c-opts.c: Likewise. 9071 * c-pch.c: Likewise. 9072 * c-ppoutput.c: Likewise. 9073 * c-pragma.c: Likewise. 9074 * c-pragma.h: Likewise. 9075 * c-pretty-print.c: Likewise. 9076 * c-pretty-print.h: Likewise. 9077 * c-semantics.c: Likewise. 9078 * stub-objc.c: Likewise. 9079 9080 * c-common.c: Include gt-c-family-c-common.h. 9081 * c-pragma.c: Include gt-c-family-c-pragma.h. 9082 9083Copyright (C) 2010-2018 Free Software Foundation, Inc. 9084 9085Copying and distribution of this file, with or without modification, 9086are permitted in any medium without royalty provided the copyright 9087notice and this notice are preserved. 9088