12014-10-30 Release Manager 2 3 * GCC 4.9.2 released. 4 52014-09-25 Thomas Schwinge <thomas@codesourcery.com> 6 7 PR c++/63249 8 * c-parser.c (c_parser_omp_variable_list): Call mark_exp_read 9 on low_bound and length. 10 112014-09-03 Marek Polacek <polacek@redhat.com> 12 13 PR c/62294 14 * c-typeck.c (convert_arguments): Get location of a parameter. Change 15 error and warning calls to error_at and warning_at. Pass location of 16 a parameter to it. 17 (convert_for_assignment): Add parameter to WARN_FOR_ASSIGNMENT and 18 WARN_FOR_QUALIFIERS. Pass expr_loc to those. 19 202014-08-22 Igor Zamyatin <igor.zamyatin@intel.com> 21 22 PR other/62008 23 * c-parser.c (c_parser_array_notation): Check for correct 24 type of an array added. 25 262014-08-01 Igor Zamyatin <igor.zamyatin@intel.com> 27 28 PR middle-end/61455 29 * c-array-notation.c (expand_array_notations): Handling 30 of DECL_EXPR added. 31 322014-07-16 Release Manager 33 34 * GCC 4.9.1 released. 35 362014-06-30 Jakub Jelinek <jakub@redhat.com> 37 38 Backported from mainline 39 2014-06-25 Jakub Jelinek <jakub@redhat.com> 40 41 * c-typeck.c (c_finish_omp_clauses): Make sure 42 OMP_CLAUSE_LINEAR_STEP has correct type. 43 442014-06-30 Sebastian Huber <sebastian.huber@embedded-brains.de> 45 46 * c-parser.c (c_parser_declaration_or_fndef): Discard all type 47 qualifiers in __auto_type for atomic types. 48 (c_parser_typeof_specifier): Discard all type qualifiers in 49 __typeof__ for atomic types. 50 512014-06-30 Igor Zamyatin <igor.zamyatin@intel.com> 52 53 PR middle-end/57541 54 * c-array-notation.c (fix_builtin_array_notation_fn): 55 Check for 0 arguments in builtin call. Check that bultin argument is 56 correct. 57 * c-parser.c (c_parser_array_notation): Check for incorrect initial 58 index. 59 602014-06-24 Jakub Jelinek <jakub@redhat.com> 61 62 * c-parser.c (c_parser_omp_for_loop): For 63 #pragma omp parallel for simd move lastprivate clause from parallel 64 to for rather than simd. 65 662014-06-04 Igor Zamyatin <igor.zamyatin@intel.com> 67 68 PR c/58942 69 * c-array-notation.c (fix_builtin_array_notation_fn): Handle the case 70 with a pointer. 71 722014-06-04 Marek Polacek <polacek@redhat.com> 73 74 Backport from mainline 75 2014-05-08 Marek Polacek <polacek@redhat.com> 76 77 PR c/61053 78 * c-decl.c (grokdeclarator): Use min_align_of_type instead of 79 TYPE_ALIGN_UNIT. 80 812014-05-26 Igor Zamyatin <igor.zamyatin@intel.com> 82 83 PR c/61191 84 * c-array-notation.c (fix_builtin_array_notation_fn): Check invalid 85 function parameters. 86 872014-04-24 Jakub Jelinek <jakub@redhat.com> 88 89 * c-parser.c (c_parser_omp_atomic): Allow seq_cst before 90 atomic-clause, allow comma in between atomic-clause and 91 seq_cst. 92 932014-04-22 Jakub Jelinek <jakub@redhat.com> 94 95 PR c/59073 96 * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for 97 fails, don't set OM_PARALLEL_COMBINED and return NULL. 98 992014-04-22 Release Manager 100 101 * GCC 4.9.0 released. 102 1032014-04-15 Igor Zamyatin <igor.zamyatin@intel.com> 104 105 PR middle-end/60469 106 * c-array-notation.c (fix_builtin_array_notation_fn): Use 107 create_tmp_var instead build_decl for creating temps. 108 (build_array_notation_expr): Likewise. 109 (fix_conditional_array_notations_1): Likewise. 110 (fix_array_notation_expr): Likewise. 111 (fix_array_notation_call_expr): Likewise. 112 1132014-03-28 Jakub Jelinek <jakub@redhat.com> 114 115 PR c++/60689 116 * c-tree.h (c_build_function_call_vec): New prototype. 117 * c-typeck.c (build_function_call_vec): Don't call 118 resolve_overloaded_builtin here. 119 (c_build_function_call_vec): New wrapper function around 120 build_function_call_vec. Call resolve_overloaded_builtin here. 121 (convert_lvalue_to_rvalue, build_function_call, build_atomic_assign): 122 Call c_build_function_call_vec instead of build_function_call_vec. 123 * c-parser.c (c_parser_postfix_expression_after_primary): Likewise. 124 * c-decl.c (finish_decl): Likewise. 125 1262014-03-18 Manuel López-Ibáñez <manu@gcc.gnu.org> 127 128 PR c/55383 129 * c-typeck.c: Use correct format string in cast-qual warning 130 1312014-03-07 Thomas Schwinge <thomas@codesourcery.com> 132 133 * c-decl.c (c_decl_attributes): Use 134 lang_hooks.types.omp_mappable_type. 135 * c-typeck.c (c_finish_omp_clauses): Likewise. 136 1372014-03-06 Marek Polacek <polacek@redhat.com> 138 139 PR c/60197 140 * c-typeck.c (c_finish_return): Call contains_cilk_spawn_stmt instead 141 of checking tree code. 142 1432014-02-19 Prathamesh Kulkarni <bilbotheelffriend@gmail.com> 144 145 * c-parser.c (c_parser_declspecs): Replace call to error by error_at. 146 (c_parser_parameter_declaration): Likewise. 147 1482014-02-19 Marek Polacek <polacek@redhat.com> 149 150 PR c/60195 151 * c-typeck.c (convert_lvalue_to_rvalue): Set TREE_NO_WARNING on tmp. 152 Call mark_exp_read on exp.value. 153 (build_atomic_assign): Set TREE_NO_WARNING on val and old. Set 154 TREE_ADDRESSABLE on old instead of val. 155 (emit_side_effect_warnings): Warn only if RHS has !TREE_NO_WARNING. 156 1572014-02-07 Prathamesh Kulkarni <bilbotheelffriend@gmail.com> 158 159 * c-parser.c (c_parser_get_builtin_args): Replace calls to 160 C_EXPR_APPEND by vec_safe_push. 161 * c-tree.h (C_EXPR_APPEND): Remove. 162 1632014-01-31 Marek Polacek <polacek@redhat.com> 164 165 PR c/59963 166 * c-typeck.c (convert_lvalue_to_rvalue): Pass vNULL to 167 build_function_call_vec. 168 (build_function_call): Likewise. 169 (build_atomic_assign): Likewise. 170 (build_function_call_vec): Add arg_loc parameter. Use it. 171 (convert_arguments): Likewise. 172 (convert_for_assignment): Rename rhs_loc to expr_loc. 173 * c-parser.c (c_parser_attributes): Pass NULL to c_parser_expr_list. 174 (c_parser_objc_keywordexpr): Likewise. 175 (c_parser_postfix_expression_after_primary): Call 176 build_function_call_vec with expr_loc rather than op_loc. 177 Call c_parser_expr_list to fill arg_loc. Pass arg_loc to 178 build_function_call_vec. 179 (c_parser_expr_list): Add locations parameter. Fill it with locations 180 of function arguments. 181 * c-decl.c (finish_decl): Pass vNULL to build_function_call_vec. 182 1832014-01-30 Marek Polacek <polacek@redhat.com> 184 185 PR c/59940 186 * c-typeck.c (build_function_call_vec): Use loc parameter. 187 (convert_arguments): Add location parameter. Use it. 188 (ep_convert_and_check): Likewise. 189 (build_atomic_assign): Adjust convert_for_assignment call. 190 (build_modify_expr): Likewise. 191 (digest_init): Likewise. 192 (c_finish_return): Likewise. 193 (build_conditional_expr): Adjust ep_convert_and_check calls. 194 (convert_for_assignment): Add rhs_loc parameter. Use it. 195 (build_binary_op): Adjust convert_and_check and ep_convert_and_check 196 calls. 197 1982014-01-30 Richard Biener <rguenther@suse.de> 199 200 PR c/59905 201 * c-typeck.c (build_function_call_vec): Do not replace calls 202 to a function via an incompatible type with a runtime abort. 203 2042014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com> 205 206 * c-parser.c (c_parser_declaration_or_fndef): Replaced 207 flag_enable_cilkplus with flag_cilkplus. 208 (c_parser_direct_declarator_inner): Likewise. 209 (c_parser_attribute_any_word): Likewise. 210 (c_parser_attributes): Likewise. 211 (c_parser_compound_statement): Likewise. 212 (c_parser_statement_after_labels): Likewise. 213 (c_parser_if_statement): Likewise. 214 (c_parser_switch_statement): Likewise. 215 (c_parser_do_statement): Likewise. 216 (c_parser_for_statement): Likewise. 217 (c_parser_unary_expression): Likewise. 218 (c_parser_postfix_expression): Likewise. 219 (c_parser_postfix_expression_after_primary): Likewise. 220 (c_parser_postfix_expression_after_primary): Likewise. 221 (c_parser_omp_clause_name): Likewise. 222 (c_finish_omp_declare_simd): Likewise. 223 (c_parser_cilk_verify_simd): Likewise. 224 * c-typeck.c (build_array_ref): Likewise. 225 (build_function_call_vec): Likewise. 226 (convert_arguments): Likewise. 227 (build_compound_expr): Likewise. 228 (c_finish_return): Likewise. 229 (c_finish_if_stmt): Likewise. 230 (c_finish_loop): Likewise. 231 (build_binary_op): Likewise. 232 2332014-01-23 Marek Polacek <polacek@redhat.com> 234 235 PR c/59846 236 * c-typeck.c (parser_build_binary_op): Use location instead of 237 input_location. 238 (build_binary_op): Pass location to shorten_compare. 239 2402014-01-23 Marek Polacek <polacek@redhat.com> 241 242 PR c/58346 243 * c-typeck.c (pointer_diff): Give an error on arithmetic on pointer to 244 an empty aggregate. 245 2462014-01-23 Marek Polacek <polacek@redhat.com> 247 248 PR c/59871 249 * c-typeck.c (build_compound_expr): Warn even for right-hand operand 250 of a comma expression. 251 (emit_side_effect_warnings): Likewise. 252 2532014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com> 254 255 PR c/59825 256 * c-array-notation.c (expand_array_notation_exprs): Rewrote this 257 function to use walk_tree and moved a lot of its functionality to 258 expand_array_notations. 259 (expand_array_notations): New function. 260 2612014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com> 262 263 * c-parser.c (c_finish_omp_declare_simd): Made "cilk simd function" 264 attribute an attribute without value. 265 2662014-01-23 Jakub Jelinek <jakub@redhat.com> 267 268 PR middle-end/58809 269 * c-typeck.c (c_finish_omp_clause): Reject MIN_EXPR, MAX_EXPR, 270 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs. 271 2722014-01-22 Marek Polacek <polacek@redhat.com> 273 274 PR c/59891 275 * c-typeck.c (build_conditional_expr): Call c_fully_fold instead 276 of remove_c_maybe_const_expr on op1 and op2. 277 2782014-01-15 Jakub Jelinek <jakub@redhat.com> 279 280 PR c/58943 281 * c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side 282 effects, preevaluate rhs using SAVE_EXPR first. 283 2842014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com> 285 286 PR c++/59631 287 * c-parser.c (c_parser_postfix_expression): Replaced consecutive if 288 statements with if-elseif statements. 289 2902014-01-06 Marek Polacek <polacek@redhat.com> 291 292 PR c/57773 293 * c-decl.c (check_bitfield_type_and_width): Warn for implementation 294 defined bit-field types only in ISO C. 295 2962014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 297 298 Update copyright years 299 3002014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 301 302 * c-array-notation.c: Use the standard form for the copyright notice. 303 3042013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com> 305 306 * c-parser.c (struct c_parser::cilk_simd_fn_tokens): Added new field. 307 (c_parser_declaration_or_fndef): Added a check if cilk_simd_fn_tokens 308 field in parser is not empty. If not-empty, call the function 309 c_parser_finish_omp_declare_simd. 310 (c_parser_cilk_clause_vectorlength): Modified function to be shared 311 between SIMD-enabled functions and #pragma simd. Added new parameter. 312 (c_parser_cilk_all_clauses): Modified the usage of the function 313 c_parser_cilk_clause_vectorlength as mentioned above. 314 (c_parser_cilk_simd_fn_vector_attrs): New function. 315 (c_finish_cilk_simd_fn_tokens): Likewise. 316 (is_cilkplus_vector_p): Likewise. 317 (c_parser_omp_clause_name): Added checking for "vectorlength," 318 "nomask," and "mask" strings in clause name. 319 (c_parser_omp_all_clauses): Added 3 new case statements: 320 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_MASK and 321 PRAGMA_CILK_CLAUSE_NOMASK. 322 (c_parser_attributes): Added a cilk_simd_fn_tokens parameter. Added a 323 check for vector attribute and if so call the function 324 c_parser_cilk_simd_fn_vector_attrs. Also, when Cilk plus is enabled, 325 called the function c_finish_cilk_simd_fn_tokens. 326 (c_finish_omp_declare_simd): Added a check if cilk_simd_fn_tokens in 327 parser field is non-empty. If so, parse them as you would parse 328 the omp declare simd pragma. 329 (c_parser_omp_clause_linear): Added a new bool parm. is_cilk_simd_fn. 330 Added a check when step is a parameter and flag it as error. 331 (CILK_SIMD_FN_CLAUSE_MASK): New #define. 332 (c_parser_cilk_clause_name): Changed pragma_cilk_clause to 333 pragma_omp_clause. 334 3352013-12-17 Thomas Schwinge <thomas@codesourcery.com> 336 337 * c-parser.c (c_parser_omp_parallel): Fix description. 338 3392013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com> 340 341 * c-objc-common.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Remove. 342 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise. 343 (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise. 344 * c-typeck.c (cilk_install_body_with_frame_cleanup): New function. 345 3462013-12-04 Joseph Myers <joseph@codesourcery.com> 347 348 PR c/52023 349 * c-parser.c (c_parser_alignas_specifier): Use 350 c_sizeof_or_alignof_type instead of c_alignof. 351 (c_parser_alignof_expression): Likewise, with min_alignof 352 parameter depending on alignof spelling used. 353 3542013-12-04 Marek Polacek <polacek@redhat.com> 355 356 PR c/54113 357 * c-decl.c (start_function): Don't warn for missing prototype for 358 inline functions. 359 3602013-12-03 Marek Polacek <polacek@redhat.com> 361 362 PR c/59351 363 * c-decl.c (build_compound_literal): Allow compound literals with 364 empty initial value. 365 3662013-12-02 Joseph Myers <joseph@codesourcery.com> 367 368 PR c/58235 369 * c-typeck.c (build_modify_expr): Diagnose assignment to 370 expression with array type. 371 3722013-11-29 Joseph Myers <joseph@codesourcery.com> 373 374 PR c/42262 375 * c-typeck.c (process_init_element): Do not treat a string as 376 initializing a whole array when used with a designator for an 377 individual element. 378 3792013-11-29 Joseph Myers <joseph@codesourcery.com> 380 381 PR c/57574 382 * c-decl.c (merge_decls): Clear DECL_EXTERNAL for a definition of 383 an inline function following a static declaration. 384 3852013-11-28 Jakub Jelinek <jakub@redhat.com> 386 387 PR c/59310 388 * c-parser.c (c_parser_omp_target): Copy "#pragma omp target" 389 to p_name before calling c_parser_omp_teams instead of after. 390 (c_parser_cilk_simd): Remove wrong ATTRIBUTE_UNUSED from parser 391 argument. Remove unused p_name variable. 392 3932013-11-27 Aldy Hernandez <aldyh@redhat.com> 394 Jakub Jelinek <jakub@redhat.com> 395 396 * c-decl.c (c_builtin_function_ext_scope): Avoid binding if 397 external_scope is NULL. 398 3992013-11-27 Tom de Vries <tom@codesourcery.com> 400 Marc Glisse <marc.glisse@inria.fr> 401 402 PR c++/59032 403 * c-typeck.c (build_unary_op): Allow vector increment and decrement. 404 4052013-11-22 Andrew MacLeod <amacleod@redhat.com> 406 407 * c-typeck.c: Add required include files from gimple.h. 408 4092013-11-22 David Malcolm <dmalcolm@redhat.com> 410 411 * c-decl.c (define_label, shadow_tag_warned) 412 (check_bitfield_type_and_width, grokdeclarator, grokparms, 413 store_parm_decls_newstyle, store_parm_decls_oldstyle) 414 (declspecs_add_type): Remove use of in_system_header macro. 415 * c-parser.c (c_parser_unary_expression): Likewise. 416 * c-typeck.c (store_init_value, process_init_element) 417 (c_start_case): Likewise. 418 419 * c-decl.c (build_enumerator): Remove use of EXPR_LOC_OR_HERE 420 macro. 421 422 * c-parser.c (c_parser_set_source_position_from_token): Remove 423 reference to in_system_header from comment. 424 4252013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 426 427 * c-decl.c (grokdeclarator): Update comment to refer to 428 tree_to_[su]hwi rather than tree_low_cst. 429 4302013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 431 432 * c-decl.c, c-typeck.c: Replace tree_low_cst (..., 1) with 433 tree_to_uhwi throughout. 434 4352013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 436 437 * c-parser.c: Replace tree_low_cst (..., 0) with tree_to_shwi 438 throughout. 439 4402013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 441 442 * c-parser.c: Replace host_integerp (..., 0) with tree_fits_shwi_p 443 throughout. 444 4452013-11-15 Aldy Hernandez <aldyh@redhat.com> 446 447 * c-parser.c (c_parser_cilk_simd): New. 448 (c_parser_cilk_verify_simd): New. 449 (c_parser_pragma): Add case for PRAGMA_CILK_SIMD. 450 (c_parser_omp_for_loop): Add case for NE_EXPR. 451 Set c_break_label for CILK_SIMD. 452 (c_parser_cilk_clause_vectorlength): New. 453 (c_parser_cilk_clause_linear): New. 454 (c_parser_cilk_clause_name): New. 455 (c_parser_cilk_all_clauses): New. 456 * c-typeck.c (build_unary_op): Pass location argument to 457 readonly_error. 458 (build_modify_expr): Same. 459 (build_asm_expr): Same. 460 (c_finish_bc_stmt): Error on break/continue in loops. 461 4622013-11-14 Andrew MacLeod <amacleod@redhat.com> 463 464 * c-typeck.c: Include only gimplify.h and gimple.h as needed. 465 4662013-11-14 Diego Novillo <dnovillo@google.com> 467 468 * c-decl.c: Include print-tree.h. 469 Include stor-layout.h. 470 Include varasm.h. 471 Include attribs.h. 472 Include stringpool.h. 473 * c-lang.c: Include fold-const.h. 474 * c-parser.c: Include stringpool.h. 475 Include attribs.h. 476 Include stor-layout.h. 477 Include varasm.h. 478 Include trans-mem.h. 479 * c-typeck.c: Include stor-layout.h. 480 Include trans-mem.h. 481 Include varasm.h. 482 Include stmt.h. 483 4842013-11-13 Joseph Myers <joseph@codesourcery.com> 485 486 * c-tree.h (c_typespec_keyword): Add cts_auto_type. 487 * c-decl.c (declspecs_add_type, finish_declspecs): Handle 488 __auto_type. 489 * c-parser.c (c_token_starts_typename, c_token_starts_declspecs) 490 (c_parser_attribute_any_word, c_parser_objc_selector): Handle 491 RID_AUTO_TYPE. 492 (c_parser_declspecs): Take argument AUTO_TYPE_OK. 493 (c_parser_declaration_or_fndef, c_parser_struct_declaration) 494 (c_parser_declarator, c_parser_direct_declarator_inner) 495 (c_parser_parameter_declaration, c_parser_type_name): All callers 496 changed. 497 (c_parser_declaration_or_fndef): Handle declarations with type 498 determined from the initializer. 499 5002013-11-12 Andrew MacLeod <amacleod@redhat.com> 501 502 * c-typeck.c: Include gimplify.h. 503 5042013-11-12 Joseph Myers <joseph@codesourcery.com> 505 506 * c-tree.h (struct c_declspecs): Add thread_gnu_p field. 507 * c-parser.c (c_parser_declspecs): Mention _Thread_local in 508 comment. 509 * c-decl.c (shadow_tag_warned, grokdeclarator): Mention __thread 510 or _Thread_local as appropriate in diagnostics. 511 (build_null_declspecs): Initialize ret->thread_gnu_p. 512 (declspecs_add_scspec): Handle either __thread or _Thread_local 513 for RID_THREAD. Diagnose _Thread_local for pre-C11 standards if 514 pedantic. Do not disallow _Thread_local extern and _Thread_local 515 static. 516 5172013-11-07 Joseph Myers <joseph@codesourcery.com> 518 Andrew MacLeod <amacleod@redhat.com> 519 520 * c-aux-info.c (gen_type): Handle atomic qualifier. 521 * c-decl.c (validate_proto_after_old_defn): Do not remove atomic 522 qualifiers when compating types. 523 (shadow_tag_warned): Handle atomic_p in declspecs. 524 (quals_from_declspecs): Likewise. 525 (start_decl): Use c_type_promotes_to when promoting argument 526 types. 527 (grokdeclarator): Handle _Atomic. 528 (get_parm_info): Diagnose any qualifier on "void" as only 529 parameter. 530 (store_parm_decls_oldstyle): Do not remove atomic qualifiers when 531 comparing types. Use c_type_promotes_to when promoting argument 532 types. 533 (finish_function): Use c_type_promotes_to when promoting argument 534 types. 535 (build_null_declspecs): Handle atomic_p in declspecs. 536 (declspecs_add_qual): Handle RID_ATOMIC. 537 * c-parser.c (c_token_starts_typename, c_token_is_qualifier) 538 (c_token_starts_declspecs): Handle RID_ATOMIC. 539 (c_parser_declspecs): Handle atomic type specifiers and 540 qualifiers. 541 (c_parser_typeof_specifier): Remove const and _Atomic qualifiers 542 from types of expressions with atomic type. 543 (c_parser_direct_declarator_inner): Use convert_lvalue_to_rvalue. 544 (c_parser_attribute_any_word): Handle RID_ATOMIC. 545 (c_parser_initializer, c_parser_initelt, c_parser_initval) 546 (c_parser_statement_after_labels, c_parser_switch_statement) 547 (c_parser_for_statement, c_parser_expr_no_commas) 548 (c_parser_conditional_expression, c_parser_binary_expression) 549 (c_parser_cast_expression, c_parser_unary_expression) 550 (c_parser_postfix_expression) 551 (c_parser_postfix_expression_after_primary, c_parser_expression): 552 Use convert_lvalue_to_rvalue. 553 (c_parser_expression_conv, c_parser_expr_list): Document 554 conversion of lvalues to rvalues. Use convert_lvalue_to_rvalue. 555 (c_parser_objc_synchronized_statement): Use 556 convert_lvalue_to_rvalue. 557 (c_parser_objc_selector): Handle RID_ATOMIC. 558 (c_parser_objc_receiver, c_parser_array_notation): Use 559 convert_lvalue_to_rvalue. 560 * c-tree.h (ctsk_typeof): Adjust comment to mention use for 561 _Atomic (type-name). 562 (struct c_declspecs): Add atomic_p field. 563 (convert_lvalue_to_rvalue): Declare. 564 * c-typeck.c (c_type_promotes_to): Promote atomic types to 565 corresponding atomic types. 566 (qualify_type): Don't add _Atomic qualifiers from second argument. 567 (comp_target_types): Do not allow _Atomic mismatches. 568 (type_lists_compatible_p): Do not remove atomic qualifiers when 569 comparing types. 570 (really_atomic_lvalue, convert_lvalue_to_rvalue) 571 (build_atomic_assign): New functions. 572 (build_unary_op): Use build_atomic_assign for atomic increment and 573 decrement. 574 (build_conditional_expr): Do not treat _Atomic void as a qualified 575 version of void. 576 (build_modify_expr): Use build_atomic_assign for atomic LHS. 577 (find_anonymous_field_with_type, convert_to_anonymous_field) 578 (convert_for_assignment): Do not remove atomic qualifiers when 579 comparing types. 580 (digest_init): Do not accept initialization of arrays of atomic 581 elements by string constants. 582 (build_asm_expr): Use convert_lvalue_to_rvalue. 583 (build_binary_op): Do not treat _Atomic void as a qualified 584 version of void. 585 5862013-11-06 DJ Delorie <dj@redhat.com> 587 588 * c-decl.c (locate_old_decl): If a previous conflicting decl is 589 both explicit and builtin, print the location of the explicit one. 590 5912013-11-05 Tobias Burnus <burnus@net-b.de> 592 593 * c-parser.c (c_parser_omp_for, c_parser_omp_parallel, 594 c_parser_omp_distribute, c_parser_omp_teams, 595 c_parser_omp_target, c_parser_omp_declare): Handle 596 -fopenmp-simd. 597 5982013-11-03 Marek Polacek <polacek@redhat.com> 599 600 * c-decl.c (grokdeclarator): Add VLA instrumentation. 601 6022013-11-01 Jakub Jelinek <jakub@redhat.com> 603 604 * c-typeck.c (c_finish_omp_clauses) <case OMP_CLAUSE_UNIFORM>: Go to 605 check_dup_generic at the end, unless remove is true. 606 (c_finish_omp_clauses) <case OMP_CLAUSE_REDUCTION>: Add break; after 607 remove = true;. 608 (c_finish_omp_clauses) <case OMP_CLAUSE_COPYIN>: Likewise. 609 6102013-10-31 Jakub Jelinek <jakub@redhat.com> 611 612 * c-typeck.c (c_finish_omp_clauses): Diagnose aligned clause 613 with decl that is not pointer nor array. 614 6152013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com> 616 617 * c-decl.c (finish_function): Added a call for insert_cilk_frame when 618 a spawning function is found. 619 * c-objc-common.h (LANG_HOOKS_CILKPLUS_GIMPLIFY_SPAWN): New #define. 620 (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise. 621 (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise. 622 * c-parser.c (c_parser_statement_after_labels): Added RID_CILK_SYNC 623 case. 624 (c_parser_postfix_expression): Added RID_CILK_SPAWN case. 625 * c-typeck.c (build_compound_expr): Reject _Cilk_spawn in a comma 626 expr. 627 (c_finish_return): Added a check to reject _Cilk_spawn in return 628 expression. 629 (build_cilk_spawn): New function. 630 (build_cilk_sync): Likewise. 631 * Makefile.in (c-decl.o): Added cilk.h in dependency list. 632 6332013-10-27 Tobias Burnus <burnus@net-b.de> 634 635 PR other/33426 636 * c-parser.c (c_parser_while_statement, c_parser_while_statement, 637 c_parser_pragma): Add GCC ivdep support to 'do' and 'while'. 638 (c_parser_statement_after_labels): Update calls. 639 6402013-10-24 Tobias Burnus <burnus@net-b.de> 641 642 PR other/33426 643 * c-parser.c (c_parser_pragma, c_parser_for_statement): 644 Handle PRAGMA_IVDEP. 645 (c_parser_statement_after_labels): Update call. 646 6472013-10-24 Marek Polacek <polacek@redhat.com> 648 649 * c-parser.c (c_parser_struct_declaration): Add a comment. 650 (c_parser_declarator): Don't allow _Alignas here. 651 6522013-10-17 Andrew MacLeod <amacleod@redhat.com> 653 654 * c-parser.c: Include omp-low.h. 655 * c-typeck.c: Likewise. 656 6572013-10-17 Marek Polacek <polacek@redhat.com> 658 659 PR c/58267 660 * c-parser.c (c_parser_declspecs): Add alignspec_ok parameter. 661 Document syntax of the array-declarator. 662 (c_parser_declspecs) <RID_ALIGNAS>: Bail out if alignment specs 663 are not permitted. 664 (c_parser_declaration_or_fndef): Adjust c_parser_declspecs call. 665 (c_parser_struct_declaration): Likewise. 666 (c_parser_declarator): Likewise. 667 (c_parser_direct_declarator_inner): Likewise. 668 (c_parser_parameter_declaration): Likewise. 669 (c_parser_type_name): Likewise. 670 6712013-10-11 Jakub Jelinek <jakub@redhat.com> 672 673 * c-lang.h (current_omp_declare_target_attribute): New extern 674 decl. 675 * c-parser.c: Include c-lang.h. 676 (struct c_parser): Change tokens to c_token *. 677 Add tokens_buf field. Change tokens_avail type to unsigned int. 678 (c_parser_consume_token): If parser->tokens isn't 679 &parser->tokens_buf[0], increment parser->tokens. 680 (c_parser_consume_pragma): Likewise. 681 (enum pragma_context): Add pragma_struct and pragma_param. 682 (c_parser_external_declaration): Adjust 683 c_parser_declaration_or_fndef caller. 684 (c_parser_declaration_or_fndef): Add omp_declare_simd_clauses 685 argument, if it is non-vNULL vector, call c_finish_omp_declare_simd. 686 Adjust recursive call. 687 (c_parser_struct_or_union_specifier): Use pragma_struct instead 688 of pragma_external. 689 (c_parser_parameter_declaration): Use pragma_param instead of 690 pragma_external. 691 (c_parser_compound_statement_nostart, c_parser_label, 692 c_parser_for_statement): Adjust 693 c_parser_declaration_or_fndef callers. 694 (c_parser_expr_no_commas): Add omp_atomic_lhs argument, pass 695 it through to c_parser_conditional_expression. 696 (c_parser_conditional_expression): Add omp_atomic_lhs argument, 697 pass it through to c_parser_binary_expression. Adjust recursive 698 call. 699 (c_parser_binary_expression): Remove prec argument, add 700 omp_atomic_lhs argument instead. Always start from PREC_NONE, if 701 omp_atomic_lhs is non-NULL and one of the arguments of toplevel 702 binop matches it, use build2 instead of parser_build_binary_op. 703 (c_parser_pragma): Handle PRAGMA_OMP_CANCEL, 704 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_TARGET, 705 PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_DECLARE_REDUCTION. 706 Handle pragma_struct and pragma_param the same as pragma_external. 707 (c_parser_omp_clause_name): Parse new OpenMP 4.0 clause names. 708 (c_parser_omp_variable_list): Parse array sections for 709 OMP_CLAUSE_{DEPEND,MAP,TO,FROM} clauses. 710 (c_parser_omp_clause_collapse): Fully fold collapse expression. 711 (c_parser_omp_clause_reduction): Handle user defined reductions. 712 (c_parser_omp_clause_branch, c_parser_omp_clause_cancelkind, 713 c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit, 714 c_parser_omp_clause_aligned, c_parser_omp_clause_linear, 715 c_parser_omp_clause_safelen, c_parser_omp_clause_simdlen, 716 c_parser_omp_clause_depend, c_parser_omp_clause_map, 717 c_parser_omp_clause_device, c_parser_omp_clause_dist_schedule, 718 c_parser_omp_clause_proc_bind, c_parser_omp_clause_to, 719 c_parser_omp_clause_from, c_parser_omp_clause_uniform): New functions. 720 (c_parser_omp_all_clauses): Add finish_p argument. Don't call 721 c_finish_omp_clauses if it is false. Handle new OpenMP 4.0 clauses. 722 (c_parser_omp_atomic): Parse seq_cst clause, pass true if it is 723 present to c_finish_omp_atomic. Handle OpenMP 4.0 atomic forms. 724 (c_parser_omp_for_loop): Add CODE argument, pass it through 725 to c_finish_omp_for. Change last argument to cclauses, 726 and adjust uses to grab parallel clauses from the array of all 727 the split clauses. Adjust c_parser_binary_expression, 728 c_parser_declaration_or_fndef and c_finish_omp_for callers. 729 (omp_split_clauses): New function. 730 (c_parser_omp_simd): New function. 731 (c_parser_omp_for): Add p_name, mask and cclauses arguments. 732 Allow the function to be called also when parsing combined constructs, 733 and call c_parser_omp_simd when parsing for simd. 734 (c_parser_omp_sections_scope): If section-sequence doesn't start with 735 #pragma omp section, require exactly one structured-block instead of 736 sequence of statements. 737 (c_parser_omp_sections): Add p_name, mask and cclauses arguments. 738 Allow the function to be called also when parsing combined constructs. 739 (c_parser_omp_parallel): Add p_name, mask and cclauses arguments. 740 Allow the function to be called also when parsing combined 741 constructs. 742 (c_parser_omp_taskgroup, c_parser_omp_cancel, 743 c_parser_omp_cancellation_point, c_parser_omp_distribute, 744 c_parser_omp_teams, c_parser_omp_target_data, 745 c_parser_omp_target_update, c_parser_omp_target, 746 c_parser_omp_declare_simd, c_finish_omp_declare_simd, 747 c_parser_omp_declare_target, c_parser_omp_end_declare_target, 748 c_parser_omp_declare_reduction, c_parser_omp_declare): New functions. 749 (c_parser_omp_construct): Add p_name and mask vars. Handle 750 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_SIMD, PRAGMA_OMP_TASKGROUP, 751 PRAGMA_OMP_TEAMS. Adjust c_parser_omp_for, c_parser_omp_parallel 752 and c_parser_omp_sections callers. 753 (c_parse_file): Initialize tparser.tokens and the_parser->tokens here. 754 (OMP_FOR_CLAUSE_MASK, OMP_SECTIONS_CLAUSE_MASK, 755 OMP_SINGLE_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. 756 (OMP_PARALLEL_CLAUSE_MASK): Likewise. Add OMP_CLAUSE_PROC_BIND. 757 (OMP_TASK_CLAUSE_MASK): Use OMP_CLAUSE_MASK_1 instead of 1. Add 758 OMP_CLAUSE_DEPEND. 759 (OMP_SIMD_CLAUSE_MASK, OMP_CANCEL_CLAUSE_MASK, 760 OMP_CANCELLATION_POINT_CLAUSE_MASK, OMP_DISTRIBUTE_CLAUSE_MASK, 761 OMP_TEAMS_CLAUSE_MASK, OMP_TARGET_DATA_CLAUSE_MASK, 762 OMP_TARGET_UPDATE_CLAUSE_MASK, OMP_TARGET_CLAUSE_MASK, 763 OMP_DECLARE_SIMD_CLAUSE_MASK): Define. 764 * c-typeck.c: Include tree-inline.h. 765 (c_finish_omp_cancel, c_finish_omp_cancellation_point, 766 handle_omp_array_sections_1, handle_omp_array_sections, 767 c_clone_omp_udr, c_find_omp_placeholder_r): New functions. 768 (c_finish_omp_clauses): Handle new OpenMP 4.0 clauses and 769 user defined reductions. 770 (c_tree_equal): New function. 771 * c-tree.h (temp_store_parm_decls, temp_pop_parm_decls, 772 c_finish_omp_cancel, c_finish_omp_cancellation_point, c_tree_equal, 773 c_omp_reduction_id, c_omp_reduction_decl, c_omp_reduction_lookup, 774 c_check_omp_declare_reduction_r): New prototypes. 775 * c-decl.c (current_omp_declare_target_attribute): New variable. 776 (c_decl_attributes): New function. 777 (start_decl, start_function): Use it instead of decl_attributes. 778 (temp_store_parm_decls, temp_pop_parm_decls, c_omp_reduction_id, 779 c_omp_reduction_decl, c_omp_reduction_lookup, 780 c_check_omp_declare_reduction_r): New functions. 781 7822013-09-25 Tom Tromey <tromey@redhat.com> 783 784 * Make-lang.in (c/gccspec.o): Remove. 785 (CFLAGS-c/gccspec.o): New variable. 786 (cc1-checksum.o, C_TREE_H, c/c-aux-info.o, c/c-convert.o) 787 (c/c-decl.o, c/c-errors.o, c/c-lang.o, c/c-objc-common.o) 788 (c/c-parser.o, c/c-typeck.o, c/c-array-notation.o): Remove. 789 7902013-09-25 Tom Tromey <tromey@redhat.com> 791 792 * Make-lang.in (c/gccspec.o): Don't use subshell. 793 7942013-09-18 Marek Polacek <polacek@redhat.com> 795 796 PR sanitize/58443 797 * c-typeck.c (build_binary_op): Properly honor -fsanitize options. 798 Remove unnecessary check. 799 8002013-09-18 Marek Polacek <polacek@redhat.com> 801 802 PR sanitizer/58411 803 * c-typeck.c (build_binary_op): Don't sanitize function if it has the 804 no_sanitize_undefined attribute. 805 8062013-09-13 Kai Tietz <ktietz@redhat.com> 807 808 PR target/57848 809 * c-decl.c (c_builtin_function_ext_scope): Remove 810 wrong assumption that it is never called on prexisting 811 symbol. 812 8132013-09-08 Joern Rennecke <joern.rennecke@embecosm.com> 814 815 * c-typeck.c (build_binary_op): Use vector_types_compatible_elements_p. 816 8172013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net> 818 819 * c-objc-common.c (c_tree_printer): Tidy. 820 8212013-08-30 Marek Polacek <polacek@redhat.com> 822 823 * c-typeck.c (build_binary_op): Add division by zero and shift 824 instrumentation. 825 8262013-08-26 Joern Rennecke <joern.rennecke@embecosm.com> 827 Joseph Myers <joseph@codesourcery.com> 828 829 PR c/35649 830 * c-typeck.c (c_common_type): Prefer double_type_node over 831 other REAL_TYPE types with the same precision. 832 (convert_arguments): Likewise. 833 8342013-08-23 Gabriel Dos Reis <gdr@integrable-solutions.net> 835 836 * c-objc-common.c (c_tree_printer): Document the nature of the cast. 837 (c_initialize_diagnostics): Call a destructor for the early printer. 838 8392013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net> 840 841 * c-objc-common.c (c_initialize_diagnostics): Simplify C pretty 842 printer initialization. 843 8442013-08-19 Balaji V. Iyer <balaji.v.iyer@intel.com> 845 846 PR c/57490 847 * c-array-notation.c (fix_conditional_array_notations_1): Added a 848 check for truth values. 849 (expand_array_notation_exprs): Added truth values case. Removed an 850 unwanted else. Added for-loop to walk through subtrees in default 851 case. 852 8532013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net> 854 855 * c-objc-common.c (c_initialize_diagnostics): Don't call pp_base. 856 8572013-07-23 Joseph Myers <joseph@codesourcery.com> 858 859 * c-parser.c (struct c_generic_association): Fix typo. 860 8612013-07-23 Tom Tromey <tromey@redhat.com> 862 Joseph Myers <joseph@codesourcery.com> 863 864 * c-parser.c (struct c_generic_association): New. 865 (c_generic_association_d): New typedef. 866 (c_parser_generic_selection): New function. 867 (c_parser_postfix_expression): Handle RID_GENERIC. 868 8692013-07-13 Jason Merrill <jason@redhat.com> 870 871 PR c++/57793 872 * c-decl.c (finish_struct): Check for too-large class. 873 8742013-07-04 Joern Rennecke <joern.rennecke@embecosm.com> 875 876 PR c/57821 877 * c-typeck.c (set_init_index): When folding, check for index overflow. 878 8792013-06-28 Balaji V. Iyer <balaji.v.iyer@intel.com> 880 881 * c-parser.c (c_parser_array_notation): Removed rejection of array 882 notations in an array of function pointers. 883 8842013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com> 885 886 * c-array-notation.c (make_triplet_val_inv): New function. 887 (create_cmp_incr): Likewise. 888 (create_array_refs): Likewise. 889 (fix_builtin_array_notation_fn): Replaced all mallocs with tree vec. 890 Also modularized common parts between functions and called the function. 891 (build_array_notation_expr): Likewise. 892 (fix_conditional_array_notations_1): Likewise. 893 (fix_array_notation_expr): Likewise. 894 (fix_array_notation_call_expr): Likewise. 895 8962013-06-18 Marek Polacek <polacek@redhat.com> 897 898 PR c/57630 899 * c-decl.c (check_for_loop_decls): Improve diagnostics messages. 900 9012013-06-12 Balaji V. Iyer <balaji.v.iyer@intel.com> 902 903 * c-array-notation.c (build_array_notation_expr): Reject array notation 904 mismatch between LHS and RHS even inside a call_expr. Also, removed 905 a couple while statements that were dead code. 906 9072013-06-10 Balaji V. Iyer <balaji.v.iyer@intel.com> 908 909 * c-array-notation.c (fix_builtin_array_notation_fn): Fully folded 910 excessive precision expressions in function parameters. Also removed 911 couple unwanted while statements. 912 9132013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com> 914 915 * c-array-notation.c (expand_array_notation_exprs): Added 916 ARRAY_NOTATION_REF case. 917 9182013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com> 919 920 * c-array-notation.c (length_mismatch_in_expr_p): Moved this 921 function to c-family/array-notation-common.c. 922 (is_cilkplus_reduce_builtin): Likewise. 923 (find_rank): Likewise. 924 (extract_array_notation_exprs): Likewise. 925 (replace_array_notations): Likewise. 926 (find_inv_trees): Likewise. 927 (replace_inv_trees): Likewise. 928 (contains_array_notation_expr): Likewise. 929 (find_correct_array_notation_type): Likewise. 930 (replace_invariant_exprs): Initialized additional_tcodes to NULL. 931 (struct inv_list): Moved this to c-family/array-notation-common.c. 932 * c-tree.h (is_cilkplus_builtin_reduce): Remove prototype. 933 9342013-06-05 Balaji V. Iyer <balaji.v.iyer@intel.com> 935 936 * c-typeck.c (convert_arguments): Moved checking of builtin cilkplus 937 reduction functions outside the for-loop. Added a check if the fundecl 938 is non-NULL. Finally, removed an unwanted if-statement, and made the 939 body unconditional. 940 9412013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com> 942 943 * c-typeck.c (c_finish_if_stmt): Added a check to see if the rank of the 944 condition of the if-statement matches the rank of else-block and then- 945 block when array notations are used. 946 * c-parser.c (c_parser_declaration_or_fndef): Expanded array notation 947 expression after the entire function body is parsed. 948 (c_parser_expr_no_commas): Delayed creating array notation expressions 949 to the end of function parsing. 950 * c-array-notation.c (fix_conditional_array_notations_1): Expanded the 951 whole if-statement instead of just the condition. 952 (expand_array_notation_exprs): Added MODIFY_EXPR case. 953 9542013-06-03 Balaji V. Iyer <balaji.v.iyer@intel.com> 955 956 PR c/57474 957 * c-array-notation.c (build_array_notation_expr): Initialized rhs_length 958 array to NULL_TREE if they are unused. Also added a check for the 959 field to be NULL before its fields are used in future. 960 9612013-05-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 962 963 PR bootstrap/57450 964 * c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi. 965 (build_array_notation_expr): Likewise. 966 9672013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com> 968 969 * c-typeck.c (build_array_ref): Added a check to see if array's 970 index is greater than one. If true, then emit an error. 971 (build_function_call_vec): Exclude error reporting and checking 972 for builtin array-notation functions. 973 (convert_arguments): Likewise. 974 (c_finish_return): Added a check for array notations as a return 975 expression. If true, then emit an error. 976 (c_finish_loop): Added a check for array notations in a loop 977 condition. If true then emit an error. 978 (lvalue_p): Added a ARRAY_NOTATION_REF case. 979 (build_binary_op): Added a check for array notation expr inside 980 op1 and op0. If present, we call another function to find correct 981 type. 982 * Make-lang.in (C_AND_OBJC_OBJS): Added c-array-notation.o. 983 * c-parser.c (c_parser_compound_statement): Check if array 984 notation code is used in tree, if so, then transform them into 985 appropriate C code. 986 (c_parser_expr_no_commas): Check if array notation is used in LHS 987 or RHS, if so, then build array notation expression instead of 988 regular modify. 989 (c_parser_postfix_expression_after_primary): Added a check for 990 colon(s) after square braces, if so then handle it like an array 991 notation. Also, break up array notations in unary op if found. 992 (c_parser_direct_declarator_inner): Added a check for array 993 notation. 994 (c_parser_compound_statement): Added a check for array notation in 995 a stmt. If one is present, then expand array notation expr. 996 (c_parser_if_statement): Likewise. 997 (c_parser_switch_statement): Added a check for array notations in 998 a switch statement's condition. If true, then output an error. 999 (c_parser_while_statement): Similarly, but for a while. 1000 (c_parser_do_statement): Similarly, but for a do-while. 1001 (c_parser_for_statement): Similarly, but for a for-loop. 1002 (c_parser_unary_expression): Check if array notation is used in a 1003 pre-increment or pre-decrement expression. If true, then expand 1004 them. 1005 (c_parser_array_notation): New function. 1006 * c-array-notation.c: New file. 1007 * c-tree.h (is_cilkplus_reduce_builtin): Protoize. 1008 10092013-05-23 Mike Stump <mikestump@comcast.net> 1010 1011 * c-typeck.c (convert_for_assignment): Handle references to memory 1012 spaces better. 1013 10142013-05-16 Jason Merrill <jason@redhat.com> 1015 1016 * Make-lang.in (cc1$(exeext)): Use link mutex. 1017 10182013-04-24 Paolo Carlini <paolo.carlini@oracle.com> 1019 1020 * c-typeck.c (pointer_diff): Change -Wpointer-arith pedwarns 1021 to simply use OPT_Wpointer_arith. 1022 (build_unary_op): Likewise. 1023 10242013-04-03 Jakub Jelinek <jakub@redhat.com> 1025 1026 PR c/19449 1027 * c-parser.c (c_parser_get_builtin_args): Add choose_expr_p 1028 argument. If set, or it temporarily for parsing of the first 1029 argument into force_folding_builtin_constant_p. 1030 (c_parser_postfix_expression): Adjust callers. 1031 10322013-03-21 Richard Biener <rguenther@suse.de> 1033 1034 * c-objc-common.c (c_tree_printer): Use DECL_HAS_DEBUG_EXPR_P 1035 instead of DECL_DEBUG_EXPR_IS_FROM. Guard properly. 1036 10372013-02-12 Marek Polacek <polacek@redhat.com> 1038 1039 PR c/44938 1040 * c-parser.c (c_parser_postfix_expression_after_primary): Initialize 1041 origtypes to NULL. 1042 10432013-01-24 Jakub Jelinek <jakub@redhat.com> 1044 1045 PR c/56078 1046 * c-typeck.c (set_nonincremental_init_from_string): If 1047 constructor_max_index is NULL, treat it as if tree_int_cst_lt 1048 returned false. 1049 (process_init_element): Likewise. 1050 10512012-12-20 Jakub Jelinek <jakub@redhat.com> 1052 1053 PR c++/55619 1054 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P 1055 argument, don't call default_function_array_conversion 1056 nor c_fully_fold here. 1057 (c_parser_asm_statement): Adjust callers. 1058 * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs 1059 and outputs here, and call default_function_array_conversion 1060 on inputs that don't need to be addressable. 1061 10622012-12-18 Jakub Jelinek <jakub@redhat.com> 1063 1064 PR c/39464 1065 * c-typeck.c (convert_for_assignment): For -Wpointer-sign 1066 warning require that both c_common_unsigned_type as well as 1067 c_common_signed_type is the same for both mvl and mvr types. 1068 10692012-11-16 Diego Novillo <dnovillo@google.com> 1070 1071 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec) 1072 1073 * c-common.c: Use new vec API in vec.h. 1074 * c-common.h: Likewise. 1075 * c-gimplify.c: Likewise. 1076 * c-pragma.c: Likewise. 1077 * c-pretty-print.c: Likewise. 1078 * c-pretty-print.h: Likewise. 1079 * c-semantics.c: Likewise. 1080 * c-decl.c: Likewise. 1081 * c-parser.c: Likewise. 1082 * c-tree.h: Likewise. 1083 * c-typeck.c: Likewise. 1084 10852012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com> 1086 1087 PR c++/54930 1088 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr. 1089 10902012-10-29 Manuel López-Ibáñez <manu@gcc.gnu.org> 1091 1092 PR c/53066 1093 * c-decl.c (warn_if_shadowing): Do not warn if a variable 1094 shadows a function, unless the variable is a function or a 1095 pointer-to-function. 1096 10972012-10-12 Jakub Jelinek <jakub@redhat.com> 1098 1099 PR c/54381 1100 * c-parser.c (struct c_tree_loc_pair): Removed. 1101 (c_parser_expr_list): Remove struct c_tree_loc_pair * argument, 1102 add location_t * and tree * arguments, fill in array of 3 1103 sizeof_arg trees and corresponding locs. 1104 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust 1105 c_parser_expr_list callers. 1106 (c_parser_postfix_expression_after_primary): Likewise. Pass 1107 array of 3 sizeof_arg trees and locs (corresponding to first 1108 3 arguments) to sizeof_pointer_memaccess_warning. 1109 11102012-10-09 Lawrence Crowl <crowl@google.com> 1111 1112 * Make-lang.in (c-decl.o): Add dependence on hash-table.h. 1113 * c-decl.c (detect_field_duplicates_hash): Change to new type-safe 1114 hash table. 1115 11162012-10-09 Paolo Carlini <paolo.carlini@oracle.com> 1117 1118 PR c++/54194 1119 * c-typeck.c (parser_build_binary_op): Update warn_about_parentheses 1120 call. 1121 11222012-10-09 Marc Glisse <marc.glisse@inria.fr> 1123 1124 PR c++/54427 1125 * c-typeck.c: Include c-common.h. 1126 (enum stv_conv): Moved to c-common.h. 1127 (scalar_to_vector): Moved to c-common.c. 1128 (build_binary_op): Adapt to scalar_to_vector's new prototype. 1129 * Make-lang.in: c-typeck.c depends on c-common.h. 1130 11312012-10-04 Arnaud Charlet <charlet@adacore.com> 1132 1133 * c-decl.c (c_write_global_declarations): Fix handling of 1134 -fdump-ada-spec*. 1135 11362012-09-30 Sharad Singhai <singhai@google.com> 1137 1138 * c-decl.c (c_write_global_declarations): Use a different method 1139 to determine if the dump has ben initialized. 1140 11412012-09-14 Joseph Myers <joseph@codesourcery.com> 1142 1143 PR c/54552 1144 * c-typeck.c (c_cast_expr): When casting to a type requiring 1145 C_MAYBE_CONST_EXPR to be created, pass the inner expression to 1146 c_fully_fold first. 1147 11482012-09-14 Joseph Myers <joseph@codesourcery.com> 1149 1150 PR c/54103 1151 * c-typeck.c (build_unary_op): Pass original argument of 1152 TRUTH_NOT_EXPR to c_objc_common_truthvalue_conversion, then remove 1153 any C_MAYBE_CONST_EXPR, if it has integer operands. 1154 (build_binary_op): Pass original arguments of TRUTH_ANDIF_EXPR, 1155 TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR 1156 to c_objc_common_truthvalue_conversion, then remove any 1157 C_MAYBE_CONST_EXPR, if they have integer operands. Use 1158 c_objc_common_truthvalue_conversion not 1159 c_common_truthvalue_conversion. 1160 (c_objc_common_truthvalue_conversion): Build NE_EXPR directly and 1161 call note_integer_operands for arguments with integer operands 1162 that are not integer constants. 1163 11642012-09-13 Jakub Jelinek <jakub@redhat.com> 1165 1166 PR c/54559 1167 * c-typeck.c (c_finish_return): Do convert to BOOLEAN_TYPE or 1168 COMPLEX_TYPE with in_late_binary_op set temporarily to true. 1169 11702012-08-31 Jakub Jelinek <jakub@redhat.com> 1171 1172 PR c/54428 1173 * c-convert.c (convert): Don't call fold_convert_loc if 1174 TYPE_MAIN_VARIANT of a COMPLEX_TYPE is the same, unless e 1175 is a COMPLEX_EXPR. Remove TYPE_MAIN_VARIANT check from 1176 COMPLEX_TYPE -> COMPLEX_TYPE conversion. 1177 11782012-08-24 Jakub Jelinek <jakub@redhat.com> 1179 1180 PR c/54355 1181 * c-decl.c (c_parser_label): Pass true as nested and fix up comments 1182 for nested and empty_ok arguments in the call to 1183 c_parser_declaration_or_fndef. 1184 11852012-08-17 Jakub Jelinek <jakub@redhat.com> 1186 1187 * c-tree.h (c_last_sizeof_arg): Declare. 1188 * c-parser.c (struct c_tree_loc_pair): New type. 1189 (c_parser_expr_list): Add sizeof_arg argument. Fill it in if 1190 non-NULL. 1191 (c_parser_attributes, c_parser_objc_keywordexpr): Adjust callers. 1192 (c_parser_postfix_expression_after_primary): Likewise. Call 1193 sizeof_pointer_memaccess_warning if needed. 1194 (sizeof_ptr_memacc_comptypes): New function. 1195 * c-typeck.c (c_last_sizeof_arg): New global variable. 1196 (c_expr_sizeof_expr, c_expr_sizeof_type): Initialize it. 1197 11982012-07-24 Uros Bizjak <ubizjak@gmail.com> 1199 1200 * c-lang.h (lang_decl): Add variable_size GTY option. 1201 12022012-07-16 Steven Bosscher <steven@gcc.gnu.org> 1203 1204 * c-decl.c: Include dumpfile.h instead of tree-dump.h. 1205 * Make-lang.in: Fix dependencies. 1206 12072012-06-29 Steven Bosscher <steven@gcc.gnu.org> 1208 1209 * Make-lang.in: New file, rules migrated from gcc/Makefile.in 1210 and add language Makefile hooks. 1211 * config-lang.in: New file. 1212 * c-config-lang.in: Moved from gcc/config-lang.in to here, and 1213 add the required "normal" config-lang.in rules. 1214 * c-lang.h: Moved from gcc/ to here. 1215 * c-tree.h: Likewise. 1216 * c-objc-common.c: Likewise. 1217 * c-objc-common.h: Likewise. 1218 * c-typeck.c: Likewise. 1219 * c-convert.c: Likewise. 1220 * c-lang.c: Likewise. 1221 * c-aux-info.c: Likewise. 1222 * c-errors.c: Likewise. 1223 * gccspec.c: Likewise. 1224 * c-decl.c: Likewise. Include gt-c-c-decl.h, not gt-c-decl.h. 1225 * c-parser.c: Likewise. Include gt-c-c-parser.h, not gt-c-parser.h. 1226 1227Copyright (C) 2012-2014 Free Software Foundation, Inc. 1228 1229Copying and distribution of this file, with or without modification, 1230are permitted in any medium without royalty provided the copyright 1231notice and this notice are preserved. 1232