12019-05-03 Release Manager 2 3 * GCC 9.1.0 released. 4 52019-04-19 Jakub Jelinek <jakub@redhat.com> 6 7 PR c/89888 8 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p 9 arguments. 10 (c_do_switch_warnings): Remove outside_range_p argument. 11 * c-common.c (check_case_bounds): Removed. 12 (c_add_case_label): Remove orig_type and outside_range_p arguments. 13 Don't call check_case_bounds. Fold low_value as well as high_value. 14 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument. 15 Check for case labels outside of range of original type here and 16 adjust them. 17 182019-04-12 Jakub Jelinek <jakub@redhat.com> 19 20 PR translation/90041 21 * c.opt (-fhandle-exceptions): Use %< and %> around option names 22 in the Warn diagnostics. 23 24 PR c/89946 25 * c-attribs.c (handle_patchable_function_entry_attribute): Add 26 function comment. Warn if arguments of the attribute are not positive 27 integer constants. 28 292019-04-09 Eric Botcazou <ebotcazou@adacore.com> 30 31 * c-ada-spec.c (print_destructor): Deal with deleting destructors. 32 (dump_ada_declaration) <FUNCTION_DECL>: Likewise. 33 342019-04-07 Eric Botcazou <ebotcazou@adacore.com> 35 36 * c-ada-spec.c (is_float128): New predicate extracted from... 37 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128. 38 <REAL_TYPE>: ...here. Call it. 39 402019-04-05 David Malcolm <dmalcolm@redhat.com> 41 42 PR c/89985 43 * c-warn.c (check_address_or_pointer_of_packed_member): Add 44 auto_diagnostic_group. Guard inform calls by result of 45 warning_at call. 46 472019-04-05 Marek Polacek <polacek@redhat.com> 48 49 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion. 50 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type 51 of RHS. 52 532019-04-03 Jason Merrill <jason@redhat.com> 54 55 PR c++/86586 - -fcompare-debug=-Wsign-compare. 56 * c-warn.c (warn_for_sign_compare): Call fold_for_warn. 57 582019-04-01 Martin Sebor <msebor@redhat.com> 59 60 PR c/89685 61 * c-attribs.c (handle_copy_attribute): Handle references and 62 non-constant expressions. 63 642019-03-22 Jakub Jelinek <jakub@redhat.com> 65 66 PR c++/87481 67 * c.opt (-fconstexpr-ops-limit=): New option. 68 692019-03-21 Jakub Jelinek <jakub@redhat.com> 70 71 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set 72 template param. 73 742019-03-19 Martin Sebor <msebor@redhat.com> 75 76 PR tree-optimization/89688 77 * c-common.c (braced_list_to_string): Make static. 78 (braced_lists_to_strings): Define new function. 79 * c-common.h (braced_list_to_string): Remove. 80 (braced_lists_to_strings): Declare. 81 822019-03-12 Martin Liska <mliska@suse.cz> 83 84 * c-opts.c (c_common_handle_option): Wrap option with %< and %>. 85 862019-03-11 Martin Liska <mliska@suse.cz> 87 88 * c-opts.c (c_common_post_options): Wrap apostrophes 89 in gcc internal format with %'. 90 912019-03-11 Martin Liska <mliska@suse.cz> 92 93 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name 94 in a string format message and fix GNU coding style. 95 * c-common.c (vector_types_convertible_p): Likewise. 96 (c_build_vec_perm_expr): Likewise. 97 * c-indentation.c (get_visual_column): Likewise. 98 * c-opts.c (c_common_handle_option): Likewise. 99 (c_common_post_options): Likewise. 100 (sanitize_cpp_opts): Likewise. 101 * c-pch.c (c_common_pch_pragma): Likewise. 102 * c-pragma.c (handle_pragma_pack): Likewise. 103 1042019-03-08 Jakub Jelinek <jakub@redhat.com> 105 106 PR tree-optimization/89550 107 * c-common.c (c_common_truthvalue_conversion): Only set 108 TREE_NO_WARNING if warning_at returned true. 109 * c-warn.c (overflow_warning, warn_logical_operator): Likewise. 110 1112019-02-25 Sandra Loosemore <sandra@codesourcery.com> 112 Martin Sebor <msebor@gmail.com> 113 114 * c.opt (Wmissing-attributes): Clean up doc string. 115 1162019-02-25 Jakub Jelinek <jakub@redhat.com> 117 118 PR c/89495 119 * c-format.c (maybe_read_dollar_number): Compute nargnum in 120 HOST_WIDE_INT type to avoid overflows and change overflow_flag 121 checking. 122 1232019-02-22 Richard Biener <rguenther@suse.de> 124 125 * c-pch.c (no_checksum): Remove. 126 (pch_init): Remove assertion that executable_checksum is not 127 all zero. 128 (c_common_valid_pch): Likewise. 129 1302019-02-18 Martin Sebor <msebor@redhat.com> 131 132 PR middle-end/89294 133 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant. 134 1352019-02-16 David Malcolm <dmalcolm@redhat.com> 136 137 PR c++/88680 138 * c-common.c (shorten_compare): Call fold_for_warn on op0 when 139 implementing -Wtype-limits. 140 1412019-02-11 Martin Sebor <msebor@redhat.com> 142 143 PR c++/87996 144 * c-common.c (invalid_array_size_error): New function. 145 (valid_array_size_p): Call it. Handle size as well as type. 146 * c-common.h (valid_constant_size_p): New function. 147 (enum cst_size_error): New type. 148 1492019-01-31 David Malcolm <dmalcolm@redhat.com> 150 151 PR c/89122 152 * known-headers.cc (get_stdlib_header_for_name): Add 153 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array. 154 1552019-01-31 Jakub Jelinek <jakub@redhat.com> 156 157 PR libstdc++/88170 158 * c-pretty-print.c (pp_c_enumeration_constant): Print always as 159 a C cast in pp_c_flag_gnu_v3 mode. 160 1612019-01-29 Jakub Jelinek <jakub@redhat.com> 162 163 PR c/86125 164 * c-common.c (c_common_nodes_and_builtins): Build type variants for 165 builtin_structptr_types types even for C. 166 1672019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de> 168 169 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case 170 when rhs is of array type correctly. Fix handling of nested structures. 171 Fix handling of indirect_ref together with nop_expr and/or addr_expr. 172 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of 173 type casts within nested compound expressions. 174 1752019-01-22 Jakub Jelinek <jakub@redhat.com> 176 177 PR middle-end/88968 178 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type 179 variable after using BIT_FIELD_REF. 180 1812019-01-18 H.J. Lu <hongjiu.lu@intel.com> 182 183 PR c/51628 184 PR c/88664 185 * c-common.h (warn_for_address_or_pointer_of_packed_member): 186 Remove the boolean argument. 187 * c-warn.c (check_address_of_packed_member): Renamed to ... 188 (check_address_or_pointer_of_packed_member): This. Also 189 warn pointer conversion. 190 (check_and_warn_address_of_packed_member): Renamed to ... 191 (check_and_warn_address_or_pointer_of_packed_member): This. 192 Also warn pointer conversion. 193 (warn_for_address_or_pointer_of_packed_member): Remove the 194 boolean argument. Don't check pointer conversion here. 195 1962019-01-15 Richard Sandiford <richard.sandiford@arm.com> 197 198 PR inline-asm/52813 199 * c.opt (Wdeprecated): Move documentation and variable to common.opt. 200 2012019-01-14 Jakub Jelinek <jakub@redhat.com> 202 203 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision 204 and __cpp_nontype_template_parameter_auto. Add a comment that 205 __cpp_template_auto is deprecated. 206 2072019-01-14 Tom Honermann <tom@honermann.net> 208 209 Implement P0482R5, char8_t: A type for UTF-8 characters and strings 210 * c-common.c (c_common_reswords): Add char8_t. 211 (fix_string_type): Use char8_t for the type of u8 string literals. 212 (c_common_get_alias_set): char8_t doesn't alias. 213 (c_common_nodes_and_builtins): Define char8_t as a builtin type in 214 C++. 215 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__. 216 (keyword_begins_type_specifier): Add RID_CHAR8. 217 * c-common.h (rid): Add RID_CHAR8. 218 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE. 219 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS. 220 Define char8_type_node and char8_array_type_node. 221 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine 222 __GCC_ATOMIC_CHAR8_T_LOCK_FREE. 223 (c_cpp_builtins): Predefine __cpp_char8_t. 224 * c-lex.c (lex_string): Use char8_array_type_node as the type of 225 CPP_UTF8STRING. 226 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR. 227 * c-opts.c: If not otherwise specified, enable -fchar8_t when 228 targeting C++2a. 229 * c.opt: Add the -fchar8_t command line option. 230 2312019-01-14 Martin Sebor <msebor@redhat.com> 232 233 PR target/88638 234 * c-attribs.c (positional_argument): Call valid_format_string_type_p 235 and issue errors if it fails. 236 * c-common.h (valid_format_string_type_p): Declare. 237 * c-format.c (valid_stringptr_type_p): Rename... 238 (valid_format_string_type_p): ...to this and make extern. 239 (handle_format_arg_attribute): Adjust to new name. 240 (check_format_string): Same. 241 2422019-01-13 H.J. Lu <hongjiu.lu@intel.com> 243 244 * c-warn.c (warn_for_address_or_pointer_of_packed_member): 245 Replace "may may" with "may" in warning message. 246 2472019-01-07 Jakub Jelinek <jakub@redhat.com> 248 249 PR c++/85052 250 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR. 251 (c_build_vec_convert): Declare. 252 * c-common.c (c_build_vec_convert): New function. 253 2542019-01-04 Martin Sebor <msebor@redhat.com> 255 256 PR c/88546 257 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf. 258 Handle C++ empty throw specification and C11 _Noreturn. 259 (has_attribute): Also handle C11 _Noreturn. 260 2612019-01-04 Martin Sebor <msebor@redhat.com> 262 263 PR c/88363 264 * c-attribs.c (positional_argument): Also accept enumerated types. 265 2662019-01-01 Jakub Jelinek <jakub@redhat.com> 267 268 Update copyright years. 269 2702018-12-20 H.J. Lu <hongjiu.lu@intel.com> 271 272 PR c/51628 273 * c-common.h (warn_for_address_or_pointer_of_packed_member): New. 274 * c-warn.c (check_alignment_of_packed_member): New function. 275 (check_address_of_packed_member): Likewise. 276 (check_and_warn_address_of_packed_member): Likewise. 277 (warn_for_address_or_pointer_of_packed_member): Likewise. 278 * c.opt: Add -Wno-address-of-packed-member. 279 2802018-12-20 David Malcolm <dmalcolm@redhat.com> 281 282 PR c++/87504 283 * c-warn.c (get_outermost_macro_expansion): New function. 284 (spelled_the_same_p): Use it to unwind the macro expansions, and 285 compare the outermost macro in each nested expansion, rather than 286 the innermost. 287 2882018-12-19 David Malcolm <dmalcolm@redhat.com> 289 290 PR c++/87504 291 * c-common.h (warn_tautological_cmp): Convert 1st param from 292 location_t to const op_location_t &. 293 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn 294 when testing for INTEGER_CST. 295 (warn_tautological_bitwise_comparison): Convert 1st param from 296 location_t to const op_location_t &; use it to build a 297 binary_op_rich_location, and use this. 298 (spelled_the_same_p): New function. 299 (warn_tautological_cmp): Convert 1st param from location_t to 300 const op_location_t &. Warn for macro expansions if 301 spelled_the_same_p. Use binary_op_rich_location. 302 3032018-12-19 David Malcolm <dmalcolm@redhat.com> 304 305 PR c++/43064 306 PR c++/43486 307 * c-common.c (unsafe_conversion_p): Fold any location wrapper. 308 (verify_tree): Handle location wrappers. 309 (c_common_truthvalue_conversion): Strip any location wrapper. 310 Handle CONST_DECL. 311 (fold_offsetof): Strip any location wrapper. 312 (complete_array_type): Likewise for initial_value. 313 (convert_vector_to_array_for_subscript): Call fold_for_warn on the 314 index before checking for INTEGER_CST. 315 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't 316 print parentheses around location wrappers. 317 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right 318 before checking for INTEGER_CST. 319 (warn_tautological_bitwise_comparison): Call 320 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand 321 before checking for INTEGER_CST. 322 (readonly_error): Strip any location wrapper. 323 (warn_array_subscript_with_type_char): Strip location wrappers 324 before checking for INTEGER_CST. Use the location of the index if 325 available. 326 3272018-12-06 Jason Merrill <jason@redhat.com> 328 329 PR c++/88136 - -Wdeprecated-copy false positives 330 * c.opt (Wdeprecated-copy-dtor): New. 331 (Wdeprecated-copy): Move to -Wextra. 332 3332018-11-29 Martin Sebor <msebor@redhat.com> 334 335 PR c/88172 336 PR testsuite/88208 337 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting 338 alignments to values less than the target requires. 339 (has_attribute): For attribute aligned consider both the attribute 340 and the alignment bits. 341 * c-common.c (c_init_attributes): Optionally issue a warning for 342 zero alignment. 343 3442018-11-28 Martin Sebor <msebor@redhat.com> 345 346 PR c/88065 347 PR c/87297 348 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source 349 or destination is an error. 350 3512018-11-28 Jakub Jelinek <jakub@redhat.com> 352 353 PR c++/88215 354 * c-ubsan.c: Include langhooks.h. 355 (ubsan_instrument_division): Change gcc_assert that main variants 356 of op0 and op1 types are equal to gcc_checking_assert that the 357 main variants are compatible types. 358 3592018-11-27 Eric Botcazou <ebotcazou@adacore.com> 360 361 * c-ada-spec.c: Include stringpool.h. 362 (has_static_fields): Return false for incomplete types. 363 (is_tagged_type): Likewise. 364 (has_nontrivial_methods): Likewise. 365 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128. 366 (struct overloaded_name_hash): New structure. 367 (struct overloaded_name_hasher): Likewise. 368 (overloaded_names): New global variable. 369 (init_overloaded_names): New static function. 370 (overloaded_name_p): New predicate. 371 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED 372 on the TYPE_STUB_DECL of the original type of a typedef, if any. 373 <FUNCTION_DECL>: Bail out for an unsupported overloaded name. 374 Remove always-true condition and dump forward types. 375 (dump_ada_specs): Delete overloaded_names. 376 3772018-11-20 Martin Sebor <msebor@redhat.com> 378 379 * c-attribs.c (type_for_vector_size): New function. 380 (type_valid_for_vector_size): Same. 381 (handle_vector_size_attribute): Move code to the functions above 382 and call them. 383 (validate_attribute, has_attribute): New functions. 384 * c-common.h (has_attribute): Declare. 385 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION. 386 * c-common.c (c_common_resword): Same. 387 3882018-11-16 Jason Merrill <jason@redhat.com> 389 390 * c-lex.c (c_common_has_attribute): Handle likely/unlikely. 391 * c-attribs.c (attr_cold_hot_exclusions): Make public. 392 3932018-11-16 Jakub Jelinek <jakub@redhat.com> 394 395 PR middle-end/87854 396 * c-common.c (fix_string_type): Reject string literals larger than 397 TYPE_MAX_VALUE (ssizetype) bytes. 398 3992018-11-15 Martin Sebor <msebor@redhat.com> 400 401 PR c++/87541 402 PR c++/87542 403 * c-attribs.c (positional_argument): New function. 404 (handle_alloc_size_attribute): Use it and simplify. 405 (handle_alloc_align_attribute): Same. 406 (handle_assume_aligned_attribute): Same. 407 (handle_nonnull_attribute): Same. 408 * c-common.c (check_function_arguments): Pass fntype to 409 check_function_format. 410 * c-common.h (check_function_format): Add an argument. 411 (PosArgFlags, positional_argument): Declare new type and function. 412 * c-format.c (decode_format_attr): Add arguments. 413 (check_format_string, get_constant): Same. 414 (convert_format_name_to_system_name): Adjust. 415 4162018-11-15 David Malcolm <dmalcolm@redhat.com> 417 418 PR other/19165 419 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param. 420 4212018-11-14 Jakub Jelinek <jakub@redhat.com> 422 423 P1236R1 - Signed integers are two's complement 424 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a. 425 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts 426 with in-range second operand well defined for -std=c++2a. 427 428 PR other/88007 429 * c-common.c (parse_optimize_options): Allocate option string from 430 opts_obstack rather than as GC memory. Move the allocation after 431 warning for invalid option. 432 4332018-11-13 David Malcolm <dmalcolm@redhat.com> 434 435 * c-common.c (c_get_substring_location): Update for renaming of 436 get_source_location_for_substring to get_location_within_string. 437 * c-lex.c: Replace "source_location" with "location_t". 438 * c-opts.c: Likewise. 439 * c-ppoutput.c: Likewise. 440 4412018-11-13 Martin Sebor <msebor@redhat.com> 442 443 PR middle-end/81824 444 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes. 445 (handle_tls_model_attribute): Improve diagnostics. 446 4472018-11-12 Jason Merrill <jason@redhat.com> 448 449 * c-cppbuiltin.c (c_cpp_builtins): Define 450 __cpp_impl_destroying_delete. 451 452 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to 453 __cpp_conditional_explicit. 454 4552018-11-09 Martin Sebor <msebor@redhat.com> 456 457 PR middle-end/81824 458 * c-attribs.c (handle_copy_attribute): New function. 459 4602018-11-09 Martin Sebor <msebor@redhat.com> 461 462 PR c/87795 463 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT. 464 4652018-11-08 Jakub Jelinek <jakub@redhat.com> 466 467 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument. 468 (c_finish_omp_atomic): Replace bool SEQ_CST argument with 469 enum omp_memory_order MEMORY_ORDER. 470 (c_finish_omp_flush): Add MO argument. 471 (c_omp_depend_t_p, c_finish_omp_depobj): Declare. 472 (c_finish_omp_for): Add FINAL_P argument. 473 * c-omp.c: Include memmodel.h. 474 (c_finish_omp_taskgroup): Add CLAUSES argument. Set 475 OMP_TASKGROUP_CLAUSES to it. 476 (c_finish_omp_atomic): Replace bool SEQ_CST argument with 477 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER 478 instead of OMP_ATOMIC_SEQ_CST. 479 (c_omp_depend_t_p, c_finish_omp_depobj): New functions. 480 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit 481 __atomic_thread_fence call with the given value. 482 (check_omp_for_incr_expr): Formatting fixes. 483 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR 484 even in OpenMP loops, diagnose if NE_EXPR and incr expression 485 is not constant expression 1 or -1. Transform NE_EXPR loops 486 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops. 487 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for 488 loops too. 489 (c_omp_split_clauses): Add support for combined 490 #pragma omp parallel master and 491 #pragma omp {,parallel }master taskloop{, simd} constructs. 492 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK. 493 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF 494 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL. 495 (c_omp_predetermined_sharing): Don't return 496 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls. 497 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and 498 PRAGMA_OMP_REQUIRES. 499 * c-pragma.h (enum pragma_kind): Likewise. 500 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL 501 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION. 502 5032018-11-08 David Malcolm <dmalcolm@redhat.com> 504 505 * c-format.c (gcc_dump_printf_char_table): Add entry for %f. 506 5072018-11-08 David Malcolm <dmalcolm@redhat.com> 508 509 * c-format.c (local_cgraph_node_ptr_node): New variable. 510 (gcc_dump_printf_char_table): Add entry for %C. 511 (get_pointer_to_named_type): New function, taken from the handling 512 code for "gimple *" from... 513 (init_dynamic_diag_info): ...here. Add handling for 514 "cgraph_node *". 515 * c-format.h (T_CGRAPH_NODE): New. 516 5172018-10-19 Jason Merrill <jason@redhat.com> 518 519 * c-cppbuiltin.c (c_cpp_builtins): Add 520 __cpp_nontype_template_parameter_class. 521 5222018-10-31 Nathan Sidwell <nathan@acm.org> 523 524 * c-opts.c (c_finish_options): Force command line macro 525 location. Refactor to avoid repeating main debug hook. 526 (push_command_line_include): Clarify comment. 527 528 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call. 529 5302018-10-30 Martin Sebor <msebor@redhat.com> 531 532 PR middle-end/87041 533 * c-format.c (check_format_types): Avoid diagnosing null pointer 534 arguments to printf-family of functions. 535 5362018-10-30 Marek Polacek <polacek@redhat.com> 537 538 Implement P0892R2, explicit(bool). 539 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool. 540 5412018-10-29 David Malcolm <dmalcolm@redhat.com> 542 543 * name-hint.h (name_hint::take_deferred): New member function. 544 5452018-10-29 David Malcolm <dmalcolm@redhat.com> 546 547 PR c++/56856 548 * c-common.c (check_function_sentinel): Call fold_for_warn on the 549 argument. 550 (check_function_restrict): Rename param "argarray" to 551 "unfolded_argarray", and make a copy named "argarray", calling 552 fold_for_warn on each argument. 553 (check_function_arguments): Add note about responsibility for 554 folding the arguments. 555 5562018-10-17 Joseph Myers <joseph@codesourcery.com> 557 558 * c-common.c (flag_isoc2x): New variable. 559 * c-common.h (clk_c): Update comment to reference C2X. 560 (flag_isoc99, flag_isoc11): Update comments to reference future 561 standard versions in general. 562 (flag_isoc2x): Declare. 563 * c-opts.c (set_std_c2x): New function. 564 (c_common_handle_option): Handle -std=c2x and -std=gnu2x. 565 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set 566 flag_isoc2x to 0. 567 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options. 568 5692018-10-17 Joseph Myers <joseph@codesourcery.com> 570 571 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017) 572 (std=iso9899:2018): Document C17 as published in 2018. 573 5742018-10-12 Christophe Lyon <christophe.lyon@linaro.org> 575 576 PR c++/87364 577 * c-pretty-print.c (c_pretty_printer::constant): Fix typo. 578 5792018-10-11 Will Wray <wjwray@gmail.com> 580 581 PR c++/87364 582 * c-pretty-print.h (pp_c_type_cast): Prototype. 583 (pp_c_integer_constant): Likewise. 584 * c-pretty-print.c (pp_c_type_cast): No longer static. 585 (pp_c_integer_constant): Likewise. 586 (pp_c_enumeration_constant): Fix loop termination when finding 587 name of constant. No longer returns a value. Call 588 pp_c_integer_constant. 589 (c_pretty_printer::constant): Update for changes to 590 pp_c_enumeration_constant. 591 5922018-10-11 Jakub Jelinek <jakub@redhat.com> 593 594 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312 595 for no_unique_address. 596 5972018-10-09 David Malcolm <dmalcolm@redhat.com> 598 599 * c-common.c (c_option_controlling_cpp_error): Rename to... 600 (c_option_controlling_cpp_diagnostic): ...this, and convert 601 "reason" from int to enum. 602 (c_cpp_error): Rename to... 603 (c_cpp_diagnostic): ...this, converting level and reason to enums. 604 * c-common.h (c_cpp_error): Rename to... 605 (c_cpp_diagnostic): ...this, converting level and reason to enums. 606 * c-opts.c (c_common_init_options): Update for renaming. 607 6082018-10-08 Richard Sandiford <richard.sandiford@arm.com> 609 610 PR c/87286 611 * c-common.c (vector_types_compatible_elements_p): Use 612 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE. 613 6142018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com> 615 616 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor 617 to generate constructor destructor priority warning. 618 * c.opt (-Wprio-ctor-dtor): New option. 619 6202018-10-01 Jason Merrill <jason@redhat.com> 621 622 * c-lex.c (c_common_has_attribute): Add no_unique_address. 623 6242018-10-01 Eric Botcazou <ebotcazou@adacore.com> 625 626 * c-ada-spec.c (get_underlying_decl): Get to the main type variant. 627 (dump_ada_node): Add const keyword. 628 6292018-09-25 Martin Liska <mliska@suse.cz> 630 631 * c-common.c (c_common_truthvalue_conversion): 632 Remove Pascal from documentation. 633 6342018-09-21 Eric Botcazou <ebotcazou@adacore.com> 635 636 * c-ada-spec.c: Include diagnostic.h. 637 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout. 638 6392018-09-19 Marek Polacek <polacek@redhat.com> 640 641 * c.opt (Wclass-conversion): New. 642 6432018-09-17 David Malcolm <dmalcolm@redhat.com> 644 645 * c-format.c (range_label_for_format_type_mismatch::get_text): 646 Update for new param. 647 6482018-09-17 David Malcolm <dmalcolm@redhat.com> 649 650 * c-format.c (format_warning_at_char): Update for introduction of 651 format_string_diagnostic_t. 652 (format_type_warning): Likewise. 653 6542018-09-17 Martin Jambor <mjambor@suse.cz> 655 656 PR c/63886 657 * c.opt (Wabsolute-value): New. 658 6592018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de> 660 661 * c-common.c (complete_flexible_array_elts): New helper function. 662 * c-common.h (complete_flexible_array_elts): Declare. 663 6642018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 665 666 * c-common.c (braced_list_to_string): Remove eval parameter. 667 Add some more checks. Always create zero-terminated STRING_CST. 668 * c-common.h (braced_list_to_string): Adjust prototype. 669 6702018-08-27 David Malcolm <dmalcolm@redhat.com> 671 672 PR 87091 673 * c-common.c (c_cpp_error): Update for conversion of show_caret_p 674 to a tri-state. 675 (maybe_suggest_missing_token_insertion): Likewise. 676 (maybe_add_include_fixit): Add param "override_location". If set, 677 and source-printing is enabled, then override the rich_location's 678 primary location with that of the insertion point for the fix-it 679 hint, marking it with SHOW_LINES_WITHOUT_RANGE. 680 * c-common.h (extern void maybe_add_include_fixit): Add bool 681 param. 682 * c-format.c (selftest::test_type_mismatch_range_labels): Update 683 for conversion of show_caret_p to a tri-state. 684 * c-warn.c (warn_for_restrict): Likewise. 685 * known-headers.cc 686 (suggest_missing_header::~suggest_missing_header): Update call to 687 maybe_add_include_fixit to suggest overriding the location, as it 688 is for a note. 689 6902018-08-27 Martin Liska <mliska@suse.cz> 691 692 * c-common.c (check_function_restrict): Use new function 693 fndecl_built_in_p and remove check for FUNCTION_DECL if 694 possible. 695 (check_builtin_function_arguments): Likewise. 696 (reject_gcc_builtin): Likewise. 697 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise. 698 6992018-08-26 Marek Polacek <polacek@redhat.com> 700 701 PR c++/87029, Implement -Wredundant-move. 702 * c.opt (Wredundant-move): New option. 703 7042018-08-21 Marek Polacek <polacek@redhat.com> 705 706 PR c++/86981, Implement -Wpessimizing-move. 707 * c.opt (Wpessimizing-move): New option. 708 7092018-08-20 David Malcolm <dmalcolm@redhat.com> 710 711 PR other/84889 712 * c-attribs.c (common_handle_aligned_attribute): Add 713 auto_diagnostic_group instance. 714 * c-indentation.c (warn_for_misleading_indentation): Likewise. 715 * c-opts.c (c_common_post_options): Likewise. 716 * c-warn.c (warn_logical_not_parentheses): Likewise. 717 (warn_duplicated_cond_add_or_warn): Likewise. 718 (warn_for_multistatement_macros): Likewise. 719 7202018-08-20 Nathan Sidwell <nathan@acm.org> 721 722 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm 723 access. 724 7252018-08-17 Nathan Sidwell <nathan@acm.org> 726 727 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro 728 field. 729 (laxy_hex_fp_value_count): Make unsigned. 730 (lazy_hex_fp_value): Provided with macro & lazy number. Directly 731 manipulate the macro. 732 (builtin_defin_with_hex_fp_value): Adjust callback name, use 733 cpp_define_lazily. 734 7352018-08-17 David Malcolm <dmalcolm@redhat.com> 736 737 * c-format.c (enum format_type): Add gcc_dump_printf_format_type. 738 (gcc_dump_printf_length_specs): New. 739 (gcc_dump_printf_flag_pairs): New. 740 (gcc_dump_printf_flag_specs): New. 741 (gcc_dump_printf_char_table): New. 742 (format_types_orig): Add entry for "gcc_dump_printf". 743 (init_dynamic_diag_info): Set up length_char_specs and 744 conversion_specs for gcc_dump_printf_format_type. 745 (handle_format_attribute): Handle gcc_dump_printf_format_type. 746 7472018-08-17 Nathan Sidwell <nathan@acm.org> 748 749 * c-ada-spec.c (macro_length, dump_ada_macros): Constify. 750 751 * c-ada-spec.c: Don't #include "cpp-id-data.h" 752 * c-cppbuiltin.c: Likewise. 753 7542018-08-17 Martin Liska <mliska@suse.cz> 755 756 * c.opt: Remove Warn, Init and Report for options with 757 Ignore/Deprecated flag. Warning is done automatically for 758 Deprecated flags. 759 7602018-08-16 David Malcolm <dmalcolm@redhat.com> 761 762 PR c++/70693 763 * c-common.c (selftest::c_family_tests): Call 764 selftest::c_indentation_c_tests. 765 * c-common.h (selftest::c_indentation_c_tests): New decl. 766 * c-indentation.c: Include "selftest.h". 767 (next_tab_stop): Add "tab_width" param, rather than accessing 768 cpp_opts. 769 (get_visual_column): Likewise. Clarify comment. Bulletproof 770 against reading past the end of the line. 771 (get_first_nws_vis_column): Add "tab_width" param. 772 (detect_intervening_unindent): Likewise. 773 (should_warn_for_misleading_indentation): Read tab width from 774 cpp_opts and pass around. 775 (selftest::test_next_tab_stop): New test. 776 (selftest::assert_get_visual_column_succeeds): New function. 777 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro. 778 (selftest::assert_get_visual_column_fails): New function. 779 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro. 780 (selftest::test_get_visual_column): New test. 781 (selftest::c_indentation_c_tests): New function. 782 7832018-08-16 Nathan Sidwell <nathan@acm.org> 784 785 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p. 786 (store_ada_macro): Likewise. 787 * c-ppoutput.c (cb_used_define, dump_macro): Likewise. 788 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise, 789 7902018-08-15 David Malcolm <dmalcolm@redhat.com> 791 792 * c-format.c: Include "selftest-diagnostic.h" and 793 "gcc-rich-location.h". 794 (format_warning_at_char): Pass NULL for new label params of 795 format_warning_va. 796 (class indirection_suffix): New class. 797 (class range_label_for_format_type_mismatch): New class. 798 (format_type_warning): Move logic for generating "*" suffix to 799 class indirection_suffix. Create "fmt_label" and "param_label" 800 to show their types, and pass them to the 801 format_warning_at_substring calls. 802 (selftest::test_type_mismatch_range_labels): New test. 803 (selftest::c_format_c_tests): Call it. 804 8052018-08-13 Martin Sebor <msebor@redhat.com> 806 807 PR tree-optimization/71625 808 * c-common.c (braced_list_to_string): New function. 809 * c-common.h (braced_list_to_string): Declare it. 810 8112018-08-08 Nathan Sidwell <nathan@acm.org> 812 813 * c-common.c (try_to_locate_new_include_inertion_point): Use 814 linemap_included_from_linemap. 815 * c-lex.c (fe_file_change): Use linemap_included_from. 816 * c-ppoutput.c (pp_file_change): Likewise. 817 8182018-08-01 Martin Sebor <msebor@redhat.com> 819 820 PR tree-optimization/86650 821 * c-family/c-format.c (gcc_tdiag_char_table): Update comment for "%G". 822 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same. 823 (init_dynamic_diag_info): Update from "gcall *" to "gimple *". 824 * c-format.h (T89_G): Update to be "gimple *" rather than 825 "gcall *". 826 (local_gcall_ptr_node): Rename... 827 (local_gimple_ptr_node): ...to this. 828 8292018-07-31 David Malcolm <dmalcolm@redhat.com> 830 831 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing 832 table entries for gcc_diag_char_table, and the 'Z' entry from 833 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from 834 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0]. 835 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly 836 adding missing "Z" for this table. Remove erroneous "G" and "K" 837 entries. 838 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v". 839 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE. 840 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v". 841 8422018-07-31 Richard Earnshaw <rearnsha@arm.com> 843 844 * c-common.c (speculation_safe_resolve_call): New function. 845 (speculation_safe_resolve_params): New function. 846 (speculation_safe_resolve_return): New function. 847 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value. 848 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for 849 __HAVE_SPECULATION_SAFE_VALUE. 850 8512018-07-20 David Malcolm <dmalcolm@redhat.com> 852 853 * c-common.c (c_cpp_error): Remove redundant "line_table" 854 parameter from call to rich_location::set_range. 855 (maybe_suggest_missing_token_insertion): Likewise. 856 8572018-07-20 Martin Sebor <msebor@redhat.com> 858 859 PR middle-end/82063 860 * gcc/c-family/c.opt (-Warray-bounds): Remove redundant -Wall. 861 8622018-07-20 Martin Sebor <msebor@redhat.com> 863 864 PR middle-end/82063 865 * c-common.h (c_common_handle_option): Change function argument 866 to HOST_WIDE_INT. 867 * c-opts.c (c_common_init_options): Same. 868 (c_common_handle_option): Same. Remove special handling of 869 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_. 870 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change 871 options to take a HOST_WIDE_INT argument and accept a byte-size 872 suffix. Initialize. 873 (-Wvla-larger-than): Same. 874 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New. 875 (-Wno-vla-larger-than): Same. 876 8772018-07-12 Jakub Jelinek <jakub@redhat.com> 878 879 * c-attribs.c (c_common_attribute_table): Add 880 "omp declare target implicit" attribute. 881 8822018-07-12 Richard Biener <rguenther@suse.de> 883 884 PR c/86453 885 * c-attribs.c (handle_packed_attribute): Do not build a variant 886 type with TYPE_PACKED, instead ignore the attribute if we may 887 not apply to the original type. 888 8892018-07-10 Jakub Jelinek <jakub@redhat.com> 890 891 PR c++/86443 892 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv 893 to contain TREE_LIST for both the original class iterator and the 894 "last" helper var. 895 8962018-07-07 Eric Botcazou <ebotcazou@adacore.com> 897 898 * c-ada-spec.c (to_ada_name): Remove index parameter. 899 (pp_ada_tree_identifier): Likewise. 900 (dump_ada_macros): Adjust call to to_ada_name. 901 (struct overloaded_name_hash): Delete. 902 (struct overloaded_name_hasher): Likewise. 903 (overloaded_names): Likewise. 904 (compute_overloading_index): Likewise. 905 (dump_ada_decl_name): Do not call compute_overloading_index and 906 adjust calls to pp_ada_tree_identifier. 907 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier. 908 (dump_ada_import): Add spc parameter and switch to aspect syntax. 909 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier. 910 (dump_ada_enum_type): Remove type and display_convention parameters. 911 Adjust calls to pp_ada_tree_identifier. 912 (dump_ada_node): Likewise and for dump_ada_structure. 913 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type 914 and tidy up. 915 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect 916 syntax. 917 (print_constructor): Adjust call to pp_ada_tree_identifier. 918 (print_destructor): Likewise. 919 (dump_ada_declaration): Switch to aspect syntax. 920 (dump_ada_structure): Likewise and tidy up. Replace display_convention 921 parameter with nested parameter. 922 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005. 923 (dump_ada_specs): Do not delete overloaded_names table. 924 9252018-07-06 Peter Bergner <bergner@linux.ibm.com> 926 927 PR target/86324 928 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute 929 target hook. 930 9312018-07-05 Nathan Sidwell <nathan@acm.org> 932 933 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not 934 NO_IMPLICIT_EXTERN_C. 935 9362018-06-28 Martin Liska <mliska@suse.cz> 937 938 * cppspec.c: Include opt-suggestions.h. 939 9402018-06-20 Chung-Lin Tang <cltang@codesourcery.com> 941 Thomas Schwinge <thomas@codesourcery.com> 942 Cesar Philippidis <cesar@codesourcery.com> 943 944 * c-pragma.h (enum pragma_omp_clause): Add 945 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove 946 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}. 947 9482018-06-20 Jakub Jelinek <jakub@redhat.com> 949 950 PR c++/86210 951 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete 952 comment. 953 9542018-06-18 Martin Sebor <msebor@redhat.com> 955 956 PR middle-end/85602 957 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute 958 nonstring. 959 9602018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org> 961 962 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR. 963 9642018-06-13 Jason Merrill <jason@redhat.com> 965 966 * c-opts.c (c_common_post_options): Warn about useless -Wabi. 967 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version 968 handling. 969 970 PR c++/86094 - wrong code with defaulted move ctor. 971 * c-opts.c (c_common_post_options): Bump the current ABI version to 972 13. Set warn_abi_version and flag_abi_compat_version to the current 973 version rather than 0. Fix defaulting flag_abi_compat_version from 974 warn_abi_version. 975 9762018-06-12 Martin Sebor <msebor@redhat.com> 977 978 PR c/85931 979 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when 980 sizeof source and destination yields the same value. 981 9822018-06-12 Martin Liska <mliska@suse.cz> 983 984 * c.opt: Make MPX-related options as Deprecated. 985 9862018-06-08 David Malcolm <dmalcolm@redhat.com> 987 988 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE 989 rather than 0. 990 9912018-06-08 Martin Liska <mliska@suse.cz> 992 993 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support 994 for MPX (macros, related functions, fields in cgraph_node, ...). 995 (handle_bnd_legacy): Likewise. 996 (handle_bnd_instrument): Likewise. 997 * c.opt: Likewise. 998 9992018-06-06 Jakub Jelinek <jakub@redhat.com> 1000 1001 PR c++/86068 1002 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set 1003 __cpp_transactional_memory to 201500 instead of 210500. 1004 10052018-06-06 Jason Merrill <jason@redhat.com> 1006 1007 PR c++/85710 - ICE with -Wmemset-elt-size. 1008 * c-warn.c (warn_for_memset): Don't crash on incomplete element type. 1009 10102018-06-01 Jason Merrill <jason@redhat.com> 1011 1012 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to 1013 201703. 1014 10152018-06-01 Eric Botcazou <ebotcazou@adacore.com> 1016 1017 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward 1018 declaration for a typedef independently of whether the declaration of 1019 the subtype is generated. 1020 10212018-05-31 Martin Sebor <msebor@redhat.com> 1022 1023 PR c/82063 1024 * c.opt (-Wno-alloc-size-larger-than): New option. 1025 10262018-04-22 David Pagan <dave.pagan@oracle.com> 1027 1028 PR c/55976 1029 * c-opts.c (c_common_post_options): Set default for warn_return_type 1030 for C++/C++ with ObjC extensions only. For C, makes it possible to 1031 differentiate between default (no option), -Wreturn-type, and 1032 -Wno-return-type. 1033 10342018-05-29 Jason Merrill <jason@redhat.com> 1035 1036 * c.opt (Winit-list-lifetime): New flag. 1037 10382018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de> 1039 1040 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and 1041 splay_tree_delete_pointers. 1042 10432018-05-26 Jakub Jelinek <jakub@redhat.com> 1044 1045 PR bootstrap/85921 1046 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary 1047 noinline variable to workaround broken kernel headers. 1048 10492018-05-18 Jason Merrill <jason@redhat.com> 1050 1051 * c.opt (Wdeprecated-copy): New flag. 1052 10532018-05-17 Martin Liska <mliska@suse.cz> 1054 1055 * c-warn.c (overflow_warning): Do not use 1056 space in between 'G_' and '('. 1057 10582018-05-09 Jason Merrill <jason@redhat.com> 1059 1060 * c-common.c (valid_array_size_p): Add complain parameter. 1061 * c-common.h: ...which defaults to true. 1062 10632018-05-11 Jakub Jelinek <jakub@redhat.com> 1064 1065 PR c/85696 1066 * c-omp.c (c_omp_predetermined_sharing): Return 1067 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type. 1068 10692018-05-11 Martin Liska <mliska@suse.cz> 1070 1071 PR sanitizer/85556 1072 * c-attribs.c (handle_no_sanitize_attribute): Iterate all 1073 TREE_LIST values. 1074 10752018-05-10 Jakub Jelinek <jakub@redhat.com> 1076 1077 PR c++/85662 1078 * c-common.h (fold_offsetof_1): Removed. 1079 (fold_offsetof): Add TYPE argument defaulted to size_type_node and 1080 CTX argument defaulted to ERROR_MARK. 1081 * c-common.c (fold_offsetof_1): Renamed to ... 1082 (fold_offsetof): ... this. Remove wrapper function. Add TYPE 1083 argument, convert the pointer constant to TYPE and use size_binop 1084 with PLUS_EXPR instead of fold_build_pointer_plus if type is not 1085 a pointer type. Adjust recursive calls. 1086 10872018-05-10 Eric Botcazou <ebotcazou@adacore.com> 1088 1089 PR c++/85400 1090 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs. 1091 10922018-05-07 Nathan Sidwell <nathan@acm.org> 1093 1094 * c.opt (ffor-scope): Remove functionality, issue warning. 1095 10962018-05-03 Nathan Sidwell <nathan@acm.org> 1097 1098 * c.opt (ffriend-injection): Remove functionality, issue warning. 1099 11002018-05-01 David Malcolm <dmalcolm@redhat.com> 1101 1102 PR c/84258 1103 * c-format.c (struct format_check_results): Add field 1104 "number_non_char". 1105 (check_format_info): Initialize it, and warn if encountered. 1106 (check_format_arg): Distinguish between wide char and 1107 everything else when detecting arrays of non-char. 1108 11092018-04-30 David Malcolm <dmalcolm@redhat.com> 1110 1111 * c-format.c (get_corrected_substring): Update for 1112 location_get_source_line returning a char_span. Use a char_span 1113 when handling the prefix of the correction. 1114 * c-indentation.c (get_visual_column): Update for 1115 location_get_source_line returning a char_span. 1116 (get_first_nws_vis_column): Likewise. 1117 11182018-03-29 David Malcolm <dmalcolm@redhat.com> 1119 1120 PR c++/84269 1121 * known-headers.cc (get_stdlib_header_for_name): Add various names 1122 from <assert.h>, <string.h>, and <memory.h>; add more names from 1123 <stdio.h>. 1124 11252018-03-27 Jakub Jelinek <jakub@redhat.com> 1126 1127 PR c++/85061 1128 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that 1129 get_base_address of the second operand is a VAR_P, rather than the 1130 operand itself, and use gcc_checking_assert instead of gcc_assert. 1131 11322018-03-23 Marek Polacek <polacek@redhat.com> 1133 1134 PR c++/85045 1135 * c-pretty-print.c (c_pretty_printer::multiplicative_expression) 1136 <case RDIV_EXPR>: Tweak condition. 1137 11382018-03-20 Eric Botcazou <ebotcazou@adacore.com> 1139 1140 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool. 1141 11422018-03-16 Jakub Jelinek <jakub@redhat.com> 1143 1144 PR c/84909 1145 * c-warn.c (conversion_warning): Replace "to to" with "to" in 1146 diagnostics. 1147 1148 PR c/84910 1149 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from 1150 diagnostics. 1151 11522018-03-16 Richard Biener <rguenther@suse.de> 1153 1154 PR c/84873 1155 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead 1156 unshare the possibly folded expression. 1157 11582018-03-15 Richard Biener <rguenther@suse.de> 1159 1160 PR c/84873 1161 * c-gimplify.c (c_gimplify_expr): Do not fold expressions. 1162 11632018-03-13 Martin Sebor <msebor@redhat.com> 1164 1165 PR tree-optimization/84725 1166 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring 1167 with all three narrow character types, including their qualified forms. 1168 11692018-03-12 Martin Sebor <msebor@redhat.com> 1170 1171 PR tree-optimization/83456 1172 * gcc/c-family/c-common.c (check_function_restrict): Return bool. 1173 Restore checking of bounded built-in functions. 1174 (check_function_arguments): Also return the result 1175 of warn_for_restrict. 1176 * gcc/c-family/c-common.c (check_function_restrict): Return bool. 1177 * gcc/c-family/c-warn.c (warn_for_restrict): Return bool. 1178 11792018-03-02 Marek Polacek <polacek@redhat.com> 1180 1181 PR c++/84171 1182 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands 1183 is erroneous. 1184 11852018-03-02 Thomas Schwinge <thomas@codesourcery.com> 1186 1187 * c-attribs.c (c_common_attribute_table): Remove "cilk simd 1188 function". 1189 11902018-03-01 Marek Polacek <polacek@redhat.com> 1191 1192 PR c++/84639 1193 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid 1194 alignment in computation. 1195 11962018-02-28 Eric Botcazou <ebotcazou@adacore.com> 1197 1198 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case. 1199 <REAL_TYPE>: Deal specifically with _Float128/__float128. 1200 12012018-02-28 Eric Botcazou <ebotcazou@adacore.com> 1202 1203 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case. 1204 (is_char_array): Take a type instead of a declaration. 1205 (dump_ada_array_type): Likewise. 1206 (is_simple_enum): Minor tweak. 1207 (dump_ada_enum_type): New function extracted from... 1208 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it. 1209 <INTEGER_TYPE>: Remove unreachable code. 1210 <RECORD_TYPE>: Likewise. Minor tweaks. 1211 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes. 1212 <ENUMERAL_TYPE>: New case. 1213 <RECORD_TYPE>: Factor out common code. 1214 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes. 1215 Minor tweaks. Deal with enumeral types. 1216 (dump_ada_structure): Minor tweaks. 1217 12182018-02-28 Eric Botcazou <ebotcazou@adacore.com> 1219 1220 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic 1221 address for incomplete structures. 1222 (dump_forward_type): Do not bail out for incomplete structures. 1223 (dump_ada_declaration): Do not special-case incomplete structures 1224 for subtypes. Dump them as null records for types. 1225 12262018-02-28 Eric Botcazou <ebotcazou@adacore.com> 1227 1228 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting. 1229 (is_char_array): Fix formatting. 1230 (dump_template_types): Likewise. 1231 (dump_generic_ada_node): Rename into... 1232 (dump_ada_node): ...this. 1233 <POINTER_TYPE>: Remove superfluous space. Use generic address for 1234 incomplete structures and not for empty structures. Do not use it 1235 when forward declarations are needed. 1236 (dump_forward_type): New function. 1237 (dump_nested_types): Remove FORWARD parameter. Do not consider 1238 TREE_VISITED and do not generate a forward declaration. Only dump 1239 original nested types for nested declaration. 1240 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type. 1241 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer. 1242 <RECORD_TYPE>: Do not consider TREE_VISITED. 1243 (dump_ada_declaration): Use booleans and fix formatting throughout. 1244 <TYPE_DECL>: Skip incomplete structures and not empty structures. 1245 Call dump_forward_type instead of dump_nested_types for a typedef. 1246 Remove superfluous check and adjust call to dump_nested_types. 1247 <POINTER_TYPE>: Call dump_forward_type and fall through. 1248 (dump_ada_struct_decl): Rename into... 1249 (dump_ada_structure): ...this. Do not special-case empty structures. 1250 12512018-02-27 Martin Sebor <msebor@redhat.com> 1252 1253 PR c++/83871 1254 * c.opt (-Wmissing-attributes): New option. 1255 12562018-02-21 Martin Liska <mliska@suse.cz> 1257 1258 * c.opt (Wcatch-value=): Add IntegerRange. 1259 12602018-02-15 Jason Merrill <jason@redhat.com> 1261 1262 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides. 1263 12642018-02-09 Nathan Sidwell <nathan@acm.org> 1265 1266 PR c/84293 1267 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC 1268 arg. 1269 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC 1270 arg. Adjust. 1271 12722018-02-09 Martin Sebor <msebor@redhat.com> 1273 1274 PR lto/84212 1275 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO. 1276 (-Walloc-size-larger-than, -Wformat-truncation=): Same. 1277 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same. 1278 (-Wstrict-overflow, -Wsuggest-attribute): Same. 1279 (-Wuninitialized): Same. 1280 12812018-02-09 Eric Botcazou <ebotcazou@adacore.com> 1282 1283 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant' 1284 keyword for components. 1285 12862018-02-02 Paolo Carlini <paolo.carlini@oracle.com> 1287 1288 * c-common.h (DECL_UNNAMED_BIT_FIELD): New. 1289 12902018-02-02 Julia Koval <julia.koval@intel.com> 1291 1292 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h. 1293 12942018-01-29 Marek Polacek <polacek@redhat.com> 1295 1296 PR c/83966 1297 * c-format.c (check_function_format): Check current_function_decl. 1298 12992018-01-27 Jakub Jelinek <jakub@redhat.com> 1300 1301 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix 1302 argument. 1303 (LAZY_HEX_FP_VALUES_CNT): Define. 1304 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp 1305 values rather than just 12. 1306 (builtin_define_with_hex_fp_value): Likewise. 1307 13082018-01-18 Boris Kolpackov <boris@codesynthesis.com> 1309 1310 PR other/70268 1311 * c.opt (-fmacro-prefix-map): New option. 1312 * c-opts.c (c_common_handle_option): Handle it. 1313 * c-lex.c (init_c_lex): Set remap_filename cpp callback. 1314 * c-ppoutput.c (init_pp_output): Likewise. 1315 13162018-01-17 David Malcolm <dmalcolm@redhat.com> 1317 1318 PR c++/83814 1319 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c. 1320 13212018-01-10 Eric Botcazou <ebotcazou@adacore.com> 1322 1323 * c-ada-spec.c (dump_number): Add FLOAT_P parameter. 1324 Skip 'f' and 'F' characters if it is true. 1325 (store_ada_macro): Minor tweak. 1326 (dump_ada_macros) <CPP_COMMENT>: Likewise. 1327 <CPP_WSTRING>: Likewise. 1328 <CPP_STRING>: Output '&' in the buffer if not the first string. 1329 <CPP_NUMBER>: Adjust calls to dump_number. 1330 13312018-01-10 David Malcolm <dmalcolm@redhat.com> 1332 1333 PR c++/43486 1334 * c-common.c: Include "selftest.h". 1335 (get_atomic_generic_size): Perform the test for integral type 1336 before the range test for any integer constant, fixing indentation 1337 of braces. Call fold_for_warn before testing for an INTEGER_CST. 1338 (reject_gcc_builtin): Strip any location wrapper from EXPR. 1339 (selftest::test_fold_for_warn): New function. 1340 (selftest::c_common_c_tests): New function. 1341 (selftest::c_family_tests): Call it, and 1342 selftest::c_pretty_print_c_tests. 1343 * c-common.h (selftest::c_pretty_print_c_tests): New decl. 1344 * c-format.c (check_format_arg): Convert VAR_P check to a 1345 fold_for_warn. 1346 * c-pretty-print.c: Include "selftest.h". 1347 (pp_c_cast_expression): Don't print casts for location wrappers. 1348 (selftest::assert_c_pretty_printer_output): New function. 1349 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro. 1350 (selftest::test_location_wrappers): New function. 1351 (selftest::c_pretty_print_c_tests): New function. 1352 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments. 1353 13542018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 1355 Alan Hayward <alan.hayward@arm.com> 1356 David Sherwood <david.sherwood@arm.com> 1357 1358 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL. 1359 13602018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 1361 Alan Hayward <alan.hayward@arm.com> 1362 David Sherwood <david.sherwood@arm.com> 1363 1364 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE 1365 as polynomial. 1366 13672018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 1368 Alan Hayward <alan.hayward@arm.com> 1369 David Sherwood <david.sherwood@arm.com> 1370 1371 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr) 1372 (convert_vector_to_array_for_subscript): Handle polynomial 1373 TYPE_VECTOR_SUBPARTS. 1374 (c_common_type_for_mode): Check valid_vector_subparts_p. 1375 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial 1376 VECTOR_CST_NELTS. 1377 13782018-01-03 Jakub Jelinek <jakub@redhat.com> 1379 1380 Update copyright years. 1381 13822017-12-22 Mike Stump <mikestump@comcast.net> 1383 Eric Botcazou <ebotcazou@adacore.com> 1384 1385 * c-pragma.c (init_pragma): Register pragma GCC unroll. 1386 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL. 1387 13882017-12-22 Alexandre Oliva <aoliva@redhat.com> 1389 1390 PR debug/83527 1391 PR debug/83419 1392 * c-semantics.c (only_debug_stmts_after_p): New. 1393 (pop_stmt_list): Clear side effects in debug-only stmt list. 1394 Check for single nondebug stmt followed by debug stmts only. 1395 13962017-12-21 Alexandre Oliva <aoliva@redhat.com> 1397 1398 PR debug/83419 1399 * c-semantics.c (pop_stmt_list): Propagate side effects from 1400 single nondebug stmt to container list. 1401 14022017-12-19 Jakub Jelinek <jakub@redhat.com> 1403 1404 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda 1405 conditions with typical order conditions. 1406 14072017-12-18 Marek Polacek <polacek@redhat.com> 1408 1409 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is 1410 not in effect. 1411 14122017-12-17 Martin Sebor <msebor@redhat.com> 1413 1414 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing 1415 an error for attribute warn_if_not_aligned. 1416 14172017-12-16 Martin Sebor <msebor@redhat.com> 1418 1419 PR tree-optimization/78918 1420 * c-common.c (check_function_restrict): Avoid checking built-ins. 1421 * c.opt (-Wrestrict): Include in -Wall. 1422 14232017-12-15 Jakub Jelinek <jakub@redhat.com> 1424 1425 * c-attribs.c (c_common_attribute_table, 1426 c_common_format_attribute_table): Swap affects_type_identity 1427 and handler fields, adjust comments. 1428 14292017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de> 1430 1431 * c.opt (Wcast-function-type): New warning option. 1432 * c-lex.c (get_fileinfo): Avoid warning. 1433 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast. 1434 14352017-12-14 Qing Zhao <qing.zhao@oracle.com> 1436 1437 PR middle_end/79538 1438 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): 1439 Adjust the size of buf1 and buf2, add a new buf to avoid 1440 format-overflow warning. 1441 14422017-12-12 Alexandre Oliva <aoliva@redhat.com> 1443 1444 * c-semantics.c (pop_stmt_list): Move begin stmt marker into 1445 subsequent statement list. 1446 14472017-12-07 Martin Sebor <msebor@redhat.com> 1448 1449 PR c/81544 1450 PR c/81566 1451 * c-attribs.c (attr_aligned_exclusions): New array. 1452 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same. 1453 (attr_common_exclusions, attr_const_pure_exclusions): Same. 1454 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same. 1455 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same. 1456 (attr_warn_unused_result_exclusions): Same. 1457 (handle_hot_attribute, handle_cold_attribute): Simplify. 1458 (handle_const_attribute): Warn on function returning void. 1459 (handle_pure_attribute): Same. 1460 (handle_aligned_attribute): Diagnose conflicting attribute 1461 specifications. 1462 * c-warn.c (diagnose_mismatched_attributes): Simplify. 1463 14642017-12-06 David Malcolm <dmalcolm@redhat.com> 1465 1466 PR c/83236 1467 * c-common.c (selftest::c_family_tests): Call 1468 selftest::c_spellcheck_cc_tests. 1469 * c-common.h (selftest::c_spellcheck_cc_tests): New decl. 1470 * c-spellcheck.cc: Include "selftest.h". 1471 (name_reserved_for_implementation_p): New function. 1472 (should_suggest_as_macro_p): New function. 1473 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to 1474 should_suggest_as_macro_p and call it. 1475 (selftest::test_name_reserved_for_implementation_p): New function. 1476 (selftest::c_spellcheck_cc_tests): New function. 1477 * c-spellcheck.h (name_reserved_for_implementation_p): New decl. 1478 14792017-12-06 David Malcolm <dmalcolm@redhat.com> 1480 1481 * c-spellcheck.cc: New file, taken from macro-handling code in 1482 spellcheck-tree.c. 1483 * c-spellcheck.h: New file, taken from macro-handling code in 1484 spellcheck-tree.h. 1485 14862017-12-01 Jakub Jelinek <jakub@redhat.com> 1487 1488 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function" 1489 attribute. 1490 (handle_simd_attribute): Don't check for "cilk simd function" 1491 attribute. Reindent, formatting changes. 1492 14932017-11-30 Julia Koval <julia.koval@intel.com> 1494 1495 * c-common.h (inv_list): Remove. 1496 14972017-11-28 Jakub Jelinek <jakub@redhat.com> 1498 1499 PR sanitizer/81275 1500 * c-common.c (c_switch_covers_all_cases_p_1, 1501 c_switch_covers_all_cases_p): New functions. 1502 * c-common.h (c_switch_covers_all_cases_p): Declare. 1503 15042017-11-28 Julia Koval <julia.koval@intel.com> 1505 Sebastian Peryt <sebastian.peryt@intel.com> 1506 1507 * array-notation-common.c: Delete. 1508 * c-cilkplus.c: Ditto. 1509 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove. 1510 * c-common.def (ARRAY_NOTATION_REF): Remove. 1511 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr, 1512 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop, 1513 c_validate_cilk_plus_loop, cilkplus_an_parts, 1514 cilk_ignorable_spawn_rhs_op, 1515 cilk_recognize_spawn): Remove. 1516 * c-gimplify.c (CILK_SPAWN_STMT): Remove. 1517 * c-omp.c: Remove CILK_SIMD check. 1518 * c-pragma.c: Ditto. 1519 * c-pragma.h: Remove CILK related pragmas. 1520 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove 1521 ARRAY_NOTATION_REF condition. 1522 (c_pretty_printer::expression): Ditto. 1523 * c.opt (fcilkplus): Remove. 1524 * cilk.c: Delete. 1525 15262017-11-21 Marc Glisse <marc.glisse@inria.fr> 1527 1528 * c-pretty-print.c (pp_c_additive_expression, 1529 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR. 1530 15312017-11-21 Jakub Jelinek <jakub@redhat.com> 1532 1533 * c-common.c (get_nonnull_operand): Use tree_to_uhwi. 1534 1535 PR c++/83059 1536 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW 1537 instead of tree_to_uhwi, formatting fix. 1538 15392017-11-20 David Malcolm <dmalcolm@redhat.com> 1540 1541 PR c/81404 1542 * known-headers.cc: New file, based on material from c/c-decl.c. 1543 (suggest_missing_header): Copied as-is. 1544 (get_stdlib_header_for_name): New, based on get_c_name_hint but 1545 heavily edited to add C++ support. Add some knowledge about 1546 <limits.h>, <stdint.h>, and <wchar.h>. 1547 * known-headers.h: Likewise. 1548 15492017-11-20 David Malcolm <dmalcolm@redhat.com> 1550 1551 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h. 1552 (lookup_name_fuzzy): Likewise. Convert return type from 1553 const char * to name_hint. Add location_t param. 1554 * name-hint.h: New header. 1555 15562017-11-19 Jakub Jelinek <jakub@redhat.com> 1557 1558 PR c/66618 1559 PR c/69960 1560 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false. 1561 15622017-11-16 Joseph Myers <joseph@codesourcery.com> 1563 1564 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018 1565 expected publication date of C17. 1566 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases. 1567 15682017-11-15 Joseph Myers <joseph@codesourcery.com> 1569 1570 PR c/81156 1571 * c-common.c (c_common_reswords): Add __builtin_tgmath. 1572 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH. 1573 15742017-11-10 Martin Sebor <msebor@redhat.com> 1575 1576 PR c/81117 1577 * c-common.c (catenate_strings): Use memcpy instead of strncpy. 1578 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays. 1579 * c.opt (-Wstringop-truncation): New option. 1580 15812017-11-06 Martin Liska <mliska@suse.cz> 1582 1583 PR middle-end/82404 1584 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++ 1585 FE. 1586 * c.opt: Set default value of warn_return_type. 1587 15882017-10-31 David Malcolm <dmalcolm@redhat.com> 1589 1590 * c-common.c (binary_op_error): Update for renaming of 1591 error_at_rich_loc. 1592 (c_parse_error): Likewise. 1593 * c-warn.c (warn_logical_not_parentheses): Likewise for 1594 renaming of inform_at_rich_loc. 1595 (warn_for_restrict): Likewise for renaming of 1596 warning_at_rich_loc_n. 1597 15982017-10-30 Joseph Myers <joseph@codesourcery.com> 1599 1600 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options. 1601 * c-opts.c (set_std_c17): New function. 1602 (c_common_init_options): Use gnu17 as default C version. 1603 (c_common_handle_option): Handle -std=c17 and -std=gnu17. 1604 16052017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com> 1606 1607 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode. 1608 (c_cpp_builtins): If a machine has a fast fma _Float<N> and 1609 _Float<N>X variant, define __FP_FAST_FMA<N> and/or 1610 __FP_FAST_FMA<N>X. 1611 16122017-10-23 Marek Polacek <polacek@redhat.com> 1613 1614 PR c/82681 1615 * c-warn.c (warnings_for_convert_and_check): Fix typos. 1616 16172017-10-19 Eric Botcazou <ebotcazou@adacore.com> 1618 1619 * c-common.c (check_builtin_function_arguments): Also check arguments 1620 of __builtin_alloca_with_align_and_max. 1621 16222017-10-17 David Malcolm <dmalcolm@redhat.com> 1623 1624 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION 1625 rather than NULL to format_warning_va. 1626 (check_format_types): Likewise when calling format_type_warning. 1627 Remove code to extract source_ranges and source_range * in favor 1628 of just a location_t. 1629 (format_type_warning): Convert source_range * param to a 1630 location_t. 1631 16322017-10-13 Jakub Jelinek <jakub@redhat.com> 1633 1634 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like 1635 [LR]SHIFT_EXPR. 1636 16372017-10-12 David Malcolm <dmalcolm@redhat.com> 1638 1639 * c-common.c (enum missing_token_insertion_kind): New enum. 1640 (get_missing_token_insertion_kind): New function. 1641 (maybe_suggest_missing_token_insertion): New function. 1642 * c-common.h (maybe_suggest_missing_token_insertion): New decl. 1643 16442017-10-11 Nathan Sidwell <nathan@acm.org> 1645 1646 * c-opts.c (add_prefixed_path): Change chain to incpath_kind. 1647 (c_common_handle_option): Update incpath_kind names. 1648 16492017-10-11 Martin Liska <mliska@suse.cz> 1650 1651 PR sanitizer/82490 1652 * c-attribs.c (handle_no_sanitize_attribute): Report directly 1653 Wattributes warning. 1654 16552017-10-10 Richard Sandiford <richard.sandiford@linaro.org> 1656 1657 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when 1658 operating on trees as wide_ints. 1659 * c-common.c (pointer_int_sum): Likewise. 1660 * c-pretty-print.c (pp_c_integer_constant): Likewise. 1661 * c-warn.c (match_case_to_enum_1): Likewise. 1662 (c_do_switch_warnings): Likewise. 1663 (maybe_warn_shift_overflow): Likewise. 1664 16652017-10-10 Jakub Jelinek <jakub@redhat.com> 1666 1667 PR c/82437 1668 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide 1669 instead of wide_int::from. 1670 16712017-10-06 Jakub Jelinek <jakub@redhat.com> 1672 1673 PR c/82437 1674 * c-warn.c (warn_tautological_bitwise_comparison): Instead of 1675 using to_widest use wide_int with the larger of the two precisions. 1676 16772017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de> 1678 1679 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic 1680 functions. 1681 16822017-10-02 Richard Sandiford <richard.sandiford@linaro.org> 1683 1684 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest 1685 when combining the original unconverted comparison operands. 1686 16872017-09-29 Jakub Jelinek <jakub@redhat.com> 1688 1689 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect" 1690 attribute. 1691 16922017-09-29 Eric Botcazou <ebotcazou@adacore.com> 1693 1694 * c-ada-spec.c (to_ada_name): Add index parameter. 1695 (pp_ada_tree_identifier): Likewise. 1696 (dump_ada_macros): Adjust call to to_ada_name. 1697 (struct overloaded_name_hash): New type. 1698 (struct overloaded_name_hasher): Likewise. 1699 (overloaded_names): New hash table. 1700 (compute_overloading_index): New function. 1701 (dump_ada_decl_name): Call it and pass the result to 1702 pp_ada_tree_identifier. 1703 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier. 1704 (dump_ada_function_declaration): Likewise. 1705 (dump_generic_ada_node): Likewise. 1706 (print_constructor): Likewise. 1707 (print_destructor): Likewise. 1708 (dump_ada_specs): Delete overloaded_names table. 1709 17102017-09-29 Eric Botcazou <ebotcazou@adacore.com> 1711 1712 * c-ada-spec.c (max_ada_macros): Move around. 1713 (store_ada_macro_index): Likewise. 1714 (source_file): Rename into... 1715 (macro_source_file): ...this. 1716 (count_ada_macro): Move around. 1717 (store_ada_macro): Likewise. 1718 (compare_macro): Likewise. 1719 (print_ada_macros): Merge in... 1720 (dump_ada_macros): ...this. 1721 (source_file_base): Rename into... 1722 (current_source_file): ...this. 1723 (print_comment): Move around. 1724 (dump_ada_nodes): Call dump_ada_declaration directly. 1725 (struct with): Change type of limited field to bool. 1726 (append_withs): Change type of limited_access parameter to bool. 1727 (pp_ada_tree_identifie): Likewise. 1728 (dump_ada_decl_nam): Likewise. 1729 (dump_generic_ada_node): Likewise. Do not print the return type. 1730 (to_ada_name): Change type of space_found parameter to bool. 1731 (dump_ada_function_declaration): Return void and change type of 1732 parameters to bool. Also print the return type for a function. 1733 (print_ada_methods): Rename into... 1734 (dump_ada_methods): ...this. 1735 (print_ada_declaration): Rename into ... 1736 (dump_ada_declaration): ...this. Do not print the return type. 1737 (print_ada_struct_decl): Rename into... 1738 (dump_ada_struct_decl): ...this. 1739 17402017-09-29 Jakub Jelinek <jakub@redhat.com> 1741 1742 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD 1743 rather than DECL_INITIAL. 1744 (common_handle_aligned_attribute): Likewise. 1745 17462017-09-20 Alexandre Oliva <aoliva@redhat.com> 1747 1748 * c.opt (gen-decls): Add RejectNegative. 1749 17502017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com> 1751 Jakub Jelinek <jakub@redhat.com> 1752 1753 Add support for -std=c++2a. 1754 * c-common.h (cxx_dialect): Add cxx2a as a dialect. 1755 * opt.c: Add options for -std=c++2a and -std=gnu++2a. 1756 * c-opts.c (set_std_cxx2a): New. 1757 (c_common_handle_option): Set options when -std=c++2a is enabled. 1758 (c_common_post_options): Adjust comments. 1759 (set_std_cxx14, set_std_cxx17): Likewise. 1760 17612017-09-15 Eric Botcazou <ebotcazou@adacore.com> 1762 1763 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error 1764 message for non-uniform endianness and issue a warning in C++. 1765 17662017-09-15 Jakub Jelinek <jakub@redhat.com> 1767 1768 * c.opt (Wc++1z-compat): Change from option to undocumented alias. 1769 (Wc++17-compat): Change from undocumented alias to option. 1770 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat, 1771 change C++1z to C++17 in description. 1772 (std=c++1z, std=gnu++1z): Change from option to undocumented 1773 deprecated alias. 1774 (std=c++17, std=gnu++17): Change from undocumented alias to option. 1775 Adjust description. 1776 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17. 1777 * c-opts.c (set_std_cxx1z): Rename to ... 1778 (set_std_cxx17): ... this. 1779 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17 1780 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z 1781 caller. 1782 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust 1783 comments. 1784 17852017-09-12 H.J. Lu <hongjiu.lu@intel.com> 1786 1787 * c-attribs.c (common_handle_aligned_attribute): Don't warn 1788 function alignment if warn_if_not_aligned_p is true. 1789 17902017-09-12 Nathan Sidwell <nathan@acm.org> 1791 1792 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp, 1793 resort_sorted_fields): Move to c/c-decl.c. 1794 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete. 1795 (struct sorted_fields_type): Move to c/c-lang.h. 1796 17972017-09-09 Jonathan Wakely <jwakely@redhat.com> 1798 1799 PR c++/81852 1800 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init. 1801 18022017-09-04 Marek Polacek <polacek@redhat.com> 1803 1804 PR c/81783 1805 * c-warn.c (warn_tautological_bitwise_comparison): New function. 1806 (warn_tautological_cmp): Call it. 1807 18082017-09-01 Boris Kolpackov <boris@codesynthesis.com> 1809 1810 * c-opts.c (c_common_finish): Write dependency information even if 1811 there are errors. 1812 18132017-09-01 Jakub Jelinek <jakub@redhat.com> 1814 1815 PR c/81887 1816 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ... 1817 (omp_pragmas_simd): ... here. 1818 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone, 1819 create new clauses list containing just simd clause. 1820 18212017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 1822 Alan Hayward <alan.hayward@arm.com> 1823 David Sherwood <david.sherwood@arm.com> 1824 1825 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call 1826 into scalar_mode_supported_p call. 1827 (handle_mode_attribute): Update call to scalar_mode_supported_p. 1828 18292017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 1830 Alan Hayward <alan.hayward@arm.com> 1831 David Sherwood <david.sherwood@arm.com> 1832 1833 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode 1834 for the mode iterator. 1835 18362017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 1837 Alan Hayward <alan.hayward@arm.com> 1838 David Sherwood <david.sherwood@arm.com> 1839 1840 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE. 1841 * c-common.c (c_build_vec_perm_expr): Likewise. 1842 18432017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 1844 Alan Hayward <alan.hayward@arm.com> 1845 David Sherwood <david.sherwood@arm.com> 1846 1847 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>. 1848 18492017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 1850 Alan Hayward <alan.hayward@arm.com> 1851 David Sherwood <david.sherwood@arm.com> 1852 1853 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode 1854 before calling targetm.addr_space.valid_pointer_mode. 1855 18562017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 1857 Alan Hayward <alan.hayward@arm.com> 1858 David Sherwood <david.sherwood@arm.com> 1859 1860 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode. 1861 18622017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 1863 Alan Hayward <alan.hayward@arm.com> 1864 David Sherwood <david.sherwood@arm.com> 1865 1866 * c-common.c (c_common_fixed_point_type_for_size): Use new mode 1867 iterators. 1868 * c-cppbuiltin.c (c_cpp_builtins): Likewise. 1869 18702017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 1871 Alan Hayward <alan.hayward@arm.com> 1872 David Sherwood <david.sherwood@arm.com> 1873 1874 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in 1875 case statements. 1876 18772017-08-29 Martin Liska <mliska@suse.cz> 1878 1879 PR other/39851 1880 * c-common.c (parse_optimize_options): Add argument to function 1881 call. 1882 * c-pragma.c (handle_pragma_diagnostic): Likewise. 1883 18842017-08-24 David Malcolm <dmalcolm@redhat.com> 1885 1886 * c-lex.c (interpret_float): Use token location 1887 when building an EXCESS_PRECISION_EXPR. 1888 18892017-08-21 David Malcolm <dmalcolm@redhat.com> 1890 1891 * c-common.c (check_function_arguments): Add "arglogs" param; pass 1892 it to check_function_format. 1893 * c-common.h (check_function_arguments): Add vec<location_t> * 1894 param. 1895 (check_function_format): Likewise. 1896 * c-format.c (struct format_check_context): Add field "arglocs". 1897 (check_function_format): Add param "arglocs"; pass it to 1898 check_format_info. 1899 (check_format_info): Add param "arglocs"; use it to initialize 1900 new field of format_ctx. 1901 (check_format_arg): Pass format_ctx->arglocs to new param of 1902 check_format_info_main. 1903 (class argument_parser): New field "arglocs". 1904 (argument_parser::argument_parser): Add "arglocs_" param and use 1905 it to initialize new field. 1906 (argument_parser::check_argument_type): Pass new arglocs field to 1907 check_format_types. 1908 (check_format_info_main): Add param "arglocs", and use it when 1909 constructing arg_parser. 1910 (check_format_types): Add param "arglocs"; use it if non-NULL when 1911 !EXPR_HAS_LOCATION (cur_param) to get at location information. 1912 19132017-08-18 H.J. Lu <hongjiu.lu@intel.com> 1914 1915 PR c/53037 1916 * c-attribs.c (handle_warn_if_not_aligned_attribute): New. 1917 (c_common_attribute_table): Add warn_if_not_aligned. 1918 (handle_aligned_attribute): Renamed to ... 1919 (common_handle_aligned_attribute): Remove argument, name, and add 1920 argument, warn_if_not_aligned. Handle warn_if_not_aligned. 1921 (handle_aligned_attribute): New. 1922 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned. 1923 19242017-08-14 Martin Sebor <msebor@redhat.com> 1925 1926 PR c/81117 1927 * c-attribs.c (c_common_attribute_table): Add nonstring entry. 1928 (handle_nonstring_attribute): New function. 1929 19302017-08-14 Martin Sebor <msebor@redhat.com> 1931 1932 PR c/81117 1933 * c-format.h (T89_G): New macro. 1934 * c-format.c (local_gcall_ptr_node): New variable. 1935 (init_dynamic_diag_info): Initialize it. 1936 19372017-08-11 Martin Liska <mliska@suse.cz> 1938 1939 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with 1940 TARGET_SUPPORTS_ALIASES. 1941 19422017-08-10 David Malcolm <dmalcolm@redhat.com> 1943 1944 * c-common.c (c_parse_error): Add rich_location * param, using it 1945 rather implicitly using input_location. 1946 * c-common.h (c_parse_error): Add rich_location * param. 1947 19482017-08-09 Marek Polacek <polacek@redhat.com> 1949 1950 * c-common.c (pointer_int_sum): Use true/false instead of 1/0. 1951 (c_common_truthvalue_conversion): Likewise. 1952 * c-omp.c (c_finish_omp_atomic): Likewise. 1953 * c-common.h (build_binary_op): Update declaration. 1954 19552017-08-08 Martin Liska <mliska@suse.cz> 1956 1957 * c-ada-spec.c: Include header files. 1958 * c-ubsan.c: Likewise. 1959 * c-warn.c: Likewise. 1960 19612017-08-07 Jakub Jelinek <jakub@redhat.com> 1962 1963 PR c/69389 1964 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields. 1965 19662017-08-07 Eric Botcazou <ebotcazou@adacore.com> 1967 1968 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL. 1969 (print_ada_methods): Likewise. 1970 (print_ada_declaration): Likewise. 1971 19722017-08-07 Martin Liska <mliska@suse.cz> 1973 1974 * array-notation-common.c: Add new includes. 1975 * c-format.c( handle_format_attribute): Canonicalize a format 1976 function name. 1977 * c-lex.c (c_common_has_attribute): Canonicalize name of an 1978 attribute. 1979 * c-pretty-print.c: Add new include. 1980 19812017-08-05 Eric Botcazou <ebotcazou@adacore.com> 1982 1983 * c-ada-spec.c (has_static_fields): Look only into variables. 1984 (print_constructor): Add TYPE parameter and use it for the name. 1985 (print_destructor): Likewise. 1986 (print_ada_declaration): Adjust to new constructor/destructor names. 1987 Adjust calls to print_constructor and print_destructor. 1988 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL. 1989 Look only into variables in the final loop. 1990 19912017-08-01 Eric Botcazou <ebotcazou@adacore.com> 1992 1993 * c-ada-spec.c (has_static_fields): Look only into fields. 1994 (dump_generic_ada_node): Small tweak. 1995 (dump_nested_types): Look only into fields. 1996 (print_ada_declaration): Look only into methods. Small tweak. 1997 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P. 1998 19992017-08-01 Eric Botcazou <ebotcazou@adacore.com> 2000 2001 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant. 2002 (dump_ada_function_declaration): Likewise. 2003 (dump_generic_ada_node): Likewise. 2004 (print_ada_declaration): Add support for const-qualified variables. 2005 20062017-07-31 Martin Liska <mliska@suse.cz> 2007 2008 PR sanitize/81530 2009 * c-ubsan.c (ubsan_maybe_instrument_array_ref): 2010 Guard condition with flag_sanitize_p also with current_function_decl 2011 non-null equality. 2012 (ubsan_maybe_instrument_reference_or_call): Likewise. 2013 20142017-07-30 Uros Bizjak <ubizjak@gmail.com> 2015 2016 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars. 2017 20182017-07-29 Eric Botcazou <ebotcazou@adacore.com> 2019 2020 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness 2021 for enumeral types. 2022 (print_ada_declaration): Add missing guard for record types. 2023 20242017-07-27 Jakub Jelinek <jakub@redhat.com> 2025 2026 PR c/45784 2027 * c-omp.c (c_finish_omp_for): If the condition is wrapped in 2028 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into 2029 new COMPOUND_EXPRs around the rhs of the comparison. 2030 20312017-07-27 Marek Polacek <polacek@redhat.com> 2032 2033 PR c/81417 2034 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print 2035 the types. 2036 20372017-07-27 Jakub Jelinek <jakub@redhat.com> 2038 2039 * c-attribs.c (c_common_attribute_table): Add noipa attribute. 2040 (handle_noipa_attribute): New function. 2041 20422017-07-07 Torsten Duwe <duwe@suse.de> 2043 2044 * c-attribs.c (c_common_attribute_table): Add entry for 2045 "patchable_function_entry". 2046 20472017-07-20 Nathan Sidwell <nathan@acm.org> 2048 2049 Remove TYPE_METHODS. 2050 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods, 2051 dump_ada_template, print_ada_methods, 2052 print_ada_declaration): Member fns are on TYPE_FIELDS. 2053 20542017-07-18 Nathan Sidwell <nathan@acm.org> 2055 2056 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE. 2057 20582017-07-14 David Malcolm <dmalcolm@redhat.com> 2059 2060 * c-common.c (try_to_locate_new_include_insertion_point): New 2061 function. 2062 (per_file_includes_t): New typedef. 2063 (added_includes_t): New typedef. 2064 (added_includes): New variable. 2065 (maybe_add_include_fixit): New function. 2066 * c-common.h (maybe_add_include_fixit): New decl. 2067 20682017-07-10 Martin Sebor <msebor@redhat.com> 2069 2070 PR other/81345 2071 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy. 2072 20732017-07-06 David Malcolm <dmalcolm@redhat.com> 2074 2075 * c-common.c (selftest::c_family_tests): New. 2076 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h. 2077 (selftest::c_family_tests): New decl. 2078 20792017-07-04 Marek Polacek <polacek@redhat.com> 2080 2081 PR c/81231 2082 * c-common.c (sync_resolve_size): Give error for pointers to incomplete 2083 types. 2084 20852017-07-04 Marek Polacek <polacek@redhat.com> 2086 2087 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling. 2088 20892017-06-28 Martin Liska <mliska@suse.cz> 2090 2091 PR ipa/81128 2092 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias 2093 to a function declaration. 2094 20952017-06-28 Martin Liska <mliska@suse.cz> 2096 2097 PR driver/79659 2098 * c.opt: Add IntegerRange to various options. 2099 21002017-06-26 Marek Polacek <polacek@redhat.com> 2101 2102 PR c/80116 2103 * c-common.h (warn_for_multistatement_macros): Declare. 2104 * c-warn.c: Include "c-family/c-indentation.h". 2105 (warn_for_multistatement_macros): New function. 2106 * c.opt (Wmultistatement-macros): New option. 2107 * c-indentation.c (guard_tinfo_to_string): No longer static. 2108 Change the parameter type to "enum rid". Handle RID_SWITCH. 2109 * c-indentation.h (guard_tinfo_to_string): Declare. 2110 21112017-06-23 Marc Glisse <marc.glisse@inria.fr> 2112 2113 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types. 2114 21152017-06-15 Martin Sebor <msebor@redhat.com> 2116 2117 PR c++/80560 2118 * c.opt (-Wclass-memaccess): New option. 2119 21202017-06-14 Boris Kolpackov <boris@codesynthesis.com> 2121 2122 * c-opts.c (c_common_finish): Handle '-' special value to -MF. 2123 21242017-06-13 Marek Polacek <polacek@redhat.com> 2125 2126 PR objc/80949 2127 * c-warn.c (do_warn_duplicated_branches): Return if any of the 2128 branches is null. 2129 21302017-06-13 Martin Liska <mliska@suse.cz> 2131 2132 PR sanitize/78204 2133 * c-attribs.c (add_no_sanitize_value): New function. 2134 (handle_no_sanitize_attribute): Likewise. 2135 (handle_no_sanitize_address_attribute): Use the function. 2136 (handle_no_sanitize_thread_attribute): New function. 2137 (handle_no_address_safety_analysis_attribute): Use 2138 add_no_sanitize_value. 2139 (handle_no_sanitize_undefined_attribute): Likewise. 2140 * c-common.h: Declare new functions. 2141 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p. 2142 (ubsan_instrument_shift): Likewise. 2143 (ubsan_instrument_bounds): Likewise. 2144 (ubsan_maybe_instrument_array_ref): Likewise. 2145 (ubsan_maybe_instrument_reference_or_call): Likewise. 2146 21472017-06-11 Jason Merrill <jason@redhat.com> 2148 2149 * c-ada-spec.c, c-pragma.c: Use id_equal. 2150 21512017-06-04 Marek Polacek <polacek@redhat.com> 2152 2153 PR c/80919 2154 * c-format.c (matching_type_p): Return false if any of the types 2155 requires structural equality. 2156 21572017-06-02 Martin Sebor <msebor@redhat.com> 2158 2159 PR c/80892 2160 * c-warn.c (conversion_warning): Use -Wconversion for integer 2161 conversion and -Wfloat-conversion for floating one. 2162 21632017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 2164 2165 * c.opt (Wsizeof-pointer-div): New warning option. 2166 21672017-06-01 Volker Reichelt <v.reichelt@netcologne.de> 2168 2169 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1. 2170 (Wcatch-value=1): Enable by -Wall. 2171 21722017-05-30 David Malcolm <dmalcolm@redhat.com> 2173 2174 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to 2175 format_chars. 2176 * c.opt (fdiagnostics-show-template-tree): New option. 2177 (felide-type): New option. 2178 21792017-05-25 Volker Reichelt <v.reichelt@netcologne.de> 2180 2181 * c.opt (Wcatch-value=): New C++ warning flag. 2182 21832017-05-24 Nathan Sidwell <nathan@acm.org> 2184 2185 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T 2186 const casts to avoid warning. 2187 21882017-05-24 Martin Sebor <msebor@redhat.com> 2189 2190 PR c/80731 2191 * c-common.h (unsafe_conversion_p): Add a function argument. 2192 * c-common.c (unsafe_conversion_p): Same. 2193 Add type names and values to diagnostics. 2194 (scalar_to_vector): Adjust. 2195 * c-warn.c (constant_expression_error): Add a function argument. 2196 Add type names and values to diagnostics. 2197 (conversion_warning): Add a function argument. 2198 Add type names and values to diagnostics. 2199 (warnings_for_convert_and_check): Same. 2200 22012017-05-19 Jason Merrill <jason@redhat.com> 2202 2203 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no 2204 enumerators. 2205 22062017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de> 2207 2208 * c-format.c (locus): Move out of function scope, 2209 add GTY attribute. 2210 22112017-05-19 Nathan Sidwell <nathan@acm.org> 2212 2213 * c-opts.c (class_dump_file, class_dump_flags): Delete. 2214 (c_common_parse_file): Remove class dump handling. 2215 (get_dump_info): Likewise. 2216 22172017-05-19 Richard Biener <rguenther@suse.de> 2218 2219 PR c++/80593 2220 * c-warn.c (strict_aliasing_warning): Do not warn for accesses 2221 to alias-set zero memory. 2222 22232017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de> 2224 2225 * c-format.c (local_tree_type_node): Add GTY attribute. 2226 22272017-05-18 Marek Polacek <polacek@redhat.com> 2228 2229 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0. 2230 (c_common_fixed_point_type_for_size): Likewise. 2231 (c_common_type_for_mode): Likewise. 2232 (shorten_compare): Likewise. 2233 (c_promoting_integer_type_p): Use false/true instead of 0/1. 2234 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0. 2235 22362017-05-18 Marek Polacek <polacek@redhat.com> 2237 2238 * c-common.c (self_promoting_args_p): Change the return type to bool. 2239 Use false/true instead of 0/1. 2240 * c-common.h (self_promoting_args_p): Update. 2241 22422017-05-17 Marek Polacek <polacek@redhat.com> 2243 2244 * c-common.c: Use NULL_TREE instead of 0 where appropriate. 2245 * c-warn.c: Likewise. 2246 22472017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com> 2248 2249 Implement new C++ intrinsics __is_assignable and __is_constructible. 2250 * c-common.c (__is_assignable, __is_constructible): New. 2251 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise. 2252 22532017-05-17 Martin Liska <mliska@suse.cz> 2254 2255 * c-common.h: Introduce dump_flags_t type and 2256 use it instead of int type. 2257 * c-gimplify.c (c_genericize): Likewise. 2258 * c-opts.c: Likewise. 2259 22602017-05-17 Marek Polacek <polacek@redhat.com> 2261 2262 * c-common.c (c_save_expr): Remove. 2263 (c_common_truthvalue_conversion): Remove a call to c_save_expr. 2264 * c-common.h (c_save_expr): Remove declaration. 2265 22662017-05-09 Volker Reichelt <v.reichelt@netcologne.de> 2267 2268 PR c/35441 2269 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR, 2270 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR. 2271 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR. 2272 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR, 2273 RDIV_EXPR. 2274 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR. 2275 22762017-05-09 Marek Polacek <polacek@redhat.com> 2277 2278 PR c/80525 2279 * c-warn.c (unwrap_c_maybe_const): New. 2280 (warn_logical_operator): Call it. 2281 22822017-05-09 Nathan Sidwell <nathan@acm.org> 2283 2284 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook. 2285 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here. 2286 22872017-05-08 Martin Sebor <msebor@redhat.com> 2288 2289 PR translation/80280 2290 * c-format.h (struct format_flag_spec): Add new member. 2291 (T89_T): New macro. 2292 * c-format.c (local_tree_type_node): New global. 2293 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data. 2294 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto. 2295 (strfmon_flag_specs): Likewise. 2296 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers 2297 with distinct quoting properties. 2298 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same. 2299 (flag_chars_t::validate): Add argument and handle bad quoting. 2300 (check_format_info_main): Handle quoting problems. 2301 (init_dynamic_diag_info): Simplify. 2302 23032017-05-08 Jason Merrill <jason@redhat.com> 2304 2305 * c-opts.c (c_common_post_options): Update defaults for 2306 flag_abi_version and flag_abi_compat_version. 2307 23082017-05-05 David Malcolm <dmalcolm@redhat.com> 2309 2310 * c-common.c (c_cpp_error): Replace report_diagnostic 2311 with diagnostic_report_diagnostic. 2312 23132017-05-04 Martin Sebor <msebor@redhat.com> 2314 2315 PR translation/80280 2316 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive. 2317 (handle_weakref_attribute): Same. 2318 23192017-05-03 Nathan Sidwell <nathan@acm.org> 2320 2321 Canonicalize canonical type hashing 2322 * c-common.c (complete_array_type): Use type_hash_canon. 2323 23242017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn> 2325 2326 PR c++/80038 2327 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove 2328 prototype. 2329 (cilk_install_body_pedigree_operations): Likewise. 2330 * cilk.c (cilk_set_spawn_marker): Mark functions that should be 2331 detatched. 2332 (cilk_gimplify_call_params_in_spawned_fn): Remove. 2333 (cilk_install_body_pedigree_operations): Likewise. 2334 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR 2335 unwrapping. 2336 23372017-04-27 Jakub Jelinek <jakub@redhat.com> 2338 2339 PR c++/80534 2340 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE 2341 flag on non-aggregate element types. 2342 23432017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de> 2344 2345 * c-common.c (c_type_hasher, type_hash_table): Remove. 2346 (c_common_get_alias_set): Remove unreachable code. 2347 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file. 2348 23492017-04-20 Volker Reichelt <v.reichelt@netcologne.de> 2350 2351 * c.opt (Wextra-semi): New C++ warning flag. 2352 23532017-04-20 Jakub Jelinek <jakub@redhat.com> 2354 2355 PR middle-end/80423 2356 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE. 2357 23582017-04-18 Jakub Jelinek <jakub@redhat.com> 2359 2360 PR middle-end/79788 2361 PR middle-end/80375 2362 * c-common.c (c_common_type_for_mode): Don't handle 2363 widest_*_literal_type_node here. 2364 c_common_signed_or_unsigned_type): Likewise. 2365 (c_common_nodes_and_builtins): Set widest_*_literal_type_node 2366 to *intTI_type_node or *intDI_type_node depending on whether 2367 TImode is supported by the target or not. 2368 23692017-04-10 Martin Liska <mliska@suse.cz> 2370 2371 PR sanitizer/80350 2372 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before 2373 doing an UBSAN check. 2374 23752017-04-03 Jonathan Wakely <jwakely@redhat.com> 2376 2377 * c-warn.c (do_warn_double_promotion): Fix typo in comment. 2378 23792017-03-31 Jakub Jelinek <jakub@redhat.com> 2380 2381 PR c++/79572 2382 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to 2383 tree *. 2384 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle 2385 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with 2386 REFERENCE_TYPE. 2387 23882017-03-31 David Malcolm <dmalcolm@redhat.com> 2389 2390 PR documentation/78732 2391 * c.opt (Wendif-labels): Fix description to refer to 2392 #else rather than #elif. 2393 23942017-03-31 Jakub Jelinek <jakub@redhat.com> 2395 2396 PR libstdc++/80251 2397 * c-common.h (enum rid): Add RID_IS_AGGREGATE. 2398 * c-common.c (c_common_reswords): Add __is_aggregate trait. 2399 24002017-03-27 Jakub Jelinek <jakub@redhat.com> 2401 2402 PR middle-end/80162 2403 * c-common.c (c_common_mark_addressable_vec): Don't set 2404 TREE_ADDRESSABLE on DECL_HARD_REGISTER. 2405 24062017-03-21 Martin Sebor <msebor@redhat.com> 2407 2408 PR c++/79548 2409 * c-common.c (set_underlying_type): Mark type used only when 2410 original del is declared unused. 2411 24122017-03-10 David Malcolm <dmalcolm@redhat.com> 2413 2414 PR translation/79848 2415 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to 2416 "%qs". 2417 24182017-03-10 David Malcolm <dmalcolm@redhat.com> 2419 2420 PR c/79921 2421 * c-indentation.c (warn_for_misleading_indentation): Remove parens 2422 from inform's message, so that xgettext can locate it. 2423 24242017-03-09 Marek Polacek <polacek@redhat.com> 2425 2426 PR c++/79962 2427 PR c++/79984 2428 * c-attribs.c (handle_nonnull_attribute): Save the result of default 2429 conversion to the attribute list. 2430 24312017-03-09 Martin Liska <mliska@suse.cz> 2432 2433 * c-ada-spec.c (macro_length): Increment value instead of a pointer. 2434 24352017-03-03 Jason Merrill <jason@redhat.com> 2436 2437 * c.opt (Wnoexcept-type): New. 2438 24392017-03-02 Richard Biener <rguenther@suse.de> 2440 2441 PR c/79756 2442 * c-common.c (c_common_mark_addressable_vec): Look through 2443 C_MAYBE_CONST_EXPR. 2444 24452017-02-28 Martin Liska <mliska@suse.cz> 2446 2447 * c.opt: Replace space with tabular for options of <number> 2448 type. 2449 24502017-02-28 Martin Liska <mliska@suse.cz> 2451 2452 * c.opt: Fix --help=option -Q for options which are of 2453 an enum type. 2454 24552017-02-24 Jakub Jelinek <jakub@redhat.com> 2456 2457 PR c++/79588 2458 * c-common.c (check_function_restrict): New function. 2459 (check_function_arguments): Add FNDECL argument. Call 2460 check_function_restrict if -Wrestrict. 2461 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY 2462 and NARGS. Use auto_vec for ARG_POSITIONS, simplify. 2463 * c-common.h (check_function_arguments): Add FNDECL argument. 2464 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS. 2465 24662017-02-24 Eric Botcazou <ebotcazou@adacore.com> 2467 2468 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the 2469 treatment of parameters with pointer-to-tagged type and tidy up. 2470 (print_ada_methods): Remove the special treatment of C++ static member 2471 functions. 2472 24732017-02-22 Martin Liska <mliska@suse.cz> 2474 2475 * c.opt: Replace inequality signs with square brackets 2476 for -Wnornalized. 2477 24782017-02-21 Jakub Jelinek <jakub@redhat.com> 2479 2480 PR c++/79641 2481 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to 2482 preserve quals. 2483 24842017-02-17 Joseph Myers <joseph@codesourcery.com> 2485 2486 * c-cppbuiltin.c (builtin_define_float_constants): Define 2487 __DECIMAL_DIG__ to the value for long double. 2488 24892017-02-15 Marek Polacek <polacek@redhat.com> 2490 2491 PR c/79515 2492 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid 2493 conversion has occured. 2494 24952017-01-24 David Malcolm <dmalcolm@redhat.com> 2496 2497 * c-common.c (c_common_reswords): Add "__RTL". 2498 * c-common.h (enum rid): Add RID_RTL. 2499 25002017-01-20 Marek Polacek <polacek@redhat.com> 2501 2502 PR c/64279 2503 * c-common.h (do_warn_duplicated_branches_r): Declare. 2504 * c-gimplify.c (c_genericize): Walk the function tree calling 2505 do_warn_duplicated_branches_r. 2506 * c-warn.c (expr_from_macro_expansion_r): New. 2507 (do_warn_duplicated_branches): New. 2508 (do_warn_duplicated_branches_r): New. 2509 * c.opt (Wduplicated-branches): New option. 2510 25112017-01-17 David Malcolm <dmalcolm@redhat.com> 2512 2513 PR c++/71497 2514 * c-indentation.c (warn_for_misleading_indentation): Use the past 2515 subjunctive in the note. 2516 25172017-01-17 Aldy Hernandez <aldyh@redhat.com> 2518 2519 PR c/79116 2520 * array-notation-common.c (cilkplus_extract_an_triplets): Convert 2521 start type to integer_type. 2522 25232017-01-16 Jakub Jelinek <jakub@redhat.com> 2524 2525 PR driver/49726 2526 * c.opt (gen-decls): Add Driver flag. 2527 25282017-01-16 Paolo Carlini <paolo.carlini@oracle.com> 2529 2530 Revert: 2531 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com> 2532 2533 PR c++/71737 2534 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE. 2535 25362017-01-16 Paolo Carlini <paolo.carlini@oracle.com> 2537 2538 PR c++/71737 2539 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE. 2540 25412017-01-12 Martin Sebor <msebor@redhat.com> 2542 2543 (-Wformat-overflow): ...to this. 2544 25452017-01-11 Martin Sebor <msebor@redhat.com> 2546 2547 PR c/78768 2548 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation): 2549 Also enable for LTO. 2550 25512017-01-10 Jason Merrill <jason@redhat.com> 2552 2553 Implement P0195R2, C++17 variadic using. 2554 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using. 2555 25562017-01-09 Jakub Jelinek <jakub@redhat.com> 2557 2558 PR translation/79019 2559 PR translation/79020 2560 * c.opt (Wnormalized=): Fix typo in description. 2561 25622017-01-08 Martin Sebor <msebor@redhat.com> 2563 2564 PR middle-end/77708 2565 * c.opt (-Wformat-truncation): New option. 2566 25672017-01-06 Alexandre Oliva <aoliva@redhat.com> 2568 2569 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit 2570 value to unsigned short to fit in 4 hex digits without 2571 warnings. 2572 25732017-01-05 Eric Botcazou <ebotcazou@adacore.com> 2574 2575 * c.opt (fsso-struct): Add 'native' value. 2576 25772017-01-05 Martin Liska <mliska@suse.cz> 2578 2579 PR pch/78970 2580 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled 2581 header. 2582 25832017-01-04 Marek Polacek <polacek@redhat.com> 2584 2585 PR c++/64767 2586 * c.opt (Wpointer-compare): New option. 2587 25882017-01-04 Jakub Jelinek <jakub@redhat.com> 2589 2590 PR driver/78957 2591 * c.opt (fsso-struct=): Add RejectNegative. 2592 25932017-01-01 Jakub Jelinek <jakub@redhat.com> 2594 2595 Update copyright years. 2596 25972016-12-29 Martin Liska <mliska@suse.cz> 2598 2599 PR c/78933 2600 * c.opt (strong-eval-order): Add RejectNegative keyword. 2601 26022016-12-22 Jason Merrill <jason@redhat.com> 2603 2604 Implement P0522R0, matching of template template arguments. 2605 * c-cppbuiltin.c (c_cpp_builtins): Define 2606 __cpp_template_template_args. 2607 26082016-12-21 Jakub Jelinek <jakub@redhat.com> 2609 2610 PR bootstrap/78817 2611 * c-common.c (struct nonnull_arg_ctx): New type. 2612 (check_function_nonnull): Return bool instead of void. Use 2613 nonnull_arg_ctx as context rather than just location_t. 2614 (check_nonnull_arg): Adjust for the new context type, set 2615 warned_p to true if a warning has been diagnosed. 2616 (check_function_arguments): Return bool instead of void. 2617 * c-common.h (check_function_arguments): Adjust prototype. 2618 26192016-12-21 Jason Merrill <jason@redhat.com> 2620 2621 * c.opt (-fnew-ttp-matching): New flag. 2622 * c-opts.c (c_common_post_options): Default on if -std=c++1z. 2623 26242016-12-14 Martin Jambor <mjambor@suse.cz> 2625 2626 * c-omp.c: Include omp-general.h instead of omp-low.h. 2627 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new 2628 name. 2629 26302016-12-14 Martin Sebor <msebor@redhat.com> 2631 2632 PR c/17308 2633 * c-common.c (check_nonnull_arg): Disable when optimization 2634 is enabled. 2635 26362016-12-12 Marek Polacek <polacek@redhat.com> 2637 2638 PR c++/78647 2639 * c-common.c (attribute_fallthrough_p): Return false for 2640 error_mark_node. 2641 26422016-12-08 Martin Sebor <msebor@redhat.com> 2643 2644 PR c/78284 2645 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options. 2646 26472016-12-08 Martin Sebor <msebor@redhat.com> 2648 2649 PR c/78165 2650 * c-pretty-print (pp_c_integer_constant): Avoid formatting type 2651 suffix. 2652 26532016-12-07 Martin Sebor <msebor@redhat.com> 2654 2655 PR c/53562 2656 PR middle-end/77784 2657 PR middle-end/78149 2658 PR middle-end/78138 2659 * c.opt (-Wstringop-overflow): New option. 2660 26612016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com> 2662 2663 * c-attribs.c (asan odr indicator): New attribute. 2664 (handle_asan_odr_indicator_attribute): New function. 2665 26662016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 2667 2668 * c-common.c (c_common_nodes_and_builtins): Remove initialization of 2669 ptrdiff_type_node; 2670 26712016-11-23 James Greenhalgh <james.greenhalgh@arm.com> 2672 2673 * c-common.c (excess_precision_mode_join): New. 2674 (c_ts18661_flt_eval_method): New. 2675 (c_c11_flt_eval_method): Likewise. 2676 (c_flt_eval_method): Likewise. 2677 * c-common.h (excess_precision_mode_join): New. 2678 (c_flt_eval_method): Likewise. 2679 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New. 2680 (cpp_iec_559_value): Call it. 2681 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__, 2682 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and 2683 __FLT_EVAL_METHOD_TS_18661_3__. 2684 26852016-11-23 James Greenhalgh <james.greenhalgh@arm.com> 2686 2687 * c-opts.c (c_common_post_options): Add logic to handle the default 2688 case for -fpermitted-flt-eval-methods. 2689 26902016-11-23 Paolo Bonzini <bonzini@gnu.org> 2691 2692 * c.opt (Wexpansion-to-defined): New. 2693 26942016-11-23 Jakub Jelinek <jakub@redhat.com> 2695 2696 PR target/78451 2697 * c-pragma.c (handle_pragma_target): Don't replace 2698 current_target_pragma, but chainon the new args to the current one. 2699 27002016-11-22 Nathan Sidwell <nathan@acm.org> 2701 2702 * array-notation-common.c (cilkplus_extract_an_trplets): Fix 2703 indentation and formatting. 2704 27052016-11-21 Martin Sebor <msebor@redhat.com> 2706 2707 * c.opt (-fprintf-return-value): Enable by default. 2708 27092016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de> 2710 2711 PR c++/71973 2712 * c.opt (-Wbuiltin-declaration-mismatch): New warning. 2713 * c-common.c (c_common_nodes_and_builtins): Initialize 2714 const_tm_ptr_type_node. 2715 27162016-11-16 Marek Polacek <polacek@redhat.com> 2717 2718 PR c/78285 2719 * c-common.c (c_add_case_label): Turn error_at calls into inform. 2720 27212016-11-14 Jakub Jelinek <jakub@redhat.com> 2722 2723 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings. 2724 27252016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com> 2726 Richard Biener <rguenther@suse.de> 2727 2728 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types. 2729 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI. 2730 * c.opt (fgimple): New option. 2731 27322016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> 2733 2734 PR c/35503 2735 * c-common.h (warn_for_restrict): Declare. 2736 * c-warn.c: Include gcc-rich-location.h. 2737 (warn_for_restrict): New function. 2738 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier. 2739 (gcc_cdiag_char_table): Likewise. 2740 (gcc_cxxdiag_char_table): Likewise. 2741 * c.opt (Wrestrict): New option. 2742 27432016-11-13 Eric Botcazou <ebotcazou@adacore.com> 2744 2745 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look 2746 for nested types only if the type is a record or union and dump SLOC. 2747 27482016-11-09 Jason Merrill <jason@redhat.com> 2749 2750 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto. 2751 27522016-11-09 Jakub Jelinek <jakub@redhat.com> 2753 2754 * c-ubsan.c (ubsan_instrument_shift): Handle split 2755 -fsanitize=shift-base and -fsanitize=shift-exponent. 2756 27572016-11-07 Jason Merrill <jason@redhat.com> 2758 2759 * c.opt (Wc++1z-compat): New. 2760 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type. 2761 27622016-11-07 Martin Liska <mliska@suse.cz> 2763 2764 * c-warn.c (warn_for_unused_label): Save all labels used 2765 in goto or in &label. 2766 27672016-11-03 Jason Merrill <jason@redhat.com> 2768 2769 * c-cppbuiltin.c (c_cpp_builtins): Correct 2770 __cpp_inheriting_constructors. 2771 27722016-11-01 Jason Merrill <jason@redhat.com> 2773 2774 * c-cppbuiltin.c (c_cpp_builtins): Update 2775 __cpp_inheriting_constructors. 2776 2777 * c.opt (-fnew-inheriting-ctors): New. 2778 * c-opts.c: Default to on for ABI 11+. 2779 27802016-10-31 Jakub Jelinek <jakub@redhat.com> 2781 2782 PR c++/77948 2783 * c.opt (fext-numeric-literals): Add Var and Init. 2784 * c-opts.c (c_common_handle_option): Don't clear 2785 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}. 2786 (c_common_post_options): Clear it here if not set 2787 explicitly. 2788 27892016-10-28 Aldy Hernandez <aldyh@redhat.com> 2790 2791 PR debug/77773 2792 * c-pretty-print.c (simple_type_specifier): Do not dereference `t' 2793 if NULL. 2794 27952016-10-25 Jakub Jelinek <jakub@redhat.com> 2796 2797 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER. 2798 * c-common.c (c_common_reswords): Add __builtin_launder. 2799 28002016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de> 2801 2802 * c-common.c (c_common_truthvalue_conversion): Warn for 2803 multiplications in boolean context. Fix the quoting of '<<' and '<' 2804 in the shift warning. 2805 28062016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de> 2807 2808 * c-common.c (c_common_truthvalue_conversion): Fix the comment. 2809 28102016-10-20 Jason Merrill <jason@redhat.com> 2811 2812 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value. 2813 28142016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de> 2815 2816 * c-common.c (c_common_truthvalue_conversion): Warn only for signed 2817 integer shift ops in boolean context. 2818 28192016-10-18 Aldy Hernandez <aldyh@redhat.com> 2820 2821 * c.opt (Walloca): New. 2822 (Walloca-larger-than=): New. 2823 (Wvla-larger-than=): New. 2824 28252016-10-17 Marek Polacek <polacek@redhat.com> 2826 2827 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names. 2828 Return immediately when finding a match. 2829 (warn_tautological_cmp): Remove a boolean variable that is no longer 2830 needed. 2831 28322016-10-17 Marek Polacek <polacek@redhat.com> 2833 2834 * c-attribs.c: New file. 2835 * c-common.c: Move attributes handling to c-attribs.c. 2836 (get_nonnull_operand): No longer static. 2837 * c-common.h: Move the declarations from c-attribs.c to its own section. 2838 28392016-10-14 Jason Merrill <jason@redhat.com> 2840 2841 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases 2842 and __cpp_deduction_guides. 2843 28442016-10-13 Jason Merrill <jason@redhat.com> 2845 2846 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables. 2847 28482016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com> 2849 2850 * c-cppbuiltin.c: Include memmodel.h. 2851 * c-opts.c: Likewise. 2852 * c-pragma.c: Likewise. 2853 * c-warn.c: Likewise. 2854 28552016-10-12 Jakub Jelinek <jakub@redhat.com> 2856 2857 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option. 2858 (Wimplicit-fallthrough=): Enable for these languages by -Wextra. 2859 * c-opts.c (sanitize_cpp_opts): Initialize 2860 cpp_opts->cpp_warn_implicit_fallthrough. 2861 28622016-10-11 Marek Polacek <polacek@redhat.com> 2863 2864 * c-common.c (warning_candidate_p): Change the return type to bool 2865 and return true/false instead of 1/0. 2866 (vector_mode_valid_p): Likewise. 2867 28682016-10-11 Marek Polacek <polacek@redhat.com> 2869 2870 * c-common.c (fold_for_warn): No longer static. 2871 (bool_promoted_to_int_p): Likewise. 2872 (c_common_get_narrower): Likewise. 2873 (constant_expression_warning): Move to c-warn.c. 2874 (constant_expression_error): Likewise. 2875 (overflow_warning): Likewise. 2876 (warn_logical_operator): Likewise. 2877 (find_array_ref_with_const_idx_r): Likewise. 2878 (warn_tautological_cmp): Likewise. 2879 (expr_has_boolean_operands_p): Likewise. 2880 (warn_logical_not_parentheses): Likewise. 2881 (warn_if_unused_value): Likewise. 2882 (strict_aliasing_warning): Likewise. 2883 (sizeof_pointer_memaccess_warning): Likewise. 2884 (check_main_parameter_types): Likewise. 2885 (conversion_warning): Likewise. 2886 (warnings_for_convert_and_check): Likewise. 2887 (match_case_to_enum_1): Likewise. 2888 (match_case_to_enum): Likewise. 2889 (c_do_switch_warnings): Likewise. 2890 (warn_for_omitted_condop): Likewise. 2891 (readonly_error): Likewise. 2892 (lvalue_error): Likewise. 2893 (invalid_indirection_error): Likewise. 2894 (warn_array_subscript_with_type_char): Likewise. 2895 (warn_about_parentheses): Likewise. 2896 (warn_for_unused_label): Likewise. 2897 (warn_for_div_by_zero): Likewise. 2898 (warn_for_memset): Likewise. 2899 (warn_for_sign_compare): Likewise. 2900 (do_warn_double_promotion): Likewise. 2901 (do_warn_unused_parameter): Likewise. 2902 (record_locally_defined_typedef): Likewise. 2903 (maybe_record_typedef_use): Likewise. 2904 (maybe_warn_unused_local_typedefs): Likewise. 2905 (maybe_warn_bool_compare): Likewise. 2906 (maybe_warn_shift_overflow): Likewise. 2907 (warn_duplicated_cond_add_or_warn): Likewise. 2908 (diagnose_mismatched_attributes): Likewise. 2909 * c-common.h: Move the declarations from c-warn.c to its own section. 2910 * c-warn.c: New file. 2911 29122016-10-08 Jason Merrill <jason@redhat.com> 2913 2914 * c-common.c (c_common_truthvalue_conversion): Don't distribute 2915 into COND_EXPR in C++. 2916 29172016-10-08 Jakub Jelinek <jakub@redhat.com> 2918 2919 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT 2920 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and 2921 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards. 2922 29232016-10-07 Jakub Jelinek <jakub@redhat.com> 2924 2925 Implement LWG2296 helper intrinsic 2926 * c-common.h (enum rid): Add RID_ADDRESSOF. 2927 * c-common.c (c_common_reswords): Add __builtin_addressof. 2928 29292016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de> 2930 2931 PR c++/77700 2932 * c-common.c (c_common_truthvalue_conversion): Warn also for 2933 suspicious enum values in boolean context. 2934 29352016-10-06 Jakub Jelinek <jakub@redhat.com> 2936 2937 Implement P0258R2 - helper for C++17 2938 std::has_unique_object_representations trait 2939 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS. 2940 * c-common.c (c_common_reswords): Add 2941 __has_unique_object_representations. 2942 29432016-10-05 Jakub Jelinek <jakub@redhat.com> 2944 2945 PR sanitizer/66343 2946 * c-ubsan.c (ubsan_instrument_return): Don't call 2947 initialize_sanitizer_builtins here. 2948 29492016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de> 2950 2951 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious 2952 conditional expression in boolean context when only one arm is 2953 non-boolean. 2954 29552016-10-05 Jakub Jelinek <jakub@redhat.com> 2956 2957 PR sanitizer/77823 2958 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0 2959 is not integral. 2960 2961 * c-common.c (c_common_reswords): Update comment for C++11. 2962 29632016-10-04 Jason Merrill <jason@redhat.com> 2964 2965 * c-common.c (make_tree_vector_from_ctor): New. 2966 * c-common.h: Declare it. 2967 29682016-10-04 Jakub Jelinek <jakub@redhat.com> 2969 2970 * c-cppbuiltin.c (c_cpp_builtins): Don't define 2971 __LIBGCC_JCR_SECTION_NAME__. 2972 29732016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de> 2974 2975 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious 2976 left shift in boolean context. 2977 29782016-09-29 Jakub Jelinek <jakub@redhat.com> 2979 2980 Implement P0001R1 - C++17 removal of register storage class specifier 2981 * c.opt (Wregister): New warning. 2982 * c-opts.c (c_common_post_options): Enable -Wregister by 2983 default for C++17. 2984 29852016-09-29 James Greenhalgh <james.greenhalgh@arm.com> 2986 2987 * c-opts.c (c_common_post_options): Remove special case for 2988 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard 2989 in C++. 2990 29912016-09-27 Jakub Jelinek <jakub@redhat.com> 2992 2993 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for 2994 -std=c++1z. 2995 2996 * c-ada-spec.c (print_ada_declaration): Remove break after return. 2997 29982016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com> 2999 3000 * c-common.c: Include memmodel.h. 3001 30022016-09-26 Marek Polacek <polacek@redhat.com> 3003 3004 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough. 3005 30062016-09-26 Marek Polacek <polacek@redhat.com> 3007 3008 PR c/7652 3009 * c-common.c (c_common_attribute_table): Add fallthrough attribute. 3010 (handle_fallthrough_attribute): New function. 3011 (attribute_fallthrough_p): New function. 3012 * c-common.h (attribute_fallthrough_p): Declare. 3013 30142016-09-24 Marek Polacek <polacek@redhat.com> 3015 3016 PR c/77490 3017 * c.opt (Wbool-operation): New. 3018 30192016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de> 3020 3021 * c-common.c (c_common_truthvalue_conversion): Inhibit 3022 Wint-in-bool-context warning with from_macro_definition_at. 3023 Mention the expression will always evaluate to true. 3024 30252016-09-21 Martin Sebor <msebor@redhat.com> 3026 3027 PR bootstrap/77676 3028 * c.opt (fprintf-return-value): Temporarily initialize to zero 3029 to unblock bootstrap failures. 3030 30312016-09-21 Jakub Jelinek <jakub@redhat.com> 3032 3033 PR c++/77651 3034 * c.opt (Waligned-new=): Add RejectNegative. 3035 (faligned-new=): Likewise. Spelling fix - change 3036 aligned_new_threshhold to aligned_new_threshold. 3037 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold 3038 to aligned_new_threshold. 3039 30402016-09-20 Martin Sebor <msebor@redhat.com> 3041 3042 PR middle-end/49905 3043 * c.opt: Add -Wformat-length and -fprintf-return-value. 3044 30452016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de> 3046 3047 PR c++/77434 3048 * c.opt (Wint-in-bool-context): New warning. 3049 * c-common.c (c_common_truthvalue_conversion): Warn on integer 3050 constants in boolean context. 3051 30522016-09-19 Joseph Myers <joseph@codesourcery.com> 3053 3054 * c-common.c (max_align_t_align): Also consider alignment of 3055 float128_type_node. 3056 30572016-09-15 Jason Merrill <jason@redhat.com> 3058 3059 * c-common.c (check_cxx_fundamental_alignment_constraints): Check 3060 DECL_EXTERNAL. 3061 30622016-09-14 Jason Merrill <jason@redhat.com> 3063 3064 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't 3065 limit FIELD_DECL, either. 3066 30672016-09-14 Marek Polacek <polacek@redhat.com> 3068 3069 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0. 3070 * c-common.h (build_unary_op): Change nonconvert parameter type to bool. 3071 * c-omp.c (c_finish_omp_atomic): Use false instead of 0. 3072 30732016-09-13 David Malcolm <dmalcolm@redhat.com> 3074 3075 * c-common.c (warn_logical_not_parentheses): Replace 3076 rich_location::add_fixit_insert calls with add_fixit_insert_before 3077 and add_fixit_insert_after, eliminating the "next_loc" calculation. 3078 30792016-09-13 Jason Merrill <jason@redhat.com> 3080 Tom de Vries <tom@codesourcery.com> 3081 3082 PR c++/77427 3083 * c-common.c (set_underlying_type): Don't treat array as builtin type. 3084 30852016-09-13 Jason Merrill <jason@redhat.com> 3086 3087 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't 3088 limit types at all. 3089 30902016-09-12 Jason Merrill <jason@redhat.com> 3091 3092 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix 3093 bit/byte confusion, allow large alignment for types. 3094 30952016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de> 3096 3097 PR c++/77496 3098 * c-common.c (warn_for_omitted_condop): Also warn for boolean data. 3099 31002016-09-12 David Malcolm <dmalcolm@redhat.com> 3101 3102 PR c/72858 3103 * c-format.c (argument_parser::check_argument_type): Add params 3104 "type_start" and "conversion_char". Use the former to generate 3105 offset_to_type_start and pass it and conversion_char to 3106 check_format_types. 3107 (check_format_info_main): Capture the start of the type 3108 information as "type_start", and pass it an format_char 3109 to arg_parser.check_argument_type. 3110 (check_format_types): Provide an example in the leading comment. 3111 Add params "offset_to_type_start" and "conversion_char"; pass 3112 them to format_type_warning calls. 3113 (test_get_modifier_for_format_len): Likewise. 3114 (matching_type_p): New function. 3115 (get_format_for_type): Add param "conversion_char" and move 3116 implementation into... 3117 (get_format_for_type_1): ...new function, called twice. 3118 Use new function matching_type_p rather than checking for 3119 TYPE_CANONICAL equality. 3120 (get_corrected_substring): New function. 3121 (format_type_warning): Provide an example in the leading comment. 3122 Add params "offset_to_type_start" and "conversion_char". Replace 3123 call to get_format_for_type with call to get_corrected_substring 3124 and move rejection of hints for widths/precisions there. 3125 (assert_format_for_type_streq): Add param "conversion_char". 3126 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR. 3127 (test_get_format_for_type_printf): Add conversion chars to the 3128 tests, adding coverage for various combinations of integer 3129 vs double conversions, and for preserving octal and hexadecimal 3130 conversions. 3131 (test_get_format_for_type_scanf): Add conversion chars to the 3132 tests. 3133 31342016-09-10 Tom de Vries <tom@codesourcery.com> 3135 3136 PR C/71602 3137 * c-common.c (build_va_arg): Handle more strict 3138 targetm.canonical_va_list_type. Replace first argument type error with 3139 assert. 3140 31412016-09-09 Martin Sebor <msebor@redhat.com> 3142 3143 PR c/77520 3144 PR c/77521 3145 * c-format.c (argument_parser::find_format_char_info): Use %qc 3146 format directive unconditionally. 3147 31482016-09-09 Jason Merrill <jason@redhat.com> 3149 3150 Implement C++17 new of over-aligned types. 3151 * c.opt: Add -faligned-new and -Waligned-new. 3152 * c-common.c (max_align_t_align): Split out from... 3153 (cxx_fundamental_alignment_p): ...here. 3154 * c-common.h: Declare it. 3155 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new. 3156 31572016-09-09 Joseph Myers <joseph@codesourcery.com> 3158 3159 * c-cppbuiltin.c (builtin_define_type_width): New function. 3160 (builtin_define_stdint_macros, c_cpp_builtins): Define type width 3161 macros. 3162 31632016-09-07 David Malcolm <dmalcolm@redhat.com> 3164 3165 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed 3166 a POINTER_TYPE. 3167 (substring_loc::get_location): Move to substring-locations.c, 3168 keeping implementation as... 3169 (c_get_substring_location): New function, from the above, reworked 3170 to use accessors rather than member lookup. 3171 * c-common.h (class substring_loc): Move to substring-locations.h, 3172 replacing with a forward decl. 3173 (c_get_substring_location): New decl. 3174 * c-format.c: Include "substring-locations.h". 3175 (format_warning_va): Move to substring-locations.c. 3176 (format_warning_at_substring): Likewise. 3177 31782016-09-06 Martin Sebor <msebor@redhat.com> 3179 3180 PR c/77336 3181 * c-format.c (check_function_format): Avoid issuing warnings for 3182 functions unless they call format functions with non-constant 3183 format strings. 3184 31852016-09-06 Richard Biener <rguenther@suse.de> 3186 3187 PR c/77450 3188 * c-common.c (c_common_mark_addressable_vec): Handle 3189 COMPOUND_LITERAL_EXPR. 3190 31912016-09-05 Marek Polacek <polacek@redhat.com> 3192 3193 PR c/77423 3194 * c-common.c (bool_promoted_to_int_p): New function. 3195 (expr_has_boolean_operands_p): New function. 3196 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p. 3197 (maybe_warn_bool_compare): Use bool_promoted_to_int_p. 3198 31992016-09-04 Tom de Vries <tom@codesourcery.com> 3200 3201 revert: 3202 2016-08-29 Tom de Vries <tom@codesourcery.com> 3203 3204 * c-common.c (build_va_arg): Replace first argument type error 3205 with assert. 3206 32072016-09-02 Jakub Jelinek <jakub@redhat.com> 3208 3209 PR c/65467 3210 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions. 3211 (c_finish_omp_for): Reject _Atomic qualified iterators. 3212 32132016-09-01 Martin Sebor <msebor@redhat.com> 3214 3215 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer 3216 size to guarantee it fits the output of the formatted function 3217 regardless of its arguments. 3218 32192016-09-01 Marek Polacek <polacek@redhat.com> 3220 3221 PR c/7652 3222 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add 3223 FALLTHRU comments. 3224 32252016-08-29 Marek Polacek <polacek@redhat.com> 3226 3227 PR c/77292 3228 * c-common.c (warn_logical_not_parentheses): Don't warn for 3229 a comparison or a logical operator. 3230 32312016-08-29 Tom de Vries <tom@codesourcery.com> 3232 3233 * c-common.c (build_va_arg): Fix type comparison assert. 3234 32352016-08-29 Tom de Vries <tom@codesourcery.com> 3236 3237 * c-common.c (build_va_arg): Replace first argument type error 3238 with assert. 3239 32402016-08-29 Tom de Vries <tom@codesourcery.com> 3241 3242 PR c/77398 3243 * c-common.c (build_va_arg): Add first argument error. Build va_arg 3244 with error_mark_node as va_list instead of with illegal va_list. 3245 32462016-08-25 Marek Polacek <polacek@redhat.com> 3247 David Malcolm <dmalcolm@redhat.com> 3248 3249 * c-common.c (warn_logical_not_parentheses): Print fixit hints. 3250 * c-common.h (warn_logical_not_parentheses): Update declaration. 3251 32522016-08-22 Marek Polacek <polacek@redhat.com> 3253 3254 PR c++/77321 3255 * c-common.c (warn_for_memset): Check type for null. 3256 32572016-08-22 Joseph Myers <joseph@codesourcery.com> 3258 3259 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and 3260 _FloatNx types for suffixes for built-in functions. 3261 32622016-08-19 Joseph Myers <joseph@codesourcery.com> 3263 3264 PR c/32187 3265 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32) 3266 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X) 3267 (RID_FLOAT128X): New enum rid values. 3268 (CASE_RID_FLOATN_NX): New macro. 3269 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx 3270 keywords. 3271 (c_common_type_for_mode): Check for _FloatN and _FloatNx and 3272 corresponding complex types. 3273 (c_common_nodes_and_builtins): For non-C++, register _FloatN and 3274 _FloatNx and corresponding complex types. 3275 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX. 3276 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN 3277 and _FloatNx types for the widest type for determining 3278 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as 3279 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL. 3280 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN 3281 and _FloatNx types. 3282 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx 3283 constants. 3284 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and 3285 _FloatNx types. 3286 32872016-08-18 David Malcolm <dmalcolm@redhat.com> 3288 3289 * c-opts.c (c_diagnostic_finalizer): Update for change to 3290 diagnostic_show_locus. 3291 32922016-08-18 David Malcolm <dmalcolm@redhat.com> 3293 3294 * c-common.c: Include "spellcheck.h". 3295 (cb_get_suggestion): New function. 3296 * c-common.h (cb_get_suggestion): New decl. 3297 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to 3298 cb_get_suggestion. 3299 33002016-08-18 Marek Polacek <polacek@redhat.com> 3301 3302 PR c/71514 3303 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function 3304 and pointer-to-VLA. 3305 33062016-08-16 David Malcolm <dmalcolm@redhat.com> 3307 3308 PR c/72857 3309 * c-common.c (substring_loc::get_range): Rename to... 3310 (substring_loc::get_location): ...this, converting param from a 3311 source_range * to a location_t *. Call 3312 get_source_location_for_substring rather than 3313 get_source_range_for_substring, and pass in m_caret_idx. 3314 * c-common.h (substring_loc::substring_loc): Add param "caret_idx". 3315 (substring_loc::get_range): Replace with... 3316 (substring_loc::get_location): ...this. 3317 (substring_loc::set_caret_index): New method. 3318 (substring_loc): Add field m_caret_idx. 3319 * c-format.c (format_warning_va): Update for above changes. 3320 Rename local "substring_loc" to "fmt_substring_loc" to avoid 3321 clashing with type name. 3322 (format_warning_at_char): Add caret_idx param to substring_loc ctor. 3323 (check_argument_type): Likewise. 3324 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc" 3325 Use a copy when emitting warnings, setting the caret index from TYPE. 3326 33272016-08-16 Eric Botcazou <ebotcazou@adacore.com> 3328 Arnaud Charlet <charlet@adacore.com> 3329 3330 * c-ada-spec.c (dump_number): New function. 3331 (handle_escape_character): Likewise. 3332 (print_ada_macros): Add handling of constant integers and strings. 3333 33342016-08-12 Marek Polacek <polacek@redhat.com> 3335 3336 PR c/7652 3337 * c-common.c (scalar_to_vector): Adjust fall through comment. 3338 * c-opts.c (c_common_handle_option): Likewise. 3339 * c-pragma.c (handle_pragma_pack): Add FALLTHRU. 3340 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust 3341 fall through comment. 3342 * cilk.c (extract_free_variables): Add FALLTHRU. 3343 33442016-08-10 Jason Merrill <jason@redhat.com> 3345 3346 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr. 3347 33482016-08-09 Jason Merrill <jason@redhat.com> 3349 3350 * c-common.c (c_common_attribute_table): vector_size affects type 3351 identity. 3352 33532016-08-09 Marek Polacek <polacek@redhat.com> 3354 3355 PR c/7652 3356 * c-ada-spec.c (dump_generic_ada_node): Add return. 3357 33582016-08-09 Jason Merrill <jason@redhat.com> 3359 3360 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for 3361 C++17 constexpr lambdas. 3362 33632016-08-08 David Malcolm <dmalcolm@redhat.com> 3364 3365 PR c/64955 3366 * c-common.h (selftest::c_format_c_tests): New declaration. 3367 (selftest::run_c_tests): New declaration. 3368 * c-format.c: Include "selftest.h. 3369 (format_warning_va): Add param "corrected_substring" and use 3370 it to add a replacement fix-it hint. 3371 (format_warning_at_substring): Likewise. 3372 (format_warning_at_char): Update for new param of 3373 format_warning_va. 3374 (argument_parser::check_argument_type): Pass "fki" to 3375 check_format_types. 3376 (check_format_types): Add param "fki" and pass it to 3377 format_type_warning. 3378 (deref_n_times): New function. 3379 (get_modifier_for_format_len): New function. 3380 (selftest::test_get_modifier_for_format_len): New function. 3381 (get_format_for_type): New function. 3382 (format_type_warning): Add param "fki" and use it to attempt 3383 to provide hints for argument types when calling 3384 format_warning_at_substring. 3385 (selftest::get_info): New function. 3386 (selftest::assert_format_for_type_streq): New function. 3387 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro. 3388 (selftest::test_get_format_for_type_printf): New function. 3389 (selftest::test_get_format_for_type_scanf): New function. 3390 (selftest::c_format_c_tests): New function. 3391 33922016-08-08 David Malcolm <dmalcolm@redhat.com> 3393 3394 PR c/52952 3395 * c-format.c: Include "diagnostic.h". 3396 (location_column_from_byte_offset): Delete. 3397 (location_from_offset): Delete. 3398 (format_warning_va): New function. 3399 (format_warning_at_substring): New function. 3400 (format_warning_at_char): New function. 3401 (check_format_arg): Capture location of format_tree and pass to 3402 check_format_info_main. 3403 (argument_parser): Add fields "start_of_this_format" and 3404 "format_string_cst". 3405 (flag_chars_t::validate): Add param "format_string_cst". Convert 3406 warning_at call using location_from_offset to call to 3407 format_warning_at_char. 3408 (argument_parser::argument_parser): Add param "format_string_cst_" 3409 and use use it to initialize field "format_string_cst". 3410 Initialize new field "start_of_this_format". 3411 (argument_parser::read_format_flags): Convert warning_at call 3412 using location_from_offset to a call to format_warning_at_char. 3413 (argument_parser::read_any_format_left_precision): Likewise. 3414 (argument_parser::read_any_format_precision): Likewise. 3415 (argument_parser::read_any_other_modifier): Likewise. 3416 (argument_parser::find_format_char_info): Likewise, in three places. 3417 (argument_parser::parse_any_scan_set): Likewise, in one place. 3418 (argument_parser::handle_conversions): Likewise, in two places. 3419 (argument_parser::check_argument_type): Add param "fmt_param_loc" 3420 and use it to make a substring_loc. Pass the latter to 3421 check_format_types. 3422 (check_format_info_main): Add params "fmt_param_loc" and 3423 "format_string_cst". Convert warning_at calls using 3424 location_from_offset to calls to format_warning_at_char. Pass the 3425 new params to the arg_parser ctor. Pass "format_string_cst" to 3426 flag_chars.validate. Pass "fmt_param_loc" to 3427 arg_parser.check_argument_type. 3428 (check_format_types): Convert first param from a location_t 3429 to a const substring_loc & and rename to "fmt_loc". Attempt 3430 to extract the range of the relevant parameter and pass it 3431 to format_type_warning. 3432 (format_type_warning): Convert first param from a location_t 3433 to a const substring_loc & and rename to "fmt_loc". Add 3434 params "param_range" and "type". Replace calls to warning_at 3435 with calls to format_warning_at_substring. 3436 34372016-08-08 David Malcolm <dmalcolm@redhat.com> 3438 3439 * c-format.c (class flag_chars_t): New class. 3440 (struct length_modifier): New struct. 3441 (class argument_parser): New class. 3442 (flag_chars_t::flag_chars_t): New ctor. 3443 (flag_chars_t::has_char_p): New method. 3444 (flag_chars_t::add_char): New method. 3445 (flag_chars_t::validate): New method. 3446 (flag_chars_t::get_alloc_flag): New method. 3447 (flag_chars_t::assignment_suppression_p): New method. 3448 (argument_parser::argument_parser): New ctor. 3449 (argument_parser::read_any_dollar): New method. 3450 (argument_parser::read_format_flags): New method. 3451 (argument_parser::read_any_format_width): New method. 3452 (argument_parser::read_any_format_left_precision): New method. 3453 (argument_parser::read_any_format_precision): New method. 3454 (argument_parser::handle_alloc_chars): New method. 3455 (argument_parser::read_any_length_modifier): New method. 3456 (argument_parser::read_any_other_modifier): New method. 3457 (argument_parser::find_format_char_info): New method. 3458 (argument_parser::validate_flag_pairs): New method. 3459 (argument_parser::give_y2k_warnings): New method. 3460 (argument_parser::parse_any_scan_set): New method. 3461 (argument_parser::handle_conversions): New method. 3462 (argument_parser::check_argument_type): New method. 3463 (check_format_info_main): Introduce classes argument_parser 3464 and flag_chars_t, moving the code within the loop into methods 3465 of these classes. Make various locals "const". 3466 34672016-08-05 David Malcolm <dmalcolm@redhat.com> 3468 3469 * c-common.c: Include "substring-locations.h". 3470 (get_cpp_ttype_from_string_type): New function. 3471 (g_string_concat_db): New global. 3472 (substring_loc::get_range): New method. 3473 * c-common.h (g_string_concat_db): New declaration. 3474 (class substring_loc): New class. 3475 * c-lex.c (lex_string): When concatenating strings, capture the 3476 locations of all tokens using a new obstack, and record the 3477 concatenation locations within g_string_concat_db. 3478 * c-opts.c (c_common_init_options): Construct g_string_concat_db 3479 on the ggc-heap. 3480 34812016-07-29 Marek Polacek <polacek@redhat.com> 3482 3483 PR c/71926 3484 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the 3485 parentheses warning. 3486 3487 PR c/71574 3488 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL. 3489 34902016-07-28 Martin Liska <mliska@suse.cz> 3491 3492 PR gcov-profile/68025 3493 * c-common.c (handle_no_profile_instrument_function_attribute): 3494 34952016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de> 3496 3497 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of 3498 BITS_PER_UNIT_LOG. 3499 35002016-07-25 Jason Merrill <jason@redhat.com> 3501 3502 PR c++/65970 3503 * c.opt (fconstexpr-loop-limit): New. 3504 35052016-07-22 Martin Sebor <msebor@redhat.com> 3506 3507 PR c++/71675 3508 * c-common.c (resolve_overloaded_builtin): Avoid converting 3509 __atomic_compare_exchange_n return type to that of what its 3510 first argument points to. 3511 35122016-07-22 Uros Bizjak <ubizjak@gmail.com> 3513 3514 * c-common.c: Use HOST_WIDE_INT_M1U instead of 3515 ~(unsigned HOST_WIDE_INT) 0. 3516 35172016-07-22 Martin Liska <mliska@suse.cz> 3518 3519 PR gcov-profile/69028 3520 PR gcov-profile/62047 3521 * cilk.c (create_cilk_helper_decl): Set location of a new decl 3522 to the current_function_decl. 3523 35242016-07-21 Jason Merrill <jason@redhat.com> 3525 3526 PR c++/65168 3527 * c-common.c (c_common_truthvalue_conversion): Check 3528 c_inhibit_evaluation_warnings for warning about address of 3529 reference. 3530 35312016-07-20 David Malcolm <dmalcolm@redhat.com> 3532 3533 * c-common.h (lookup_name_fuzzy): Convert return type from tree to 3534 const char *. 3535 35362016-07-15 Jason Merrill <jason@redhat.com> 3537 3538 * c-opts.c (c_common_post_options): Update -fabi-version default to 11. 3539 35402016-07-15 Jakub Jelinek <jakub@redhat.com> 3541 3542 PR c/71858 3543 * c-common.h (enum lookup_name_fuzzy_kind): Add 3544 FUZZY_LOOKUP_FUNCTION_NAME. 3545 35462016-07-08 Jason Merrill <jason@redhat.com> 3547 3548 P0145: Refining Expression Order for C++. 3549 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order. 3550 * c-opts.c: Adjust. 3551 35522016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de> 3553 3554 PR c++/71214 3555 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references. 3556 35572016-06-29 Thomas Schwinge <thomas@codesourcery.com> 3558 3559 * c-pragma.h (enum pragma_kind): Rename 3560 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all 3561 users. 3562 35632016-06-29 Richard Biener <rguenther@suse.de> 3564 3565 PR middle-end/71002 3566 * c-common.c (c_common_get_alias_set): Remove union type punning case. 3567 35682016-06-24 Jason Merrill <jason@redhat.com> 3569 3570 P0145R2: Refining Expression Order for C++. 3571 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of 3572 MODIFY_EXPR. 3573 35742016-06-24 Jakub Jelinek <jakub@redhat.com> 3575 3576 * c-common.c (check_builtin_function_arguments): Require last 3577 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type. 3578 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW 3579 if the last argument is pointer to enumerated or boolean type. 3580 35812016-06-22 David Malcolm <dmalcolm@redhat.com> 3582 3583 PR c/70339 3584 * c-common.h (enum lookup_name_fuzzy_kind): New enum. 3585 (lookup_name_fuzzy): New prototype. 3586 35872016-06-21 John David Anglin <danglin@gcc.gnu.org> 3588 3589 * c-common.c (get_source_date_epoch): Use int64_t instead of long long. 3590 35912016-06-14 Jason Merrill <jason@redhat.com> 3592 3593 P0145R2: Refining Expression Order for C++. 3594 * c.opt (fargs-in-order): New. 3595 * c-opts.c (c_common_post_options): Adjust flag_args_in_order. 3596 35972016-06-13 Jakub Jelinek <jakub@redhat.com> 3598 3599 PR sanitizer/71498 3600 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on 3601 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY. 3602 3603 PR preprocessor/71183 3604 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch 3605 to cb_get_source_date_epoch. 3606 36072016-06-10 Jakub Jelinek <jakub@redhat.com> 3608 3609 PR c/68657 3610 * c.opt (Wpsabi): Add Warning flag. 3611 36122016-06-10 Martin Sebor <msebor@redhat.com> 3613 3614 PR c/71392 3615 * c-common.c (handle_nonnull_attribute): Accept 3616 the nonnull attribute in type-generic builtins. 3617 36182016-06-09 Martin Sebor <msebor@redhat.com> 3619 3620 PR c/70883 3621 * c-common.c (builtin_function_validate_nargs): Make text of error 3622 message consistent with others like it. 3623 36242016-06-08 Martin Sebor <msebor@redhat.com> 3625 Jakub Jelinek <jakub@redhat.com> 3626 3627 PR c++/70507 3628 PR c/68120 3629 * c-common.c (check_builtin_function_arguments): Handle 3630 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P. 3631 36322016-06-08 Richard Biener <rguenther@suse.de> 3633 3634 * c-common.c (parse_optimize_options): Improve diagnostic messages. 3635 36362016-06-07 Richard Biener <rguenther@suse.de> 3637 3638 PR c/61564 3639 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION 3640 options and warn about others. 3641 36422016-06-01 Eduard Sanou <dhole@openmailbox.org> 3643 3644 * c-common.c (get_source_date_epoch): Rename to 3645 cb_get_source_date_epoch. 3646 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr 3647 message when the parsing fails. Use error_at instead of fatal_error. 3648 * c-common.h (get_source_date_epoch): Rename to 3649 cb_get_source_date_epoch. 3650 * c-common.h (cb_get_source_date_epoch): Prototype. 3651 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define. 3652 * c-common.h (c_omp_region_type): Remove trailing comma. 3653 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback. 3654 * c-lex.c (c_lex_with_flags): Remove initialization of 3655 pfile->source_date_epoch. 3656 36572016-05-30 Jakub Jelinek <jakub@redhat.com> 3658 3659 PR c++/71349 3660 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to 3661 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to 3662 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct, 3663 instead of C_OMP_CLAUSE_SPLIT_FOR. 3664 36652016-05-24 Richard Biener <rguenther@suse.de> 3666 3667 PR middle-end/70434 3668 PR c/69504 3669 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ... 3670 (convert_vector_to_array_for_subscript): ... this. 3671 * c-common.c (convert_vector_to_pointer_for_subscript): Use a 3672 VIEW_CONVERT_EXPR to an array type. Rename to ... 3673 (convert_vector_to_array_for_subscript): ... this. 3674 36752016-05-12 Marek Polacek <polacek@redhat.com> 3676 3677 PR c/70756 3678 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of 3679 size_in_bytes and pass LOC to it. 3680 36812016-05-11 Mikhail Maltsev <maltsevm@gmail.com> 3682 3683 PR c/43651 3684 * c.opt (Wduplicate-decl-specifier): New option. 3685 36862016-05-11 Marek Polacek <polacek@redhat.com> 3687 3688 PR c++/71024 3689 * c-common.c (diagnose_mismatched_attributes): New function. 3690 * c-common.h (diagnose_mismatched_attributes): Declare. 3691 36922016-05-04 Marek Polacek <polacek@redhat.com> 3693 3694 * c.opt (Wdangling-else): New option. 3695 36962016-05-03 Marek Polacek <polacek@redhat.com> 3697 3698 PR c/70859 3699 * c-common.c (builtin_function_validate_nargs): Add location 3700 parameter. Use it. 3701 (check_builtin_function_arguments): Add location and arguments 3702 parameters. Use them. 3703 * c-common.h (check_builtin_function_arguments): Update declaration. 3704 37052016-05-03 Richard Biener <rguenther@suse.de> 3706 3707 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not 3708 allow call args to gimplify to SSA names. 3709 37102016-05-03 Marek Polacek <polacek@redhat.com> 3711 3712 * c-common.h (enum c_omp_region_type): Remove stray comma. 3713 37142016-05-02 Cesar Philippidis <cesar@codesourcery.com> 3715 3716 * c-common.h (enum c_omp_region_type): Define. 3717 37182016-05-02 Richard Sandiford <richard.sandiford@arm.com> 3719 3720 * c-common.c (shorten_compare): Use wi::to_wide. 3721 37222016-04-29 Cesar Philippidis <cesar@codesourcery.com> 3723 3724 PR middle-end/70626 3725 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument. 3726 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate 3727 reduction clauses in acc parallel loops. 3728 37292016-04-29 Marek Polacek <polacek@redhat.com> 3730 3731 PR c/70852 3732 * c-common.c (warn_for_memset): Check domain before accessing it. 3733 37342016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com> 3735 3736 PR/69089 3737 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the 3738 "aligned" attribute. 3739 37402016-04-28 Jason Merrill <jason@redhat.com> 3741 3742 * c-lex.c (c_common_has_attribute): Handle nodiscard. 3743 37442016-04-28 Eduard Sanou <dhole@openmailbox.org> 3745 Matthias Klose <doko@debian.org> 3746 3747 * c-common.c (get_source_date_epoch): New function, gets the environment 3748 variable SOURCE_DATE_EPOCH and parses it as long long with error 3749 handling. 3750 * c-common.h (get_source_date_epoch): Prototype. 3751 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch. 3752 37532015-04-27 Ryan Burn <contact@rnburn.com> 3754 3755 PR c++/69024 3756 PR c++/68997 3757 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage. 3758 (cilk_recognize_spawn): Renamed from recognize_spawn and change to 3759 external linkage. 3760 (cilk_detect_and_unwrap): Corresponding changes. 3761 (extract_free_variables): Don't extract free variables from 3762 AGGR_INIT_EXPR slot. 3763 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype. 3764 (cilk_recognize_spawn): Likewise. 3765 37662016-04-27 Bernd Schmidt <bschmidt@redhat.com> 3767 3768 * c.opt (Wmemset-elt-size): New option. 3769 * c-common.c (warn_for_memset): New function. 3770 * c-common.h (warn_for_memset): Declare. 3771 37722016-04-25 Jason Merrill <jason@redhat.com> 3773 3774 * c-common.c (handle_unused_attribute): Accept CONST_DECL. 3775 No longer static. 3776 * c-common.h: Declare it. 3777 * c-lex.c (c_common_has_attribute): Add maybe_unused. 3778 37792016-04-22 Jason Merrill <jason@redhat.com> 3780 3781 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for. 3782 37832016-04-20 Ilya Verbin <ilya.verbin@intel.com> 3784 3785 PR c++/69363 3786 * c-cilkplus.c (c_finish_cilk_clauses): Remove function. 3787 * c-common.h (c_finish_cilk_clauses): Remove declaration. 3788 37892016-04-18 Michael Matz <matz@suse.de> 3790 3791 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN 3792 and SET_DECL_ALIGN. 3793 37942016-04-17 Eric Botcazou <ebotcazou@adacore.com> 3795 3796 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any. 3797 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access 3798 to incomplete types. 3799 (dump_nested_type): Remove redundant tests and tidy up. 3800 (print_ada_declaration): Also set TREE_VISITED on the declaration of 3801 a type which is the typedef of an original type. 3802 38032016-04-15 Marek Polacek <polacek@redhat.com> 3804 3805 PR c/70651 3806 * c-common.c (build_va_arg): Change two asserts into errors and return 3807 error_mark_node. 3808 38092016-04-13 Marek Polacek <polacek@redhat.com> 3810 3811 PR c++/70639 3812 * c-indentation.c (should_warn_for_misleading_indentation): Bail out 3813 for switch statements, too. 3814 38152016-03-28 Jason Merrill <jason@redhat.com> 3816 3817 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for. 3818 38192016-03-23 Marek Polacek <polacek@redhat.com> 3820 3821 PR c++/69884 3822 * c.opt (Wignored-attributes): New option. 3823 38242016-03-22 David Malcolm <dmalcolm@redhat.com> 3825 3826 PR c/69993 3827 * c-indentation.c (warn_for_misleading_indentation): Rewrite the 3828 diagnostic text, reversing the order of the warning and note so 3829 that they appear in source order. 3830 38312016-03-17 Marek Polacek <polacek@redhat.com> 3832 3833 PR c/69407 3834 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch 3835 operations. 3836 38372016-03-14 Jason Merrill <jason@redhat.com> 3838 3839 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float. 3840 3841 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for. 3842 38432016-03-09 Richard Biener <rguenther@suse.de> 3844 3845 PR c/70143 3846 * c-common.c (strict_aliasing_warning): Add back 3847 alias_sets_conflict_p check. 3848 38492016-03-08 Jason Merrill <jason@redhat.com> 3850 3851 * c-opts.c (set_std_cxx1z): Don't enable concepts. 3852 38532016-03-04 David Malcolm <dmalcolm@redhat.com> 3854 3855 PR c/68187 3856 * c-indentation.c (get_visual_column): Move code to determine next 3857 tab stop to... 3858 (next_tab_stop): ...this new function. 3859 (line_contains_hash_if): Delete function. 3860 (detect_preprocessor_logic): Delete function. 3861 (get_first_nws_vis_column): New function. 3862 (detect_intervening_unindent): New function. 3863 (should_warn_for_misleading_indentation): Replace call to 3864 detect_preprocessor_logic with a call to 3865 detect_intervening_unindent. 3866 38672016-03-04 David Malcolm <dmalcolm@redhat.com> 3868 3869 PR c/68187 3870 * c-indentation.c (should_warn_for_misleading_indentation): When 3871 suppressing warnings about cases where the guard and body are on 3872 the same column, only use the first non-whitespace column in place 3873 of the guard token column when dealing with "else" clauses. 3874 When rejecting aligned BODY and NEXT, loosen the requirement 3875 from equality with the first non-whitespace of guard to simply 3876 that they not be indented relative to it. 3877 38782016-03-04 Richard Biener <rguenther@suse.de> 3879 3880 PR c++/70054 3881 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of 3882 instead of alias_sets_conflict_p. 3883 38842016-03-01 Marek Polacek <polacek@redhat.com> 3885 3886 PR c++/69795 3887 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than 3888 any DECL. 3889 38902016-02-22 Martin Sebor <msebor@redhat.com> 3891 3892 PR middle-end/69780 3893 * c-common.c (check_builtin_function_arguments): Validate and 3894 reject invalid arguments to __builtin_alloca_with_align. 3895 38962016-02-20 Mark Wielaard <mjw@redhat.com> 3897 3898 PR c/28901 3899 * c.opt (Wunused-const-variable): Turn into Alias for... 3900 (Wunused-const-variable=): New option. 3901 39022016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de> 3903 3904 PR c++/69865 3905 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from 3906 here... 3907 (c_common_init_options): ...to here. 3908 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99. 3909 39102016-02-19 Jakub Jelinek <jakub@redhat.com> 3911 3912 PR c++/69826 3913 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE. 3914 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for 3915 flag_preprocess_only. 3916 39172016-02-16 Jakub Jelinek <jakub@redhat.com> 3918 3919 PR c/69835 3920 * c.opt (Wnonnull-compare): Enable for -Wall. 3921 39222016-02-15 Jakub Jelinek <jakub@redhat.com> 3923 3924 PR c++/69797 3925 * c-common.c (sync_resolve_size): Diagnose too few arguments 3926 even when params is non-NULL empty vector. 3927 39282016-02-08 Bernd Schmidt <bschmidt@redhat.com> 3929 3930 PR target/60410 3931 * c.opt (fshort-double): Remove. 3932 39332016-02-05 Martin Sebor <msebor@redhat.com> 3934 3935 PR c++/69662 3936 * c.opt (Warning options): Update -Wplacement-new to take 3937 an optional argument. 3938 39392016-02-01 Jakub Jelinek <jakub@redhat.com> 3940 3941 PR preprocessor/69543 3942 PR c/69558 3943 * c-pragma.c (handle_pragma_diagnostic): Pass input_location 3944 instead of loc to control_warning_option. 3945 39462016-02-01 Nathan Sidwell <nathan@codesourcery.com> 3947 3948 * c.opt (fopenacc-dim=): New option. 3949 39502016-01-27 Ryan Burn <contact@rnburn.com> 3951 3952 PR cilkplus/69267 3953 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use 3954 gimplify_arg. Removed superfluous post_p argument. 3955 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed 3956 superfluous post_p argument. 3957 * c-gimplify.c (c_gimplify_expr): Likewise. 3958 39592016-01-26 David Malcolm <dmalcolm@redhat.com> 3960 3961 PR other/69006 3962 * c-opts.c (c_diagnostic_finalizer): Replace invocation of 3963 pp_newline_and_flush with pp_flush. 3964 39652016-01-20 Martin Sebor <msebor@redhat.com> 3966 3967 PR c/69405 3968 * c-common.c (sync_resolve_size): Avoid printing diagnostic about 3969 an incompatible argument when the argument isn't a valid tree node. 3970 39712016-01-18 Jason Merrill <jason@redhat.com> 3972 3973 PR c++/68767 3974 * c-common.c (check_function_arguments_recurse): Fold the whole 3975 COND_EXPR, not just the condition. 3976 39772016-01-18 Tom de Vries <tom@codesourcery.com> 3978 3979 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION, 3980 classify as loop clause. 3981 39822016-01-15 Jakub Jelinek <jakub@redhat.com> 3983 3984 PR bootstrap/68271 3985 * c-pragma.c (c_register_pragma_1): Adjust comment to note that 3986 C++ FE no longer has limit on number of pragmas. 3987 39882015-01-14 Ryan Burn <contact@rnburn.com> 3989 3990 PR c++/69048 3991 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr 3992 to add missing cleanup point. 3993 39942016-01-14 David Malcolm <dmalcolm@redhat.com> 3995 3996 PR c++/68819 3997 * c-indentation.c (get_visual_column): Add location_t param. 3998 Handle the column number being zero by effectively disabling the 3999 warning, with an "inform". 4000 (should_warn_for_misleading_indentation): Add location_t argument 4001 for all uses of get_visual_column. 4002 40032016-01-10 Patrick Palka <ppalka@gcc.gnu.org> 4004 4005 PR c++/69029 4006 * c-indentation.c (should_warn_for_misleading_indentation): 4007 Don't warn about do-while statements. 4008 40092016-01-07 Martin Sebor <msebor@redhat.com> 4010 4011 PR c/68966 4012 * c-common.c (sync_resolve_size): Reject first argument when it's 4013 a pointer to _Bool. 4014 40152016-01-05 David Malcolm <dmalcolm@redhat.com> 4016 4017 PR c/69122 4018 * c-indentation.c (get_visual_column): Remove default argument. 4019 (should_warn_for_misleading_indentation): For the multiline case, 4020 update call to get_visual_column for next_stmt_exploc so that it 4021 captures the location of the first non-whitespace character in the 4022 relevant line. Don't issue warnings if there is non-whitespace 4023 before the next statement. 4024 40252016-01-04 Jakub Jelinek <jakub@redhat.com> 4026 4027 Update copyright years. 4028 40292015-12-21 David Malcolm <dmalcolm@redhat.com> 4030 4031 * c-common.c (binary_op_error): Convert first param from 4032 location_t to rich_location * and use it when emitting an error. 4033 * c-common.h (binary_op_error): Convert first param from 4034 location_t to rich_location *. 4035 40362015-12-16 David Malcolm <dmalcolm@redhat.com> 4037 4038 * c-common.h (conflict_marker_get_final_tok_kind): New prototype. 4039 * c-lex.c (conflict_marker_get_final_tok_kind): New function. 4040 40412015-12-15 Ilya Verbin <ilya.verbin@intel.com> 4042 4043 * c-common.c (c_common_attribute_table): Handle "omp declare target 4044 link" attribute. 4045 40462015-12-14 Jakub Jelinek <jakub@redhat.com> 4047 4048 PR c/68833 4049 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option. 4050 40512014-12-12 Tobias Burnus <burnus@net-b.de> 4052 4053 PR fortran/68815 4054 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining 4055 specifiers (%d, %i,%u and %c). 4056 40572015-12-10 David Malcolm <dmalcolm@redhat.com> 4058 4059 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++. 4060 40612015-12-08 Jakub Jelinek <jakub@redhat.com> 4062 4063 PR c/48088 4064 PR c/68657 4065 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning. 4066 * c-pragma.c (handle_pragma_diagnostic): Adjust 4067 control_warning_option caller. 4068 40692015-12-07 David Malcolm <dmalcolm@redhat.com> 4070 4071 * c-common.c (c_cpp_error): Update for change to 4072 rich_location::set_range. 4073 40742015-12-04 Paolo Bonzini <bonzini@gnu.org> 4075 4076 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if 4077 shifting 1 out of the sign bit. 4078 40792015-12-04 Kirill Yukhin <kirill.yukhin@intel.com> 4080 4081 * c-common.c (c_common_attribute_table[]): Update max arguments 4082 count for "simd" attribute. 4083 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments. 4084 40852015-12-03 Jakub Jelinek <jakub@redhat.com> 4086 4087 PR preprocessor/57580 4088 * c-ppoutput.c (print): Change printed field to bool. 4089 Move src_file last for smaller padding. 4090 (init_pp_output): Set print.printed to false instead of 0. 4091 (scan_translation_unit): Fix up formatting. Set print.printed 4092 to true after printing something other than newline. 4093 (scan_translation_unit_trad): Set print.printed to true instead of 1. 4094 (maybe_print_line_1): Set print.printed to false instead of 0. 4095 (print_line_1): Likewise. 4096 (do_line_change): Set print.printed to true instead of 1. 4097 (cb_define, dump_queued_macros, cb_include, cb_def_pragma, 4098 dump_macro): Set print.printed to false after printing newline. 4099 41002015-12-02 Jason Merrill <jason@redhat.com> 4101 4102 * c-common.c (fold_for_warn): New. 4103 (warn_logical_operator, warn_tautological_cmp) 4104 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it. 4105 4106 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold) 4107 (c_fully_fold_internal, decl_constant_value_for_optimization): 4108 Move to c/c-fold.c. 4109 * c-common.h: Don't declare decl_constant_value_for_optimization. 4110 41112015-12-02 Joseph Myers <joseph@codesourcery.com> 4112 4113 PR c/68162 4114 * c-common.h (c_build_qualified_type): Add extra default 4115 arguments. 4116 41172015-12-01 Julian Brown <julian@codesourcery.com> 4118 Cesar Philippidis <cesar@codesourcery.com> 4119 James Norris <James_Norris@mentor.com> 4120 4121 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA. 4122 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA. 4123 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE. 4124 41252015-11-30 Eric Botcazou <ebotcazou@adacore.com> 4126 4127 * c-ada-spec.c (print_ada_macros): Remove redundant blank line. 4128 (decl_sloc_common): Delete and move bulk of processing to... 4129 (decl_sloc): ...here. 4130 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE. 4131 (dump_ada_double_name): Remove S parameter and compute the suffix. 4132 (dump_ada_array_type): Add PARENT parameter. Simplify computation of 4133 element type and deal with an anonymous one. 4134 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro. 4135 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type 4136 and remove reference to QUAL_UNION_TYPE. 4137 (dump_nested_types): Make 2 passes on the fields and move bulk to... 4138 (dump_nested_type): ...here. New function extracted from above. 4139 Generate a full declaration for anonymous element type of arrays. 4140 (print_ada_declaration): Really skip anonymous declarations. Remove 4141 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type. 4142 Clean up processing of declarations of array types and objects. 4143 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE. 4144 Remove obsolete code and tidy up. 4145 41462015-11-29 Jan Hubicka <hubicka@ucw.cz> 4147 4148 PR c/67581 4149 * c-common.c (handle_transparent_union_attribute): Update 4150 also type variants. 4151 41522015-11-27 Martin Liska <mliska@suse.cz> 4153 4154 PR c++/68312 4155 * array-notation-common.c (cilkplus_extract_an_triplets): 4156 Release vector of vectors. 4157 * cilk.c (gimplify_cilk_spawn): Free allocated memory. 4158 41592015-11-26 Eric Botcazou <ebotcazou@adacore.com> 4160 4161 PR c++/68527 4162 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node. 4163 (print_ada_struct_decl): Likewise. 4164 41652015-11-23 Igor Zamyatin <igor.zamyatin@intel.com> 4166 4167 PR c++/68001 4168 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error. 4169 * cilk.c (recognize_spawn): Determine location in a more precise 4170 way. 4171 41722015-11-19 Jason Merrill <jason@redhat.com> 4173 4174 * c-common.c (shorten_compare): But look through macros from 4175 system headers. 4176 41772015-11-18 Jason Merrill <jason@redhat.com> 4178 4179 * c-common.c (shorten_compare): Don't -Wtype-limits if the 4180 non-constant operand comes from a macro. 4181 41822015-11-17 Jason Merrill <jason@redhat.com> 4183 4184 PR bootstrap/68346 4185 * c-common.c (warn_tautological_cmp): Fold before checking for 4186 constants. 4187 41882015-11-16 Marek Polacek <polacek@redhat.com> 4189 4190 PR c++/68362 4191 * c-common.c (check_case_bounds): Fold low and high cases. 4192 41932015-11-16 Marek Polacek <polacek@redhat.com> 4194 4195 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P. 4196 * c-common.c (c_common_get_alias_set): Likewise. 4197 (handle_visibility_attribute): Likewise. 4198 41992015-11-16 Kirill Yukhin <kirill.yukhin@intel.com> 4200 4201 * c-common.c (handle_simd_attribute): New. 4202 (struct attribute_spec): Add entry for "simd". 4203 (handle_simd_attribute): New. 4204 42052015-11-13 Kai Tietz <ktietz70@googlemail.com> 4206 4207 * c-lex.c (interpret_float): Use fold_convert. 4208 42092015-11-13 David Malcolm <dmalcolm@redhat.com> 4210 4211 * c-common.c (c_fully_fold_internal): Capture existing souce_range, 4212 and store it on the result. 4213 * c-opts.c (c_common_init_options): Set 4214 global_dc->colorize_source_p. 4215 42162015-11-12 James Norris <jnorris@codesourcery.com> 4217 Joseph Myers <joseph@codesourcery.com> 4218 4219 * c-pragma.c (oacc_pragmas): Add entry for declare directive. 4220 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE. 4221 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and 4222 PRAGMA_OACC_CLAUSE_LINK. 4223 42242015-11-11 Marek Polacek <polacek@redhat.com> 4225 4226 PR c/68107 4227 PR c++/68266 4228 * c-common.c (valid_array_size_p): New function. 4229 * c-common.h (valid_array_size_p): Declare. 4230 42312015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr> 4232 4233 PR bootstrap/68271 4234 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256. 4235 42362015-11-11 Andrew MacLeod <amacleod@redhat.com> 4237 4238 * array-notation-common.c: Remove unused header files. 4239 * c-ada-spec.c: Likewise. 4240 * c-cilkplus.c: Likewise. 4241 * c-common.c: Likewise. 4242 * c-cppbuiltin.c: Likewise. 4243 * c-dump.c: Likewise. 4244 * c-format.c: Likewise. 4245 * c-gimplify.c: Likewise. 4246 * c-indentation.c: Likewise. 4247 * c-lex.c: Likewise. 4248 * c-omp.c: Likewise. 4249 * c-opts.c: Likewise. 4250 * c-pch.c: Likewise. 4251 * c-ppoutput.c: Likewise. 4252 * c-pragma.c: Likewise. 4253 * c-pretty-print.c: Likewise. 4254 * c-semantics.c: Likewise. 4255 * c-ubsan.c: Likewise. 4256 * cilk.c: Likewise. 4257 * stub-objc.c: Likewise. 4258 42592015-11-09 Thomas Schwinge <thomas@codesourcery.com> 4260 Cesar Philippidis <cesar@codesourcery.com> 4261 James Norris <jnorris@codesourcery.com> 4262 Julian Brown <julian@codesourcery.com> 4263 Nathan Sidwell <nathan@codesourcery.com> 4264 4265 * c-pragma.c (oacc_pragmas): Add "routine". 4266 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE. 4267 42682015-11-08 Eric Botcazou <ebotcazou@adacore.com> 4269 4270 * c-common.c (c_common_attributes): Add scalar_storage_order. 4271 (handle_scalar_storage_order_attribute): New function. 4272 * c-pragma.c (global_sso): New variable. 4273 (maybe_apply_pragma_scalar_storage_order): New function. 4274 (handle_pragma_scalar_storage_order): Likewise. 4275 (init_pragma): Register scalar_storage_order. 4276 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare. 4277 * c.opt (Wscalar-storage-order): New warning. 4278 (fsso-struct=): New option. 4279 42802015-11-08 Martin Sebor <msebor@redhat.com> 4281 4282 * c.opt (Wplacement-new): Add a period to the end of a sentence. 4283 42842015-11-07 Richard Sandiford <richard.sandiford@arm.com> 4285 4286 * c-common.c: Don't undef DEF_BUILTIN. 4287 42882015-11-06 David Malcolm <dmalcolm@redhat.com> 4289 4290 * c-common.c (c_cpp_error): Convert parameter from location_t to 4291 rich_location *. Eliminate the "column_override" parameter and 4292 the call to diagnostic_override_column. 4293 Update the "done_lexing" clause to set range 0 4294 on the rich_location, rather than overwriting a location_t. 4295 * c-common.h (c_cpp_error): Convert parameter from location_t to 4296 rich_location *. Eliminate the "column_override" parameter. 4297 42982015-11-05 Cesar Philippidis <cesar@codesourcery.com> 4299 Thomas Schwinge <thomas@codesourcery.com> 4300 James Norris <jnorris@codesourcery.com> 4301 4302 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR, 4303 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION 4304 clauses with parallel and kernels and loops. 4305 * c-pragma.h (enum pragma_omp_clause): Add entries for 4306 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}. 4307 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS, 4308 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO, 4309 INDEPENDENT,SEQ}. 4310 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}. 4311 43122015-11-05 Martin Sebor <msebor@redhat.com> 4313 4314 PR c++/67942 4315 * c.opt (-Wplacement-new): New option. 4316 43172015-11-05 Jakub Jelinek <jakub@redhat.com> 4318 4319 * c-common.h (c_finish_omp_atomic): Add TEST argument. 4320 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes. 4321 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call 4322 save_expr or create_tmp_var* if TEST is true. 4323 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always. 4324 Don't call add_stmt here. 4325 (struct c_omp_check_loop_iv_data): New type. 4326 (c_omp_check_loop_iv_r, c_omp_check_loop_iv, 4327 c_omp_check_loop_iv_exprs): New functions. 4328 (c_omp_split_clauses): Adjust for lastprivate being allowed on 4329 distribute. 4330 (c_omp_declare_simd_clauses_to_numbers): Change 4331 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers. 4332 (c_omp_declare_simd_clauses_to_decls): Similarly change those 4333 from numbers to PARM_DECLs. 4334 43352015-11-04 Mikhail Maltsev <maltsevm@gmail.com> 4336 4337 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use 4338 flag_checking. 4339 43402015-11-03 Bernd Schmidt <bschmidt@redhat.com> 4341 4342 PR c++-common/67882 4343 * c-common.h (fold_offsetof_1): Add argument. 4344 * c-common.c (fold_offsetof_1): Diagnose more invalid 4345 offsetof expressions that reference elements past the end of 4346 an array. 4347 43482015-11-03 Thomas Schwinge <thomas@codesourcery.com> 4349 Chung-Lin Tang <cltang@codesourcery.com> 4350 4351 * c-pragma.c (oacc_pragmas): Add "atomic". 4352 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC. 4353 43542015-10-30 Evgeny Stupachenko <evstupac@gmail.com> 4355 4356 * c-common.c (handle_target_clones_attribute): New. 4357 (c_common_attribute_table): Add handle_target_clones_attribute. 4358 (handle_always_inline_attribute): Add check on target_clones attribute. 4359 (handle_target_attribute): Ditto. 4360 43612015-10-29 Andrew MacLeod <amacleod@redhat.com> 4362 4363 * array-notation-common.c: Reorder #include's and remove duplicates. 4364 * c-ada-spec.c: Likewise. 4365 * c-cilkplus.c: Likewise. 4366 * c-common.c: Likewise. 4367 * c-cppbuiltin.c: Likewise. 4368 * c-dump.c: Likewise. 4369 * c-format.c: Likewise. 4370 * c-gimplify.c: Likewise. 4371 * c-indentation.c: Likewise. 4372 * c-lex.c: Likewise. 4373 * c-omp.c: Likewise. 4374 * c-opts.c: Likewise. 4375 * c-pch.c: Likewise. 4376 * c-ppoutput.c: Likewise. 4377 * c-pragma.c: Likewise. 4378 * c-pretty-print.c: Likewise. 4379 * c-semantics.c: Likewise. 4380 * c-ubsan.c: Likewise. 4381 * cilk.c: Likewise. 4382 * stub-objc.c: Likewise. 4383 43842015-10-28 Jason Merrill <jason@redhat.com> 4385 4386 * c-common.c (pointer_int_sum): Fold the MULT_EXPR. 4387 43882015-10-27 Thomas Schwinge <thomas@codesourcery.com> 4389 James Norris <jnorris@codesourcery.com> 4390 Cesar Philippidis <cesar@codesourcery.com> 4391 4392 PR c/64765 4393 PR c/64880 4394 * c-common.h (c_oacc_split_loop_clauses): Declare function. 4395 * c-omp.c (c_oacc_split_loop_clauses): New function. 4396 43972015-10-21 Martin Sebor <msebor@redhat.com> 4398 4399 PR driver/68043 4400 * c.opt: End each sentence that describes an option with a period. 4401 44022015-10-20 Marek Polacek <polacek@redhat.com> 4403 4404 * array-notation-common.c (is_cilkplus_vector_p): Define. 4405 * c-common.h (is_cilkplus_vector_p): Declare. 4406 44072015-10-20 Marek Polacek <polacek@redhat.com> 4408 4409 * c.opt (std=gnu++11): Do not describe as experimental. 4410 (std=gnu++14): Likewise. 4411 44122015-10-19 Jason Merrill <jason@redhat.com> 4413 4414 * c-cppbuiltin.c (c_cpp_builtins): Define 4415 __cpp_nontype_template_args. 4416 44172015-10-19 Jason Merrill <jason@redhat.com> 4418 4419 * c-cppbuiltin.c (c_cpp_builtins): Define 4420 __cpp_enumerator_attributes, __cpp_fold_expressions, 4421 __cpp_unicode_characters. 4422 44232015-10-13 Jakub Jelinek <jakub@redhat.com> 4424 Aldy Hernandez <aldyh@redhat.com> 4425 4426 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9, 4427 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11. 4428 (c_define_builtins): Likewise. 4429 * c-common.h (enum c_omp_clause_split): Add 4430 C_OMP_CLAUSE_SPLIT_TASKLOOP. 4431 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument. 4432 (c_finish_omp_for): Add ORIG_DECLV argument. 4433 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as 4434 201511 instead of 201307. 4435 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set 4436 OMP_CRITICAL_CLAUSES to it. 4437 (c_finish_omp_ordered): Add CLAUSES argument, set 4438 OMP_ORDERED_CLAUSES to it. 4439 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS 4440 to it if OMP_FOR. Clear DECL_INITIAL on the IVs. 4441 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite 4442 constructs and new OpenMP 4.5 clauses. Clear 4443 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add 4444 verification code. 4445 * c-pragma.c (omp_pragmas_simd): Add taskloop. 4446 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP. 4447 (enum pragma_omp_clause): Add 4448 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR} 4449 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}. 4450 44512015-10-05 Richard Sandiford <richard.sandiford@arm.com> 4452 4453 * c-lex.c (interpret_float): Use real_equal instead of 4454 REAL_VALUES_EQUAL. 4455 44562015-10-04 Jason Merrill <jason@redhat.com> 4457 4458 Implement N4514, C++ Extensions for Transactional Memory. 4459 * c-common.c (c_common_reswords): Add C++ TM TS keywords. 4460 (c_common_attribute_table): Add transaction_safe_dynamic. 4461 transaction_safe now affects type identity. 4462 (handle_tm_attribute): Handle transaction_safe_dynamic. 4463 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT, 4464 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED. 4465 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED. 4466 (D_TRANSMEM): New. 4467 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory. 4468 * c-pretty-print.c (pp_c_attributes_display): Don't print 4469 transaction_safe in C++. 4470 44712015-10-02 Marek Polacek <polacek@redhat.com> 4472 4473 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore. 4474 44752015-10-02 Marek Polacek <polacek@redhat.com> 4476 4477 PR c/64249 4478 * c-common.c (warn_duplicated_cond_add_or_warn): New function. 4479 * c-common.h (warn_duplicated_cond_add_or_warn): Declare. 4480 * c.opt (Wduplicated-cond): New option. 4481 44822015-10-01 Joseph Myers <joseph@codesourcery.com> 4483 4484 * c.opt (std=c11): Do not describe as experimental. 4485 (std=gnu11): Likewise. 4486 (std=iso9899:2011): Likewise. 4487 44882015-09-28 Nathan Sidwell <nathan@codesourcery.com> 4489 4490 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New. 4491 (DEF_FUNCTION_TYPE_VAR_11): Delete. 4492 44932015-09-25 Marek Polacek <polacek@redhat.com> 4494 4495 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code. 4496 (ubsan_instrument_shift): Likewise. 4497 44982015-09-25 Marek Polacek <polacek@redhat.com> 4499 4500 PR sanitizer/64906 4501 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1. 4502 45032015-09-24 Patrick Palka <ppalka@gcc.gnu.org> 4504 4505 * c-indentation.c (should_warn_for_misleading_indentation): 4506 Compare next_stmt_vis_column with guard_line_first_nws instead 4507 of with guard_line_vis_column. 4508 45092015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org> 4510 4511 PR c/49654 4512 PR c/49655 4513 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning 4514 options and options not valid for the current language. 4515 45162015-09-22 Patrick Palka <ppalka@gcc.gnu.org> 4517 4518 * c-indentation.c (should_warn_for_misleading_indentation): 4519 Float out and consolidate the calls to get_visual_column that 4520 are passed guard_exploc as an argument. Compare 4521 next_stmt_vis_column with guard_line_first_nws instead of with 4522 body_line_first_nws. 4523 45242015-09-22 Nathan Sidwell <nathan@codesourcery.com> 4525 4526 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates, 4527 Wnamespaces): New C++ warnings. 4528 45292015-09-22 Jason Merrill <jason@redhat.com> 4530 4531 * c-common.h (abi_compat_version_crosses): New. 4532 (warn_abi_version): Declare. 4533 * c-common.c: Define it. 4534 * c-opts.c (c_common_post_options): Handle it. 4535 flag_abi_compat_version defaults to 8. 4536 45372015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com> 4538 4539 Complete the implementation of N4230, Nested namespace definition. 4540 * c-cppbuiltin.c: Add __cpp_namespace_attributes and 4541 __cpp_nested_namespace_definitions. 4542 45432015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org> 4544 4545 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return. 4546 45472015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org> 4548 4549 * c-pragma.c (handle_pragma_diagnostic): Use explicit location 4550 when warning. 4551 * c-pragma.h (pragma_lex): Add optional loc argument. 4552 45532015-09-16 Mikhail Maltsev <maltsevm@gmail.com> 4554 4555 * c-format.c (check_format_arg): Adjust to use common block size in all 4556 object pools. 4557 45582015-09-15 David Malcolm <dmalcolm@redhat.com> 4559 4560 * c-format.c (location_from_offset): Update for change in 4561 signature of location_get_source_line. 4562 * c-indentation.c (get_visual_column): Likewise. 4563 (line_contains_hash_if): Likewise. 4564 45652015-09-14 Marek Polacek <polacek@redhat.com> 4566 4567 * c-opts.c (c_common_post_options): Set C++ standard earlier, before 4568 setting various warnings. 4569 45702015-09-14 Marek Polacek <polacek@redhat.com> 4571 4572 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting 4573 a negative value. 4574 45752015-09-11 Mark Wielaard <mjw@redhat.com> 4576 4577 PR c/28901 4578 * c.opt (Wunused-variable): Option from common.opt. 4579 (Wunused-const-variable): New option. 4580 45812015-09-09 Paolo Carlini <paolo.carlini@oracle.com> 4582 4583 PR c++/53184 4584 * c.opt ([Wsubobject-linkage]): Add. 4585 45862015-09-03 Martin Sebor <msebor@redhat.com> 4587 4588 PR c/66516 4589 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new 4590 functions. 4591 * c-common.c (reject_gcc_builtin): Define. 4592 45932015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com> 4594 4595 PR middle-end/60586 4596 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New 4597 prototype. 4598 * c-gimplify.c (c_gimplify_expr): Added a call to the function 4599 cilk_gimplify_call_params_in_spawned_fn. 4600 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function. 4601 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR 4602 unwrapping. 4603 46042015-08-25 Marek Polacek <polacek@redhat.com> 4605 4606 PR middle-end/67330 4607 * c-common.c (handle_weak_attribute): Don't check whether the 4608 visibility can be changed here. 4609 46102015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org> 4611 4612 * c-lex.c (c_lex_with_flags): Use explicit locations. 4613 46142015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> 4615 4616 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h, 4617 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless 4618 46192015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 4620 4621 PR middle-end/36757 4622 * c-common.c (check_builtin_function_arguments): Add check 4623 for BUILT_IN_SIGNBIT argument. 4624 46252015-08-18 Paolo Carlini <paolo.carlini@oracle.com> 4626 4627 PR c++/67160 4628 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value 4629 in c++1z mode. 4630 46312015-08-17 Marek Polacek <polacek@redhat.com> 4632 4633 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing 4634 with whitespaces before qualifier names. 4635 46362015-08-12 Marek Polacek <polacek@redhat.com> 4637 4638 PR c++/55095 4639 * c-common.c (maybe_warn_shift_overflow): Properly handle 4640 left-shifting 1 into the sign bit. 4641 46422015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org> 4643 4644 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy. 4645 46462015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com> 4647 Braden Obrzut <admin@maniacsvault.net> 4648 Jason Merrill <jason@redhat.com> 4649 4650 Add C++ Concepts TS support. 4651 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires. 4652 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES. 4653 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New. 4654 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts. 4655 * c-opts.c (set_std_cxx1z): Set flag_concepts. 4656 * c.opt (fconcepts): New. 4657 46582015-08-02 Martin Sebor <msebor@redhat.com> 4659 4660 * c.opt (-Wframe-address): New warning option. 4661 46622015-08-02 Patrick Palka <ppalka@gcc.gnu.org> 4663 4664 * c-indentation.c (should_warn_for_misleading_indentation): 4665 Improve heuristics. 4666 46672015-08-02 Patrick Palka <ppalka@gcc.gnu.org> 4668 4669 * c-indentation.c (get_visual_column): Add parameter first_nws, 4670 use it. Update comment documenting the function. 4671 (is_first_nonwhitespace_on_line): Remove. 4672 (should_warn_for_misleading_indentation): Replace usage of 4673 of is_first_nonwhitespace_on_line with get_visual_column. 4674 46752015-08-02 Patrick Palka <ppalka@gcc.gnu.org> 4676 4677 * c-indentation.h (struct token_indent_info): Define. 4678 (get_token_indent_info): Define. 4679 (warn_for_misleading_information): Declare. 4680 * c-common.h (warn_for_misleading_information): Remove. 4681 * c-identation.c (warn_for_misleading_indentation): 4682 Change declaration to take three token_indent_infos. Adjust 4683 accordingly. 4684 * c-identation.c (should_warn_for_misleading_indentation): 4685 Likewise. Bail out early if the body is a compound statement. 4686 (guard_tinfo_to_string): Define. 4687 46882015-07-30 Jason Merrill <jason@redhat.com> 4689 4690 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print 4691 '*' for reference decay. 4692 46932015-07-30 Marek Polacek <polacek@redhat.com> 4694 4695 * c-common.c (warn_tautological_cmp): Bail for float types. 4696 46972015-07-27 Marek Polacek <polacek@redhat.com> 4698 4699 PR bootstrap/67030 4700 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion. 4701 47022015-07-27 Marek Polacek <polacek@redhat.com> 4703 4704 PR c++/66555 4705 PR c/54979 4706 * c-common.c (find_array_ref_with_const_idx_r): New function. 4707 (warn_tautological_cmp): New function. 4708 * c-common.h (warn_tautological_cmp): Declare. 4709 * c.opt (Wtautological-compare): New option. 4710 47112015-07-23 Marek Polacek <polacek@redhat.com> 4712 4713 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout. 4714 (ubsan_instrument_shift): Likewise. 4715 47162015-07-23 Marek Polacek <polacek@redhat.com> 4717 4718 PR sanitizer/66908 4719 * c-ubsan.c: Include gimplify.h. 4720 (ubsan_instrument_division): Unshare OP0 and OP1. 4721 (ubsan_instrument_shift): Likewise. 4722 47232015-07-20 Marek Polacek <polacek@redhat.com> 4724 Richard Sandiford <richard.sandiford@arm.com> 4725 4726 PR c++/55095 4727 * c-common.c (c_fully_fold_internal): Warn about left shift overflows. 4728 Use EXPR_LOC_OR_LOC. 4729 (maybe_warn_shift_overflow): New function. 4730 * c-common.h (maybe_warn_shift_overflow): Declare. 4731 * c-opts.c (c_common_post_options): Set warn_shift_overflow. 4732 * c.opt (Wshift-overflow): New option. 4733 47342015-07-16 Martin Liska <mliska@suse.cz> 4735 4736 * c-format.c (static void check_format_info_main): Use 4737 object_allocator instead of pool_allocator. 4738 (check_format_arg): Likewise. 4739 (check_format_info_main): Likewise. 4740 47412015-07-15 Andrew MacLeod <amacleod@redhat.com> 4742 4743 * c-opts.c: Remove multiline #include comment. 4744 47452015-07-12 Aldy Hernandez <aldyh@redhat.com> 4746 4747 * c-common.c: Fix double word typos. 4748 47492015-07-10 Eric Botcazou <ebotcazou@adacore.com> 4750 4751 * c-ada-spec.h (cpp_operation): Revert latest change. 4752 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit 4753 constructors and destructors. 4754 47552015-07-09 Andrew MacLeod <amacleod@redhat.com> 4756 4757 * c-common.h: Adjust includes for flags.h changes. 4758 * stub-objc.c: Likewise. 4759 47602015-07-08 Eric Botcazou <ebotcazou@adacore.com> 4761 4762 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR. 4763 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors. 4764 47652015-07-08 Jakub Jelinek <jakub@redhat.com> 4766 4767 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses 4768 are to be removed, return NULL rather than original clauses list. 4769 47702015-07-07 Andrew MacLeod <amacleod@redhat.com> 4771 4772 * array-notation-common.c: Adjust includes. 4773 * c-ada-spec.c: Likewise. 4774 * c-cilkplus.c: Likewise. 4775 * c-common.h: Likewise. 4776 * c-cppbuiltin.c: Likewise. 4777 * c-dump.c: Likewise. 4778 * c-format.c: Likewise. 4779 * c-gimplify.c: Likewise. 4780 * c-indentation.c: Likewise. 4781 * c-lex.c: Likewise. 4782 * c-omp.c: Likewise. 4783 * c-opts.c: Likewise. 4784 * c-pch.c: Likewise. 4785 * c-ppoutput.c: Likewise. 4786 * c-pragma.c: Likewise. 4787 * c-pretty-print.c: Likewise. 4788 * c-semantics.c: Likewise. 4789 * c-ubsan.c: Likewise. 4790 * cilk.c: Likewise. 4791 * stub-objc.c: Likewise. 4792 47932015-07-07 Eric Botcazou <ebotcazou@adacore.com> 4794 4795 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR. 4796 * c-ada-spec.c (print_ada_declaration): Skip move constructors. 4797 47982015-07-01 Jason Merrill <jason@redhat.com> 4799 4800 * c-common.h (D_CXX11): Rename from D_CXX0X. 4801 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X. 4802 * c-common.c: Adjust. 4803 4804 * c-opts.c (c_common_post_options): Default to C++14. 4805 4806 * c-opts.c (c_common_post_options): Highest ABI level is now 10. 4807 48082015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net> 4809 4810 Implement N4197 - Adding u8 character literals 4811 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like 4812 CPP_CHAR. 4813 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and 4814 CPP_UTF8CHAR_USERDEF tokens. 4815 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF 4816 and CPP_UTF8CHAR tokens. 4817 (lex_charconst): Treat CPP_UTF8CHAR token. 4818 48192015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org> 4820 4821 PR fortran/66605 4822 * c-common.c (do_warn_unused_parameter): Move here. 4823 * c-common.h (do_warn_unused_parameter): Declare. 4824 48252015-06-29 Marek Polacek <polacek@redhat.com> 4826 4827 PR c/66322 4828 * c-common.c (check_case_bounds): Add bool * parameter. Set 4829 OUTSIDE_RANGE_P. 4830 (c_add_case_label): Add bool * parameter. Pass it down to 4831 check_case_bounds. 4832 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool 4833 warning here. 4834 * c-common.h (c_add_case_label, c_do_switch_warnings): Update 4835 declarations. 4836 48372015-06-27 Marek Polacek <polacek@redhat.com> 4838 4839 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P 4840 or VECTOR_INTEGER_TYPE_P throughout. 4841 * c-gimplify.c: Likewise. 4842 48432015-06-26 Marek Polacek <polacek@redhat.com> 4844 4845 * array-notation-common.c (find_rank): Use INDIRECT_REF_P. 4846 * c-common.c (c_fully_fold_internal): Likewise. 4847 (c_alignof_expr): Likewise. 4848 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise. 4849 * c-ubsan.c (ubsan_instrument_bounds): Likewise. 4850 * cilk.c (create_parm_list): Likewise. 4851 48522015-06-26 Marek Polacek <polacek@redhat.com> 4853 4854 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P. 4855 48562015-06-25 Andrew MacLeod <amacleod@redhat.com> 4857 4858 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list. 4859 * c-gimplify.c: Likewise. 4860 * c-pragma.c: Likewise. 4861 * c-ubsan.c: Likewise. 4862 * cilk.c: Likewise. 4863 48642015-06-25 Richard Sandiford <richard.sandiford@arm.com> 4865 4866 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than 4867 ggc_hasher. 4868 48692015-06-25 Andrew MacLeod <amacleod@redhat.com> 4870 4871 * cilk.c: Move calls.h after tm.h in the include chain. 4872 48732015-06-25 Marek Polacek <polacek@redhat.com> 4874 4875 * array-notation-common.c: Use VAR_P throughout. 4876 * c-ada-spec.c: Likewise. 4877 * c-common.c: Likewise. 4878 * c-format.c: Likewise. 4879 * c-gimplify.c: Likewise. 4880 * c-omp.c: Likewise. 4881 * c-pragma.c: Likewise. 4882 * c-pretty-print.c: Likewise. 4883 * cilk.c: Likewise. 4884 48852015-06-25 Marek Polacek <polacek@redhat.com> 4886 4887 * cilk.c (extract_free_variables): Use is_global_var. 4888 48892015-06-23 Richard Sandiford <richard.sandiford@arm.com> 4890 4891 * c-common.c: Don't include target-def.h. 4892 48932015-06-23 Marek Polacek <polacek@redhat.com> 4894 4895 * c-common.c (warn_logical_operator): Use tree_int_cst_equal 4896 when comparing INTEGER_CSTs. 4897 48982015-06-22 Pierre-Marie de Rodat <derodat@adacore.com> 4899 4900 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS. 4901 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL 4902 (dump_ada_template): Skip partially specialized types. 4903 49042015-06-22 Mikhail Maltsev <maltsevm@gmail.com> 4905 4906 * c-common.c (scalar_to_vector): Use std::swap instead of manually 4907 swapping. 4908 49092015-06-17 Andrew MacLeod <amacleod@redhat.com> 4910 4911 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h. 4912 * c-ada-spec.c: Likewise. 4913 * c-cilkplus.c: Likewise. 4914 * c-common.c: Likewise. 4915 * c-common.h: Likewise. 4916 * c-cppbuiltin.c: Likewise. 4917 * c-dump.c: Likewise. 4918 * c-format.c: Likewise. 4919 * c-gimplify.c: Likewise. 4920 * c-indentation.c: Likewise. 4921 * c-lex.c: Likewise. 4922 * c-omp.c: Likewise. 4923 * c-opts.c: Likewise. 4924 * c-pch.c: Likewise. 4925 * c-ppoutput.c: Likewise. 4926 * c-pragma.c: Likewise. 4927 * c-pretty-print.c: Likewise. 4928 * c-semantics.c: Likewise. 4929 * c-ubsan.c: Likewise. 4930 * cilk.c: Likewise. 4931 * stub-objc.c: Likewise. 4932 49332015-06-13 Patrick Palka <ppalka@gcc.gnu.org> 4934 4935 PR c++/65168 4936 * c-common.c (c_common_truthvalue_conversion): Warn when 4937 converting an address of a reference to a truth value. 4938 49392015-06-08 Andrew MacLeod <amacleod@redhat.com> 4940 4941 * array-notation-common.c : Adjust include files. 4942 * c-ada-spec.c : Likewise. 4943 * c-cilkplus.c : Likewise. 4944 * c-common.c : Likewise. 4945 * c-common.h : Likewise. 4946 * c-cppbuiltin.c : Likewise. 4947 * c-dump.c : Likewise. 4948 * c-format.c : Likewise. 4949 * c-gimplify.c : Likewise. 4950 * c-indentation.c : Likewise. 4951 * c-lex.c : Likewise. 4952 * c-omp.c : Likewise. 4953 * c-opts.c : Likewise. 4954 * c-pch.c : Likewise. 4955 * c-ppoutput.c : Likewise. 4956 * c-pragma.c : Likewise. 4957 * c-pretty-print.c : Likewise. 4958 * c-semantics.c : Likewise. 4959 * c-ubsan.c : Likewise. 4960 * cilk.c : Likewise. 4961 * stub-objc.c : Likewise. 4962 49632015-06-08 Marek Polacek <polacek@redhat.com> 4964 4965 PR c/66415 4966 * c-format.c (location_from_offset): Return LOC if LINE is null. 4967 49682015-06-05 Aldy Hernandez <aldyh@redhat.com> 4969 4970 * c-common.h (c_parse_final_cleanups): New prototype. 4971 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups. 4972 49732015-06-04 Sriraman Tallam <tmsriram@google.com> 4974 4975 * c-common.c (noplt): New attribute. 4976 (handle_noplt_attribute): New handler. 4977 49782015-06-04 Andrew MacLeod <amacleod@redhat.com> 4979 4980 * array-notation-common.c: Adjust includes for restructured coretypes.h. 4981 * c-ada-spec.c: Likewise. 4982 * c-cilkplus.c: Likewise. 4983 * c-common.c: Likewise. 4984 * c-common.h: Likewise. 4985 * c-cppbuiltin.c: Likewise. 4986 * c-dump.c: Likewise. 4987 * c-format.c: Likewise. 4988 * c-gimplify.c: Likewise. 4989 * c-indentation.c: Likewise. 4990 * c-lex.c: Likewise. 4991 * c-omp.c: Likewise. 4992 * c-opts.c: Likewise. 4993 * c-pch.c: Likewise. 4994 * c-ppoutput.c: Likewise. 4995 * c-pragma.c: Likewise. 4996 * c-pretty-print.c: Likewise. 4997 * c-semantics.c: Likewise. 4998 * c-ubsan.c: Likewise. 4999 * cilk.c: Likewise. 5000 * stub-objc.c: Likewise. 5001 50022015-06-02 David Malcolm <dmalcolm@redhat.com> 5003 5004 PR c/66220: 5005 * c-indentation.c (should_warn_for_misleading_indentation): Use 5006 expand_location rather than expand_location_to_spelling_point. 5007 Don't warn if the guarding statement is more indented than the 5008 next/body stmts. 5009 50102015-06-02 David Malcolm <dmalcolm@redhat.com> 5011 5012 * c-indentation.c (warn_for_misleading_indentation): Bail out 5013 immediately if -Wmisleading-indentation isn't enabled. 5014 50152015-06-01 Martin Liska <mliska@suse.cz> 5016 5017 * c-format.c (check_format_arg):Use new type-based pool allocator. 5018 (check_format_info_main) Likewise. 5019 50202015-05-31 Eric Botcazou <ebotcazou@adacore.com> 5021 5022 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant. 5023 (has_nontrivial_methods): Likewise. 5024 50252015-05-25 Marek Polacek <polacek@redhat.com> 5026 5027 * c-ubsan.c (ubsan_instrument_shift): Use type0. 5028 50292015-05-22 Marek Polacek <polacek@redhat.com> 5030 5031 PR c/47043 5032 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL. 5033 50342015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> 5035 5036 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with 5037 STACK_GROWS_DOWNWARD. 5038 50392015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> 5040 5041 * c-cppbuiltin.c (c_cpp_builtins): Check the value of 5042 STACK_GROWS_DOWNWARD rather than if it is defined. 5043 50442015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org> 5045 5046 PR c/52952 5047 * c-format.c (location_column_from_byte_offset): New. 5048 (location_from_offset): New. 5049 (struct format_wanted_type): Add offset_loc field. 5050 (check_format_info): Move handling of location for extra arguments 5051 closer to the point of warning. 5052 (check_format_info_main): Pass the result of location_from_offset 5053 to warning_at. 5054 (format_type_warning): Pass the result of location_from_offset 5055 to warning_at. 5056 50572015-05-20 Marek Polacek <polacek@redhat.com> 5058 5059 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P. 5060 50612015-05-20 Marek Polacek <polacek@redhat.com> 5062 5063 * c-ada-spec.c (dump_sloc): Use DECL_P. 5064 50652015-05-20 Marek Polacek <polacek@redhat.com> 5066 5067 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout. 5068 * c-common.c: Likewise. 5069 50702015-05-19 David Malcolm <dmalcolm@redhat.com> 5071 5072 * c-common.h (fe_file_change): Strengthen param from 5073 const line_map * to const line_map_ordinary *. 5074 (pp_file_change): Likewise. 5075 * c-lex.c (fe_file_change): Likewise. 5076 (cb_define): Use linemap_check_ordinary when invoking 5077 SOURCE_LINE. 5078 (cb_undef): Likewise. 5079 * c-opts.c (c_finish_options): Use linemap_check_ordinary when 5080 invoking cb_file_change. 5081 (c_finish_options): Likewise. 5082 (push_command_line_include): Likewise. 5083 (cb_file_change): Strengthen param "new_map" from 5084 const line_map * to const line_map_ordinary *. 5085 * c-ppoutput.c (cb_define): Likewise for local "map". 5086 (pp_file_change): Likewise for param "map" and local "from". 5087 50882015-05-19 Mikhail Maltsev <maltsevm@gmail.com> 5089 5090 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps. 5091 50922015-05-18 Tom de Vries <tom@codesourcery.com> 5093 5094 * c-common.c (build_va_arg_1): New function. 5095 (build_va_arg): Add address operator to va_list operand if necessary. 5096 50972015-05-15 Mikhail Maltsev <maltsevm@gmail.com> 5098 5099 PR c/48956 5100 * c-common.c (int_safely_convertible_to_real_p): Define. 5101 (unsafe_conversion_p): Check conversions involving complex types. 5102 (conversion_warning): Add new warning message for conversions which 5103 discard imaginary component. 5104 * c-common.h: (enum conversion_safety): Add new enumerator for such 5105 conversions. 5106 51072015-05-14 Marek Polacek <polacek@redhat.com> 5108 5109 PR c/66066 5110 PR c/66127 5111 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal. 5112 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with 5113 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and 5114 use it. If FOR_INT_CONST, require that all evaluated operands be 5115 INTEGER_CSTs. 5116 51172015-05-12 David Malcolm <dmalcolm@redhat.com> 5118 5119 * c-common.h (warn_for_misleading_indentation): New prototype. 5120 * c-indentation.c: New file. 5121 * c.opt (Wmisleading-indentation): New option. 5122 51232015-05-12 Tom de Vries <tom@codesourcery.com> 5124 5125 PR tree-optimization/66010 5126 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary. 5127 51282015-05-09 Jason Merrill <jason@redhat.com> 5129 5130 * c-opts.c (c_common_post_options): Also clear 5131 cpp_opts->cpp_warn_cxx11_compat. 5132 5133 * c-common.h (enum cxx_dialect): Add cxx_unset. 5134 * c-common.c (cxx_dialect): Initialize to cxx_unset. 5135 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset. 5136 5137 * c.opt (std=c++14): Remove Undocumented flag and experimental warning. 5138 (std=gnu++0x): Mark as Undocumented. 5139 (std=gnu++1y): Add deprecated message. 5140 51412015-05-08 Jason Merrill <jason@redhat.com> 5142 5143 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat. 5144 * c-opts.c: Adjust. 5145 5146 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat. 5147 51482015-05-08 Marek Polacek <polacek@redhat.com> 5149 5150 PR c/64918 5151 * c.opt (Woverride-init-side-effects): New option. 5152 51532015-05-07 Marek Polacek <polacek@redhat.com> 5154 5155 PR c/65179 5156 * c-common.c (c_fully_fold_internal): Warn when left shifting a 5157 negative value. 5158 * c.opt (Wshift-negative-value): New option. 5159 * c-opts.c (c_common_post_options): Set warn_shift_negative_value 5160 when -Wextra and C99/C++11 mode. 5161 51622015-05-07 Marek Polacek <polacek@redhat.com> 5163 Martin Uecker <uecker@eecs.berkeley.edu> 5164 5165 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting 5166 flexible member array-like members if SANITIZE_BOUNDS_STRICT. 5167 51682015-05-05 Jason Merrill <jason@redhat.com> 5169 5170 * c.opt (Wterminate): New. 5171 51722015-04-30 Marek Polacek <polacek@redhat.com> 5173 5174 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1, 5175 require that the non-constant be of a boolean type. 5176 51772015-04-29 Josh Triplett <josh@joshtriplett.org> 5178 5179 * c-common.c (handle_section_attribute): Refactor to reduce 5180 nesting and distinguish between error cases. 5181 51822015-04-29 Marek Polacek <polacek@redhat.com> 5183 5184 PR c/64610 5185 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean 5186 with 0/1. 5187 51882015-04-29 Jakub Jelinek <jakub@redhat.com> 5189 5190 * c-common.h (omp_clause_mask): Unconditionally define as a class. 5191 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of 5192 HOST_BITS_PER_WIDE_INT. 5193 51942015-04-28 Tom de Vries <tom@codesourcery.com> 5195 5196 PR tree-optimization/65887 5197 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable. 5198 51992015-04-28 Eric Botcazou <ebotcazou@adacore.com> 5200 Pierre-Marie de Rodat <derodat@adacore.com> 5201 5202 * c-ada-spec.c (in_function): Delete. 5203 (dump_generic_ada_node): Do not change in_function and remove the 5204 redundant code dealing with it. 5205 (print_ada_declaration): Do not change in_function. Use INDENT_INCR. 5206 (print_ada_methods): Output the static member functions in a nested 5207 package after the regular methods as well as associated renamings. 5208 52092015-04-24 Marek Polacek <polacek@redhat.com> 5210 5211 PR c/65830 5212 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative 5213 and OPT_Wshift_count_overflow. 5214 5215 PR c/63357 5216 * c-common.c (warn_logical_operator): Warn if the operands have the 5217 same expressions. 5218 52192015-04-24 Marek Polacek <polacek@redhat.com> 5220 5221 PR c/61534 5222 * c-common.c (warn_logical_operator): Bail if either operand comes 5223 from a macro expansion. 5224 52252015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> 5226 5227 PR target/55143 5228 * c-common.c (c_default_pointer_mode): Add definition. 5229 * c-common.h (c_default_pointer_mode): Add declaration. 5230 52312015-03-11 Jakub Jelinek <jakub@redhat.com> 5232 5233 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup 5234 on record_builtin_type argument. 5235 52362015-03-10 Jakub Jelinek <jakub@redhat.com> 5237 5238 PR c/65120 5239 * c-common.c (warn_logical_not_parentheses): Don't warn for 5240 !x == 0 or !x != 0. 5241 52422015-03-07 Marek Polacek <polacek@redhat.com> 5243 5244 PR sanitizer/65280 5245 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF 5246 before trying to figure out whether we have a flexible array member. 5247 52482015-03-06 Eric Botcazou <ebotcazou@adacore.com> 5249 Jonathan Wakely <jwakely.gcc@gmail.com> 5250 5251 * c-ada-spec.c (dump_ada_double_name): Fix pasto. 5252 52532015-03-05 Eric Botcazou <ebotcazou@adacore.com> 5254 5255 PR ada/65319 5256 * c-ada-spec.c (print_destructor): Remove obsolete code. 5257 52582015-03-01 Eric Botcazou <ebotcazou@adacore.com> 5259 5260 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX. 5261 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and 5262 DECL_TEMPLATE_RESULT emulations. 5263 (dump_ada_template)): Add guard for TYPE_METHODS. 5264 52652015-02-27 Marek Polacek <polacek@redhat.com> 5266 5267 PR c/65040 5268 * c.opt (Wformat-signedness): Don't enable by -Wformat=2. 5269 52702015-02-27 Kai Tietz <ktietz@redhat.com> 5271 5272 PR c/35330 5273 * c-pragma.c (handle_pragma_weak): Do not try to create 5274 weak/alias of declarations not being function, or variable 5275 declarations. 5276 52772015-02-24 Thomas Schwinge <thomas@codesourcery.com> 5278 5279 PR libgomp/64625 5280 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12): 5281 Remove macros. 5282 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros. 5283 52842015-02-16 Marek Polacek <polacek@redhat.com> 5285 5286 PR c/65066 5287 * c-format.c (check_format_types): Handle null param. 5288 52892015-02-13 Marek Polacek <polacek@redhat.com> 5290 5291 PR c/65040 5292 * c-format.c (check_format_types): Don't warn about different 5293 signedness if the original value is in the range of WANTED_TYPE. 5294 52952015-02-12 Jason Merrill <jason@redhat.com> 5296 5297 PR c++/64956 5298 * c-opts.c (c_common_post_options): Change flag_abi_version from 0 5299 to the current highest version. 5300 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0. 5301 53022015-02-04 Jakub Jelinek <jakub@redhat.com> 5303 5304 PR c/64824 5305 PR c/64868 5306 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR 5307 instead of RDIV_EXPR. Use build_binary_op instead of 5308 build2_loc. 5309 53102015-01-30 Joseph Myers <joseph@codesourcery.com> 5311 5312 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed 5313 to pass input_location as first argument. 5314 53152015-01-23 Tom de Vries <tom@codesourcery.com> 5316 5317 PR libgomp/64672 5318 * c.opt (fopenacc): Mark as LTO option. 5319 53202015-01-23 Tom de Vries <tom@codesourcery.com> 5321 5322 PR libgomp/64707 5323 * c.opt (fopenmp): Mark as LTO option. 5324 53252015-01-21 Jakub Jelinek <jakub@redhat.com> 5326 5327 PR c/63307 5328 * cilk.c (fill_decls_vec): Only put decls into vector v. 5329 (compare_decls): Fix up formatting. 5330 53312015-01-21 Igor Zamyatin <igor.zamyatin@intel.com> 5332 5333 PR c/63307 5334 * cilk.c: Include vec.h. 5335 (struct cilk_decls): New structure. 5336 (wrapper_parm_cb): Split this function to... 5337 (fill_decls_vec): ...this... 5338 (create_parm_list): ...and this. 5339 (compare_decls): New function. 5340 (for_local_cb): Remove. 5341 (wrapper_local_cb): Ditto. 5342 (build_wrapper_type): For now first traverse and fill vector of 5343 declarations then sort it and then deal with sorted vector. 5344 (cilk_outline): Ditto. 5345 (declare_one_free_variable): Ditto. 5346 53472015-01-21 Jason Merrill <jason@redhat.com> 5348 5349 PR c++/64629 5350 * c-format.c (check_format_arg): Call decl_constant_value. 5351 53522015-01-19 Martin Liska <mliska@suse.cz> 5353 5354 * c-common.c (handle_noicf_attribute): New function. 5355 53562015-01-15 Thomas Schwinge <thomas@codesourcery.com> 5357 Bernd Schmidt <bernds@codesourcery.com> 5358 James Norris <jnorris@codesourcery.com> 5359 Cesar Philippidis <cesar@codesourcery.com> 5360 Ilmir Usmanov <i.usmanov@samsung.com> 5361 Jakub Jelinek <jakub@redhat.com> 5362 5363 * c.opt (fopenacc): New option. 5364 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC. 5365 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12): 5366 New macros. 5367 * c-common.h (c_finish_oacc_wait): New prototype. 5368 * c-omp.c: Include "omp-low.h" and "gomp-constants.h". 5369 (c_finish_oacc_wait): New function. 5370 * c-pragma.c (oacc_pragmas): New variable. 5371 (c_pp_lookup_pragma, init_pragma): Handle it. 5372 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE, 5373 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA, 5374 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL, 5375 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT. 5376 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC, 5377 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE, 5378 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN, 5379 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE, 5380 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE, 5381 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE, 5382 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST, 5383 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS, 5384 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT, 5385 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY, 5386 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN, 5387 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT, 5388 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE, 5389 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF, 5390 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR, 5391 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT, 5392 PRAGMA_OACC_CLAUSE_WORKER. 5393 53942015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com> 5395 5396 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__ 5397 for the new option fstack-protector_explicit. 5398 * c-common.c (c_common_attribute_table): Add stack_protect attribute. 5399 (handle_stack_protect_attribute): New function. 5400 54012015-01-13 Martin Uecker <uecker@eecs.berkeley.edu> 5402 5403 * c.opt: New option -Warray-bounds=. 5404 54052015-01-09 Michael Collison <michael.collison@linaro.org> 5406 5407 * array-notation-common.c: Include hash-set.h, machmode.h, 5408 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 5409 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h. 5410 * c-ada-spec.c: Ditto. 5411 * c-cilkplus.c: Ditto. 5412 * c-common.c: Include input.h due to flattening of tree.h. 5413 Define macro GCC_C_COMMON_C. 5414 * c-common.h: Flatten tree.h header files into c-common.h. 5415 Remove include of tree-core.h. 5416 * c-cppbuiltin.c: Include hash-set.h, machmode.h, 5417 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 5418 fold-const.h, wide-int.h, and inchash.h due to 5419 flattening of tree.h. 5420 * c-dump.c: Ditto. 5421 * c-format.c: Flatten tree.h header files into c-common.h. 5422 * c-cppbuiltin.c: Include hash-set.h, machmode.h, 5423 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 5424 fold-const.h, wide-int.h, and inchash.h due to 5425 flattening of tree.h. 5426 * c-dump.c: Include hash-set.h, machmode.h, 5427 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 5428 fold-const.h, wide-int.h, and inchash.h due to 5429 flattening of tree.h. 5430 * c-format.c: Include hash-set.h, machmode.h, 5431 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 5432 fold-const.h, wide-int.h, inchash.h and real.h due to 5433 flattening of tree.h. 5434 * c-gimplify.c: Include hash-set.h, machmode.h, 5435 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h 5436 fold-const.h, wide-int.h, and inchash.h due to 5437 flattening of tree.h. 5438 * cilk.c: Ditto. 5439 * c-lex.c: Ditto. 5440 * c-omp.c: Ditto. 5441 * c-opts.c: Ditto. 5442 * c-pch.c: Ditto. 5443 * c-ppoutput.c: Ditto. 5444 * c-pragma.c: Ditto. 5445 * c-pretty-print.c: Ditto. 5446 * c-semantics.c: Ditto. 5447 * c-ubsan.c: Ditto. 5448 * stub-objc.c: Ditto. 5449 54502015-01-08 Jason Merrill <jason@redhat.com> 5451 5452 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use 5453 do_ubsan_in_current_function. 5454 (ubsan_maybe_instrument_reference_or_call): Likewise. 5455 * c-ubsan.h: Declare it. 5456 54572015-01-08 Mike Stump <mikestump@comcast.net> 5458 5459 * c-common.c (c_common_attribute_table): Add no_sanitize_thread. 5460 54612015-01-07 Marek Polacek <polacek@redhat.com> 5462 5463 PR c/64440 5464 * c-common.c (c_fully_fold_internal): Warn for division and modulo 5465 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero. 5466 54672015-01-05 Trevor Saunders <tsaunders@mozilla.com> 5468 5469 PR c++/31397 5470 * c.opt (Wsuggest-override): New option. 5471 54722015-01-05 Jakub Jelinek <jakub@redhat.com> 5473 5474 Update copyright years. 5475 54762015-01-05 Marek Polacek <polacek@redhat.com> 5477 5478 PR c/64423 5479 * c-common.c (warn_array_subscript_with_type_char): Add location_t 5480 parameter. Use it. 5481 * c-common.h (warn_array_subscript_with_type_char): Update 5482 declaration. 5483 54842014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net> 5485 5486 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro. 5487 Control macro with flag_sized_deallocation. 5488 54892014-12-20 Martin Uecker <uecker@eecs.berkeley.edu> 5490 5491 * c.opt (Wdiscarded-array-qualifiers): New option. 5492 54932014-12-19 Jakub Jelinek <jakub@redhat.com> 5494 5495 PR preprocessor/63831 5496 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute 5497 and __has_cpp_attribute here. 5498 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to 5499 c_common_has_attribute. 5500 * c-common.h (c_common_has_attribute): New prototype. 5501 * c-lex.c (init_c_lex): Set cb->has_attribute to 5502 c_common_has_attribute instead of cb_has_attribute. 5503 (get_token_no_padding): New function. 5504 (cb_has_attribute): Renamed to ... 5505 (c_common_has_attribute): ... this. No longer static. Use 5506 get_token_no_padding, require ()s, don't build TREE_LIST 5507 unnecessarily, fix up formatting, adjust diagnostics, call 5508 init_attributes. 5509 55102014-12-15 Jason Merrill <jason@redhat.com> 5511 5512 * c.opt (-fsized-deallocation, -Wc++14-compat): New. 5513 (-Wsized-deallocation): New. 5514 * c-opts.c (c_common_post_options): -fsized-deallocation defaults 5515 to on in C++14 and up. 5516 55172014-12-11 Jason Merrill <jason@redhat.com> 5518 5519 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr. 5520 5521 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if 5522 we aren't complaining about VLAs. 5523 55242014-12-06 Marek Polacek <polacek@redhat.com> 5525 5526 PR tree-optimization/64183 5527 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a 5528 shift-expression if it is integer_type_node. Use types_compatible_p. 5529 55302014-11-29 Jakub Jelinek <jakub@redhat.com> 5531 5532 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL 5533 last argument from create_tmp_var_raw and create_tmp_var calls. 5534 * cilk.c (gimplify_cilk_spawn): Likewise. 5535 * c-omp.c (c_finish_omp_atomic): Likewise. 5536 55372014-11-28 Marek Polacek <polacek@redhat.com> 5538 5539 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR 5540 instead of unsigned_type_node. 5541 55422014-11-28 Marek Polacek <polacek@redhat.com> 5543 5544 PR c/63862 5545 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR 5546 to op1_utype. 5547 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift 5548 expression to unsigned_type_node. 5549 55502014-11-20 Mark Wielaard <mjw@redhat.com> 5551 5552 PR debug/38757 5553 * c-opts.c (set_std_c89): Set lang_hooks.name. 5554 (set_std_c99): Likewise. 5555 (set_std_c11): Likewise. 5556 (set_std_cxx98): Likewise. 5557 (set_std_cxx11): Likewise. 5558 (set_std_cxx14): Likewise. 5559 (set_std_cxx1z): Likewise. 5560 55612014-11-21 Jakub Jelinek <jakub@redhat.com> 5562 5563 PR target/63764 5564 * c-common.h (convert_vector_to_pointer_for_subscript): Change 5565 return type to bool. 5566 * c-common.c: Include gimple-expr.h. 5567 (convert_vector_to_pointer_for_subscript): Change return type to 5568 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true 5569 and copy it into a TARGET_EXPR and use that instead of *vecp 5570 directly. 5571 55722014-11-19 David Malcolm <dmalcolm@redhat.com> 5573 5574 Merger of git branch "gimple-classes-v2-option-3". 5575 * ChangeLog.gimple-classes: New. 5576 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack" 5577 from being just a vec<gimple> to a vec<gbind *>. 5578 55792014-11-18 Jakub Jelinek <jakub@redhat.com> 5580 5581 PR sanitizer/63813 5582 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type 5583 argument to ptype, set type to TREE_TYPE (ptype). Don't call 5584 get_pointer_alignment for non-pointers. Use ptype, or if it is 5585 reference type, corresponding pointer type, as type of kind 5586 argument. 5587 (ubsan_maybe_instrument_reference, 5588 ubsan_maybe_instrument_member_call): Adjust callers. 5589 55902014-11-15 Marek Polacek <polacek@redhat.com> 5591 5592 PR middle-end/63884 5593 * array-notation-common.c (is_sec_implicit_index_fn): Return false 5594 for NULL fndecl. 5595 (extract_array_notation_exprs): Return for NULL node. 5596 55972014-11-12 Joseph Myers <joseph@codesourcery.com> 5598 5599 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and 5600 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state. 5601 56022014-11-12 Jakub Jelinek <jakub@redhat.com> 5603 5604 PR c/59708 5605 * c-common.c (check_builtin_function_arguments): Handle 5606 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW. 5607 56082014-11-10 Andi Kleen <ak@linux.intel.com> 5609 5610 PR c/60804 5611 * c-common.h (check_no_cilk): Declare. 5612 * cilk.c (get_error_location): New function. 5613 (check_no_cilk): Dito. 5614 56152014-11-10 Andi Kleen <ak@linux.intel.com> 5616 5617 * cilk.c (recognize_spawn): Use expression location 5618 for error message. 5619 56202014-11-10 Paolo Carlini <paolo.carlini@oracle.com> 5621 5622 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add. 5623 56242014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net> 5625 5626 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros; 5627 (__cpp_rtti, __cpp_exceptions): New macros for C++98; 5628 (__cpp_range_based_for, __cpp_initializer_lists, 5629 __cpp_delegating_constructors, __cpp_nsdmi, 5630 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros 5631 for C++11; (__cpp_attribute_deprecated): Remove in favor of 5632 __has_cpp_attribute. 5633 * c-lex.c (cb_has_attribute): New callback CPP function; 5634 (init_c_lex): Set has_attribute callback. 5635 56362014-11-04 Richard Biener <rguenther@suse.de> 5637 5638 * c-common.c (shorten_compare): Do not shorten mixed 5639 DFP and non-DFP compares. 5640 56412014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net> 5642 5643 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests. 5644 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test. 5645 Commentary and rearrangement of tests. 5646 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test. 5647 Commentary and rearrangement of tests. 5648 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto 5649 * g++.dg/cpp1y/feat-cxx98.C: Commentary. 5650 56512014-10-29 Richard Sandiford <richard.sandiford@arm.com> 5652 5653 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant 5654 enum from machine_mode. 5655 56562014-10-28 Andrew MacLeod <amacleod@redhat.com> 5657 5658 * c-common.c: Adjust include files. 5659 * c-gimplify.c: Ditto. 5660 * cilk.c: Ditto. 5661 * c-pragma.c: Ditto. 5662 * c-ubsan.c: Ditto. 5663 56642014-10-27 Andrew MacLeod <amacleod@redhat.com> 5665 5666 * c-gimplify.c: Adjust include files. 5667 56682014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org> 5669 5670 PR c++/53061 5671 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from 5672 c_common_initialize_diagnostics. 5673 * c-common.h: Likewise. 5674 56752014-10-24 Marek Polacek <polacek@redhat.com> 5676 5677 PR c/56980 5678 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't 5679 print "struct"/"union"/"enum" for typedefed names. 5680 56812014-10-23 Marek Polacek <polacek@redhat.com> 5682 5683 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR 5684 in unsigned type. 5685 56862014-10-22 Jakub Jelinek <jakub@redhat.com> 5687 Yury Gribov <y.gribov@samsung.com> 5688 5689 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift, 5690 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask 5691 instead of flag_sanitize_recover as bool flag. 5692 56932014-10-21 Kirill Yukhin <kirill.yukhin@intel.com> 5694 5695 * cilk.c: Revert previous change. 5696 56972014-10-20 Igor Zamyatin <igor.zamyatin@intel.com> 5698 5699 PR c/63307 5700 * cilk.c: Include vec.h. 5701 (struct cilk_decls): New structure. 5702 (wrapper_parm_cb): Split this function to... 5703 (fill_decls_vec): ...this... 5704 (create_parm_list): ...and this. 5705 (compare_decls): New function. 5706 (for_local_cb): Remove. 5707 (wrapper_local_cb): Ditto. 5708 (build_wrapper_type): For now first traverse and fill vector of 5709 declarations then sort it and then deal with sorted vector. 5710 (cilk_outline): Ditto. 5711 (declare_one_free_variable): Ditto. 5712 57132014-10-17 Marek Polacek <polacek@redhat.com> 5714 5715 * c-opts.c (c_common_post_options): Set warn_implicit_int. 5716 * c.opt (Wimplicit-int): Initialize to -1. 5717 57182014-10-16 Andrew MacLeod <amacleod@redhat.com> 5719 5720 * c-pragma.c: Adjust include files. 5721 * c-semantics.c: Likewise. 5722 57232014-10-16 DJ Delorie <dj@redhat.com> 5724 5725 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are 5726 multiples of bytes. 5727 57282014-10-14 Jason Merrill <jason@redhat.com> 5729 5730 PR c++/63455 5731 * c-common.h (CPP_PREPARSED_EXPR): New. 5732 (N_CP_TTYPES): Adjust. 5733 57342014-10-15 Marek Polacek <polacek@redhat.com> 5735 5736 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C. 5737 57382014-10-14 DJ Delorie <dj@redhat.com> 5739 5740 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN 5741 types, not just __int128. 5742 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN 5743 types, not just __int128. 5744 (cpp_atomic_builtins): Round pointer sizes up. 5745 (type_suffix): Use type precision, not specific types. 5746 * c-common.c (c_common_reswords): Remove __int128 special case. 5747 (c_common_type_for_size): Check for all __intN types, not just 5748 __int128. 5749 (c_common_type_for_mode): Likewise. 5750 (c_common_signed_or_unsigned_type): Likewise. 5751 (c_build_bitfield_integer_type): Likewise. 5752 (c_common_nodes_and_builtins): Likewise. 5753 (keyword_begins_type_specifier): Likewise. 5754 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all 5755 __intN variants. 5756 57572014-10-12 Trevor Saunders <tsaunders@mozilla.com> 5758 5759 * c-common.c: Use hash_table instead of hashtab. 5760 57612014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net> 5762 5763 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the 5764 C++11 section. 5765 57662014-10-03 Marc Glisse <marc.glisse@inria.fr> 5767 5768 PR c++/54427 5769 PR c++/57198 5770 PR c++/58845 5771 * c-common.c (warn_logical_operator): Punt for vectors. 5772 57732014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net> 5774 5775 Implement SD-6: SG10 Feature Test Recommendations 5776 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature 5777 macros and the __has_header macro. 5778 57792014-09-30 Jason Merrill <jason@redhat.com> 5780 5781 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and 5782 RID_IS_TRIVIALLY_CONSTRUCTIBLE. 5783 * c-common.c (c_common_reswords): Add __is_trivially_copyable. 5784 5785 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE. 5786 * c-common.c (c_common_reswords): Add __is_trivially_copyable. 5787 5788 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO. 5789 * c-common.c (c_common_reswords): Remove __is_convertible_to. 5790 57912014-09-24 Marek Polacek <polacek@redhat.com> 5792 5793 PR c/61405 5794 PR c/53874 5795 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD. 5796 57972014-09-23 Andi Kleen <ak@linux.intel.com> 5798 5799 * c-common.c (handle_no_reorder_attribute): New function. 5800 (c_common_attribute_table): Add no_reorder attribute. 5801 58022014-09-22 Joseph Myers <joseph@codesourcery.com> 5803 5804 * c-cppbuiltin.c (c_cpp_builtins): Define 5805 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point 5806 modes. 5807 58082014-09-18 Joseph Myers <joseph@codesourcery.com> 5809 5810 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__ 5811 for supported floating-point modes. 5812 58132014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org> 5814 5815 * c.opt (Wpsabi): Use LangEnabledBy. 5816 * c-opts.c (c_common_handle_option): Do not handle here. 5817 58182014-09-12 Joseph Myers <joseph@codesourcery.com> 5819 5820 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__ 5821 macros for floating-point modes. 5822 58232014-09-11 Marc Glisse <marc.glisse@inria.fr> 5824 5825 PR target/58757 5826 * c-cppbuiltin.c (builtin_define_float_constants): Correct 5827 __*_DENORM_MIN__ without denormals. 5828 58292014-09-10 Jakub Jelinek <jakub@redhat.com> 5830 5831 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift, 5832 ubsan_instrument_vla, ubsan_instrument_return): Adjust 5833 ubsan_create_data callers. 5834 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if 5835 index is constant or BIT_AND_EXPR with constant mask and is 5836 small enough for the bound. 5837 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of 5838 ARRAY_REF, make sure the inner ARRAY_REF is not walked again. 5839 58402014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org> 5841 5842 * c.opt: Add CppReason to various flags. 5843 (Wdate-time): Re-sort. 5844 * c-common.c: Include c-common.h earlier. 5845 (struct reason_option_codes_t): Delete. 5846 (c_option_controlling_cpp_error): Prefix global type and struct 5847 with cpp_. 5848 58492014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org> 5850 5851 * c.opt (Wnormalized): New. 5852 (Wnormalized=): Use Enum and Reject Negative. 5853 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here. 5854 58552014-09-08 Joseph Myers <joseph@codesourcery.com> 5856 5857 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa 5858 digits of floating-point modes if -fbuilding-libgcc. 5859 58602014-09-05 Joseph Myers <joseph@codesourcery.com> 5861 5862 * c-cppbuiltin.c (c_cpp_builtins): Also define 5863 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__, 5864 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__, 5865 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__, 5866 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__, 5867 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__, 5868 __LIBGCC_STACK_GROWS_DOWNWARD__, 5869 __LIBGCC_DONT_USE_BUILTIN_SETJMP__, 5870 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__, 5871 __LIBGCC_DWARF_FRAME_REGISTERS__, 5872 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__, 5873 __LIBGCC_STACK_POINTER_REGNUM__ and 5874 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc. 5875 (builtin_define_with_value): Handle backslash-escaping in string 5876 macro values. 5877 58782014-09-05 Richard Biener <rguenther@suse.de> 5879 5880 PR middle-end/63148 5881 * c-format.c (check_format_arg): Properly handle 5882 effectively signed POINTER_PLUS_EXPR offset. 5883 58842014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org> 5885 5886 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels, 5887 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic, 5888 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var 5889 and Init. 5890 * c-opts.c (c_common_handle_option): Do not handle here. 5891 (sanitize_cpp_opts): Likewise. 5892 * c-common.c (struct reason_option_codes_t): Handle 5893 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC. 5894 58952014-09-03 Marek Polacek <polacek@redhat.com> 5896 5897 * c.opt (Wlogical-not-parentheses): Enable by -Wall. 5898 58992014-09-02 Jakub Jelinek <jakub@redhat.com> 5900 Balaji V. Iyer <balaji.v.iyer@intel.com> 5901 Igor Zamyatin <igor.zamyatin@intel.com> 5902 5903 * c-cilkplus.c (cilk_for_number_of_iterations): New function. 5904 * c-common.c (c_common_reswords): Added _Cilk_for. 5905 * c-common.h (enum rid): Added RID_CILK_FOR. 5906 (cilk_for_number_of_iterations): Add declaration. 5907 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and 5908 CILK_FOR. 5909 * c-pragma.c (init_pragma): Register "grainsize" pragma. 5910 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE. 5911 59122014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org> 5913 5914 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels, 5915 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs, 5916 Wundef): Use CPP, Var and Init. 5917 * c-opts.c (c_common_handle_option): Do not handle the above flags here. 5918 59192014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org> 5920 5921 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init. 5922 * c-opts.c (c_common_handle_option): Do not handle here. 5923 59242014-08-25 Jason Merrill <jason@redhat.com> 5925 5926 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for 5927 -std=c++14 and -std=gnu++14, rather than the reverse. 5928 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and 5929 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14. 5930 * c-common.h (cxx_dialect): Remove cxx1y. 5931 59322014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net> 5933 5934 * c-common.h (enum cxx_dialect): Add cxx14. 5935 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14. 5936 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from 5937 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11. 5938 59392014-08-22 Jason Merrill <jason@redhat.com> 5940 5941 * c.opt (std=gnu++17): Fix alias. 5942 59432014-08-22 Marek Polacek <polacek@redhat.com> 5944 5945 PR c++/62199 5946 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't 5947 check for vector types. Drop LHS argument. 5948 * c-common.h (warn_logical_not_parentheses): Adjust. 5949 59502014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org> 5951 5952 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy. 5953 (Wmultichar): Likewise. 5954 (Wdate-time): Use C-family languages instead of Common. Use CPP 5955 and Var. 5956 * c-opts.c (c_common_handle_option): Do not handle the above 5957 options here. 5958 (sanitize_cpp_opts): Likewise. 5959 59602014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org> 5961 5962 PR fortran/44054 5963 * c-opts.c: Include tree-diagnostics.h. 5964 (c_diagnostic_finalizer): New. 5965 (c_common_initialize_diagnostics): Use it. 5966 59672014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org> 5968 5969 PR preprocessor/51303 5970 * c-common.c (struct reason_option_codes_t option_codes): 5971 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically. 5972 59732014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org> 5974 5975 PR c/60975 5976 PR c/53063 5977 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy. 5978 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto. 5979 (c_common_post_options): Call init_global_opts_from_cpp. 5980 (sanitize_cpp_opts): Do not handle Wvariadic-macros here. 5981 59822014-08-19 Marek Polacek <polacek@redhat.com> 5983 5984 PR c++/62153 5985 * c-common.c (maybe_warn_bool_compare): New function. 5986 * c-common.h (maybe_warn_bool_compare): Declare. 5987 * c.opt (Wbool-compare): New option. 5988 59892014-08-19 Marek Polacek <polacek@redhat.com> 5990 5991 * c.opt (Wc99-c11-compat): New option. 5992 59932014-08-19 Marek Polacek <polacek@redhat.com> 5994 5995 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according 5996 to warn_c90_c99_compat. 5997 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize 5998 to -1. 5999 60002014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org> 6001 Steven Bosscher <steven@gcc.gnu.org> 6002 6003 PR c/52952 6004 * c-format.c: Add extra_arg_loc and format_string_loc to struct 6005 format_check_results. 6006 (check_function_format): Use true and add comment for boolean 6007 argument. 6008 (finish_dollar_format_checking): Use explicit location when warning. 6009 (check_format_info): Likewise. 6010 (check_format_arg): Set extra_arg_loc and format_string_loc. 6011 (check_format_info_main): Use explicit location when warning. 6012 (check_format_types): Pass explicit location. 6013 (format_type_warning): Likewise. 6014 60152014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org> 6016 6017 PR fortran/44054 6018 * c-format.c: Handle Fortran flags. 6019 60202014-08-12 Igor Zamyatin <igor.zamyatin@intel.com> 6021 6022 PR other/61962 6023 * array-notation-common.c (find_rank): Added handling for other 6024 types of references. 6025 60262014-08-10 Marek Polacek <polacek@redhat.com> 6027 6028 PR c/51849 6029 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp. 6030 * c.opt (Wc90-c99-compat): Add option. 6031 60322014-08-07 Trevor Saunders <tsaunders@mozilla.com> 6033 6034 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h. 6035 60362014-08-03 Marek Polacek <polacek@redhat.com> 6037 6038 * c-common.c (check_case_value): Add location_t parameter. Use it. 6039 (c_add_case_label): Pass loc to check_case_value. 6040 60412014-08-02 Trevor Saunders <tsaunders@mozilla.com> 6042 6043 * cilk.c: Use hash_map instead of pointer_map. 6044 60452014-08-02 Trevor Saunders <tsaunders@mozilla.com> 6046 6047 * c-gimplify.c: Use hash_set instead of pointer_set. 6048 60492014-08-01 Igor Zamyatin <igor.zamyatin@intel.com> 6050 6051 PR middle-end/61455 6052 * array-notation-common.c (extract_array_notation_exprs): Handling 6053 of DECL_EXPR added. 6054 60552014-08-01 Jakub Jelinek <jakub@redhat.com> 6056 6057 * c-common.h (min_align_of_type): Removed prototype. 6058 * c-common.c (min_align_of_type): Removed. 6059 * c-ubsan.h (ubsan_maybe_instrument_reference, 6060 ubsan_maybe_instrument_member_call): New prototypes. 6061 * c-ubsan.c: Include stor-layout.h and builtins.h. 6062 (ubsan_maybe_instrument_reference_or_call, 6063 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New 6064 functions. 6065 60662014-07-31 Marc Glisse <marc.glisse@inria.fr> 6067 6068 PR c++/60517 6069 * c.opt (-Wreturn-local-addr): Move to common.opt. 6070 60712014-07-30 Jason Merrill <jason@redhat.com> 6072 6073 PR c++/61659 6074 PR c++/61687 6075 Revert: 6076 * c.opt (-fuse-all-virtuals): New. 6077 60782014-07-30 Tom Tromey <tromey@redhat.com> 6079 6080 PR c/59855 6081 * c.opt (Wdesignated-init): New option. 6082 * c-common.c (c_common_attribute_table): Add "designated_init". 6083 (handle_designated_init): New function. 6084 60852014-07-24 Marek Polacek <polacek@redhat.com> 6086 6087 PR c/57653 6088 * c-opts.c (c_finish_options): If -imacros is in effect, return. 6089 60902014-07-16 Dodji Seketeli <dodji@redhat.com> 6091 6092 PR preprocessor/60723 - missing system-ness marks for macro tokens 6093 * c-ppoutput.c (struct print::prev_was_system_token): New data 6094 member. 6095 (init_pp_output): Initialize it. 6096 (maybe_print_line_1, maybe_print_line, print_line_1, print_line) 6097 (do_line_change): Return a flag saying if a line marker was 6098 emitted or not. 6099 (scan_translation_unit): Detect if the system-ness of the token we 6100 are about to emit is different from the one of the previously 6101 emitted token. If so, emit a line marker. Avoid emitting useless 6102 adjacent line markers. Avoid emitting line markers for tokens 6103 originating from the expansion of built-in macros. 6104 (scan_translation_unit_directives_only): Adjust. 6105 61062014-07-15 Marek Polacek <polacek@redhat.com> 6107 6108 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if 6109 TYPE_MAX_VALUE is NULL. 6110 61112014-07-14 Jakub Jelinek <jakub@redhat.com> 6112 6113 PR middle-end/61294 6114 * c.opt (Wmemset-transposed-args): New warning. 6115 61162014-07-10 Jason Merrill <jason@redhat.com> 6117 6118 PR c++/61659 6119 PR c++/61687 6120 * c.opt (-fuse-all-virtuals): New. 6121 61222014-07-09 Richard Biener <rguenther@suse.de> 6123 6124 PR c-family/61741 6125 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions 6126 using unsigned arithmetic if overflow does not wrap instead of 6127 if overflow is undefined. 6128 61292014-07-06 Marek Polacek <polacek@redhat.com> 6130 6131 PR c/6940 6132 * c.opt (Wsizeof-array-argument): New option. 6133 61342014-07-03 Jakub Jelinek <jakub@redhat.com> 6135 6136 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if 6137 comments->count <= 1, as comments->entries might be NULL. 6138 61392014-07-01 Marek Polacek <polacek@redhat.com> 6140 6141 * c.opt (Wint-conversion): New option. 6142 61432014-07-01 Marek Polacek <polacek@redhat.com> 6144 6145 PR c/58286 6146 * c.opt (Wincompatible-pointer-types): New option. 6147 61482014-06-30 Paolo Carlini <paolo.carlini@oracle.com> 6149 6150 PR c++/51400 6151 * c-common.c (handle_noreturn_attribute, handle_const_attribute): 6152 Do not discard TYPE_QUALS of type. 6153 61542014-06-26 Jason Merrill <jason@redhat.com> 6155 6156 * c-common.h (enum cxx_dialect): Add cxx1z. 6157 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New. 6158 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it. 6159 61602014-06-26 Teresa Johnson <tejohnson@google.com> 6161 6162 * c-common.h (get_dump_info): Declare. 6163 * c-gimplify.c (c_genericize): Use saved dump files. 6164 * c-opts.c (c_common_parse_file): Begin and end dumps 6165 once around parsing invocation. 6166 (get_dump_info): New function. 6167 61682014-06-23 Marek Polacek <polacek@redhat.com> 6169 Andrew MacLeod <amacleod@redhat.com> 6170 6171 PR c/61553 6172 * c-common.c (get_atomic_generic_size): Don't segfault if the 6173 type doesn't have a size. 6174 61752014-06-20 Marek Polacek <polacek@redhat.com> 6176 6177 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h". 6178 (ubsan_walk_array_refs_r): New function. 6179 (c_genericize): Instrument array bounds. 6180 * c-ubsan.c: Include "internal-fn.h". 6181 (ubsan_instrument_division): Mark instrumented arrays as having 6182 side effects. Adjust ubsan_type_descriptor call. 6183 (ubsan_instrument_shift): Likewise. 6184 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call. 6185 (ubsan_instrument_bounds): New function. 6186 (ubsan_array_ref_instrumented_p): New function. 6187 (ubsan_maybe_instrument_array_ref): New function. 6188 * c-ubsan.h (ubsan_instrument_bounds): Declare. 6189 (ubsan_array_ref_instrumented_p): Declare. 6190 (ubsan_maybe_instrument_array_ref): Declare. 6191 61922014-06-20 Hale Wang <hale.wang@arm.com> 6193 6194 PR lto/61123 6195 * c.opt (fshort-enums): Add to LTO. 6196 * c.opt (fshort-wchar): Likewise. 6197 61982014-06-16 Marek Polacek <polacek@redhat.com> 6199 6200 PR c/60439 6201 * c.opt (Wswitch-bool): Add Var. 6202 62032014-06-12 Jakub Jelinek <jakub@redhat.com> 6204 6205 PR middle-end/61486 6206 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in 6207 #pragma omp target teams or 6208 #pragma omp {,target }teams distribute simd. 6209 62102014-06-12 Jason Merrill <jason@redhat.com> 6211 6212 * c.opt (Wabi=, fabi-compat-version): New. 6213 * c-opts.c (c_common_handle_option): Handle -Wabi=. 6214 (c_common_post_options): Handle flag_abi_compat_version default. 6215 Disallow -fabi-compat-version=1. 6216 * c-common.h (abi_version_crosses): New. 6217 62182014-06-11 Jan Hubicka <hubicka@ucw.cz> 6219 6220 * c-common.c (handle_section_attribute): Update handling for 6221 section names that are no longer trees. 6222 62232014-06-10 Jakub Jelinek <jakub@redhat.com> 6224 6225 PR fortran/60928 6226 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK... 6227 (omp_pragmas): ... back here. 6228 62292014-06-05 Marek Polacek <polacek@redhat.com> 6230 6231 PR c/49706 6232 * c-common.c (warn_logical_not_parentheses): New function. 6233 * c-common.h (warn_logical_not_parentheses): Declare. 6234 * c.opt (Wlogical-not-parentheses): New option. 6235 62362014-06-04 Marek Polacek <polacek@redhat.com> 6237 6238 PR c/30020 6239 * c-common.c (check_case_bounds): Add location parameter. 6240 Use it. 6241 (c_add_case_label): Pass loc to check_case_bounds. 6242 62432014-06-03 Marek Polacek <polacek@redhat.com> 6244 6245 PR c/60439 6246 * c.opt (Wswitch-bool): New option. 6247 62482014-05-22 Thomas Schwinge <thomas@codesourcery.com> 6249 6250 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl): 6251 Remove prototypes. 6252 (record_types_used_by_current_var_decl): Move prototype to where 6253 it belongs. 6254 6255 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6) 6256 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8) 6257 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes. 6258 62592014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com> 6260 6261 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete. 6262 * c-common.c (c_common_nodes_and_builtins): Don't initialize 6263 void_zero_node. 6264 * c-pretty-print.c (pp_c_void_constant): New function. 6265 (c_pretty_printer::constant, c_pretty_printer::primary_expression) 6266 (c_pretty_printer::expression): Handle VOID_CST. 6267 * cilk.c (extract_free_variables): Likewise. 6268 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift) 6269 (ubsan_instrument_vla): Use void_node instead of void_zero_node. 6270 62712014-05-17 Trevor Saunders <tsaunders@mozilla.com> 6272 6273 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute. 6274 * c-pragma.c (push_alignment): Adjust. 6275 (handle_pragma_push_options): Likewise. 6276 62772014-05-09 Marek Polacek <polacek@redhat.com> 6278 6279 PR c/50459 6280 * c-common.c (check_user_alignment): Return -1 if alignment is error 6281 node. 6282 (handle_aligned_attribute): Don't call default_conversion on 6283 FUNCTION_DECLs. 6284 (handle_vector_size_attribute): Likewise. 6285 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node. 6286 (handle_sentinel_attribute): Call default_conversion and allow even 6287 integral types as an argument. 6288 62892014-05-08 Marek Polacek <polacek@redhat.com> 6290 6291 PR c/61053 6292 * c-common.c (min_align_of_type): New function factored out from... 6293 (c_sizeof_or_alignof_type): ...here. 6294 * c-common.h (min_align_of_type): Declare. 6295 62962014-05-08 Marek Polacek <polacek@redhat.com> 6297 6298 PR c/61077 6299 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified 6300 parameter type of main. 6301 63022014-05-07 DJ Delorie <dj@redhat.com> 6303 6304 * c-cppbuiltin.c (print_bits_of_hex): New. 6305 (builtin_define_type_minmax): Print values using hex so as not to 6306 require a pre-computed list of string values. 6307 63082014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com> 6309 Mike Stump <mikestump@comcast.net> 6310 Richard Sandiford <rdsandiford@googlemail.com> 6311 6312 * c-ada-spec.c: Include wide-int.h. 6313 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove. 6314 (dump_generic_ada_node): Use wide-int interfaces. 6315 * c-common.c: Include wide-int-print.h. 6316 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt. 6317 (pointer_int_sum): Use wide-int interfaces. 6318 (c_common_nodes_and_builtins): Use make_int_cst. 6319 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p. 6320 (handle_alloc_size_attribute): Use wide-int interfaces. 6321 (get_nonnull_operand): Likewise. 6322 * c-format.c (get_constant): Use tree_fits_uhwi_p. 6323 * c-lex.c: Include wide-int.h. 6324 (narrowest_unsigned_type): Take a widest_int rather than two 6325 HOST_WIDE_INTs. 6326 (narrowest_signed_type): Likewise. 6327 (interpret_integer): Update accordingly. Use wide-int interfaces. 6328 (lex_charconst): Use wide-int interfaces. 6329 * c-pretty-print.c: Include wide-int.h. 6330 (pp_c_integer_constant): Use wide-int interfaces. 6331 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of 6332 INT_CST_LT_UNSIGNED. 6333 63342014-05-06 Richard Biener <rguenther@suse.de> 6335 6336 * c-opts.c (c_common_post_options): For -freestanding, 6337 -fno-hosted and -fno-builtin disable pattern recognition 6338 if not enabled explicitely. 6339 63402014-05-02 Marek Polacek <polacek@redhat.com> 6341 6342 * c.opt (Wsizeof-pointer-memaccess): Describe option. 6343 63442014-05-01 Marek Polacek <polacek@redhat.com> 6345 6346 PR c/43245 6347 * c.opt (Wdiscarded-qualifiers): Add. 6348 63492014-04-30 Marek Polacek <polacek@redhat.com> 6350 6351 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform 6352 INT_MIN / -1 sanitization only for integer types. 6353 63542014-04-25 Marek Polacek <polacek@redhat.com> 6355 6356 PR c/18079 6357 * c-common.c (handle_noinline_attribute): Warn if the attribute 6358 conflicts with always_inline attribute. 6359 (handle_always_inline_attribute): Warn if the attribute conflicts 6360 with noinline attribute. 6361 63622014-04-25 Marek Polacek <polacek@redhat.com> 6363 6364 PR c/60156 6365 * c-common.c (check_main_parameter_types): Warn about variadic main. 6366 63672014-04-24 Mike Stump <mikestump@comcast.net> 6368 6369 * c.opt (Wshadow-ivar): Default to on. 6370 63712014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com> 6372 6373 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add. 6374 63752014-04-23 Marek Polacek <polacek@redhat.com> 6376 6377 * c-common.c (handle_tm_wrap_attribute): Tweak error message. 6378 63792014-04-22 Jakub Jelinek <jakub@redhat.com> 6380 6381 PR sanitizer/60275 6382 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap () 6383 if flag_sanitize_undefined_trap_on_error. 6384 (ubsan_instrument_division, ubsan_instrument_shift, 6385 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort () 6386 if !flag_sanitize_recover. 6387 63882014-04-22 Marc Glisse <marc.glisse@inria.fr> 6389 6390 PR libstdc++/43622 6391 * c-common.c (registered_builtin_types): Make non-static. 6392 * c-common.h (registered_builtin_types): Declare. 6393 63942014-04-14 Richard Biener <rguenther@suse.de> 6395 Marc Glisse <marc.glisse@inria.fr> 6396 6397 PR c/60819 6398 * c-common.c (convert_vector_to_pointer_for_subscript): Properly 6399 apply may-alias the scalar pointer type when applicable. 6400 64012014-04-12 Igor Zamyatin <igor.zamyatin@intel.com> 6402 6403 PR middle-end/60467 6404 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL 6405 as possible argument for Cilk_spawn. 6406 64072014-04-11 Tobias Burnus <burnus@net-b.de> 6408 6409 PR c/60194 6410 * c.opt (Wformat-signedness): Add 6411 * c-format.c(check_format_types): Use it. 6412 64132014-04-11 Jason Merrill <jason@redhat.com> 6414 6415 PR c++/57926 6416 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call 6417 default_conversion for an array argument. 6418 64192014-04-08 Marek Polacek <polacek@redhat.com> 6420 6421 PR sanitizer/60745 6422 * c-ubsan.c: Include asan.h. 6423 (ubsan_instrument_return): Call initialize_sanitizer_builtins. 6424 64252014-04-03 Nathan Sidwell <nathan@codesourcery.com> 6426 6427 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++. 6428 64292014-04-02 Marek Polacek <polacek@redhat.com> 6430 6431 * c-common.h (c_expand_expr): Remove declaration. 6432 64332014-03-28 Jakub Jelinek <jakub@redhat.com> 6434 6435 PR c++/60689 6436 * c-common.c (add_atomic_size_parameter): When creating new 6437 params vector, push the size argument first. 6438 64392014-03-26 Jakub Jelinek <jakub@redhat.com> 6440 6441 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift, 6442 ubsan_instrument_vla, ubsan_instrument_return): Adjust 6443 ubsan_create_data callers. 6444 64452014-03-22 Jakub Jelinek <jakub@redhat.com> 6446 6447 PR debug/60603 6448 * c-opts.c (c_finish_options): Restore cb_file_change call to 6449 <built-in>. 6450 64512014-03-13 Jakub Jelinek <jakub@redhat.com> 6452 6453 PR middle-end/36282 6454 * c-pragma.c (apply_pragma_weak): Only look at 6455 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if 6456 DECL_ASSEMBLER_NAME_SET_P (decl). 6457 (maybe_apply_pending_pragma_weaks): Exit early if 6458 vec_safe_is_empty (pending_weaks) rather than only when 6459 !pending_weaks. 6460 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P, 6461 set assembler name back to NULL afterwards. 6462 64632014-03-11 Jason Merrill <jason@redhat.com> 6464 6465 * c.opt: Add -std=gnu++14. 6466 64672014-03-11 Ian Bolton <ian.bolton@arm.com> 6468 6469 * c-opts.c (c_common_post_options): Don't override 6470 -ffp-contract=fast if unsafe-math-optimizations is on. 6471 64722014-03-08 Paulo Matos <paulo@matos-sorge.com> 6473 6474 * c.opt: Enable LTO FE for fshort-double. 6475 64762014-03-07 Jason Merrill <jason@redhat.com> 6477 6478 * c.opt: Add -std=c++14. 6479 64802014-03-06 Marek Polacek <polacek@redhat.com> 6481 6482 PR c/60197 6483 * cilk.c (contains_cilk_spawn_stmt): New function. 6484 (contains_cilk_spawn_stmt_walker): Likewise. 6485 (recognize_spawn): Give error on invalid use of _Cilk_spawn. 6486 * c-common.h (contains_cilk_spawn_stmt): Add declaration. 6487 64882014-03-03 Jakub Jelinek <jakub@redhat.com> 6489 6490 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD. 6491 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD 6492 even when flag_preprocess_only. 6493 64942014-02-26 Jason Merrill <jason@redhat.com> 6495 6496 PR c++/59231 6497 PR c++/11586 6498 * c-common.c (shorten_compare): Don't check 6499 c_inhibit_evaluation_warnings. 6500 65012014-02-19 Jakub Jelinek <jakub@redhat.com> 6502 6503 PR c/37743 6504 * c-common.c (c_common_nodes_and_builtins): When initializing 6505 c_uint{16,32,64}_type_node, also set corresponding 6506 uint{16,32,64}_type_node to the same value. 6507 6508 PR c++/60267 6509 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma 6510 for PRAGMA_IVDEP if flag_preprocess_only. 6511 65122014-02-12 Jakub Jelinek <jakub@redhat.com> 6513 6514 PR c/60101 6515 * c-common.c (merge_tlist): If copy is true, call new_tlist, 6516 if false, add ADD itself, rather than vice versa. 6517 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero 6518 copy. For SAVE_EXPR, only call merge_tlist once. 6519 65202014-02-08 Jakub Jelinek <jakub@redhat.com> 6521 6522 PR middle-end/60092 6523 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p 6524 and tree_to_uhwi. 6525 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New 6526 functions. 6527 (c_common_attribute_table): Add alloc_align and assume_aligned 6528 attributes. 6529 65302014-02-06 Marek Polacek <polacek@redhat.com> 6531 6532 PR c/60087 6533 * c-common.c (warn_for_sign_compare): Call warning_at with location 6534 instead of warning. 6535 65362014-02-05 Marek Polacek <polacek@redhat.com> 6537 6538 PR c/53123 6539 * c-omp.c (c_finish_omp_atomic): Remove unreachable return 6540 statement. 6541 65422014-02-04 Marek Polacek <polacek@redhat.com> 6543 6544 PR c/60036 6545 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or 6546 SAVE_EXPR. 6547 65482014-02-03 Marc Glisse <marc.glisse@inria.fr> 6549 6550 PR c++/53017 6551 PR c++/59211 6552 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute, 6553 handle_vector_size_attribute, handle_nonnull_attribute): Call 6554 default_conversion on the attribute argument. 6555 (handle_nonnull_attribute): Increment the argument number. 6556 65572014-01-31 Marek Polacek <polacek@redhat.com> 6558 6559 PR c/59963 6560 * c-common.c (add_atomic_size_parameter): Pass vNULL to 6561 build_function_call_vec. 6562 (resolve_overloaded_builtin): Likewise. 6563 * c-common.h (build_function_call_vec): Adjust declaration. 6564 65652014-01-30 Marek Polacek <polacek@redhat.com> 6566 6567 PR c/59940 6568 * c-common.h (unsafe_conversion_p): Adjust declaration. 6569 (warnings_for_convert_and_check): Likewise. 6570 (convert_and_check): Likewise. 6571 * c-common.c (unsafe_conversion_p): Add location parameter. Call 6572 expansion_point_location_if_in_system_header on it. 6573 (warnings_for_convert_and_check): Add location parameter. Call 6574 expansion_point_location_if_in_system_header on it. Use it. 6575 (convert_and_check): Add location parameter. Use it. 6576 (conversion_warning): Likewise. 6577 (c_add_case_label): Adjust convert_and_check calls. 6578 (scalar_to_vector): Adjust unsafe_conversion_p calls. 6579 65802014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com> 6581 6582 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with 6583 flag_cilkplus. 6584 * c-pragma.c (init_pragma): Likewise. 6585 * c.opt: Likewise. 6586 65872014-01-23 Marek Polacek <polacek@redhat.com> 6588 6589 PR c/59846 6590 * c-common.c (shorten_compare): Add location_t parameter. 6591 * c-common.h (shorten_binary_op): Adjust declaration. 6592 65932014-01-23 Marek Polacek <polacek@redhat.com> 6594 6595 PR c/58346 6596 * c-common.c (pointer_to_zero_sized_aggr_p): New function. 6597 * c-common.h: Declare it. 6598 65992014-01-20 Eric Botcazou <ebotcazou@adacore.com> 6600 6601 * c-ada-spec.h (dump_ada_specs): Revert prototype change. 6602 * c-ada-spec.c (dump_ads): Likewise. 6603 (cpp_check): Likewise. 6604 (dump_ada_specs): Likewise. 6605 66062014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com> 6607 6608 PR c++/49718 6609 * c-common.c (handle_no_instrument_function_attribute): Allow 6610 no_instrument_function attribute in class member 6611 definition/declaration. 6612 66132014-01-15 Jakub Jelinek <jakub@redhat.com> 6614 6615 PR c/58943 6616 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around 6617 build_modify_expr with non-NOP_EXPR opcode. Handle return from it 6618 being COMPOUND_EXPR. 6619 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first 6620 operand a SAVE_EXPR and second MODIFY_EXPR. 6621 66222014-01-09 Jakub Jelinek <jakub@redhat.com> 6623 6624 PR target/58115 6625 * c-pch.c (c_common_write_pch): Call 6626 prepare_target_option_nodes_for_pch. 6627 66282014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 6629 6630 Update copyright years 6631 66322014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 6633 6634 * array-notation-common.c, c-cilkplus.c: Use the standard form for 6635 the copyright notice. 6636 66372013-12-28 Eric Botcazou <ebotcazou@adacore.com> 6638 6639 * c-ada-spec.c (print_constructor): New function. 6640 (print_destructor): Retrieve the origin of the destructor. 6641 (print_ada_declaration): Revamp handling of constructors/destructors. 6642 66432013-12-23 Stuart Hastings <stuart@apple.com> 6644 Bill Maddox <maddox@google.com> 6645 Jason Merrill <jason@redhat.com> 6646 6647 * c.opt: Add -fdeclone-ctor-dtor. 6648 * c-opts.c (c_common_post_options): Default to on iff -Os. 6649 66502013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com> 6651 6652 * c-common.c (c_common_attribute_table): Added "cilk simd function" 6653 attribute. 6654 * c-pragma.h (enum pragma_cilk_clause): Remove. 6655 (enum pragma_omp_clause): Added the following fields: 6656 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK, 6657 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE, 6658 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE, 6659 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE, 6660 PRAGMA_CILK_CLAUSE_UNIFORM. 6661 6662 66632013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com> 6664 6665 * cilk.c (cilk_outline): Made this function non-static. 6666 (gimplify_cilk_spawn): Removed pre_p and post_p arguments. 6667 (create_cilk_wrapper): Added a new parameter: a function pointer. 6668 (c_install_body_w_frame_cleanup): Remove 6669 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case. 6670 * c-common.h (cilk_outline): New prototype. 6671 (gimplify_cilk_spawn): Removed two parameters. 6672 (cilk_install_body_with_frame_cleanup): New prototype. 6673 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and 6674 CILK_SPAWN_STMT case. 6675 66762013-12-11 Bernd Schmidt <bernds@codesourcery.com> 6677 6678 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR. 6679 6680 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE. 6681 (int_array_type_node): Remove. 6682 * c-common.c (c_common_nodes_and_builtins): Don't build it. 6683 66842013-12-05 Marek Polacek <polacek@redhat.com> 6685 6686 PR c/52023 6687 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into 6688 [ADJUST_FIELD_ALIGN]. 6689 66902013-12-04 Joseph Myers <joseph@codesourcery.com> 6691 6692 PR c/52023 6693 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof 6694 and check field alignment if set. 6695 * c-common.h (c_sizeof_or_alignof_type): Update prototype. 6696 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type. 6697 66982013-12-04 Jakub Jelinek <jakub@redhat.com> 6699 Marek Polacek <polacek@redhat.com> 6700 6701 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow 6702 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS. 6703 67042013-11-29 H.J. Lu <hongjiu.lu@intel.com> 6705 6706 PR c/59309 6707 * cilk.c (gimplify_cilk_spawn): Properly handle function without 6708 arguments. 6709 67102013-11-29 Jakub Jelinek <jakub@redhat.com> 6711 6712 PR c/59280 6713 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE, 6714 goto invalid. If it is error_mark_node, don't issue further 6715 diagnostics. 6716 67172013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com> 6718 6719 * c.opt (Wopenmp-simd): New. 6720 67212013-11-22 Jakub Jelinek <jakub@redhat.com> 6722 6723 * c-ubsan.h (ubsan_instrument_return): New prototype. 6724 * c-ubsan.c (ubsan_instrument_return): New function. 6725 67262013-11-22 Andrew MacLeod <amacleod@redhat.com> 6727 6728 * c-common.c: Add required include files from gimple.h. 6729 * c-gimplify.c: Likewise 6730 * cilk.c: Likewise 6731 67322013-11-22 David Malcolm <dmalcolm@redhat.com> 6733 6734 * c-common.c (unsafe_conversion_p): Remove use of 6735 EXPR_LOC_OR_HERE macro. 6736 (conversion_warning): Likewise. 6737 (warnings_for_convert_and_check): Likewise. 6738 (warn_for_collisions_1): Likewise. 6739 (shorten_compare): Likewise, and remove use of in_system_header 6740 macro, using the location from the former. 6741 * c-lex.c (dump_one_header): Remove use of input_filename macro. 6742 (cb_def_pragma): Remove use of in_system_header macro. 6743 (lex_string): Likewise. 6744 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise. 6745 67462013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com> 6747 Mike Stump <mikestump@comcast.net> 6748 Richard Sandiford <rdsandiford@googlemail.com> 6749 6750 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi 6751 instead of TREE_INT_CST_LOW, in cases where there is a protecting 6752 tree_fits_shwi_p or tree_fits_uhwi_p. 6753 (dump_generic_ada_node): Likewise. 6754 * c-format.c (check_format_arg): Likewise. 6755 * c-pretty-print.c (pp_c_integer_constant): Likewise. 6756 67572013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com> 6758 6759 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi. 6760 67612013-11-19 Joshua J Cogliati <jrincayc@yahoo.com> 6762 6763 PR c/53001 6764 * c-common.c (unsafe_conversion_p): Make this function 6765 return an enumeration with more detail. 6766 (conversion_warning): Use the new return type of 6767 unsafe_conversion_p to separately warn either about conversions 6768 that lower floating point number precision or about the other 6769 kinds of conversions. 6770 * c-common.h (enum conversion_safety): New enumeration. 6771 (unsafe_conversion_p): switching return type to 6772 conversion_safety enumeration. 6773 * c.opt: Adding new warning -Wfloat-conversion and 6774 enabling it with -Wconversion. 6775 67762013-11-19 Basile Starynkevitch <basile@starynkevitch.net> 6777 6778 * c-opts.c: Include plugin.h. 6779 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE. 6780 67812013-11-19 Marek Polacek <polacek@redhat.com> 6782 6783 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data 6784 call. 6785 (ubsan_instrument_shift): Likewise. 6786 (ubsan_instrument_vla): Likewise. 6787 67882013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 6789 6790 * c-common.c (convert_vector_to_pointer_for_subscript): Remove 6791 cast to unsigned type. 6792 67932013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 6794 6795 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than 6796 tree_low_cst. 6797 (complete_array_type): Update comment to refer to tree_to_[su]hwi 6798 rather than tree_low_cst. 6799 68002013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 6801 6802 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with 6803 tree_to_uhwi throughout. 6804 68052013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 6806 6807 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace 6808 tree_low_cst (..., 0) with tree_to_shwi throughout. 6809 68102013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 6811 6812 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace 6813 host_integerp (..., 1) with tree_fits_uhwi_p throughout. 6814 68152013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 6816 6817 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace 6818 host_integerp (..., 0) with tree_fits_shwi_p throughout. 6819 68202013-11-15 Aldy Hernandez <aldyh@redhat.com> 6821 6822 * c-cilkplus.c: New file. 6823 * c-common.c (readonly_error): Add location argument. 6824 * c-common.h (readonly_error): Same. 6825 (c_finish_cilk_clauses): Protoize. 6826 (c_check_cilk_loop): Same. 6827 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes. 6828 Do not fail on error_mark_node. 6829 Abstract increment canonicalization to here... 6830 (c_omp_for_incr_canonicalize_ptr): New. 6831 c-pragma.c (init_pragma): Register "simd" pragma. 6832 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD. 6833 (enum pragma_cilk_clause): New. 6834 68352013-11-15 Richard Sandiford <rdsandiford@googlemail.com> 6836 6837 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary 6838 wchar_type and host_integerp checks. 6839 68402013-11-14 Andrew MacLeod <amacleod@redhat.com> 6841 6842 * c-common.c: Likewise. 6843 * c-gimplify.c: Likewise. 6844 * cilk.c: Likewise. 6845 68462013-11-14 Diego Novillo <dnovillo@google.com> 6847 6848 * c-common.c: Include fold-const.h. 6849 Include stor-layout.h. 6850 Include calls.h. 6851 Include stringpool.h. 6852 Include attribs.h. 6853 Include varasm.h. 6854 Include trans-mem.h. 6855 * c-cppbuiltin.c: Include stor-layout.h. 6856 Include stringpool.h. 6857 * c-format.c: Include stringpool.h. 6858 * c-lex.c: Include stringpool.h. 6859 Include stor-layout.h. 6860 * c-pragma.c: Include stringpool.h. 6861 Include attribs.h. 6862 Include varasm.h. 6863 Include gcc-symtab.h. 6864 * c-pretty-print.c: Include stor-layout.h. 6865 Include attribs.h. 6866 * cilk.c: Include stringpool.h. 6867 Include calls.h. 6868 68692013-11-13 Joseph Myers <joseph@codesourcery.com> 6870 6871 * c-common.h (enum rid): Add RID_AUTO_TYPE. 6872 * c-common.c (c_common_reswords): Add __auto_type. 6873 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE. 6874 68752013-11-12 Andrew MacLeod <amacleod@redhat.com> 6876 6877 * c-common.c: Include gimplify.h. 6878 * c-gimplify.c: Likewise. 6879 * cilk.c: Likewise. 6880 * c-omp.c: Include gimple-expr.h instead of gimple.h. 6881 * c-ubsan.c: Don't include gimple.h. 6882 68832013-11-12 Joseph Myers <joseph@codesourcery.com> 6884 6885 * c-common.c (c_common_reswords): Add _Thread_local. 6886 68872013-11-09 Joseph Myers <joseph@codesourcery.com> 6888 6889 * c-common.c (atomic_size_supported_p): New function. 6890 (resolve_overloaded_atomic_exchange) 6891 (resolve_overloaded_atomic_compare_exchange) 6892 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): 6893 Use it instead of comparing size with a local list of sizes. 6894 68952013-11-07 Andrew MacLeod <amacleod@redhat.com> 6896 Joseph Myers <joseph@codesourcery.com> 6897 6898 * c-common.h (enum rid): Add RID_ATOMIC. 6899 * c-common.c (c_common_reswords): Add _Atomic. 6900 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument. 6901 (keyword_is_type_qualifier): Accept RID_ATOMIC. 6902 * c-format.c (check_format_types): Check for extra _Atomic 6903 qualifiers in format argument. 6904 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier. 6905 (pp_c_type_qualifier_list): Mention _Atomic in comment. 6906 69072013-11-06 Tobias Burnus <burnus@net-b.de> 6908 6909 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME. 6910 69112013-11-06 Joseph Myers <joseph@codesourcery.com> 6912 6913 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C 6914 standards modes. 6915 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast 6916 to mean lack of IEEE 754 support. 6917 69182013-11-05 Tobias Burnus <burnus@net-b.de> 6919 6920 * c.opt (-Wdate-time): New option 6921 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp. 6922 69232013-11-05 Joseph Myers <joseph@codesourcery.com> 6924 6925 * c-cppbuiltin.c (cpp_iec_559_value): Test 6926 flag_excess_precision_cmdline not flag_excess_precision. 6927 69282013-11-05 Tobias Burnus <burnus@net-b.de> 6929 6930 * c.opt (fopenmp-simd): New option. 6931 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ... 6932 (omp_pragmas): ... this new struct. 6933 (c_pp_lookup_pragma): Also walk omp_pragmas. 6934 (init_pragma): Init pragmas for -fopenmp-simd. 6935 69362013-11-04 Marek Polacek <polacek@redhat.com> 6937 6938 PR c++/58979 6939 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case. 6940 69412013-11-04 Joseph Myers <joseph@codesourcery.com> 6942 6943 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value): 6944 New functions. 6945 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX. 6946 69472013-11-04 Eric Botcazou <ebotcazou@adacore.com> 6948 6949 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL. 6950 (dump_ada_specs): Adjust prototype of second callback. 6951 * c-ada-spec.c (cpp_check): New global variable. 6952 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down. 6953 (print_generic_ada_decl): Likewise. 6954 (has_static_fields): Change return type to bool and add guard. 6955 (has_nontrivial_methods): New predicate. 6956 (is_tagged_type): Change return type to bool. 6957 (separate_class_package): Call has_nontrivial_methods. 6958 (pp_ada_tree_identifier): Minor tweaks. 6959 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node. 6960 (dump_ada_array_domains): Likewise. 6961 (dump_ada_array_type): Likewise. 6962 (dump_template_types): Remove cpp_check parameter and do not pass it to 6963 dump_generic_ada_node. 6964 (dump_ada_template): Likewise. 6965 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it 6966 recursively. 6967 (print_ada_methods): Change return type to integer. Remove cpp_check 6968 parameter and do not pass it down. 6969 (dump_nested_types): Remove cpp_check parameter and do not pass it to 6970 dump_generic_ada_node. 6971 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before 6972 accessing methods. 6973 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it 6974 down. Use has_nontrivial_methods to recognize C++ classes. Use return 6975 value of print_ada_methods. 6976 (dump_ads): Rename cpp_check parameter to check and adjust prototype. 6977 Set cpp_check to it before invoking dump_ada_nodes. 6978 (dump_ada_specs): Likewise. 6979 69802013-11-03 Marek Polacek <polacek@redhat.com> 6981 6982 * c-ubsan.c: Don't include hash-table.h. 6983 (ubsan_instrument_vla): New function. 6984 * c-ubsan.h: Declare it. 6985 69862013-10-31 David Malcolm <dmalcolm@redhat.com> 6987 6988 Automated part of renaming of symtab_node_base to symtab_node. 6989 6990 Patch autogenerated by rename_symtab.py from 6991 https://github.com/davidmalcolm/gcc-refactoring-scripts 6992 revision 58bb219cc090b2f4516a9297d868c245495ee622 6993 6994 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename 6995 symtab_node_base to symtab_node. 6996 69972013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net> 6998 6999 Implement C++14 digit separators. 7000 * c-lex.c (interpret_float): Remove digit separators from scratch string 7001 before building real literal. 7002 70032013-10-30 Jakub Jelinek <jakub@redhat.com> 7004 7005 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC. 7006 70072013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com> 7008 7009 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync 7010 fields. 7011 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is 7012 enabled. 7013 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC. 7014 (insert_cilk_frame): New prototype. 7015 (cilk_init_builtins): Likewise. 7016 (gimplify_cilk_spawn): Likewise. 7017 (c_cilk_install_body_w_frame_cleanup): Likewise. 7018 (cilk_detect_spawn_and_unwrap): Likewise. 7019 (cilk_set_spawn_marker): Likewise. 7020 (build_cilk_sync): Likewise. 7021 (build_cilk_spawn): Likewise. 7022 * cilk.c: New file. 7023 70242013-10-29 David Malcolm <dmalcolm@redhat.com> 7025 7026 Patch autogenerated by refactor_symtab.py from 7027 https://github.com/davidmalcolm/gcc-refactoring-scripts 7028 revision 58bb219cc090b2f4516a9297d868c245495ee622 7029 7030 * c-gimplify.c (c_genericize): Update for conversion of symtab types 7031 to a true class hierarchy. 7032 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise. 7033 70342013-10-27 Richard Sandiford <rdsandiford@googlemail.com> 7035 7036 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend. 7037 70382013-10-26 Jeff Law <law@redhat.com> 7039 7040 * c-common.c (c_define_builtins): Remove mudflap support. 7041 * c.opt: Ignore and warn for mudflap options. 7042 70432013-10-24 Tobias Burnus <burnus@net-b.de> 7044 7045 PR other/33426 7046 * c-pragma.c (init_pragma) Add #pragma ivdep handling. 7047 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP. 7048 70492013-10-23 Jason Merrill <jason@redhat.com> 7050 7051 * c-format.c (gcc_cxxdiag_char_table): Add %X. 7052 70532013-10-11 Jakub Jelinek <jakub@redhat.com> 7054 7055 * c-common.h (omp_clause_mask::operator !=): New method. 7056 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0) 7057 instead of if (mask & something) tests everywhere. 7058 7059 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to 7060 201307 instead of 201107. 7061 * c-common.c (DEF_FUNCTION_TYPE_8): Define. 7062 (c_common_attribute_table): Add "omp declare target" and 7063 "omp declare simd" attributes. 7064 (handle_omp_declare_target_attribute, 7065 handle_omp_declare_simd_attribute): New functions. 7066 * c-omp.c: Include c-pragma.h. 7067 (c_finish_omp_taskgroup): New function. 7068 (c_finish_omp_atomic): Add swapped argument, if true, 7069 build the operation first with rhs, lhs arguments and use NOP_EXPR 7070 build_modify_expr. 7071 (c_finish_omp_for): Add code argument, pass it down to make_code. 7072 (c_omp_split_clauses): New function. 7073 (c_split_parallel_clauses): Removed. 7074 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers, 7075 c_omp_declare_simd_clauses_to_decls): New functions. 7076 * c-common.h (omp_clause_mask): New type. 7077 (OMP_CLAUSE_MASK_1): Define. 7078 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=, 7079 omp_clause_mask::operator |=, omp_clause_mask::operator ~, 7080 omp_clause_mask::operator |, omp_clause_mask::operator &, 7081 omp_clause_mask::operator <<, omp_clause_mask::operator >>, 7082 omp_clause_mask::operator ==): New methods. 7083 (enum c_omp_clause_split): New. 7084 (c_finish_omp_taskgroup): New prototype. 7085 (c_finish_omp_atomic): Add swapped argument. 7086 (c_finish_omp_for): Add code argument. 7087 (c_omp_split_clauses): New prototype. 7088 (c_split_parallel_clauses): Removed. 7089 (c_omp_declare_simd_clauses_to_numbers, 7090 c_omp_declare_simd_clauses_to_decls): New prototypes. 7091 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs. 7092 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL, 7093 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION, 7094 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD, 7095 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS. 7096 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS. 7097 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED, 7098 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE, 7099 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR, 7100 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH, 7101 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP, 7102 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS, 7103 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND, 7104 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS, 7105 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP, 7106 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and 7107 PRAGMA_OMP_CLAUSE_UNIFORM. 7108 71092013-10-09 Marc Glisse <marc.glisse@inria.fr> 7110 7111 PR tree-optimization/20318 7112 * c-common.c (handle_returns_nonnull_attribute): New function. 7113 (c_common_attribute_table): Add returns_nonnull. 7114 71152013-10-03 Marc Glisse <marc.glisse@inria.fr> 7116 7117 PR c++/19476 7118 * c.opt (fcheck-new): Move to common.opt. 7119 71202013-09-25 Marek Polacek <polacek@redhat.com> 7121 Jakub Jelinek <jakub@redhat.com> 7122 7123 PR sanitizer/58413 7124 * c-ubsan.c (ubsan_instrument_shift): Don't instrument 7125 an expression if we can prove it is correct. 7126 (ubsan_instrument_division): Likewise. Remove unnecessary 7127 check. 7128 71292013-09-18 Marek Polacek <polacek@redhat.com> 7130 7131 PR sanitizer/58411 7132 * c-common.c (handle_no_sanitize_undefined_attribute): New function. 7133 Declare it. 7134 (struct attribute_spec c_common_att): Add no_sanitize_undefined. 7135 71362013-09-14 Iain Sandoe <iain@codesourcery.com> 7137 7138 PR target/48094 7139 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version, 7140 fobjc-gc, freplace-objc-classes): Accept for LTO. 7141 71422013-09-13 Jacek Caban <jacek@codeweavers.com> 7143 7144 * c-target.def: New hook 7145 71462013-09-09 Paolo Carlini <paolo.carlini@oracle.com> 7147 7148 PR c++/43452 7149 * c.opt (Wdelete-incomplete): Add. 7150 71512013-09-08 Joern Rennecke <joern.rennecke@embecosm.com> 7152 7153 * c-common.c (same_scalar_type_ignoring_signedness): Delete. 7154 (vector_types_compatible_elements_p): New function. 7155 * c-common.h: (same_scalar_type_ignoring_signedness): Delete 7156 declaration. 7157 (vector_types_compatible_elements_p): Declare. 7158 71592013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net> 7160 7161 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now 7162 a virtual member function. 7163 (pp_simple_type_specifier): Remove. 7164 (pp_c_type_specifier): Likewise. 7165 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): 7166 Rename from pp_c_type_specifier. Adjust. 7167 (c_pretty_printer::c_pretty_printer): Do not assign to 7168 simple_type_specifier. 7169 71702013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net> 7171 7172 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual 7173 member function. 7174 (c_pretty_printer::storage_class_specifier): Likewise. 7175 (c_pretty_printer::initializer): Likewise. 7176 (pp_declaration): Remove. 7177 (pp_declaration_specifiers): Likewise. 7178 (pp_abstract_declarator): Likewise. 7179 (pp_declarator): Likewise. 7180 (pp_type_id): Likewise. 7181 (pp_statement): Likewise. 7182 (pp_constant): Likewise. 7183 (pp_id_expression): Likewise. 7184 (pp_primary_expression): Likewise. 7185 (pp_unary_expression): Likewise. 7186 (pp_multiplicative_expression): Likewise. 7187 (pp_conditional_expression): Likewise. 7188 (pp_assignment_expression): Likewise. 7189 (pp_expression): Likewise. 7190 (pp_c_type_id): Likewise. 7191 (pp_c_storage_class_specifier): Likewise. 7192 * c-pretty-print.c (pp_c_type_cast): Tidy. 7193 (pp_c_pointer): Likewise. 7194 (pp_c_type_specifier): Likewise. 7195 (pp_c_parameter_type_list): Likewise. 7196 (pp_c_function_definition): Likewise. 7197 (pp_c_init_declarator): Likewise. 7198 (pp_c_initializer_list): Likewise. 7199 (pp_c_constructor_elts): Likewise. 7200 (c_pretty_printer::direct_abstract_declarator): Likewise. 7201 (c_pretty_printer::declaration_specifiers): Likewise. 7202 (c_pretty_printer::primary_expression): Likewise. 7203 (c_pretty_printer::postfix_expression): Likewise. 7204 (c_pretty_printer::type_id): Rename from pp_c_type_id. 7205 (c_pretty_printer::storage_class_specifier): Rename from 7206 pp_c_storage_class_specifier. 7207 (c_pretty_printer::initializer): Rename from pp_c_initializer. 7208 (c_pretty_printer::c_pretty_printer): Do not assign to type_id, 7209 storage_class_specifier, initializer, offset_list, flags. 7210 72112013-08-30 Marek Polacek <polacek@redhat.com> 7212 7213 * c-ubsan.c: New file. 7214 * c-ubsan.h: New file. 7215 72162013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net> 7217 7218 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual 7219 member function. 7220 (c_pretty_printer::declaration_specifiers): Likewise. 7221 (c_pretty_printer::declarator): Likewise. 7222 (c_pretty_printer::abstract_declarator): Likewise. 7223 (c_pretty_printer::direct_abstract_declarator): Likewise. 7224 (c_pretty_printer::direct_declarator): Likewise. 7225 (c_pretty_printer::function_specifier): Likewise. 7226 (pp_declaration): Adjust. 7227 (pp_declaration_specifiers): Likewise. 7228 (pp_abstract_declarator): Likewise. 7229 (pp_direct_declarator): Likewise. 7230 (pp_function_specifier): Likewise. 7231 (pp_direct_abstract_declarator): Remove as unused. 7232 (pp_c_declaration): Remove. 7233 (pp_c_declaration_specifiers): Likewise. 7234 (pp_c_declarator): Likewise. 7235 (pp_c_direct_declarator): Likewise. 7236 (pp_c_function_specifier): Likewise. 7237 (pp_c_direct_abstract_declarator): Likewise. 7238 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename 7239 from pp_c_abstract_declarator. Adjust. 7240 (c_pretty_printer::direct_abstract_declarator): Rename from 7241 pp_c_direct_abstract_declarator. Adjust. 7242 (c_pretty_printer::function_specifier): Rename from 7243 pp_c_function_specifier. Adjust. 7244 (c_pretty_printer::declaration_specifiers): Rename from 7245 pp_c_declaration_specifiers. Adjust. 7246 (c_pretty_printer::direct_declarator): Rename from 7247 pp_c_direct_declarator. Adjust. 7248 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust. 7249 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust. 7250 (c_pretty_printer::c_pretty_printer): Do not assign to 7251 declaration, declaration_specifiers, declarator, 7252 direct_declarator, direct_abstract_declarator, function_specifier. 7253 72542013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net> 7255 7256 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a 7257 virtual member function. 7258 (c_pretty_printer::multiplicative_expression): Likewise. 7259 (c_pretty_printer::conditional_expression): Likewise. 7260 (c_pretty_printer::assignment_expression): Likewise. 7261 (c_pretty_printer::expression): Likewise. 7262 (pp_unary_expression): Adjust. 7263 (pp_multiplicative_expression): Likewise. 7264 (pp_assignment_expression): Likewise. 7265 (pp_conditional_expression): Likewise. 7266 (pp_expression): Likewise. 7267 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename 7268 from pp_c_unary_expression. Adjust. 7269 (c_pretty_printer::multiplicative_expression): Rename from 7270 pp_c_multiplicative_expression. Adjust. 7271 (c_pretty_printer::conditional_expression): Rename from 7272 pp_c_conditional_expression. Adjust. 7273 (c_pretty_printer::assignment_expression): Rename from 7274 pp_c_assignment_expression. Adjust. 7275 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust. 7276 (c_pretty_printer::c_pretty_printer): Do not assign to 7277 unary_expression, multiplicative_expression, 7278 conditional_expression, expression. 7279 72802013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net> 7281 7282 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a 7283 virtual member function. 7284 (pp_postfix_expression): Adjust. 7285 (pp_c_postfix_expression): Remove. 7286 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename 7287 from pp_c_postfix_expression. Adjust. 7288 (c_pretty_printer::c_pretty_printer): Do not assign to 7289 postfix_expression. 7290 72912013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net> 7292 7293 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a 7294 virtua member function. 7295 (pp_primary_expression): Adjust. 7296 (pp_c_primary_expression): Remove. 7297 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename 7298 from pp_c_primary_expression. Adjust. 7299 (pp_c_initializer_list): Use pp_primary_expression. 7300 (c_pretty_printer::c_pretty_printer): Do not assign to 7301 primary_expression. 7302 73032013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net> 7304 7305 * c-pretty-print.h (c_pretty_printer::translate_string): Declare. 7306 * c-pretty-print.c (M_): Remove. 7307 (c_pretty_printer::translate_string): Define. 7308 (pp_c_type_specifier): Use it. 7309 (pp_c_primary_expression): Likewise. 7310 (pp_c_expression): Likewise. 7311 73122013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net> 7313 7314 * c-pretty-print.h (c_pretty_printer::id_expression): Now a 7315 virtual function. 7316 (pp_c_id_expression): Remove. 7317 (pp_id_expression): Adjust. 7318 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from 7319 pp_c_id_expression. Adjust. 7320 (pp_c_postfix_expression): Use pp_id_expression. 7321 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression. 7322 73232013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net> 7324 7325 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual 7326 member function. 7327 (pp_constant): Adjust. 7328 (pp_c_constant): Remove. 7329 * c-pretty-print.c (c_pretty_printer::constant): Rename from 7330 pp_c_constant. Adjust. 7331 (pp_c_constant) 7332 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant. 7333 (c_pretty_printer::c_pretty_printer): Remove assignment to constant. 7334 73352013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net> 7336 7337 * c-pretty-print.h (pp_c_pretty_printer_init): Remove. 7338 (c_pretty_printer::c_pretty_printer): Declare. 7339 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from 7340 c_pretty_printer_init. Adjust. 7341 (print_c_tree): Do not call c_pretty_printer_init. 7342 * c-ada-spec.c (dump_ads): Remove call to pp_construct. 7343 73442013-08-09 Arnaud Charlet <charlet@adacore.com> 7345 7346 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name 7347 73482013-08-05 Paolo Carlini <paolo.carlini@oracle.com> 7349 7350 PR c++/58080 7351 * c-common.c (pointer_int_sum): Add bool parameter. 7352 * c-common.h (pointer_int_sum): Adjust declaration. 7353 73542013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net> 7355 7356 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local 7357 c_pretty_printer variable. 7358 73592013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net> 7360 7361 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer. 7362 (pp_base): Remove. 7363 (pp_c_base): Likewise. Adjust users. 7364 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust. 7365 (pp_c_whitespace): Do not call pp_base. 7366 (pp_c_left_paren): Likewise. 7367 (pp_c_right_paren): Likewise. 7368 (pp_c_left_brace): Likewise. 7369 (pp_c_right_brace): Likewise. 7370 (pp_c_left_bracket): Likewise. 7371 (pp_c_right_bracket): Likewise. 7372 (pp_c_dot): Likewise. 7373 (pp_c_ampersand): Likewise. 7374 (pp_c_star): Likewise. 7375 (pp_c_arrow): Likewise. 7376 (pp_c_semicolon): Likewise. 7377 (pp_c_complement): Likewise. 7378 (pp_c_exclamation): Likewise. 7379 (pp_c_direct_declarator): Likewise. 7380 (pp_c_ws_string): Likewise. 7381 (pp_c_identifier): Likewise. 7382 (pp_c_statement): Likewise. 7383 (print_c_tree): Likewise. 7384 73852013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net> 7386 7387 PR c++/58072 7388 * c-common.c (c_parse_error): Catch user-defined literal tokens and 7389 provide useful error strings. 7390 73912013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net> 7392 7393 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty 7394 printer functions instead of pp_string or operators and punctuators. 7395 (dump_generic_ada_node): Likewise. 7396 * c-pretty-print.c (pp_c_type_specifier): Likewise. 7397 (pp_c_relational_expression): Likewise. 7398 (pp_c_logical_or_expression): Likewise. 7399 74002013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net> 7401 7402 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer 7403 functions instead of pp_character. 7404 (pp_ada_tree_identifier): Likewise. 7405 (dump_ada_double_name): Likewise. 7406 (dump_ada_function_declaration): Likewise. 7407 (dump_ada_array_domains): Likewise. 7408 (dump_template_types): Likewise. 7409 (dump_generic_ada_node): Likewise. 7410 (print_ada_declaration): Likewise. 7411 (print_ada_struct_decl): Likewise. 7412 * c-pretty-print.c (pp_c_integer_constant): Likewise. 7413 74142013-07-23 Tom Tromey <tromey@redhat.com> 7415 7416 * c-common.h (enum rid) <RID_GENERIC>: New constant. 7417 * c-common.c (c_common_reswords): Add _Generic. 7418 74192013-07-21 OndÅej BÃlka <neleai@seznam.cz> 7420 7421 * c-common.c: Fix typos. 7422 * c-common.h: Likewise. 7423 74242013-07-13 Lubos Lunak <l.lunak@suse.cz> 7425 7426 PR c++/55203 7427 * c-common.c (c_common_attribute_table): Add warn_unused. 7428 (handle_warn_unused_attribute): New. 7429 74302013-07-10 Jakub Jelinek <jakub@redhat.com> 7431 7432 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines 7433 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT. 7434 74352013-07-10 Paolo Carlini <paolo.carlini@oracle.com> 7436 7437 PR c++/57869 7438 * c.opt: Add Wconditionally-supported. 7439 74402013-07-08 Graham Stott <graham.stott@btinternet.com> 7441 7442 * array-notation-common.c (length_mismatch_in_expr_p): Delete 7443 unused variables l_length and l_node. 7444 74452013-07-04 Joern Rennecke <joern.rennecke@embecosm.com> 7446 7447 PR c/57821 7448 * c-common.c (complete_array_type): Delay folding first index 7449 like other indices. When folding, check for index overflow. 7450 74512013-06-27 Marc Glisse <marc.glisse@inria.fr> 7452 7453 PR c++/57509 7454 * c-common.h (c_build_vec_perm_expr): New complain argument. 7455 * c-common.c (c_build_vec_perm_expr): Likewise. 7456 Use save_expr also in C++. 7457 74582013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net> 7459 7460 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x. 7461 * c-cppbuiltin.c (c_cpp_builtins): Likewise. 7462 * c-opts.c (c_common_post_options): Likewise. 7463 74642013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com> 7465 7466 * array-notation-common.c (length_mismatch_in_expr): Changed the 7467 parameter type's from a dynamic array to a vec_tree. Also removed 7468 the size parameters. 7469 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per 7470 the change above. 7471 74722013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com> 7473 7474 * c-common.h (struct cilkplus_an_parts): New structure. 7475 (struct cilkplus_an_loop_parts): Likewise. 7476 (cilkplus_extract_an_triplets): New prototype. 7477 (fix_sec_implicit_args): Likewise. 7478 * array-notation-common.c (cilkplus_extract_an_triplets): New function. 7479 (fix_sec_implicit_args): Likewise. 7480 74812013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com> 7482 7483 * array-notation-common.c (find_inv_trees): Removed an unwanted 7484 typecasting. 7485 * c-common.h (struct inv_list::additional_tcodes): Changed type from 7486 enum rid to enum tree_code. 7487 74882013-06-11 Jan Hubicka <jh@suse.cz> 7489 7490 * c-common.c (handle_alias_ifunc_attribute): Do not set 7491 DECL_EXTERNAL for weakref variables. 7492 * c-pragma.c (handle_pragma_weak): Make sure aliases 7493 are not declared as external. 7494 74952013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com> 7496 7497 * array-notation-common.c (length_mismatch_in_expr_p): Moved this 7498 function from c/c-array-notation.c. 7499 (is_cilkplus_reduce_builtin): Likewise. 7500 (find_rank): Likewise. 7501 (extract_array_notation_exprs): Likewise. 7502 (replace_array_notations): Likewise. 7503 (find_inv_trees): Likewise. 7504 (replace_inv_trees): Likewise. 7505 (contains_array_notation_expr): Likewise. 7506 (find_correct_array_notation_type): Likewise. 7507 * c-common.h (struct inv_list): Moved this struct from the file 7508 c/c-array-notation.c and added a new field called additional tcodes. 7509 (length_mismatch_in_expr_p): New prototype. 7510 (is_cilkplus_reduce_builtin): Likewise. 7511 (find_rank): Likewise. 7512 (extract_array_notation_exprs): Likewise. 7513 (replace_array_notation): Likewise. 7514 (find_inv_trees): Likewise. 7515 (replace_inv_trees): Likewise. 7516 (find_correct_array_notation_type): Likewise. 7517 75182013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com> 7519 7520 * c-common.c (c_define_builtins): When cilkplus is enabled, the 7521 function array_notation_init_builtins is called. 7522 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed. 7523 * c-common.def (ARRAY_NOTATION_REF): New tree. 7524 * c-common.h (build_array_notation_expr): New function declaration. 7525 (build_array_notation_ref): Likewise. 7526 (extract_sec_implicit_index_arg): New extern declaration. 7527 (is_sec_implicit_index_fn): Likewise. 7528 (ARRAY_NOTATION_CHECK): New define. 7529 (ARRAY_NOTATION_ARRAY): Likewise. 7530 (ARRAY_NOTATION_START): Likewise. 7531 (ARRAY_NOTATION_LENGTH): Likewise. 7532 (ARRAY_NOTATION_STRIDE): Likewise. 7533 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for 7534 ARRAY_NOTATION_REF. 7535 (pp_c_expression): Likewise. 7536 * c.opt (flag_enable_cilkplus): New flag. 7537 * array-notation-common.c: New file. 7538 75392013-05-14 Jakub Jelinek <jakub@redhat.com> 7540 7541 PR c++/57274 7542 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR. 7543 75442013-05-10 Marc Glisse <marc.glisse@inria.fr> 7545 7546 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for 7547 vectors. 7548 75492013-05-07 Han Shen <shenhan@google.com> 7550 7551 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3". 7552 75532013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> 7554 7555 * c-common.c (check_user_alignment): Emit error for negative values. 7556 75572013-04-24 Paolo Carlini <paolo.carlini@oracle.com> 7558 7559 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y. 7560 75612013-04-24 Paolo Carlini <paolo.carlini@oracle.com> 7562 7563 * c-cppbuiltin.c (c_cpp_builtins): Do not define 7564 __GXX_EXPERIMENTAL_CXX1Y__. 7565 75662013-04-24 Paolo Carlini <paolo.carlini@oracle.com> 7567 Manuel Lopez-Ibanez <manu@gcc.gnu.org> 7568 7569 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented. 7570 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns 7571 to simply use OPT_Wpointer_arith. 7572 (c_sizeof_or_alignof_type): Likewise. 7573 75742013-04-24 Paolo Carlini <paolo.carlini@oracle.com> 7575 7576 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__. 7577 75782013-04-12 Jakub Jelinek <jakub@redhat.com> 7579 7580 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table, 7581 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format 7582 specifiers. 7583 75842013-04-07 Steven Bosscher <steven@gcc.gnu.org> 7585 7586 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment. 7587 75882013-04-03 Paolo Carlini <paolo.carlini@oracle.com> 7589 7590 * c-common.c (pointer_int_sum): Remove dead code. 7591 75922013-03-09 Richard Sandiford <rdsandiford@googlemail.com> 7593 7594 PR middle-end/56524 7595 * c-common.c (handle_optimize_attribute): Don't call 7596 save_optabs_if_changed. 7597 75982013-03-05 Jakub Jelinek <jakub@redhat.com> 7599 7600 PR middle-end/56461 7601 * c-pch.c (pch_init): Free target_validity at the end. 7602 76032013-03-04 Jakub Jelinek <jakub@redhat.com> 7604 7605 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags. 7606 76072013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com> 7608 Jakub Jelinek <jakub@redhat.com> 7609 7610 PR sanitizer/56454 7611 * c-common.c (handle_no_sanitize_address_attribute): New function. 7612 (c_common_attribute_table): Add no_sanitize_address attribute. 7613 (handle_no_address_safety_analysis_attribute): Add 7614 no_sanitize_address attribute, not no_address_safety_analysis 7615 attribute. 7616 76172013-02-18 Aldy Hernandez <aldyh@redhat.com> 7618 7619 PR target/52555 7620 * c-common.c (handle_optimize_attribute): Call 7621 save_optabs_if_changed. 7622 76232013-02-18 Jakub Jelinek <jakub@redhat.com> 7624 Steven Bosscher <steven@gcc.gnu.org> 7625 7626 PR pch/54117 7627 * c-opts.c (c_common_post_options): If debug info is enabled 7628 and non-dwarf*, refuse to load PCH files and when writing PCH 7629 file warn. 7630 76312013-02-05 Jakub Jelinek <jakub@redhat.com> 7632 7633 PR middle-end/56167 7634 * c-common.c (handle_error_attribute): Fix condition. 7635 76362013-01-30 Jakub Jelinek <jakub@redhat.com> 7637 7638 PR c++/55742 7639 * c-common.c (handle_target_attribute): Revert 2012-12-26 change. 7640 76412013-01-18 Jason Merrill <jason@redhat.com> 7642 7643 PR target/54908 7644 * c.opt (-fextern-tls-init): New. 7645 * c-opts.c (c_common_post_options): Handle it. 7646 76472013-01-09 Jakub Jelinek <jakub@redhat.com> 7648 7649 PR c/48418 7650 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and 7651 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST 7652 and is either negative or bigger or equal to type precision 7653 of the first operand. 7654 76552012-12-03 Marek Polacek <polacek@redhat.com> 7656 7657 PR c/55570 7658 * c-common.c (check_user_alignment): Swap order of tests, 7659 check TREE_CODE first. 7660 76612012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net> 7662 7663 PR c++/52654 7664 * c-common.h (overflow_type): New enum. 7665 (build_userdef_literal): Add overflow_type argument. 7666 (tree_userdef_literal): Add overflow_type. 7667 (USERDEF_LITERAL_OVERFLOW): New access macro. 7668 * c-common.c (build_userdef_literal): Add overflow_type 7669 argument. 7670 * c-lex.c (c_lex_with_flags): Add overflow_type to 7671 build_userdef_literal calls. 7672 (interpret_integer, interpret_float): Add overflow_type argument. 7673 76742012-11-28 Richard Biener <rguenther@suse.de> 7675 7676 PR c/35634 7677 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions 7678 here and use a type with proper overflow behavior for types that would 7679 need to be promoted for the arithmetic. 7680 76812012-11-23 Jakub Jelinek <jakub@redhat.com> 7682 7683 PR sanitizer/55435 7684 * c-common.c (handle_no_address_safety_analysis_attribute): New 7685 function. 7686 (c_common_attribute_table): Add no_address_safety_analysis. 7687 76882012-11-16 Simon Baldwin <simonb@google.com> 7689 7690 * c.opt: Add f[no-]canonical-system-headers. 7691 * c-opts.c (c_common_handle_option): Handle 7692 OPT_fcanonical_system_headers. 7693 76942012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net> 7695 7696 PR c++/54413 7697 * c-opts.c (c_common_handle_option): Set new flags. 7698 * c.opt: Describe new flags. 7699 77002012-11-09 Jason Merrill <jason@redhat.com> 7701 7702 * c.opt (Wabi-tag): New. 7703 77042012-11-09 Andi Kleen <ak@linux.intel.com> 7705 7706 PR 55139 7707 * c-common.c (get_atomic_generic_size): Mask with 7708 MEMMODEL_MASK 7709 77102012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org> 7711 7712 PR c/53063 7713 * c.opt (Wformat): Make it Alias Wformat=1. 7714 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral, 7715 Wformat-security,Wformat-y2k,Wformat-zero-length): Use 7716 LangEnabledBy. 7717 (Wformat=): RejectNegative. Use LangEnabledBy. 7718 (Wnonnull): Use LangEnabledBy. 7719 * c-opts.c (c_common_handle_option): Do not handle Wformat here. 7720 * c-format.c (set_Wformat): Delete. 7721 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_. 7722 (maybe_read_dollar_number): Likewise. 7723 (avoid_dollar_number): Likewise. 7724 (finish_dollar_format_checking): Likewise. 7725 (check_format_info): Likewise. 7726 (check_format_info_main): Likewise. 7727 (check_format_types): Likewise. 7728 (format_type_warning): Likewise. 7729 * c-common.c (int): Likewise. 7730 (check_function_sentinel): Likewise. 7731 * c-common.h (warn_format,set_Wformat): Do not declare here. 7732 77332012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org> 7734 7735 PR c/53063 7736 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare, 7737 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros): 7738 Use LangEnabledBy. 7739 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from 7740 common.opt. 7741 (Wvariadic-macros): Init(1). 7742 * c-opts.c (c_common_handle_option): Do not handle them 7743 explicitly. 7744 (c_common_post_options): Likewise. 7745 (sanitize_cpp_opts): warn_unused_macros is now 7746 cpp_warn_unused_macros. 7747 (push_command_line_include): Likewise. 7748 * c-common.c (warn_unknown_pragmas): Do not define. 7749 * c-common.h (warn_unknown_pragmas): Do not declare. 7750 77512012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org> 7752 7753 PR c/51294 7754 * c-common.c (conversion_warning): Handle conditional expressions. 7755 77562012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com> 7757 7758 PR c++/54930 7759 * c.opt (Wreturn_local_addr): Define new option. 7760 77612012-10-25 Jason Merrill <jason@redhat.com> 7762 7763 * c.opt (Wvirtual-move-assign): New. 7764 7765 * c.opt (Winherited-variadic-ctor): New. 7766 77672012-10-25 Marc Glisse <marc.glisse@inria.fr> 7768 7769 PR c++/54427 7770 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR. 7771 77722012-10-23 Joseph Myers <joseph@codesourcery.com> 7773 7774 * c-common.h (pch_cpp_save_state): Declare. 7775 * c-target.def (c_preinclude): New hook. 7776 * c-opts.c (done_preinclude): New. 7777 (push_command_line_include): Handle default preincluded header. 7778 (cb_file_change): Call pch_cpp_save_state when calling 7779 push_command_line_include. 7780 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved) 7781 (pch_cpp_save_state): New. 7782 (pch_init): Call pch_cpp_save_state conditionally, instead of 7783 calling cpp_save_state. 7784 77852012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org> 7786 7787 PR c/53063 7788 PR c/40989 7789 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit, 7790 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess, 7791 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point, 7792 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused, 7793 Wvolatile-register-var): Add LangEnabledBy or EnabledBy. 7794 * c-opts.c (c_common_handle_option): Remove explicit handling from 7795 here. 7796 (c_common_post_options): Likewise. 7797 77982012-10-18 Eric Botcazou <ebotcazou@adacore.com> 7799 7800 * c-ada-spec.c (LOCATION_COL): Delete. 7801 (compare_location): New function. 7802 (compare_node): Use it. 7803 (compare_comment): Likewise. 7804 78052012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org> 7806 7807 PR c/53063 7808 PR c/40989 7809 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy. 7810 * c-opts.c (c_common_handle_option): Do not set them here. Add 7811 comment. 7812 (c_common_post_options): Likewise. 7813 78142012-10-16 Eric Botcazou <ebotcazou@adacore.com> 7815 7816 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define. 7817 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially. 7818 Remove POINTER_TYPE handling, add large unsigned handling and use 7819 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers. 7820 78212012-10-12 Jakub Jelinek <jakub@redhat.com> 7822 7823 PR c/54381 7824 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype. 7825 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3 7826 locs and array of 3 trees instead of just single loc and single 7827 sizeof_arg tree. Handle __builtin___*_chk builtins too, and 7828 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins. 7829 For *cmp* builtins that take two sources strings report warnings 7830 about first and second source, not about destination and source. 7831 78322012-10-12 Marc Glisse <marc.glisse@inria.fr> 7833 7834 PR c++/53055 7835 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New. 7836 78372012-10-11 Eric Botcazou <ebotcazou@adacore.com> 7838 7839 * c-ada-spec.c (dump_ada_template): Bail out for template declarations 7840 declaring something coming from another file. 7841 78422012-10-10 Arnaud Charlet <charlet@adacore.com> 7843 7844 PR ada/54845 7845 * c-ada-spec.c (print_ada_struct_decl): Increase buf size. 7846 78472012-10-09 Paolo Carlini <paolo.carlini@oracle.com> 7848 7849 PR c++/54194 7850 * c-common.c (warn_about_parentheses): Add location_t parameter; 7851 use EXPR_LOC_OR_LOC. 7852 * c-common.h: Update declaration. 7853 78542012-10-09 Marc Glisse <marc.glisse@inria.fr> 7855 7856 PR c++/54427 7857 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support 7858 more operations. Make error messages optional. 7859 * c-common.h (enum stv_conv): Moved from c-typeck.c. 7860 (scalar_to_vector): Declare. 7861 78622012-10-08 Jason Merrill <jason@redhat.com> 7863 7864 * c-common.c (c_common_reswords): Add thread_local. 7865 78662012-10-08 Dodji Seketeli <dodji@redhat.com> 7867 7868 PR c++/53528 C++11 attribute support 7869 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare 7870 new functions. 7871 * c-common.c (check_cxx_fundamental_alignment_constraints): New 7872 static function. 7873 (handle_aligned_attribute): In choose strictest alignment 7874 among many. Use new check_cxx_fundamental_alignment_constraints. 7875 (handle_transparent_union_attribute): In c++11 attribute syntax, 7876 don't look through typedefs. 7877 78782012-10-04 Arnaud Charlet <charlet@adacore.com> 7879 7880 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW. 7881 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition 7882 out of dumpfile.h. 7883 78842012-09-25 Dehao Chen <dehao@google.com> 7885 7886 PR middle-end/54645 7887 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data 7888 map when read in the pch. 7889 78902012-09-18 Arnaud Charlet <charlet@adacore.com> 7891 7892 * c-ada-spec.c: Style fixes. 7893 78942012-09-18 Thomas Quinot <quinot@adacore.com> 7895 7896 * c.opt (-fada-spec-parent): Define new command line switch. 7897 * c-ada-spec.c (get_ada_package): When -fada-spec-parent 7898 is specified, generate binding spec as a child of the specified unit. 7899 79002012-09-13 Paolo Carlini <paolo.carlini@oracle.com> 7901 Manuel López-Ibáñez <manu@gcc.gnu.org> 7902 7903 PR c++/53210 7904 * c.opt ([Winit-self]): Enabled by -Wall in C++. 7905 79062012-08-23 Arnaud Charlet <charlet@adacore.com> 7907 7908 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only 7909 for pointers, and add missing Convention C pragma. 7910 (print_ada_struct_decl): Add missing aliased keyword. 7911 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off). 7912 79132012-08-17 Jakub Jelinek <jakub@redhat.com> 7914 7915 * c-common.c (sizeof_pointer_memaccess_warning): New function. 7916 * c.opt (-Wsizeof-pointer-memaccess): Add new option. 7917 * c-opts.c (c_common_handle_option): Enable it for -Wall. 7918 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype. 7919 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def. 7920 79212012-08-10 Richard Guenther <rguenther@suse.de> 7922 7923 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names. 7924 79252012-08-07 Steven Bosscher <steven@gcc.gnu.org> 7926 7927 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush 7928 instead of separate pp_newline and pp_flush. 7929 (print_c_tree): Likewise. 7930 79312012-07-26 Richard Henderson <rth@redhat.com> 7932 7933 * c-common.c (handle_hot_attribute): Allow labels. 7934 (handle_cold_attribute): Likewise. 7935 79362012-07-20 Jakub Jelinek <jakub@redhat.com> 7937 7938 PR c++/28656 7939 * c-common.c (check_function_nonnull): Handle multiple nonnull 7940 attributes properly. 7941 79422012-07-16 Steven Bosscher <steven@gcc.gnu.org> 7943 7944 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h. 7945 * c-ada-spec.c: Likewise. 7946 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user. 7947 79482012-07-14 Steven Bosscher <steven@gcc.gnu.org> 7949 7950 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define. 7951 Remove code conditional on it. 7952 79532012-07-11 Steven Bosscher <steven@gcc.gnu.org> 7954 7955 * c-gimplify.c: Do not include basic-block.h. 7956 * c-common.c: Do not include linfuncs.h. 7957 79582012-07-08 Steven Bosscher <steven@gcc.gnu.org> 7959 7960 * c-common.h: Include tree.h. 7961 79622012-07-02 Jason Merrill <jason@redhat.com> 7963 7964 PR c++/53524 7965 * c-common.c (get_priority): Call default_conversion. 7966 79672012-07-01 Uros Bizjak <ubizjak@gmail.com> 7968 7969 * c-pch.c (c_common_write_pch): Remove unused variables. 7970 79712012-06-29 Steven Bosscher <steven@gcc.gnu.org> 7972 7973 * cppspec.c: Moved from gcc/ to here. 7974 79752012-06-27 Kai Tietz <ktietz@redhat.com> 7976 7977 PR preprocessor/37215 7978 * c-ppoutput.c (preprocess_file): Check for nonempty buffer. 7979 79802012-06-21 Steven Bosscher <steven@gcc.gnu.org> 7981 7982 * c-common.h (c_common_print_pch_checksum): Remove. 7983 * c-pch.c: Do not include output.h. 7984 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME. 7985 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined. 7986 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined. 7987 (struct c_pch_header): Remove. 7988 (get_ident): Update gpch version. 7989 (pch_init): Do not print executable_checksum to asm_out_file. 7990 Do not fail if there is no asm_out_file to read back from. Set 7991 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined. 7992 (c_common_write_pch): Verify that nothing was written to asm_out_file 7993 since pch_init was called. Do not write a c_pch_header, and do not 7994 copy from asm_out_file to the PCH. 7995 (c_common_read_pch): Do not read a c_pch_header, and do not restore 7996 the content of asm_out_file from the PCH. 7997 (c_common_print_pch_checksum): Remove. 7998 * c-opts.c (c_common_init): Print out executable_checksum directly. 7999 80002012-06-19 Steven Bosscher <steven@gcc.gnu.org> 8001 8002 * c-target.def (objc_declare_unresolved_class_reference, 8003 objc_declare_class_definition): Add new hooks. 8004 80052012-06-19 Steven Bosscher <steven@gcc.gnu.org> 8006 8007 * c-lex.c: Do not include output.h. 8008 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident. 8009 Remove uses of ASM_OUTPUT_IDENT. 8010 80112012-06-15 Marc Glisse <marc.glisse@inria.fr> 8012 8013 PR c++/51033 8014 * c-common.h (c_build_vec_perm_expr): Move decl here. 8015 * c-common.c (c_build_vec_perm_expr): Move definition 8016 here. 8017 80182012-06-06 Steven Bosscher <steven@gcc.gnu.org> 8019 8020 * c.opt (fconserve-space): Turn into a no-op. 8021 80222012-06-04 Sterling Augustine <saugustine@google.com> 8023 8024 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator. 8025 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at 8026 both the start and end of the function. 8027 80282012-06-04 Steven Bosscher <steven@gcc.gnu.org> 8029 8030 * c-common.c: Do not include output.h. 8031 * c-pragma.c: Likewise. 8032 80332012-06-04 Steven Bosscher <steven@gcc.gnu.org> 8034 8035 * error.c (dump_decl): Check pp_c_flag_gnu_v3. 8036 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions. 8037 (lang_decl_name): Handle namespace decls. 8038 80392012-05-31 Steven Bosscher <steven@gcc.gnu.org> 8040 8041 * c-ada-spec.c: Do not include output.h. 8042 * c-semantics.c: Likewise. 8043 80442012-05-29 Joseph Myers <joseph@codesourcery.com> 8045 8046 * c-common.c: Fix typo. 8047 80482012-05-29 Michael Matz <matz@suse.de> 8049 8050 * c-common.h (c_expand_decl): Remove prototype. 8051 80522012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org> 8053 8054 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall). 8055 * c-opts.c (c_common_handle_option): Remove code handling 8056 warn_missing_braces. 8057 80582012-05-28 Paolo Carlini <paolo.carlini@oracle.com> 8059 8060 PR c++/25137 8061 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable 8062 -Wmissing_braces. 8063 80642012-05-22 Dodji Seketeli <dodji@redhat.com> 8065 8066 PR c++/53322 8067 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused). 8068 80692012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org> 8070 8071 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here. 8072 * c-opts.c (c_common_handle_option): Do not handle explicitly 8073 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors. 8074 80752012-05-16 Dodji Seketeli <dodji@redhat.com> 8076 8077 PR preprocessor/7263 8078 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call 8079 to cpp_classify_number. For diagnostics, use the precise location 8080 instead of the global input_location. 8081 80822012-05-15 Paolo Carlini <paolo.carlini@oracle.com> 8083 8084 PR c++/11856 8085 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings. 8086 80872012-05-14 Bernd Schmidt <bernds@codesourcery.com> 8088 8089 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary. 8090 80912012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org> 8092 8093 PR 53063 8094 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init, 8095 Wreorder): Use LangEnabledBy. 8096 * c-opts.c (c_common_handle_option): Do not enable them 8097 explicitly. Call lang-specific generated functions. 8098 (c_common_post_options): Do not set them here. 8099 81002012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org> 8101 8102 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers, 8103 Wmissing-field-initializers,Wmissing-parameter-type, 8104 Wold-style-declaration,Woverride-init): Use EnabledBy. 8105 * c-opts.c (c_common_post_options): Do not set here explicitly. 8106 81072012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org> 8108 8109 PR 53063 8110 * c-opts.c (c_common_handle_option): Use handle_generated_option 8111 to enable sub-options. 8112 81132012-05-10 Paolo Carlini <paolo.carlini@oracle.com> 8114 8115 PR c++/53158 8116 * c-common.c (warnings_for_convert_and_check): Use warning_at. 8117 81182012-05-10 Richard Guenther <rguenther@suse.de> 8119 8120 * c-common.c (c_sizeof_or_alignof_type): Remove assert and 8121 adjust commentary about TYPE_IS_SIZETYPE types. 8122 81232012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org> 8124 8125 PR c++/53261 8126 * c-common.c (warn_logical_operator): Check that argument of 8127 integer_zerop is not NULL. 8128 81292012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org> 8130 8131 PR c/43772 8132 * c-common.c (warn_logical_operator): Do not warn if either side 8133 is already true or false. 8134 81352012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org> 8136 8137 PR c/51712 8138 * c-common.c (expr_original_type): New. 8139 (shorten_compare): Do not warn for enumeration types. 8140 81412012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org> 8142 8143 * c.opt (fpermissive): Add Var(flag_permissive). 8144 81452012-04-30 Marc Glisse <marc.glisse@inria.fr> 8146 8147 PR c++/51033 8148 * c-common.c (convert_vector_to_pointer_for_subscript): New function. 8149 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it. 8150 81512012-04-30 Dodji Seketeli <dodji@redhat.com> 8152 8153 Add -Wvarargs option 8154 * c.opt (Wvarargs): Define new option. 8155 81562012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org> 8157 8158 * c-common.c (check_function_arguments): Replace 8159 Wmissing-format-attribute with Wsuggest-attribute=format. 8160 81612012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org> 8162 8163 * c.opt (Wsuggest-attribute=format): New. Alias of 8164 Wmissing-format-attribute. 8165 * c-format.c (decode_format_type): Replace 8166 Wmissing-format-attribute with Wsuggest-attribute=format. 8167 (check_function_format): Likewise. 8168 81692012-04-27 Ollie Wild <aaw@google.com> 8170 8171 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping. 8172 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix. 8173 * c.opt: Add Wliteral-suffix. 8174 81752012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org> 8176 8177 PR c/44774 8178 * c.opt (Wpedantic): New. 8179 (pedantic): Alias Wpedantic. 8180 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic. 8181 (c_common_post_options): Likewise. 8182 (sanitize_cpp_opts): Likewise. 8183 * c-lex.c (interpret_float): Likewise. 8184 * c-format.c (check_format_types): Likewise. 8185 * c-common.c (pointer_int_sum): Likewise. 8186 (c_sizeof_or_alignof_type): Likewise. 8187 (c_add_case_label): Likewise. 8188 (c_do_switch_warnings): Likewise. 8189 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise. 8190 81912012-04-15 Jason Merrill <jason@redhat.com> 8192 8193 PR c++/52818 8194 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99. 8195 (C_STD_NAME): Distinguish between C++98 and C++11. 8196 81972012-04-11 Eric Botcazou <ebotcazou@adacore.com> 8198 8199 PR target/52624 8200 * c-common.h (uint16_type_node): Rename into... 8201 (c_uint16_type_node): ...this. 8202 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming. 8203 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise. 8204 82052012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org> 8206 8207 * c-common.c (warn_if_unused_value): Move definition to here. 8208 * c-common.h (warn_if_unused_value): Move declaration to here. 8209 82102012-03-23 William Bader <williambader@hotmail.com> 8211 8212 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts. 8213 82142012-03-20 Jason Merrill <jason@redhat.com> 8215 8216 * c-common.h (enum cxx_dialect): Add cxx1y. 8217 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect 8218 test. 8219 * c-cppbuiltin.c (c_cpp_builtins): Likewise. 8220 * c-opts.c (c_common_post_options): Likewise. 8221 (set_std_cxx1y): New. 8222 (c_common_handle_option): Call it. 8223 * c.opt (-std=c++1y, -std=gnu++1y): New flags. 8224 82252012-03-19 Paolo Carlini <paolo.carlini@oracle.com> 8226 8227 PR c++/14710 8228 * c.opt ([Wuseless-cast]): Add. 8229 82302012-03-16 Richard Guenther <rguenther@suse.de> 8231 8232 * c-pretty-print.c (pp_c_initializer_list): Adjust. 8233 82342012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org> 8235 8236 PR c++/44783 8237 * c.opt (ftemplate-backtrace-limit) Add. 8238 82392012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8240 8241 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix 8242 handling. 8243 * c-pragma.c (handle_pragma_extern_prefix): Remove. 8244 (init_pragma): Don't register extern_prefix. 8245 82462012-03-12 Richard Guenther <rguenther@suse.de> 8247 8248 * c-common.c (c_common_get_narrower): Use c_common_type_for_size. 8249 (builtin_type_for_size): Likewise. 8250 82512012-02-13 Jakub Jelinek <jakub@redhat.com> 8252 8253 PR c++/52215 8254 * c-common.c (sync_resolve_params): Don't decide whether to convert 8255 or not based on TYPE_SIZE comparison, convert whenever arg_type 8256 is unsigned INTEGER_TYPE. 8257 82582012-02-06 Paolo Carlini <paolo.carlini@oracle.com> 8259 8260 PR c/52118 8261 * c.opt ([Wunused-local-typedefs]): Fix description. 8262 82632012-01-24 Mike Stump <mikestump@comcast.net> 8264 8265 * c-common.c (c_common_type_for_mode): Match signed/unsigned types 8266 exactly. 8267 82682012-01-18 Richard Guenther <rguenther@suse.de> 8269 8270 * c-opts.c (c_common_post_options): Reset LTO flags if 8271 we are about to generate a PCH. 8272 82732012-01-17 Paolo Carlini <paolo.carlini@oracle.com> 8274 8275 PR c++/51777 8276 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants 8277 use pp_unsigned_wide_integer. 8278 82792012-01-10 Richard Guenther <rguenther@suse.de> 8280 8281 PR middle-end/51806 8282 * c-opts.c (c_common_handle_option): Move -Werror handling 8283 to language independent code. 8284 82852012-01-05 Richard Guenther <rguenther@suse.de> 8286 8287 PR middle-end/51764 8288 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here 8289 from common.opt. 8290 82912011-12-30 Paolo Carlini <paolo.carlini@oracle.com> 8292 8293 PR c++/51316 8294 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof 8295 of array types with an unknown bound. 8296 82972011-12-20 Joseph Myers <joseph@codesourcery.com> 8298 8299 * c-common.c (flag_isoc99): Update comment to refer to C11. 8300 (flag_isoc1x): Change to flag_isoc11. 8301 * c-common.h (flag_isoc99): Update comment to refer to C11. 8302 (flag_isoc1x): Change to flag_isoc11. 8303 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to 8304 C11. 8305 * c-opts.c (set_std_c1x): Change to set_std_c11. 8306 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11. 8307 Call set_std_c11. 8308 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11. 8309 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11. 8310 * c.opt (std=c1x): Change to std=c11. Document as non-draft 8311 standard. 8312 (std=c1x, std=iso9899:2011): Add as aliases of std=c11. 8313 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard. 8314 (std=gnu1x): Make alias of std=gnu11. 8315 83162011-12-19 Jason Merrill <jason@redhat.com> 8317 8318 PR c++/51228 8319 * c-common.c (handle_transparent_union_attribute): Check the first 8320 field if the type is complete. 8321 83222011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com> 8323 8324 PR libstdc++/51365 8325 * c-common.c (RID_IS_FINAL): Add. 8326 * c-common.h (RID_IS_FINAL): Add. 8327 83282011-11-30 Iain Sandoe <iains@gcc.gnu.org> 8329 8330 * c.opt (fgnu-runtime): Provide full description. 8331 (fnext-runtime): Likewise. 8332 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove. 8333 83342011-11-28 Andrew MacLeod <amacleod@redhat.com> 8335 8336 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic 8337 predefines in one place. Add LOCK_FREE predefines. 8338 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to 8339 new func. 8340 83412011-11-24 Andrew MacLeod <amacleod@redhat.com> 8342 8343 PR c/51256 8344 * c-common.c (get_atomic_generic_size): Check for various error 8345 conditions 8346 (resolve_overloaded_atomic_exchange, 8347 resolve_overloaded_atomic_compare_exchange, 8348 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return 8349 error_mark_node for error conditions. 8350 83512011-11-08 Richard Guenther <rguenther@suse.de> 8352 8353 PR middle-end/51010 8354 c-family/ 8355 83562011-11-07 Richard Henderson <rth@redhat.com> 8357 Aldy Hernandez <aldyh@redhat.com> 8358 Torvald Riegel <triegel@redhat.com> 8359 8360 Merged from transactional-memory. 8361 8362 * c-common.c (handle_tm_wrap_attribute, 8363 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New. 8364 (struct c_common_reswords): Added __transaction* keywords. 8365 (struct c_common_attribute_table): Added transaction* and tm_regparm 8366 attributes. 8367 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT* 8368 masks. 8369 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr, 8370 find_tm_attribute): Declare. 8371 83722011-11-07 Jason Merrill <jason@redhat.com> 8373 8374 PR c++/35688 8375 * c-common.c, c-common.h: Revert yesterday's changes. 8376 83772011-11-06 Jason Merrill <jason@redhat.com> 8378 8379 PR c++/35688 8380 * c-common.c (decl_has_visibility_attr): Split out from... 8381 (c_determine_visibility): ...here. 8382 * c-common.h: Declare it. 8383 83842011-11-06 Joseph Myers <joseph@codesourcery.com> 8385 8386 * c-common.c (c_common_reswords): Add _Alignas and _Alignof. 8387 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function 8388 type. 8389 (check_user_alignment): New. Split out of 8390 handle_aligned_attribute. Disallow integer constants with 8391 noninteger types. Conditionally allow zero. 8392 (handle_aligned_attribute): Use check_user_alignment. 8393 * c-common.h (RID_ALIGNAS, check_user_alignment): New. 8394 83952011-11-06 Andrew MacLeod <amacleod@redhat.com> 8396 Richard Henderson <rth@redhat.com> 8397 8398 Merged from cxx-mem-model. 8399 8400 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns. 8401 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak 8402 parameters that are the same type size. 8403 (get_atomic_generic_size): New. Find size of generic 8404 atomic function parameters and do typechecking. 8405 (add_atomic_size_parameter): New. Insert size into parameter list. 8406 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to 8407 either __atomic_exchange_n or external library call. 8408 (resolve_overloaded_atomic_compare_exchange): Restructure 8409 __atomic_compare_exchange to either _n variant or external library call. 8410 (resolve_overloaded_atomic_load): Restructure __atomic_load to either 8411 __atomic_load_n or an external library call. 8412 (resolve_overloaded_atomic_store): Restructure __atomic_store to either 8413 __atomic_store_n or an external library call. 8414 (resolve_overloaded_builtin): Handle new __atomic builtins. 8415 84162011-11-04 Eric Botcazou <ebotcazou@adacore.com> 8417 8418 PR c++/50608 8419 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1. 8420 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust. 8421 <INDIRECT_REF>: Return the argument. 8422 <ARRAY_REF>: Remove special code for negative offset. 8423 Call fold_build_pointer_plus instead of size_binop. 8424 (fold_offsetof): Remove STOP_REF argument and adjust. 8425 * c-common.h (fold_offsetof_1): Declare. 8426 (fold_offsetof): Remove STOP_REF argument. 8427 84282011-11-02 Paolo Carlini <paolo.carlini@oracle.com> 8429 8430 PR c++/50810 8431 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part 8432 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default 8433 Wnarrowing for C++0x and C++98. 8434 * c.opt ([Wnarrowing]): Update. 8435 84362011-11-01 Paolo Carlini <paolo.carlini@oracle.com> 8437 8438 PR c++/44277 8439 * c.opt: Add Wzero-as-null-pointer-constant. 8440 84412011-10-31 Jason Merrill <jason@redhat.com> 8442 8443 * c.opt (-fdeduce-init-list): Off by default. 8444 8445 PR c++/50920 8446 * c-common.h (cxx_dialect): Add cxx11 and cxx03. 8447 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03, 8448 and -Wc++11-compat. 8449 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x. 8450 84512011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov> 8452 8453 PR c++/30066 8454 * c.opt (fvisibility-inlines-hidden): Description change. 8455 84562011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net> 8457 8458 Implement C++11 user-defined literals. 8459 * c-common.c (build_userdef_literal): New. 8460 * c-common.def: New tree code. 8461 * c-common.h (tree_userdef_literal): New tree struct and accessors. 8462 * c-lex.c (interpret_float): Add suffix parm. 8463 (c_lex_with_flags): Build literal tokens. 8464 84652011-10-23 Paolo Carlini <paolo.carlini@oracle.com> 8466 8467 PR c++/50841 8468 Revert: 8469 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com> 8470 8471 PR c++/50810 8472 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part 8473 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default 8474 Wnarrowing for C++0x and C++98. 8475 * c.opt ([Wnarrowing]): Update. 8476 84772011-10-23 Paolo Carlini <paolo.carlini@oracle.com> 8478 8479 PR c++/50810 8480 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part 8481 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default 8482 Wnarrowing for C++0x and C++98. 8483 * c.opt ([Wnarrowing]): Update. 8484 84852011-10-21 Paolo Carlini <paolo.carlini@oracle.com> 8486 8487 PR c++/45385 8488 * c-common.c (conversion_warning): Remove code looking for 8489 artificial operands. 8490 84912011-10-18 Dodji Seketeli <dodji@redhat.com> 8492 8493 PR bootstrap/50760 8494 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when 8495 !NO_IMPLICIT_EXTERN_C. 8496 84972011-10-17 Michael Spertus <mike_spertus@symantec.com> 8498 8499 * c-common.c (c_common_reswords): Add __bases, 8500 __direct_bases. 8501 * c-common.h: Add RID_BASES and RID_DIRECT_BASES. 8502 85032011-10-17 Paolo Carlini <paolo.carlini@oracle.com> 8504 8505 PR c++/50757 8506 * c.opt ([Wnonnull]): Add C++ and Objective-C++. 8507 85082011-10-15 Tom Tromey <tromey@redhat.com> 8509 Dodji Seketeli <dodji@redhat.com> 8510 8511 * c.opt (fdebug-cpp): New option. 8512 * c-opts.c (c_common_handle_option): Handle the option. 8513 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an 8514 output stream in parameter. Factorized from ... 8515 (maybe_print_line): ... this. Dump location debug information when 8516 -fdebug-cpp is in effect. 8517 (print_line_1): New static function. Takes an output stream in 8518 parameter. Factorized from ... 8519 (print_line): ... here. Dump location information when -fdebug-cpp 8520 is in effect. 8521 (scan_translation_unit): Dump location information when 8522 -fdebug-cpp is in effect. 8523 85242011-10-15 Tom Tromey <tromey@redhat.com> 8525 Dodji Seketeli <dodji@redhat.com> 8526 8527 * c.opt (ftrack-macro-expansion): New option. Handle it with and 8528 without argument. 8529 * c-opts.c (c_common_handle_option)<case 8530 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New 8531 cases. Handle -ftrack-macro-expansion with and without argument. 8532 85332011-10-15 Tom Tromey <tromey@redhat.com> 8534 Dodji Seketeli <dodji@redhat.com> 8535 8536 * c-ppoutput.c (scan_translation_unit, maybe_print_line) 8537 (print_line, cb_define, do_line_change): Adjust to avoid touching 8538 the internals of struct line_map. Use the public API instead. 8539 * c-pch.c (c_common_read_pch): Likewise. 8540 * c-lex.c (fe_file_change): Likewise. 8541 85422011-10-14 Paolo Carlini <paolo.carlini@oracle.com> 8543 8544 PR c++/17212 8545 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++. 8546 85472011-10-11 Paolo Carlini <paolo.carlini@oracle.com> 8548 8549 PR c++/33067 8550 * c-pretty-print.c (pp_c_floating_constant): Output 8551 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits. 8552 85532011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com> 8554 8555 * c-common.c (def_builtin_1): Delete old interface with two 8556 parallel arrays to hold standard builtin declarations, and replace 8557 it with a function based interface that can support creating 8558 builtins on the fly in the future. Change all uses, and poison 8559 the old names. Make sure 0 is not a legitimate builtin index. 8560 * c-omp.c (c_finish_omp_barrier): Ditto. 8561 (c_finish_omp_taskwait): Ditto. 8562 (c_finish_omp_flush): Ditto. 8563 85642011-10-11 Tristan Gingold <gingold@adacore.com> 8565 8566 * c.opt: (fallow-parameterless-variadic-functions): New. 8567 85682011-09-08 Dodji Seketeli <dodji@redhat.com> 8569 8570 PR c++/33255 - Support -Wunused-local-typedefs warning 8571 * c-common.h (struct c_language_function::local_typedefs): New 8572 field. 8573 (record_locally_defined_typedef, maybe_record_typedef_use) 8574 (maybe_warn_unused_local_typedefs): Declare new functions. 8575 * c-common.c (record_locally_defined_typedef) 8576 (maybe_record_typedef_use) 8577 (maybe_warn_unused_local_typedefs): Define new functions. 8578 * c.opt: Declare new -Wunused-local-typedefs flag. 8579 85802011-09-06 Eric Botcazou <ebotcazou@adacore.com> 8581 8582 PR middle-end/50266 8583 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like 8584 computations. 8585 85862011-09-05 Richard Guenther <rguenther@suse.de> 8587 8588 * c-common.c (complete_array_type): Use ssize_int (-1) instead 8589 of integer_minus_one_node for empty array upper bounds. 8590 85912011-08-28 Dodji Seketeli <dodji@redhat.com> 8592 8593 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as 8594 it's the first time it's being called on this main TU. 8595 85962011-08-24 Richard Guenther <rguenther@suse.de> 8597 8598 PR c/49396 8599 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional. 8600 86012011-08-22 Gabriel Charette <gchare@google.com> 8602 8603 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens 8604 defined in cpp_init_builtins and c_cpp_builtins. 8605 86062011-08-19 Joseph Myers <joseph@codesourcery.com> 8607 8608 * c-common.c (c_common_reswords): Add __builtin_complex. 8609 * c-common.h (RID_BUILTIN_COMPLEX): New. 8610 86112011-08-18 Joseph Myers <joseph@codesourcery.com> 8612 8613 * c-common.c (c_common_reswords): Add _Noreturn. 8614 (keyword_is_function_specifier): Handle RID_NORETURN. 8615 * c-common.h (RID_NORETURN): New. 8616 86172011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com> 8618 8619 * c-common.c (unsafe_conversion_p): New function. Check if it is 8620 unsafe to convert an expression to the type. 8621 (conversion_warning): Adjust, use unsafe_conversion_p. 8622 * c-common.h (unsafe_conversion_p): New function declaration. 8623 86242011-08-02 Jakub Jelinek <jakub@redhat.com> 8625 8626 * c-common.h (c_finish_omp_atomic): Adjust prototype. 8627 (c_finish_omp_taskyield): New prototype. 8628 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1 8629 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and 8630 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1 8631 or RHS1 have side-effects, evaluate those too in the right spot, 8632 if it is a decl and LHS is also a decl, error out if they 8633 aren't the same. 8634 (c_finish_omp_taskyield): New function. 8635 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107. 8636 * c-pragma.c (omp_pragmas): Add taskyield. 8637 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD. 8638 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and 8639 PRAGMA_OMP_CLAUSE_MERGEABLE. 8640 86412011-07-25 Dodji Seketeli <dodji@redhat.com> 8642 8643 * c-common.h (set_underlying_type): Remove parm name from 8644 declaration. 8645 86462011-07-25 Romain Geissler <romain.geissler@gmail.com> 8647 8648 * c-pretty-print.h: Search c-common.h in c-family. 8649 86502011-07-22 Jason Merrill <jason@redhat.com> 8651 8652 PR c++/49793 8653 * c.opt (Wnarrowing): New. 8654 8655 PR c++/30112 8656 * c-common.h: Declare c_linkage_bindings. 8657 * c-pragma.c (handle_pragma_redefine_extname): Use it. 8658 8659 PR c++/49813 8660 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99. 8661 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well 8662 as flag_isoc99 for 'restrict'. 8663 (pp_c_specifier_qualifier_list): Likewise for _Complex. 8664 86652011-07-21 Ian Lance Taylor <iant@google.com> 8666 8667 PR middle-end/49705 8668 * c-common.c (c_disable_warnings): New static function. 8669 (c_enable_warnings): New static function. 8670 (c_fully_fold_internal): Change local unused_p to bool. Call 8671 c_disable_warnings and c_enable_warnings rather than change 8672 c_inhibit_evaluation_warnings. 8673 86742011-07-20 Jason Merrill <jason@redhat.com> 8675 8676 PR c++/6709 (DR 743) 8677 PR c++/42603 (DR 950) 8678 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h. 8679 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise. 8680 (CPP_DECLTYPE): New. 8681 * c-common.c (c_parse_error): Handle CPP_DECLTYPE. 8682 86832011-07-19 Richard Guenther <rguenther@suse.de> 8684 8685 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus. 8686 * c-omp.c (c_finish_omp_for): Likewise. 8687 86882011-07-12 Eric Botcazou <ebotcazou@adacore.com> 8689 8690 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop 8691 body on the next line. 8692 86932011-07-08 Jason Merrill <jason@redhat.com> 8694 8695 PR c++/45437 8696 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation. 8697 8698 PR c++/49673 8699 * c-common.c (c_apply_type_quals_to_decl): Don't check 8700 TYPE_NEEDS_CONSTRUCTING. 8701 87022011-07-06 Richard Guenther <rguenther@suse.de> 8703 8704 * c-common.c (c_common_nodes_and_builtins): 8705 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2. 8706 87072011-07-05 Richard Guenther <rguenther@suse.de> 8708 8709 * c-common.c (c_common_nodes_and_builtins): Build all common 8710 tree nodes first. 8711 87122011-06-27 Jakub Jelinek <jakub@redhat.com> 8713 8714 * c-common.h (c_tree_chain_next): New static inline function. 8715 8716 * c-common.c (check_builtin_function_arguments): Handle 8717 BUILT_IN_ASSUME_ALIGNED. 8718 87192011-06-21 Andrew MacLeod <amacleod@redhat.com> 8720 8721 * c-common.c: Add sync_ or SYNC__ to builtin names. 8722 * c-omp.c: Add sync_ or SYNC__ to builtin names. 8723 87242011-06-20 Pierre Vittet <piervit@pvittet.com> 8725 8726 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New 8727 handler. 8728 (gen_pragma_handler): New union. 8729 (internal_pragma_handler): New type. 8730 (c_register_pragma_with_data) 8731 (c_register_pragma_with_expansion_and_data): New functions. 8732 8733 * c-pragma.c (registered_pragmas, c_register_pragma_1) 8734 (c_register_pragma, c_register_pragma_with_expansion) 8735 (c_invoke_pragma_handler): Changed to work with 8736 internal_pragma_handler. 8737 (c_register_pragma_with_data) 8738 (c_register_pragma_with_expansion_and_data): New functions. 8739 87402011-06-14 Joseph Myers <joseph@codesourcery.com> 8741 8742 * c-common.c: Include common/common-target.h. 8743 (handle_section_attribute): Use 8744 targetm_common.have_named_sections. 8745 * c-cppbuiltin.c: Include common/common-target.h. 8746 (c_cpp_builtins): Use targetm_common.except_unwind_info. 8747 87482011-06-10 Richard Guenther <rguenther@suse.de> 8749 8750 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier 8751 to print a IDENTIFIER_NODE. 8752 87532011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 8754 Joseph Myers <joseph@codesourcery.com> 8755 8756 * c.opt (fbuilding-libgcc): New option. 8757 * c-cppbuiltin.c (c_cpp_builtins): Define 8758 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc. 8759 87602011-06-07 Jason Merrill <jason@redhat.com> 8761 8762 * c-common.c (max_tinst_depth): Lower default to 900. 8763 8764 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format. 8765 87662011-06-07 Richard Guenther <rguenther@suse.de> 8767 8768 * c-common.c (c_common_nodes_and_builtins): Do not set 8769 size_type_node or call set_sizetype. 8770 87712011-06-07 Dodji Seketeli <dodji@redhat.com> 8772 8773 PR debug/49130 8774 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical 8775 type when using pointer comparison to compare types. 8776 87772011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com> 8778 8779 * c.opt: Add -Wdelete-non-virtual-dtor. 8780 * c-opts.c (c_common_handle_option): Include it in -Wall. 8781 87822011-05-30 Nathan Froyd <froydnj@gcc.gnu.org> 8783 8784 PR bootstrap/49190 8785 8786 Revert: 8787 2011-05-26 Nathan Froyd <froydnj@codesourcery.com> 8788 8789 * c-common.h (struct c_common_identifier): Inherit from tree_typed, 8790 not tree_common. 8791 87922011-05-27 Jakub Jelinek <jakub@redhat.com> 8793 8794 PR c++/49165 8795 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For 8796 C++ don't call c_common_truthvalue_conversion on void type arms. 8797 87982011-05-27 Nathan Froyd <froydnj@codesourcery.com> 8799 8800 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC. 8801 (stmt_list_stack): Define. 8802 (cur_stmt_list): Adjust for new type of x_cur_stmt_list. 8803 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise. 8804 88052011-05-26 Nathan Froyd <froydnj@codesourcery.com> 8806 8807 * c-common.c (warning_candidate_p): Check for BLOCKs. 8808 88092011-05-26 Nathan Froyd <froydnj@codesourcery.com> 8810 8811 * c-common.h (struct c_common_identifier): Inherit from tree_typed, 8812 not tree_common. 8813 88142011-05-25 Jakub Jelinek <jakub@redhat.com> 8815 8816 * c-common.c (def_fn_type): Remove extra va_end. 8817 88182011-05-23 Jason Merrill <jason@redhat.com> 8819 8820 PR c++/48106 8821 * c-common.c (c_common_get_narrower): New. 8822 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it. 8823 88242011-05-23 Nathan Froyd <froydnj@codesourcery.com> 8825 8826 * c-common.h (check_function_arguments): Tweak prototype of 8827 check_function_arguments. 8828 * c-common.c (check_function_arguments): Likewise. Adjust 8829 calls to check_function_nonnull, check_function_format, and 8830 check_function_sentinel. 8831 (check_function_sentinel): Take a FUNCTION_TYPE rather than 8832 separate attributes and typelist arguments. Use 8833 FOREACH_FUNCTION_ARGS to iterate over argument types. 8834 88352011-05-15 Paolo Carlini <paolo.carlini@oracle.com> 8836 8837 * c-common.c (c_common_reswords): Reorder. 8838 * c-common.h (rid): Likewise. 8839 88402011-05-10 Nathan Froyd <froydnj@codesourcery.com> 8841 8842 * c-common.c (def_fn_type): Don't call build_function_type, call 8843 build_function_type_array or build_varargs_function_type_array 8844 instead. 8845 (c_common_nodes_and_builtins): Likewise. 8846 88472011-05-05 Nathan Froyd <froydnj@codesourcery.com> 8848 8849 * c-common.c (c_add_case_label): Omit the loc argument to 8850 build_case_label. 8851 * c-common.h (build_case_label): Remove. 8852 * c-semantics.c (build_case_label): Remove. 8853 88542011-05-05 Joseph Myers <joseph@codesourcery.com> 8855 8856 * c-objc.h (objc_start_method_definition): Update prototype. 8857 * stub-objc.c (objc_start_method_definition): Add extra parameter. 8858 88592011-05-04 Nathan Froyd <froydnj@codesourcery.com> 8860 8861 * c-common.c (check_main_parameter_types): Reindent. Don't use 8862 TYPE_ARG_TYPES directly. 8863 (handle_nonnull_attribute): Likewise. 8864 (sync_resolve_params): Likewise. 8865 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call 8866 to check_format_string. 8867 (handle_format_attribute): Likewise. 8868 (check_format_string): Take a function type to examine instead of 8869 a type list. Use a function_arg_iterator to step through argument 8870 types. 8871 88722011-05-04 Richard Guenther <rguenther@suse.de> 8873 8874 * c-common.c (fix_string_type): Use size_int for index type bounds. 8875 (start_fname_decls): Do not pass NULL to build_int_cst. 8876 (c_init_attributes): Likewise. 8877 * c-lex.c (c_lex_with_flags): Likewise. 8878 88792011-04-27 Jason Merrill <jason@redhat.com> 8880 8881 * c-common.c (make_tree_vector_from_list): New. 8882 * c-common.h: Declare it. 8883 88842011-04-26 Richard Guenther <rguenther@suse.de> 8885 8886 PR preprocessor/48248 8887 * c-ppoutput.c (maybe_print_line): Always optimize newlines 8888 for output size with -P. 8889 88902011-04-25 Paolo Carlini <paolo.carlini@oracle.com> 8891 8892 * c-common.c (struct c_common_resword): Add __underlying_type. 8893 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE. 8894 88952011-04-20 Jim Meyering <meyering@redhat.com> 8896 8897 * c-format.c (init_dollar_format_checking): Remove useless 8898 if-before-free. 8899 89002011-04-15 Nicola Pero <nicola.pero@meta-innovation.com> 8901 8902 * c-objc.h (objc_get_interface_ivars): Removed. 8903 (objc_detect_field_duplicates): New. 8904 * stub-objc.c: Likewise. 8905 89062011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> 8907 8908 * stub-objc.c (objc_declare_protocols): Renamed to 8909 objc_declare_protocol. 8910 * c-objc.h: Likewise. 8911 89122011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> 8913 8914 * stub-objc.c (objc_declare_class): Updated argument name. 8915 89162011-04-12 Nathan Froyd <froydnj@codesourcery.com> 8917 8918 * c-common.h (c_common_init_ts): Declare. 8919 * c-common.c (c_common_init_ts): Define. 8920 89212011-04-12 Nicola Pero <nicola.pero@meta-innovation.com> 8922 8923 * c-objc.h (objc_build_message_expr): Updated prototype. 8924 * stub-objc.c (objc_build_message_expr): Likewise. 8925 89262011-04-12 Martin Jambor <mjambor@suse.cz> 8927 8928 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead 8929 of cgraph_node. 8930 89312011-04-11 Richard Guenther <rguenther@suse.de> 8932 8933 * c-common.c (complete_array_type): Build a range type of 8934 proper type. 8935 89362011-04-08 Nathan Froyd <froydnj@codesourcery.com> 8937 8938 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES. 8939 (handle_type_generic_attribute): Likewise. 8940 89412011-04-07 Jason Merrill <jason@redhat.com> 8942 8943 PR c++/48450 8944 * c-common.c (c_common_truthvalue_conversion): Don't ignore 8945 conversion from C++0x scoped enum. 8946 89472011-04-06 Joseph Myers <joseph@codesourcery.com> 8948 8949 * c-target-def.h: New file. 8950 * c-target.def: New file. 8951 * c-target.h: New file. 8952 * c-common.c (targetcm): Don't define here. 8953 * c-common.h (default_handle_c_option): Declare. 8954 * c-format.c: Include c-target.h instead of target.h. 8955 * c-opts.c: Include c-target.h instead of target.h. Explicitly 8956 include tm.h. 8957 (default_handle_c_option): Move from targhooks.c. 8958 89592011-03-29 Jakub Jelinek <jakub@redhat.com> 8960 8961 PR preprocessor/48248 8962 * c-ppoutput.c (print): Add src_file field. 8963 (init_pp_output): Initialize it. 8964 (maybe_print_line): Don't optimize by adding up to 8 newlines 8965 if map->to_file and print.src_file are different file. 8966 (print_line): Update print.src_file. 8967 89682011-03-25 Kai Tietz <ktietz@redhat.com> 8969 8970 * c-ada-spec.c (compare_comment): Use filename_cmp 8971 instead of strcmp for filename. 8972 89732011-03-25 Jeff Law <law@redhat.com> 8974 8975 * c-common.c (def_fn_type): Add missing va_end. 8976 89772011-03-25 Jason Merrill <jason@redhat.com> 8978 8979 * c.opt: Add -std=c++03. 8980 89812011-03-22 Eric Botcazou <ebotcazou@adacore.com> 8982 8983 * c-ada-spec.c (dump_ada_template): Skip non-class instances. 8984 89852011-03-17 Kai Tietz <ktietz@redhat.com> 8986 8987 PR target/12171 8988 * c-pretty-print.c (pp_c_specifier_qualifier_list): 8989 Display allowed attributes for function pointer types. 8990 (pp_c_attributes_display): New function to display 8991 attributes having affects_type_identity flag set to true. 8992 * c-pretty-print.h (pp_c_attributes_display): New prototype. 8993 8994 * c-common.c (c_common_attribute_table): 8995 Add new element. 8996 (c_common_format_attribute_table): Likewise. 8997 89982011-03-18 Jason Merrill <jason@redhat.com> 8999 9000 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth). 9001 * c-common.h: Don't declare it here. 9002 * c-common.c: Or define it here. 9003 * c-opts.c (c_common_handle_option): Or set it here. 9004 9005 PR c++/35315 9006 * c-common.c (handle_transparent_union_attribute): Don't 9007 make a duplicate type in C++. 9008 90092011-03-15 Jason Merrill <jason@redhat.com> 9010 9011 * c-common.c (max_constexpr_depth): New. 9012 * c-common.h: Declare it. 9013 * c-opts.c (c_common_handle_option): Set it. 9014 * c.opt (fconstexpr-depth): New option. 9015 90162011-03-11 Jason Merrill <jason@redhat.com> 9017 9018 * c-common.c (attribute_takes_identifier_p): Add missing const. 9019 9020 PR c++/46803 9021 * c-common.c (attribute_takes_identifier_p): Assume that an 9022 unknown attribute takes an identifier. 9023 90242011-03-07 Nathan Froyd <froydnj@codesourcery.com> 9025 9026 PR c/47786 9027 * c-common.c (c_type_hash): Call list_length instead of iterating 9028 through DECL_CHAIN. Rename 'i' to 'n_elements'. 9029 90302011-02-19 Jakub Jelinek <jakub@redhat.com> 9031 9032 PR c/47809 9033 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR. 9034 90352011-02-17 Iain Sandoe <iains@gcc.gnu.org> 9036 9037 * c.opt (fobjc-abi-version=) New. 9038 (fobjc-nilcheck): New. 9039 90402011-02-03 Nathan Froyd <froydnj@codesourcery.com> 9041 9042 PR c++/46890 9043 * c-common.h (keyword_is_decl_specifier): Declare. 9044 * c-common.c (keyword_is_decl_specifier): Define. 9045 (keyword_is_function_specifier): New function. 9046 90472011-01-26 Jakub Jelinek <jakub@redhat.com> 9048 9049 PR c/47473 9050 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure 9051 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of 9052 REAL_TYPE. 9053 90542011-01-26 Arnaud Charlet <charlet@adacore.com> 9055 9056 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type. 9057 90582011-01-26 Jakub Jelinek <jakub@redhat.com> 9059 9060 PR pch/47430 9061 * c-opts.c (c_common_post_options): Call c_common_no_more_pch 9062 after init_c_lex if pch_file is set. 9063 90642011-01-26 Dave Korn <dave.korn.cygwin@gmail.com> 9065 9066 PR c++/43601 9067 * c.opt (-fkeep-inline-dllexport): New switch. 9068 90692011-01-12 Richard Guenther <rguenther@suse.de> 9070 9071 PR middle-end/32511 9072 * c-common.c (handle_weak_attribute): Warn instead of error 9073 on declaring an inline function weak. 9074 90752011-01-05 Tom Tromey <tromey@redhat.com> 9076 9077 * c-common.h (lvalue_error): Update. 9078 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at, 9079 not error. 9080 90812010-12-29 Nicola Pero <nicola.pero@meta-innovation.com> 9082 9083 PR objc/47075 9084 * c-objc.h (objc_finish_message_expr): Added argument to 9085 prototype. 9086 90872010-12-22 Nathan Froyd <froydnj@codesourcery.com> 9088 9089 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute): 9090 Use prototype_p. 9091 90922010-12-18 Nicola Pero <nicola.pero@meta-innovation.com> 9093 9094 * c-objc.h (objc_maybe_warn_exceptions): New. 9095 * stub-objc.c (objc_maybe_warn_exceptions): New. 9096 90972010-12-10 Nathan Froyd <froydnj@codesourcery.com> 9098 9099 * c-common.h (readonly_error): Declare. 9100 * c-common.c (readonly_error): Define. 9101 91022010-12-09 Nathan Froyd <froydnj@codesourcery.com> 9103 9104 * c-common.h (invalid_indirection_error): Declare. 9105 * c-common.c (invalid_indirection_error): Define. 9106 91072010-12-03 Richard Guenther <rguenther@suse.de> 9108 9109 PR c/46745 9110 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF. 9111 (pp_c_unary_expression): Likewise. 9112 (pp_c_expression): Likewise. 9113 91142010-11-30 Nicola Pero <nicola.pero@meta-innovation.com> 9115 9116 * c-common.h (objc_finish_function): New. 9117 (objc_non_volatilized_type): Removed. 9118 (objc_type_quals_match): Removed. 9119 * stub-objc.c (objc_finish_function): New. 9120 (objc_non_volatilized_type): Removed. 9121 (objc_type_quals_match): Removed. 9122 91232010-11-30 Joseph Myers <joseph@codesourcery.com> 9124 9125 * c-common.h (parse_optimize_options): Declare. 9126 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c, 9127 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h. 9128 91292010-11-29 Joseph Myers <joseph@codesourcery.com> 9130 9131 * c-opts.c (check_deps_environment_vars): Use getenv instead of 9132 GET_ENVIRONMENT. 9133 * c-pch.c (O_BINARY): Don't define here. 9134 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>. 9135 91362010-11-25 Joseph Myers <joseph@codesourcery.com> 9137 9138 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to 9139 targetm.except_unwind_info. 9140 91412010-11-23 Joseph Myers <joseph@codesourcery.com> 9142 9143 * c-opts.c (c_common_handle_option): Pass location to 9144 set_struct_debug_option. 9145 91462010-11-23 Joseph Myers <joseph@codesourcery.com> 9147 9148 * c-common.c (visibility_options): Move from ../opts.c. 9149 * c-common.h (struct visibility_flags, visibility_options): 9150 Declare here. 9151 * c-opts.c (finish_options): Rename to c_finish_options. 9152 (c_common_init): Update call to finish_options. 9153 91542010-11-22 Nicola Pero <nicola.pero@meta-innovation.com> 9155 9156 PR objc/34033 9157 * c-lex.c (lex_string): Check that each string in an Objective-C 9158 string concat sequence starts with either one or zero '@', and 9159 that there are no spurious '@' signs at the end. 9160 91612010-11-20 Joseph Myers <joseph@codesourcery.com> 9162 9163 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK, 9164 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and 9165 HANDLE_PRAGMA_VISIBILITY. 9166 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK, 9167 HANDLE_PRAGMA_VISIBILITY): Don't define. 9168 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test. 9169 91702010-11-20 Nathan Froyd <froydnj@codesourcery.com> 9171 9172 PR c++/16189 9173 PR c++/36888 9174 PR c++/45331 9175 * c-common.h (keyword_begins_type_specifier): Declare. 9176 (keyword_is_storage_class_specifier): Declare. 9177 (keyword_is_type_qualifier): Declare. 9178 * c-common.c (keyword_begins_type_specifier): New function. 9179 (keyword_is_storage_class_specifier): New function. 9180 (keyword_is_type_qualifier): Declare. 9181 91822010-11-19 Joseph Myers <joseph@codesourcery.com> 9183 9184 PR c/46547 9185 * c-common.c (in_late_binary_op): Define. 9186 (c_common_truthvalue_conversion): Check in_late_binary_op before 9187 calling c_save_expr. 9188 * c-common.h (in_late_binary_op): Declare. 9189 91902010-11-19 Joseph Myers <joseph@codesourcery.com> 9191 9192 * c-opts.c (c_common_handle_option): Update calls to 9193 set_struct_debug_option. 9194 91952010-11-19 Nicola Pero <nicola.pero@meta-innovation.com> 9196 9197 * c-common.h (objc_declare_protocols): Added additional argument. 9198 * stub-objc.c (objc_declare_protocol): Same change. 9199 92002010-11-18 Nathan Froyd <froydnj@codesourcery.com> 9201 9202 PR c/33193 9203 * c-common.h (build_real_imag_expr): Declare. 9204 * c-semantics.c (build_real_imag_expr): Define. 9205 92062010-11-17 Joseph Myers <joseph@codesourcery.com> 9207 9208 * c-opts.c (c_common_parse_file): Take no arguments. 9209 * c-common.h (c_common_parse_file): Update prototype. 9210 92112010-11-16 Jakub Jelinek <jakub@redhat.com> 9212 9213 PR c++/46401 9214 * c-common.c (warning_candidate_p): Don't track non-const calls 9215 or STRING_CSTs. 9216 92172010-11-15 Ian Lance Taylor <iant@google.com> 9218 9219 * c-lex.c (init_c_lex): Set macro debug callbacks if 9220 flag_dump_go_spec is set. 9221 92222010-11-15 Nicola Pero <nicola.pero@meta-innovation.com> 9223 9224 * c-common.h (objc_build_incr_expr_for_property_ref): New. 9225 * stub-objc.c (objc_build_incr_expr_for_property_ref): New. 9226 92272010-11-15 Nathan Froyd <froydnj@codesourcery.com> 9228 9229 PR preprocessor/45038 9230 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++ 9231 dialects. 9232 92332010-11-12 Joseph Myers <joseph@codesourcery.com> 9234 9235 * c-common.h (c_family_lang_mask): Declare. 9236 * c-opts.c (c_family_lang_mask): Make extern. 9237 * c-pragma.c (handle_pragma_diagnostic): Use 9238 control_warning_option. 9239 92402010-11-12 Joseph Myers <joseph@codesourcery.com> 9241 9242 * c-common.c (parse_optimize_options): Update call to 9243 decode_options. 9244 * c-common.h (c_common_handle_option): Update prototype. 9245 * c-opts.c (c_common_handle_option): Take location_t parameter and 9246 pass it to other functions. 9247 92482010-11-11 Joseph Myers <joseph@codesourcery.com> 9249 9250 * c-opts.c (warning_as_error_callback): Remove. 9251 (c_common_initialize_diagnostics): Don't call 9252 register_warning_as_error_callback. 9253 (c_common_handle_option): Handle -Werror=normalized= here. 9254 92552010-11-10 Joseph Myers <joseph@codesourcery.com> 9256 9257 * c-common.c (handle_mode_attribute): Use %' and word "signedness" 9258 in diagnostic. 9259 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase 9260 letter. 9261 * c-pragma.c (handle_pragma_target, handle_pragma_optimize): 9262 Remove trailing '.' from diagnostics. 9263 * c.opt (Wwrite-strings_: Avoid '`' in help text. 9264 92652010-11-10 Joseph Myers <joseph@codesourcery.com> 9266 9267 * c-common.c (parse_optimize_options): Pass global_dc to 9268 decode_options. 9269 * c-opts.c (c_common_handle_option): Pass &global_options to 9270 set_Wstrict_aliasing. 9271 * c.opt (v): Don't mark Common or document here. 9272 92732010-11-06 Iain Sandoe <iains@gcc.gnu.org> 9274 9275 PR target/44981 9276 * c-format.c (format_type): New type gcc_objc_string_format_type. 9277 (valid_stringptr_type_p): New. 9278 (handle_format_arg_attribute): Use valid_stringptr_type_p (). 9279 (check_format_string): Pass expected type, use 9280 valid_stringptr_type_p (), check that the format string types are 9281 consistent with the format specification. 9282 (decode_format_attr): Warn if NSString is used outside objective-c. 9283 (format_types_orig): Add NSString. 9284 (format_name): New. 9285 (format_flags): New. 9286 (check_format_arg): Handle format strings requiring an external parser. 9287 first_target_format_type: New variable. 9288 (handle_format_attribute): Set up first_target_format_type, pass the 9289 expected format arg string type to check_format_string(). 9290 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag. 9291 * stub-objc.c (objc_string_ref_type_p): New. 9292 (objc_check_format_arg): New. 9293 92942010-11-04 Nicola Pero <nicola.pero@meta-innovation.com> 9295 9296 Fixed using the Objective-C 2.0 dot-syntax with class names. 9297 * c-common.h (objc_build_class_component_ref): New. 9298 * stub-objc.c (objc_build_class_component_ref): New. 9299 93002010-11-03 Nicola Pero <nicola.pero@meta-innovation.com> 9301 9302 * c.opt (Wproperty-assign-default): New option. 9303 93042010-11-03 Nicola Pero <nicola.pero@meta-innovation.com> 9305 9306 Implemented -fobjc-std=objc1 flag. 9307 * c.opt (fobjc-std=objc1): New option. 9308 93092010-11-01 Nicola Pero <nicola.pero@meta-innovation.com> 9310 9311 Implemented format and noreturn attributes for Objective-C methods. 9312 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn' 9313 attribute for Objective-C methods. 9314 93152010-10-31 Jason Merrill <jason@redhat.com> 9316 9317 * c-common.c (conversion_warning, warn_for_collisions_1): Use 9318 EXPR_LOC_OR_HERE. 9319 93202010-10-30 Nicola Pero <nicola.pero@meta-innovation.com> 9321 9322 Implemented Objective-C 2.0 @property, @synthesize and @dynamic. 9323 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR. 9324 (objc_add_property_declaration): Removed arguments for copies and 9325 ivar. 9326 (objc_build_getter_call): Renamed to 9327 objc_maybe_build_component_ref. 9328 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr. 9329 (objc_is_property_ref): New. 9330 * c-common.c (c_common_reswords): Removed copies and ivar. 9331 * stub-objc.c (objc_add_property_declaration): Removed arguments 9332 for copies and ivar. 9333 (objc_build_getter_call): Renamed to 9334 objc_maybe_build_component_ref. 9335 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr. 9336 (objc_is_property_ref): New. 9337 93382010-10-29 Arnaud Charlet <charlet@adacore.com> 9339 Matthew Gingell <gingell@adacore.com> 9340 9341 * c-ada-spec.c (separate_class_package): New function. 9342 (pp_ada_tree_identifier): Prefix references to C++ classes with the 9343 name of their enclosing package. 9344 (print_ada_declaration): Use separate_class_package. 9345 93462010-10-27 Jason Merrill <jason@redhat.com> 9347 9348 * c-common.c (c_common_reswords): Add __is_literal_type. 9349 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE. 9350 9351 * c-common.c (check_case_value): Remove special C++ code. 9352 93532010-10-27 Nicola Pero <nicola.pero@meta-innovation.com> 9354 9355 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN, 9356 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR 9357 and RID_LAST_PATTR. 9358 (objc_add_property_declaration): Added additional arguments. 9359 (objc_property_attribute_kind): Removed. 9360 (objc_set_property_attr): Removed. 9361 * c-common.c (c_common_reswords): Added readwrite, assign, retain, 9362 copy and nonatomic. 9363 * stub-objc.c (objc_add_property_declaration): Added additional 9364 arguments. 9365 (objc_set_property_attr): Removed. 9366 93672010-10-27 Nicola Pero <nicola.pero@meta-innovation.com> 9368 9369 * c-common.h (objc_add_property_variable): Renamed to 9370 objc_add_property_declaration. Added location argument. 9371 * stub-objc.c (objc_add_property_variable): Same change. 9372 93732010-10-23 Nicola Pero <nicola.pero@meta-innovation.com> 9374 9375 * c-common.h (objc_maybe_printable_name): New. 9376 * stub-objc.c (objc_maybe_printable_name): New. 9377 93782010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com> 9379 Andrew Pinski <pinskia@gmail.com> 9380 9381 * c-common.h (c_common_mark_addressable_vec): Declare. 9382 * c-common.c (c_common_mark_addressable_vec): New function. 9383 93842010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> 9385 9386 * c-common.h (objc_set_method_type): Removed. 9387 (objc_add_method_declaration): Added boolean argument. 9388 (objc_start_method_definition): Same change. 9389 (objc_build_method_signature): Same change. 9390 * stub-objc.c (objc_set_method_type): Removed. 9391 (objc_add_method_declaration): Added boolean argument. 9392 (objc_start_method_definition): Same change. 9393 (objc_build_method_signature): Same change. 9394 93952010-10-20 Nicola Pero <nicola.pero@meta-innovation.com> 9396 9397 * c-common.h (finish_file): Removed. 9398 (objc_write_global_declarations): New. 9399 * c-opts.c (c_common_parse_file): Do not call finish_file. 9400 * stub-objc.c (objc_write_global_declarations): New. 9401 94022010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> 9403 9404 Implemented parsing @synthesize and @dynamic for 9405 Objective-C/Objective-C++. 9406 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC. 9407 (objc_add_synthesize_declaration): New. 9408 (objc_add_dynamic_declaration): New. 9409 * c-common.c (c_common_reswords): Add synthesize and dynamic. 9410 * stub-objc.c (objc_add_synthesize_declaration): New. 9411 (objc_add_dynamic_declaration): New. 9412 94132010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com> 9414 9415 PR target/46041 9416 * c-cppbuiltin.c (mode_has_fma): Move function here from 9417 builtins.c. Don't use the fma optab, instead just use the 9418 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when 9419 using -save-temps. 9420 94212010-10-18 Nicola Pero <nicola.pero@meta-innovation.com> 9422 9423 Merge from 'apple/trunk' branch on FSF servers. 9424 9425 2005-11-08 Fariborz Jahanian <fjahanian@apple.com> 9426 9427 Radar 4330422 9428 * c-common.h (objc_non_volatilized_type): New declaration 9429 * stub-objc.c (objc_non_volatilized_type): New stub. 9430 94312010-10-17 Nicola Pero <nicola.pero@meta-innovation.com> 9432 9433 Merge from 'apple/trunk' branch on FSF servers. 9434 9435 2006-03-27 Fariborz Jahanian <fjahanian@apple.com> 9436 9437 Radar 4133425 9438 * c-common.h (objc_diagnose_private_ivar): New decl. 9439 * stub-objc.c (objc_diagnose_private_ivar): New stub. 9440 94412010-10-17 Iain Sandoe <iains@gcc.gnu.org> 9442 9443 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE. 9444 * c-common.h (enum rid): Add RID_AT_PACKAGE. 9445 (objc_ivar_visibility_kind): New enum. 9446 (objc_set_visibility): Adjust prototype to use visibility enum. 9447 * stub-objc.c (objc_set_visibility): Adjust stub to use 9448 visibility enum. 9449 94502010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com> 9451 9452 * c-cppbuiltin.c (builtin_define_float_constants): Emit 9453 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine 9454 has the appropriate fma builtins. 9455 (c_cpp_builtins): Adjust call to builtin_define_float_constants. 9456 94572010-10-14 Iain Sandoe <iains@gcc.gnu.org> 9458 9459 merge from FSF apple 'trunk' branch. 9460 2006 Fariborz Jahanian <fjahanian@apple.com> 9461 9462 Radars 4436866, 4505126, 4506903, 4517826 9463 * c-common.c (c_common_resword): Define @property and its attributes. 9464 * c-common.h: Define property attribute enum entries. 9465 (OBJC_IS_PATTR_KEYWORD): New. 9466 (objc_property_attribute_kind): New enum. 9467 Declare objc_set_property_attr (), objc_add_property_variable (), 9468 objc_build_getter_call () and objc_build_setter_call (). 9469 * stub-objc.c (objc_set_property_attr): New stub. 9470 (objc_add_property_variable): Likewise. 9471 (objc_build_getter_call): Likewise. 9472 (objc_build_setter_call) Likewise. 9473 94742010-10-13 Iain Sandoe <iains@gcc.gnu.org> 9475 9476 merge from FSF apple 'trunk' branch. 9477 2006-04-26 Fariborz Jahanian <fjahanian@apple.com> 9478 9479 Radar 3803157 (method attributes) 9480 * c-common.c (handle_deprecated_attribute): Recognize 9481 objc methods as valid declarations. 9482 * c-common.h: Declare objc_method_decl (). 9483 * stub-objc.c (objc_method_decl): New stub. 9484 94852010-10-08 Joseph Myers <joseph@codesourcery.com> 9486 9487 * c-common.c (parse_optimize_options): Call 9488 decode_cmdline_options_to_array_default_mask before 9489 decode_options. Update arguments to decode_options. 9490 * c-common.h (c_common_init_options_struct): Declare. 9491 * c-opts.c (c_common_init_options_struct): New. Split out from 9492 c_common_init_options. 9493 94942010-10-06 Nicola Pero <nicola.pero@meta-innovation.com> 9495 9496 Implemented fast enumeration for Objective-C. 9497 * c-common.h (objc_finish_foreach_loop): New. 9498 * stub-objc.c (objc_finish_foreach_loop): New. 9499 95002010-10-05 Joseph Myers <joseph@codesourcery.com> 9501 9502 * c-common.h (struct diagnostic_context): Don't declare here. 9503 (c_common_initialize_diagnostics): Declare using 9504 diagnostic_context typedef. 9505 * c-opts.c (c_common_handle_option): Pass global_dc to 9506 handle_generated_option. 9507 95082010-10-04 Joseph Myers <joseph@codesourcery.com> 9509 9510 * c-opts.c (c_common_handle_option): Pass &global_options_set to 9511 handle_generated_option. 9512 95132010-10-03 Ian Lance Taylor <iant@google.com> 9514 9515 * c.opt (-fplan9-extensions): New option. 9516 95172010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 9518 9519 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision): 9520 Remove. 9521 (c_cpp_builtins): Call functions from cppbuiltin.c instead 9522 of duplicating code. 9523 95242010-09-30 Iain Sandoe <iains@gcc.gnu.org> 9525 9526 * c-common.c: Add two new entries for @optional 9527 and @required keywords. 9528 9529 merge from FSF 'apple/trunk' branch. 9530 2006-01-30 Fariborz Jahanian <fjahanian@apple.com> 9531 9532 Radar 4386773 9533 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new 9534 objective-c keywords. 9535 (objc_set_method_opt): New declaration. 9536 * stub-objc.c (objc_set_method_opt): New stub. 9537 95382010-09-30 Joseph Myers <joseph@codesourcery.com> 9539 9540 * c-common.c (handle_optimize_attribute): Pass &global_options to 9541 cl_optimization_save and cl_optimization_restore. 9542 * c-opts.c (c_common_handle_option): Pass &global_options to 9543 handle_generated_option. 9544 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var. 9545 (handle_pragma_pop_options, handle_pragma_reset_options): Pass 9546 &global_options to cl_optimization_restore. 9547 95482010-09-30 Nicola Pero <nicola.pero@meta-innovation.com> 9549 9550 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME 9551 Objective-C/Objective-C++ keywords. 9552 95532010-09-29 Nicola Pero <nicola.pero@meta-innovation.com> 9554 9555 Merge from 'apple/trunk' branch on FSF servers. 9556 9557 2005-10-04 Fariborz Jahanian <fjahanian@apple.com> 9558 9559 Radar 4281748 9560 * c-common.h (objc_check_global_decl): New declaration. 9561 * stub-objc.c (objc_check_global_decl): New stub. 9562 95632010-09-29 Joseph Myers <joseph@codesourcery.com> 9564 9565 * c.opt: Don't use VarExists. 9566 95672010-09-29 Joseph Myers <joseph@codesourcery.com> 9568 9569 * c-common.c (c_cpp_error): Update names of diagnostic_context 9570 members. 9571 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of 9572 cl_optimization members. 9573 * c-opts.c (warning_as_error_callback, c_common_handle_option, 9574 sanitize_cpp_opts, finish_options): Update names of cpp_options 9575 members. 9576 95772010-09-29 Nicola Pero <nicola.pero@meta-innovation.com> 9578 9579 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments. 9580 (objc_is_reserved_word): Removed. 9581 * c-common.c: Updated comments. 9582 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of 9583 objc_is_reserved_word. 9584 * stub-objc.c (objc_is_reserved_word): Removed. 9585 95862010-09-28 Iain Sandoe <iains@gcc.gnu.org> 9587 9588 * c-common.h (objc_add_method_declaration): Adjust prototype to 9589 include attributes. 9590 (objc_start_method_definition): Likewise. 9591 (objc_build_keyword_decl): Likewise. 9592 * stub-objc.c:(objc_add_method_declaration): Handle attributes. 9593 (objc_start_method_definition): Likewise. 9594 (objc_build_keyword_decl): Likewise. 9595 95962010-09-28 Iain Sandoe <iains@gcc.gnu.org> 9597 9598 * c-common.h (objc_start_class_interface): Adjust prototype. 9599 (objc_start_category_interface): Likewise. 9600 (objc_start_protocol): Likewise. 9601 * stub-objc.c (objc_start_protocol): Adjust for extra argument. 9602 (objc_start_class_interface): Likewise. 9603 (objc_start_category_interface): Likewise. 9604 96052010-09-27 Ian Lance Taylor <iant@google.com> 9606 9607 * c-common.c (c_common_attribute_table): Add no_split_stack. 9608 (handle_no_split_stack_attribute): New static function. 9609 96102010-09-27 Nicola Pero <nicola.pero@meta-innovation.com> 9611 9612 Merge from 'apple/trunk' branch on FSF servers. 9613 9614 2005-12-15 Fariborz Jahanian <fjahanian@apple.com> 9615 9616 Radar 4229905 9617 * c-common.h (objc_have_common_type): New declaration. 9618 * stub-objc.c (objc_have_common_type): New stub. 9619 9620 2005-06-22 Ziemowit Laski <zlaski@apple.com> 9621 9622 Radar 4154928 9623 * c-common.h (objc_common_type): New prototype. 9624 * stub-objc.c (objc_common_type): New stub. 9625 96262010-09-24 Jan Hubicka <jh@suse.cz> 9627 9628 * c-common.c (handle_leaf_attribute): New function. 9629 (struct attribute_spec c_common_att): Add leaf. 9630 96312010-09-22 Joseph Myers <joseph@codesourcery.com> 9632 9633 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments, 9634 -comments-in-macros, -define-macro, -define-macro=, -dependencies, 9635 -dump, -dump=, -imacros, -imacros=, -include, -include=, 9636 -include-barrier, -include-directory, -include-directory=, 9637 -include-directory-after, -include-directory-after=, 9638 -include-prefix, -include-prefix=, -include-with-prefix, 9639 -include-with-prefix=, -include-with-prefix-after, 9640 -include-with-prefix-after=, -include-with-prefix-before, 9641 -include-with-prefix-before=, -no-integrated-cpp, 9642 -no-line-commands, -no-standard-includes, -no-warnings, -output, 9643 -output=, -pedantic, -pedantic-errors, -preprocess, 9644 -print-missing-file-dependencies, -trace-includes, -traditional, 9645 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=, 9646 -user-dependencies, -verbose, -write-dependencies, 9647 -write-user-dependencies, no-integrated-cpp, traditional): New. 9648 96492010-09-21 Nicola Pero <nicola.pero@meta-innovation.com> 9650 9651 PR objc/23710 9652 * c-common.h (objc_start_method_definition): Return bool instead 9653 of void. 9654 * stub-objc.c (objc_start_method_definition): Return bool instead 9655 of void. 9656 96572010-09-21 Nicola Pero <nicola.pero@meta-innovation.com> 9658 9659 PR objc/25965 9660 * c-common.h (objc_get_interface_ivars): New declaration. 9661 * stub-objc.c (objc_get_interface_ivars): New stub. 9662 96632010-09-15 Ian Lance Taylor <iant@google.com> 9664 9665 * c-common.c (parse_optimize_options): Do not capitalize warning 9666 messages. Remove period at end of warning message. 9667 96682010-09-09 Nathan Sidwell <nathan@codesourcery.com> 9669 9670 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ... 9671 (handle_alias_attribute): ... here. 9672 (handle_ifunc_attribute): New. 9673 96742010-09-06 Mark Mitchell <mark@codesourcery.com> 9675 9676 * c-common.h (do_warn_double_promotion): Declare. 9677 * c-common.c (do_warn_double_promotion): Define. 9678 96792010-09-05 Mark Mitchell <mark@codesourcery.com> 9680 9681 * c.opt (Wdouble-promotion): New. 9682 96832010-09-02 Joseph Myers <joseph@codesourcery.com> 9684 9685 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc, 9686 fvtable-thunks, fxref): Mark no longer supported in help text. 9687 96882010-09-02 Joseph Myers <joseph@codesourcery.com> 9689 9690 * c.opt (Wimport, fall-virtual, falt-external-templates, 9691 fdefault-inline, fenum-int-equiv, fexternal-templates, 9692 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok, 9693 fname-mangling-version-, fnew-abi, fnonnull-objects, 9694 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable, 9695 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as 9696 applicable. 9697 (fhandle-exceptions): Mark with Alias and Warn. 9698 * c-opts.c (c_common_handle_option): Don't handle options marked 9699 as ignored. 9700 97012010-09-02 Joseph Myers <joseph@codesourcery.com> 9702 9703 * c.opt (Wcomments, Werror-implicit-function-declaration, 9704 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x, 9705 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as 9706 aliases. 9707 * c-common.c (option_codes): Use OPT_Wcomment instead of 9708 OPT_Wcomments. 9709 * c-opts.c (warning_as_error_callback, c_common_handle_option): 9710 Don't handle options marked as aliases. 9711 97122010-08-25 Richard Guenther <rguenther@suse.de> 9713 9714 * c-common.c (c_common_get_alias_set): Remove special 9715 handling for pointers. 9716 97172010-08-20 Nathan Froyd <froydnj@codesourcery.com> 9718 9719 * c-common.c: Use FOR_EACH_VEC_ELT. 9720 * c-gimplify.c: Likewise. 9721 * c-pragma.c: Likewise. 9722 97232010-08-16 Joseph Myers <joseph@codesourcery.com> 9724 9725 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of 9726 RejectDriver. 9727 (MMDX): Change back to MMD. Mark NoDriverArg instead of 9728 RejectDriver. 9729 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD 9730 instead of OPT_MDX and OPT_MMDX. 9731 97322010-08-16 Joseph Myers <joseph@codesourcery.com> 9733 9734 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver. 9735 97362010-08-12 Joseph Myers <joseph@codesourcery.com> 9737 9738 * c.opt (MD, MMD): Change to MDX and MMDX. 9739 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX. 9740 97412010-08-11 Joseph Myers <joseph@codesourcery.com> 9742 9743 * c-opts.c (c_common_handle_option): Call handle_generated_option 9744 instead of handle_option. 9745 97462010-08-08 Nathan Froyd <froydnj@codesourcery.com> 9747 9748 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push. 9749 (maybe_apply_renaming_pragma): Delete unneeded declarations. 9750 97512010-08-08 Nathan Froyd <froydnj@codesourcery.com> 9752 9753 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it. 9754 (pending_redefine_extname): Change type to a VEC. 9755 (add_to_renaming_pragma_list): Update for new type of 9756 pending_redefine_extname. 9757 (maybe_apply_renaming_pragma): Likewise. 9758 97592010-08-04 Arnaud Charlet <charlet@adacore.com> 9760 9761 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as 9762 visited. 9763 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to 9764 decide whether a type has already been declared/seen. 9765 Do not go to the original type. 9766 (dump_nested_types): New parameter forward. 9767 Generate forward declaration if needed and mark type as visited. 9768 (print_ada_declaration): Call dump_nested_types if not already done. 9769 Mark types as visited. 9770 97712010-08-03 Joseph Myers <joseph@codesourcery.com> 9772 9773 * c.opt (-print-pch-checksum): Remove option. 9774 * c-opts.c (c_common_handle_option): Don't handle 9775 OPT_print_pch_checksum. 9776 97772010-07-27 Joseph Myers <joseph@codesourcery.com> 9778 9779 * c-common.h (c_common_handle_option): Update prototype and return 9780 value type. 9781 * c-opts.c (c_common_handle_option): Update prototype and return 9782 value type. Update calls to handle_option and 9783 enable_warning_as_error. 9784 97852010-07-27 Jakub Jelinek <jakub@redhat.com> 9786 9787 PR c/45079 9788 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR. 9789 97902010-07-27 Joseph Myers <joseph@codesourcery.com> 9791 9792 * c-common.h (c_common_missing_argument): Remove. 9793 * c-opts.c (c_common_missing_argument): Remove. 9794 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=, 9795 idirafter, imacros, include, isysroot, isystem, iquote): Add 9796 MissingArgError. 9797 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove. 9798 97992010-07-27 Joseph Myers <joseph@codesourcery.com> 9800 9801 * c-common.h (c_common_option_lang_mask, 9802 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p): 9803 New. 9804 (c_common_init_options): Update prototype. 9805 * c-opts.c (c_common_option_lang_mask): New. 9806 (c_common_initialize_diagnostics): Split out of 9807 c_common_init_options. 9808 (accept_all_c_family_options, c_common_complain_wrong_lang_p): 9809 New. 9810 (c_common_init_options): Update prototype. Use decoded options in 9811 search for -lang-asm. 9812 98132010-07-15 Nathan Froyd <froydnj@codesourcery.com> 9814 9815 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN. 9816 * c-format.c: Likewise. 9817 98182010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org> 9819 9820 * c-common.h: Include diagnostic-core.h. Error if already 9821 included. 9822 * c-semantics.c: Do not define GCC_DIAG_STYLE here. 9823 98242010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org> 9825 9826 * c-common.c (IN_GCC_FRONTEND): Do not undef. 9827 Do not include expr.h 9828 (vector_mode_valid_p): Move here. 9829 98302010-06-21 DJ Delorie <dj@redhat.com> 9831 9832 * c-pragma.c (handle_pragma_diagnostic): Add push/pop, 9833 allow these pragmas anywhere. 9834 98352010-06-14 Jakub Jelinek <jakub@redhat.com> 9836 9837 PR bootstrap/44509 9838 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h. 9839 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers. 9840 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use 9841 ggc_strdup instead of xstrdup. 9842 98432010-06-10 Jakub Jelinek <jakub@redhat.com> 9844 9845 * c-cppbuiltin.c: Include cpp-id-data.h. 9846 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables. 9847 (lazy_hex_fp_value): New function. 9848 (builtin_define_with_hex_fp_value): Provide definitions lazily. 9849 98502010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org> 9851 9852 * c-gimplify.c: Do not include tree-flow.h 9853 98542010-06-29 Joern Rennecke <joern.rennecke@embecosm.com> 9855 9856 PR other/44034 9857 * c-common.c: Rename targetm member: 9858 targetm.enum_va_list -> targetm.enum_va_list_p 9859 98602010-06-28 Anatoly Sokolov <aesok@post.ru> 9861 9862 * c-common.c (shorten_compare): Adjust call to force_fit_type_double. 9863 98642010-06-28 Steven Bosscher <steven@gcc.gnu.org> 9865 9866 * c-cppbuiltin.c: Do not include except.h. 9867 98682010-06-24 Andi Kleen <ak@linux.intel.com> 9869 9870 * c-common.c (warn_for_omitted_condop): New. 9871 * c-common.h (warn_for_omitted_condop): Add prototype. 9872 98732010-06-21 Joseph Myers <joseph@codesourcery.com> 9874 9875 * c.opt (lang-objc): Remove. 9876 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc. 9877 98782010-06-21 Joern Rennecke <joern.rennecke@embecosm.com> 9879 9880 * c-opts.c: Include "tm_p.h". 9881 98822010-06-20 Joseph Myers <joseph@codesourcery.com> 9883 9884 * c-common.c (parse_optimize_options): Update call to 9885 decode_options. 9886 98872010-06-18 Nathan Froyd <froydnj@codesourcery.com> 9888 9889 * c-common.c (record_types_used_by_current_var_decl): Adjust for 9890 new type of types_used_by_cur_var_decl. 9891 98922010-06-17 Joern Rennecke <joern.rennecke@embecosm.com> 9893 9894 PR bootstrap/44512 9895 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast 9896 for C++ standard compliance. 9897 98982010-06-16 Jason Merrill <jason@redhat.com> 9899 9900 * c.opt: Add -Wnoexcept. 9901 99022010-06-16 Richard Guenther <rguenther@suse.de> 9903 9904 PR c/44555 9905 * c-common.c (c_common_truthvalue_conversion): Remove 9906 premature and wrong optimization concering ADDR_EXPRs. 9907 99082010-06-15 Arnaud Charlet <charlet@adacore.com> 9909 9910 * c-ada-spec.c (dump_sloc): Remove column info. 9911 (is_simple_enum): New function. 9912 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada 9913 enum types when relevant. 9914 99152010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org> 9916 9917 * c-common.c (conversion_warning): Warn at expression 9918 location. 9919 99202010-06-10 Joseph Myers <joseph@codesourcery.com> 9921 9922 * c-opts.c (c_common_handle_option): Don't handle 9923 OPT_fshow_column. 9924 99252010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com> 9926 9927 * c-pragma.c (push_alignment): Use typed GC allocation. 9928 (handle_pragma_push_options): Likewise. 9929 9930 * c-common.c (parse_optimize_options): Likewise. 9931 9932 * c-common.h (struct sorted_fields_type): Add variable_size GTY 9933 option. 9934 99352010-06-07 Joseph Myers <joseph@codesourcery.com> 9936 9937 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin, 9938 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar, 9939 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm, 9940 flag_signed_bitfields, warn_strict_null_sentinel, 9941 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes, 9942 flag_gen_declaration, flag_no_gnu_keywords, 9943 flag_implement_inlines, flag_implicit_templates, 9944 flag_implicit_inline_templates, flag_optional_diags, 9945 flag_elide_constructors, flag_default_inline, flag_rtti, 9946 flag_conserve_space, flag_access_control, flag_check_new, 9947 flag_new_for_scope, flag_weak, flag_working_directory, 9948 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr, 9949 flag_enforce_eh_specs, flag_threadsafe_statics, 9950 flag_pretty_templates): Remove. 9951 * c-common.h (flag_preprocess_only, flag_nil_receivers, 9952 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link, 9953 flag_replace_objc_classes, flag_undef, flag_no_builtin, 9954 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar, 9955 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm, 9956 flag_const_strings, flag_signed_bitfields, flag_gen_declaration, 9957 flag_no_gnu_keywords, flag_implement_inlines, 9958 flag_implicit_templates, flag_implicit_inline_templates, 9959 flag_optional_diags, flag_elide_constructors, flag_default_inline, 9960 flag_rtti, flag_conserve_space, flag_access_control, 9961 flag_check_new, flag_new_for_scope, flag_weak, 9962 flag_working_directory, flag_use_cxa_atexit, 9963 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs, 9964 flag_threadsafe_statics, flag_pretty_templates, 9965 warn_strict_null_sentinel): Remove. 9966 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm, 9967 fbuiltin, fcheck-new, fconserve-space, felide-constructors, 9968 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines, 9969 fimplicit-inline-templates, fimplicit-templates, 9970 flax-vector-conversions, fms-extensions, fnil-receivers, 9971 fnonansi-builtins, fpretty-templates, freplace-objc-classes, 9972 frtti, fshort-double, fshort-enums, fshort-wchar, 9973 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics, 9974 funsigned-bitfields, funsigned-char, fuse-cxa-atexit, 9975 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link, 9976 gen-decls, undef): Use Var. 9977 (fdefault-inline, foptional-diags): Document as doing nothing. 9978 * c-opts.c (c_common_handle_option): Remove cases for options now 9979 using Var. Mark ignored options as such. 9980 99812010-06-05 Steven Bosscher <steven@gcc.gnu.org> 9982 9983 * c-common.c: Moved to here from parent directory. 9984 * c-common.def: Likewise. 9985 * c-common.h: Likewise. 9986 * c-cppbuiltin.c: Likewise. 9987 * c-dump.c: Likewise. 9988 * c-format.c: Likewise. 9989 * c-format.h : Likewise. 9990 * c-gimplify.c: Likewise. 9991 * c-lex.c: Likewise. 9992 * c-omp.c: Likewise. 9993 * c.opt: Likewise. 9994 * c-opts.c: Likewise. 9995 * c-pch.c: Likewise. 9996 * c-ppoutput.c: Likewise. 9997 * c-pragma.c: Likewise. 9998 * c-pragma.h: Likewise. 9999 * c-pretty-print.c: Likewise. 10000 * c-pretty-print.h: Likewise. 10001 * c-semantics.c: Likewise. 10002 * stub-objc.c: Likewise. 10003 10004 * c-common.c: Include gt-c-family-c-common.h. 10005 * c-pragma.c: Include gt-c-family-c-pragma.h. 10006 10007Copyright (C) 2010-2019 Free Software Foundation, Inc. 10008 10009Copying and distribution of this file, with or without modification, 10010are permitted in any medium without royalty provided the copyright 10011notice and this notice are preserved. 10012