12008-12-09 Jakub Jelinek <jakub@redhat.com> 2 3 PR ada/38450 4 * gcc-interface/utils.c (finish_record_type): Use SET_TYPE_MODE. 5 * gcc-interface/decl.c (gnat_to_gnu_entity, make_aligning_type): 6 Likewise. 7 82008-12-05 Sebastian Pop <sebastian.pop@amd.com> 9 10 PR bootstrap/38262 11 * gcc-interface/Make-lang.in (gnat1): Add BACKENDLIBS, remove GMPLIBS. 12 132008-11-29 Eric Botcazou <ebotcazou@adacore.com> 14 15 PR ada/30827 16 * g-comver.adb (Ver_Len_Max): Fix inconsistency. 17 182008-11-27 Eric Botcazou <ebotcazou@adacore.com> 19 20 * gcc-interface/decl.c: Fix various nits. 21 222008-11-20 Eric Botcazou <ebotcazou@adacore.com> 23 24 * gcc-interface/utils.c (init_gigi_decls): Fix type mismatch. 25 262008-11-16 Eric Botcazou <ebotcazou@adacore.com> 27 28 PR ada/38127 29 * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Do not 30 special-case boolean types. Propagate the name. 31 * gcc-interface/targtyps.c: Tweak comment. 32 332008-11-15 Geert Bosch <bosch@adacore.com> 34 35 * gcc-interface/trans.c (emit_check): Put back a final save_expr 36 to prevent exponential expansion during gimplification. 37 382008-11-15 Eric Botcazou <ebotcazou@adacore.com> 39 40 * gcc-interface/lang-specs.h: Expand -coverage and reorder switches. 41 422008-11-15 Eric Botcazou <ebotcazou@adacore.com> 43 44 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Force constants 45 initialized to a static constant to be statically allocated even if 46 they are of a padding type, provided the original type also has 47 constant size. 48 492008-11-15 Laurent Guerby <laurent@guerby.net> 50 51 PR ada/37993 52 * gcc-interface/Makefile.in: Add multilib handling for x86_64 53 on darwin. 54 * system-darwin-x86_64.ads: New file. 55 562008-11-13 Olivier Hainque <hainque@adacore.com> 57 58 * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: 59 Turn Ada Pure on subprograms back into GCC CONST when eh constructs 60 are explicit to the middle-end. Tidy. 61 622008-11-09 Eric Botcazou <ebotcazou@adacore.com> 63 64 * gcc-interface/ada-tree.def (PLUS_NOMOD_EXPR): New tree code. 65 (MINUS_NOMOD_EXPR): Likewise. 66 * gcc-interface/utils2.c (build_binary_op) <PREINCREMENT_EXPR>: Make 67 unreachable. 68 <PLUS_NOMOD_EXPR>: New case. 69 <MINUS_NOMOD_EXPR>: Likewise. 70 * gcc-interface/trans.c (Loop_Statement_to_gnu): Build increment-and- 71 assignment statement instead of using an increment operator. 72 732008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 74 75 * system-irix-n64.ads: New file. 76 * gcc-interface/Makefile.in (mips-sgi-irix6*): Support O32 and N64 77 multilibs. 78 792008-11-07 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 80 81 PR ada/37681 82 * system-solaris-x86_64.ads: New file. 83 * gcc-interface/Makefile.in (*86-solaris2*): Support x86_64 multilib. 84 852008-11-07 Bechir Zalila <bechir.zalila@gmail.com> 86 Eric Botcazou <ebotcazou@adacore.com> 87 88 PR ada/34289 89 * lib.ads: (Enable_Switch_Storing): Declare. 90 * lib.adb: (Enable_Switch_Storing): New procedure. 91 * switch-c.adb (Scan_Front_End_Switches): Add support for -gnatea. 92 * make.adb: (Compile_Sources.Compile): Add -gnatea as first option. 93 (Display): Never display -gnatea 94 * gcc-interface/lang-specs.h: If -gnatea is present, pass -gnatez. 95 962008-11-07 Thomas Quinot <quinot@adacore.com> 97 98 * gcc-interface/trans.c (Attribute_to_gnu, case Attr_Length): Check 99 for empty range in original base type, not converted result type. 100 1012008-11-07 Geert Bosch <bosch@adacore.com> 102 103 * gcc-interface/trans.c (build_binary_op_trapv): Convert arguments 104 and result for call to __gnat_mulv64. 105 1062008-11-07 Eric Botcazou <ebotcazou@adacore.com> 107 108 * gcc-interface/trans.c: Fix formatting nits. 109 1102008-11-07 Geert Bosch <bosch@adacore.com> 111 112 * gcc-interface/trans.c (build_binary_op_trapv): Avoid emitting 113 overflow check for constant result. 114 1152008-11-07 Geert Bosch <bosch@adacore.com> 116 117 * gcc-interface/trans.c (build_binary_op_trapv): Use more efficient 118 overflow check for addition/subtraction if neither operand is constant. 119 1202008-11-06 Eric Botcazou <ebotcazou@adacore.com> 121 122 * gcc-interface/Makefile.in (SPARC/Solaris): Use a common set of 123 files for the target-dependent part of the runtime. 124 (SPARC/Linux): Likewise. 125 1262008-11-06 Eric Botcazou <ebotcazou@adacore.com> 127 128 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: If not 129 optimizing, create a PARM_DECL pointing to the VAR_DECL for debugging 130 purposes. 131 1322008-11-06 Eric Botcazou <ebotcazou@adacore.com> 133 134 * gcc-interface/misc.c (gnat_printable_name): Always return a copy 135 in GC memory. 136 1372008-11-06 Eric Botcazou <ebotcazou@adacore.com> 138 139 PR ada/19419 140 * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: 141 Generate a call to memmove for an assignment between overlapping 142 array slices. 143 1442008-11-02 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 145 146 PR target/37977 147 * gcc-interface/Makefile.in: Add multilib handling for 148 s390-linux and s390x-linux. 149 1502008-10-24 Jakub Jelinek <jakub@redhat.com> 151 152 * gcc-interface/Make-lang.in (check-ada-subtargets): Depend on 153 check-acats-subtargets and check-gnat-subtargets. 154 (check_acats_targets): New variable. 155 (check-acats-subtargets, check-acats%): New targets. 156 (check-acats): If -j is used and CHAPTERS is empty, run the testing 157 in multiple make goals, possibly parallel, and afterwards run 158 dg-extract-results.sh to merge the sum and log files. 159 1602008-10-17 Geert Bosch <bosch@adacore.com> 161 162 * gcc-interface/trans.c (gnat_to_gnu) <N_Slice>: Simplify expansion 163 to use only a single check instead of three, and avoid unnecessary 164 COMPOUND_EXPR. 165 (emit_check): Avoid useless COMPOUND_EXPRs and SAVE_EXPRs, sometimes 166 creating more opportunities for optimizations. 167 1682008-10-13 Jakub Jelinek <jakub@redhat.com> 169 170 PR middle-end/37601 171 * gcc-interface/utils.c (gnat_types_compatible_p): Handle 172 NULL TYPE_DOMAIN. 173 1742008-10-07 Eric Botcazou <ebotcazou@adacore.com> 175 176 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Move code 177 dealing with volatileness to after code dealing with renaming. 178 1792008-10-06 Eric Botcazou <ebotcazou@adacore.com> 180 181 * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Minor tweaks. 182 * gcc-interface/trans.c (Pragma_to_gnu): Likewise. 183 1842008-10-06 Eric Botcazou <ebotcazou@adacore.com> 185 186 * gcc-interface/utils.c (can_fold_for_view_convert_p): New predicate. 187 (unchecked_convert): Use it to disable problematic folding with 188 VIEW_CONVERT_EXPR in the general case. Always disable it for the 189 special VIEW_CONVERT_EXPR built for integral types and cope with 190 its addressability issues by preserving the first conversion. 191 1922008-10-01 Andreas Schwab <schwab@suse.de> 193 194 * system-linux-ppc64.ads: New file. 195 * gcc-interface/Makefile.in: Add multilib handling for 196 powerpc-linux. 197 1982008-09-26 Eric Botcazou <ebotcazou@adacore.com> 199 200 * decl.c (gnat_to_gnu_entity) <object>: Cap the alignment promotion 201 to that of ptr_mode instead of word_mode. 202 2032008-09-26 Eric Botcazou <ebotcazou@adacore.com> 204 205 PR ada/5911 206 * gcc-interface/Makefile.in (SPARC/Solaris): Add multilib support. 207 2082008-09-25 Samuel Tardieu <sam@rfc1149.net> 209 210 PR ada/37641 211 * adaint.c (__gnat_set_non_writable): Use FILE_WRITE_EA 212 instead of deprecated FILE_WRITE_PROPERTIES. 213 2142008-09-22 Olivier Hainque <hainque@adacore.com> 215 216 * gcc-interface/decl.c (gnat_to_gnu_entity): Even when they 217 are never assigned, volatile entities are not constant for code 218 generation purposes. 219 2202008-09-21 Laurent Guerby <laurent@guerby.net> 221 222 PR ada/5911 223 * gcc-interface/Makefile.in: Add multilib handling for x86_64 224 and sparc. 225 * system-linux-sparcv9.ads: New file. 226 2272008-09-20 Eric Botcazou <ebotcazou@adacore.com> 228 229 * exp_dbug.ads: Document new convention for the XVZ variable. 230 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate 231 debug info if necessary for the type padding the component type. 232 <E_Array_Subtype>: Likewise. 233 (maybe_pad_type): Emit the XVZ variable in units. 234 * gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits. 235 (Subprogram_Body_to_gnu): Set the source line of the subprogram's node 236 on statements generated to initialize the parameter attributes cache. 237 Set the source line of the end label of the body on the special return 238 statement built for a procedure with copy-in copy-out parameters. 239 2402008-09-20 Eric Botcazou <ebotcazou@adacore.com> 241 242 PR ada/37585 243 * gcc-interface/utils.c (create_subprog_decl): Disable inlining for 244 inlined external functions if they contain a nested function not 245 declared inline. 246 2472008-09-18 Jan Hubicka <jh@suse.cz> 248 249 * gcc-interface/utils.c (create_subprog_decl): Use DECL_DECLARED_INLINE_P. 250 (end_subprog_body): Do not set DECL_INLINE. 251 2522008-09-17 Pascal Rigaux <pixel@mandriva.com> 253 254 PR ada/21327 255 * gnat_ugn.texi: Use proper format in direntry. 256 2572008-09-15 Eric Botcazou <ebotcazou@adacore.com> 258 259 * gcc-interface/trans.c (gigi): Declare the name of the compilation 260 unit as the first global name. 261 2622008-09-14 Jan Hubicka <jh@suse.cz> 263 264 * gcc-interface/Make-lang.in (gnat1): Add CFLAGS. 265 2662008-09-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 267 268 * a-crbtgk.adb, a-direct.ads, a-tasatt.adb, ali.ads, 269 bindgen.adb, checks.adb, einfo.ads, exp_aggr.adb, exp_ch11.adb, 270 exp_ch3.adb, exp_ch4.adb, exp_ch6.adb, exp_ch7.adb, exp_ch9.adb, 271 exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_pakd.adb, 272 exp_util.adb, g-alveop.ads, g-comlin.adb, g-comlin.ads, 273 g-diopit.adb, g-socket.ads, gcc-interface/decl.c, 274 gcc-interface/gigi.h, gcc-interface/trans.c, 275 lib-load.adb, lib-xref.ads, make.adb, mlib-prj.adb, nlists.ads, 276 opt.ads, par-ch10.adb, par-ch5.adb, par.adb, s-os_lib.ads, 277 s-oscons-tmplt.c, s-parint.ads, s-regpat.ads, s-shasto.ads, 278 s-stausa.ads, s-taprop-vms.adb, sem.adb, sem_ch10.adb, 279 sem_ch11.adb, sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, 280 sem_ch3.ads, sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, 281 sem_elim.adb, sem_prag.adb, sem_util.adb, sem_util.ads, 282 sem_warn.adb, sinfo.ads, styleg.adb, vms_data.ads: Fix typos in 283 comments. 284 * gnathtml.pl: Fix typos. 285 2862008-09-10 Joel Sherrill <joel.sherrill@oarcorp.com> 287 288 * gcc-interface/Makefile.in: Switch RTEMS to s-interr-hwint.adb. 289 * s-osinte-rtems.ads: Add shared hardware interrupt adapter 290 layer. RTEMS binds to OS provided adapter routines so there are 291 no modifications to s-osinte-rtems.adb. 292 2932008-09-09 Arnaud Charlet <charlet@adacore.com> 294 Joel Sherrill <joel.sherrill@oarcorp.com> 295 296 * gcc-interface/Makefile.in: Switch VxWorks to s-interr-hwint.adb. 297 298 * s-interr-vxworks.adb: Renamed to s-interr-hwint.adb 299 300 * s-interr-hwint.adb: New file. 301 302 * s-osinte-vxworks.ads, s-osinte-vxworks.adb: Add new functions 303 needed by s-interr-hwint.adb. 304 305 * s-osinte-vxworks-kernel.adb: New file. 306 3072008-09-05 Joel Sherrill <joel.sherrill@oarcorp.com> 308 309 * s-stchop-rtems.adb: Add file missed in early commit. Already 310 referenced in gcc-interface/Makefile.in. 311 3122008-08-30 Thomas Quinot <quinot@adacore.com> 313 314 * gcc-interface/Make-lang.in: Allow s-oscons.{o,ali} to 315 be built even without a separate libada directory. 316 3172008-08-22 Arnaud Charlet <charlet@adacore.com> 318 319 * lib-xref.ads: Fix typo in subprogram reference definition. 320 3212008-08-22 Robert Dewar <dewar@adacore.com> 322 323 * s-sopco3.adb, s-sopco4.adb, s-sopco5.adb, s-strops.adb: Minor code fix 324 to avoid warning. 325 326 * g-trasym.adb: Ditto 327 328 * s-utf_32.adb (Get_Category): Fix obvious typo 329 330 * s-wwdcha.adb: Minor code reorganization 331 Remove dead code 332 3332008-08-22 Robert Dewar <dewar@adacore.com> 334 335 * checks.adb (Determine_Range): Deal with values that might be invalid 336 337 * opt.adb, opt.ads (Assume_No_Invalid_Values[_Config]): New 338 configuration switches. 339 340 * par-prag.adb: Dummy entry for pragma Assume_No_Invalid_Values 341 342 * sem_prag.adb: Implement pragma Assume_No_Default_Values 343 344 * snames.adb, snames.ads, snames.h: 345 Add entries for pragma Assume_No_Invalid_Values 346 347 * switch-c.adb: Add processing for -gnatB switch 348 349 * usage.adb: Add entry for flag -gnatB (no bad invalid values) 350 3512008-08-22 Javier Miranda <miranda@adacore.com> 352 353 * exp_ch3.adb (Build_Init_Statements): Transfer to the body of the 354 init procedure all the expanded code associated with the spec of 355 task types and protected types. 356 3572008-08-22 Gary Dismukes <dismukes@adacore.com> 358 359 * exp_aggr.adb (Static_Array_Aggregate): Call Analyze_And_Resolve on the 360 component expression copies rather than directly setting Etype and 361 Is_Static_Expression. 362 3632008-08-22 Gary Dismukes <dismukes@adacore.com> 364 365 * sem_util.adb (Has_Preelaborable_Initialization): Revise checking of 366 private types to allow for types derived from a private type with 367 preelaborable initialization, but return False for a private extension 368 (unless it has the pragma). 369 3702008-08-22 Robert Dewar <dewar@adacore.com> 371 372 * opt.ads: Minor code reorganization (put entries in alpha order) 373 3742008-08-22 Pascal Obry <obry@adacore.com> 375 376 * initialize.c, adaint.c: Use Lock_Task and Unlock_Task for non-blocking 377 spawn. 378 3792008-08-22 Geert Bosch <bosch@adacore.com> 380 381 * gcc-interface/trans.c: Define FP_ARITH_MAY_WIDEN 382 (convert_with_check): Only use longest_float_type if FP_ARITH_MAY_WIDEN is 0 383 3842008-08-22 Doug Rupp <rupp@adacore.com> 385 386 * bindgen.adb [VMS] (Gen_Adainit_Ada, Gen_Adainit_C): Import and call 387 __gnat_set_features. 388 389 * init.c 390 (__gnat_set_features): New function. 391 (__gnat_features_set): New tracking variable. 392 (__gl_no_malloc_64): New feature global variable 393 3942008-08-22 Ed Schonberg <schonberg@adacore.com> 395 396 * sem_ch8.adb (Use_One_Type): Do not emit warning message about redundant 397 use_type_clause in an instance. 398 3992008-08-22 Bob Duff <duff@adacore.com> 400 401 * exp_ch6.ads: Remove pragma Precondition, since it breaks some builds. 402 4032008-08-22 Robert Dewar <dewar@adacore.com> 404 405 * exp_ch6.adb: Minor reformatting 406 407 * exp_ch7.adb: Minor reformatting 408 409 * exp_ch7.ads: Put routines in proper alpha order 410 411 * exp_dist.adb: Minor reformatting 412 4132008-08-22 Vincent Celier <celier@adacore.com> 414 415 * prj.ads: Minor comment update 416 4172008-08-22 Robert Dewar <dewar@adacore.com> 418 419 * sem_ch5.adb (One_Bound): Fix latent bug involving secondary stack 420 4212008-08-22 Ed Schonberg <schonberg@adacore.com> 422 423 * exp_tss.adb: 424 (Base_Init_Proc): For a protected subtype, use the base type of the 425 corresponding record to locate the propoer initialization procedure. 426 4272008-08-22 Robert Dewar <dewar@adacore.com> 428 429 * checks.adb: 430 (In_Subrange_Of): New calling sequence 431 (Determine_Range): Prepare for new processing using base type 432 433 * exp_ch4.adb: 434 (Compile_Time_Compare): Use new calling sequence 435 436 * exp_ch5.adb: 437 (Compile_Time_Compare): Use new calling sequence 438 439 * sem_eval.adb: 440 (Compile_Time_Compare): New calling sequence allows dealing with 441 invalid values. 442 (In_Subrange_Of): Ditto 443 444 * sem_eval.ads: 445 (Compile_Time_Compare): New calling sequence allows dealing with 446 invalid values. 447 (In_Subrange_Of): Ditto 448 4492008-08-22 Pascal Obry <obry@adacore.com> 450 451 * adaint.c: Fix possible race condition on win32_wait(). 452 4532008-08-22 Bob Duff <duff@adacore.com> 454 455 * exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb, freeze.adb, 456 exp_ch4.adb, exp_ch6.ads, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb, 457 exp_intr.adb, exp_ch3.adb: Rename: 458 Exp_Ch7.Controlled_Type => Needs_Finalization 459 Exp_Ch7.CW_Or_Controlled_Type => CW_Or_Has_Controlled_Part 460 Exp_Ch5.Expand_N_Extended_Return_Statement.Controlled_Type => 461 Has_Controlled_Parts 462 (Has_Some_Controlled_Component): Fix bug in array case. 463 4642008-08-22 Robert Dewar <dewar@adacore.com> 465 466 * sem_ch8.adb: Minor reformatting 467 4682008-08-22 Kevin Pouget <pouget@adacore.com> 469 470 * s-shasto.ads, s-shasto.adb: Move Shared_Var_ROpen, Shared_Var_WOpen and 471 Shared_Var_Close procedure specifications from package spec to package body. 472 473 * rtsfind.ads: Remove RE_Shared_Var_Close, RE_Shared_Var_ROpen, 474 RE_Shared_Var_WOpen entries. 475 476 * exp_dist.adb: Update RE_Any_Content_Ptr to RE_Any_Container_Ptr in 477 Build_To_Any_Call, Build_TypeCode_Call and Build_From_Any_Call procedures. 478 4792008-08-22 Eric Botcazou <ebotcazou@adacore.com> 480 481 * init.c: adjust EH support code on Alpha/Tru64 as well. 482 483 * raise-gcc.c: Add back a couple of comments. 484 4852008-08-22 Ed Schonberg <schonberg@adacore.com> 486 487 * exp_ch5.adb (Expand_Simple_Function_Return): If secondary stack is 488 involved and the return type is class-wide, use the type of the expression 489 for the generated access type. Suppress useless discriminant checks on the 490 allocator. 491 4922008-08-22 Bob Duff <duff@adacore.com> 493 494 * exp_ch7.adb: Minor comment fix 495 496 * exp_ch6.ads: Minor comment fix 497 4982008-08-22 Thomas Quinot <quinot@adacore.com> 499 500 * sem_ch8.adb: Minor reformatting 501 Minor code reorganization (introduce subprogram to factor duplicated 502 code). 503 5042008-08-22 Sergey Rybin <rybin@adacore.com> 505 506 * gnat_ugn.texi: Change the description of gnatcheck default rule 507 settings. 508 5092008-08-22 Eric Botcazou <ebotcazou@adacore.com> 510 511 * init.c (__gnat_adjust_context_for_raise): Delete for AIX, HP-UX, 512 Solaris, FreeBSD, VxWorks and PowerPC/Linux. For x86{-64}/Linux, 513 do not adjust the PC anymore. 514 (__gnat_error_handler): Do not call __gnat_adjust_context_for_raise 515 on AIX, HP-UX, Solaris, FreeBSD and VxWorks. 516 517 * raise-gcc.c (get_call_site_action_for): Use _Unwind_GetIPInfo 518 instead of _Unwind_GetIP. 519 5202008-08-22 Gary Dismukes <dismukes@adacore.com> 521 522 * exp_aggr.adb (Static_Array_Aggregate): When a static array aggregate 523 with a range is transformed into a positional aggregate, any copied 524 component literals should be marked Is_Static_Expression. 525 526 * sem_eval.adb (Compile_Time_Known_Value): Don't treat null literals as 527 not being known at at compile time when Configurable_Run_Time_Mode is 528 true. 529 5302008-08-22 Robert Dewar <dewar@adacore.com> 531 532 * exp_attr.adb: 533 (Expand_N_Attribute_Reference): No validity checking on OUT parameter of 534 Read or Input attribute. 535 5362008-08-22 Ed Schonberg <schonberg@adacore.com> 537 538 * sem_ch8.adb (Use_One_Type): when checking which of two use_type 539 clauses in related units is redundant, if one of the units is a package 540 instantiation, use its instance_spec to determine which unit is the 541 ancestor of the other. 542 5432008-08-22 Javier Miranda <miranda@adacore.com> 544 545 * exp_attr.adb (Expand_N_Attribute_Reference): In case of access 546 attributes add missing support to handle designated types that come 547 from the limited view. 548 549 * exp_disp.adb (Expand_Interface_Conversion): Remove wrong assertion. 550 5512008-08-22 Sergey Rybin <rybin@adacore.com> 552 553 * vms_data.ads: Add entry for new gnatcheck -mNNN option 554 555 * gnat_ugn.texi: Add description for gnatcheck option '-m' 556 5572008-08-22 Sergey Rybin <rybin@adacore.com> 558 559 * gnat_ugn.texi: Update the gnatcheck subsection for metric rules 560 acoording to the latest changes in the metric rule interface 561 5622008-08-22 Vincent Celier <celier@adacore.com> 563 564 * make.adb (Check.File_Not_A_Source_Of): New Boolean function 565 (Check): Check if the file names registered in the ALI file for the 566 spec, the body and each of the subunits are the ones expected. 567 5682008-08-22 Robert Dewar <dewar@adacore.com> 569 570 * g-catiio.adb: Code cleanup. 571 5722008-08-20 Vincent Celier <celier@adacore.com> 573 574 * make.adb (Gnatmake): Remove extra space in version line 575 576 * ali.adb: 577 (Scan_ALI): Use Name_Find, not Name_Enter to get the name of a subunit, 578 as the name may already have been entered in the table by the Project 579 Manager. 580 5812008-08-20 Jose Ruiz <ruiz@adacore.com> 582 583 * errno.c (__get_errno, __set_errno for MaRTE): Transform then into 584 weak symbols so we use the version provided by MaRTE when available. 585 5862008-08-20 Emmanuel Briot <briot@adacore.com> 587 588 * g-catiio.ads, g-catiio.adb: 589 (Value): Avoid an unnecessary system call to Clock in most cases. 590 This call is only needed when only the time is provided in the string, 591 and ignored in all other cases. This is more efficient. 592 5932008-08-20 Eric Botcazou <ebotcazou@adacore.com> 594 595 * raise-gcc.c: Fix formatting nits. 596 5972008-08-20 Robert Dewar <dewar@adacore.com> 598 599 * sem_ch13.adb: 600 (Adjust_Record_For_Reverse_Bit_Order): Do not access First_Bit for 601 non-existing component clause. 602 603 * exp_ch5.adb: Minor reformatting 604 605 * g-comlin.adb: Minor reformatting 606 607 * make.adb: Minor reformatting 608 609 * prj-proc.adb: Minor reformatting 610 611 * stylesw.ads: Minor reformatting 612 6132008-08-20 Vincent Celier <celier@adacore.com> 614 615 * make.adb (Gnatmake_Switch_Found): New Boolean global variable 616 (Switch_May_Be_Passed_To_The_Compiler): New Boolean global variable 617 (Add_Switches): New Boolean parameter Unknown_Switches_To_The_Compiler 618 defaulted to True. Fail when Unknown_Switches_To_The_Compiler is False 619 and a switch is not recognized by gnatmake. 620 (Gnatmake): Implement new scheme for gnatmake switches and global 621 compilation switches. 622 (Switches_Of): Try successively Switches (<file name>), 623 Switches ("Ada"), Switches (others) and Default_Switches ("Ada"). 624 6252008-08-20 Ed Schonberg <schonberg@adacore.com> 626 627 * styleg-c.ads, styleg-c.adb (Missing_Overriding): new procedure to 628 implement style check that overriding operations are explicitly marked 629 at such. 630 631 * style.ads (Missing_Overriding): new procedure that provides interface 632 to previous one. 633 634 * stylesw.ads, stylesw.adb: New style switch -gnatyO, to enable check 635 that the declaration or body of overriding operations carries an 636 explicit overriding indicator. 637 638 * sem_ch8.adb 639 (Analyze_Subprogram_Renaming): if operation is overriding, check whether 640 explicit indicator should be present. 641 642 * sem_ch6.adb (Verify_Overriding_Indicator, 643 Check_Overriding_Indicator): If operation is overriding, check whether 644 declaration and/or body of subprogram should be present 645 6462008-08-20 Vincent Celier <celier@adacore.com> 647 648 * prj-nmsc.adb (Check_Naming_Schemes): Accept source file names for 649 gprbuild when casing is MixedCase, whatever the casing of the letters 650 in the file name. 651 6522008-08-20 Gary Dismukes <dismukes@adacore.com> 653 654 * exp_ch3.adb (Build_Array_Init_Proc): Clarify comment related to 655 creating dummy init proc. 656 (Requires_Init_Proc): Return False in the case No_Default_Initialization 657 is in force and the type does not have associated default 658 initialization. Move test of Is_Public (with tests of restrictions 659 No_Initialize_Scalars and No_Default_Initialization) to end, past tests 660 for default initialization. 661 6622008-08-20 Jerome Lambourg <lambourg@adacore.com> 663 664 * g-comlin.adb (For_Each_Simple_Switch): Take care of switches not part 665 of any alias or prefix but having attached parameters (as \"-O2\"). 666 6672008-08-20 Robert Dewar <dewar@adacore.com> 668 669 * s-fileio.adb: Minor reformatting 670 6712008-08-20 Thomas Quinot <quinot@adacore.com> 672 673 * exp_strm.adb (Build_Elementary_Input_Call, 674 Build_Elementary_Write_Call): Fix incorrect condition in circuitry that 675 selects the stream attribute routines for long float types. 676 6772008-08-20 Vincent Celier <celier@adacore.com> 678 679 * prj-proc.adb (Process_Declarative_Items): Add Location for Array_Data 680 681 * prj.ads (Array_Data): Add a component Location 682 6832008-08-20 Ed Schonberg <schonberg@adacore.com> 684 685 * sem_prag.adb: 686 (Analyze_Pragma, case Obsolescent): Add entity information on the pragma 687 argument for ASIS and navigation use. 688 6892008-08-20 Ed Schonberg <schonberg@adacore.com> 690 691 * einfo.ads: Add comment. 692 6932008-08-20 Bob Duff <duff@adacore.com> 694 695 * sem_eval.ads: Minor comment fix. 696 6972008-08-20 Bob Duff <duff@adacore.com> 698 699 * exp_ch4.adb (Expand_N_And_Then, Expand_N_Or_Else): Improve constant 700 folding. We were folding things like "False and then ...", but not 701 "X and then ..." where X is a constant whose value is known at compile 702 time. 703 7042008-08-20 Hristian Kirtchev <kirtchev@adacore.com> 705 706 * exp_ch5.adb (Controlled_Type): New routine. 707 (Expand_N_Extended_Return_Statement): When generating a move of the 708 final list in extended return statements, check the type of the 709 function and in the case of double expanded return statements, the type 710 of the returned object. 711 (Expand_Simple_Function_Return): Perform an interface conversion when 712 the type of the returned object is an interface and the context is an 713 extended return statement. 714 7152008-08-20 Ed Schonberg <schonberg@adacore.com> 716 717 * sem_util.adb (Set_Debug_Info_Needed): If the entity is a private type 718 and the full view is visible, set flag on full view as well. 719 7202008-08-20 Thomas Quinot <quinot@adacore.com> 721 722 * g-comlin.adb: Minor reformatting 723 Minor code reorganization. 724 725 * freeze.adb: Minor reformatting 726 7272008-08-20 Vincent Celier <celier@adacore.com> 728 729 * prj-nmsc.adb (Check_File): An excluded Ada source file may be a 730 source of another project. 731 7322008-08-20 Pascal Obry <obry@adacore.com> 733 734 * s-os_lib.ads: Minor reformatting. 735 7362008-08-20 Arnaud Charlet <charlet@adacore.com> 737 738 * gnatvsn.ads: Minor reformatting. 739 7402008-08-20 Arnaud Charlet <charlet@adacore.com> 741 742 * a-crbtgk.adb, repinfo.adb, g-traceb.ads, repinfo.ads, 743 system-linux-s390x.ads, s-fatflt.ads, s-parame-ae653.ads, g-spipat.adb, 744 g-spipat.ads, g-tasloc.adb, g-debpoo.adb, g-except.ads, g-debpoo.ads, 745 mdll-utl.adb, g-string.adb, g-soliop-solaris.ads, par-sync.adb, 746 exp_ch6.ads, a-cihama.ads, g-curexc.ads, system-linux-sh4.ads, 747 g-utf_32.adb, g-hesorg.adb, s-proinf-irix-athread.ads, s-parint.adb, 748 s-parint.ads, exp_ch7.ads, system-linux-alpha.ads, g-dirope.adb, 749 sinfo-cn.adb, par-labl.adb, a-ciorse.adb, g-calend.adb, 750 s-parame-vms-alpha.ads, nlists.h, exp_imgv.adb, exp_fixd.ads, 751 g-calend.ads, gnatcmd.ads, g-table.adb, s-memory-mingw.adb, 752 g-alveop.ads, g-memdum.ads, g-altive.ads, initialize.c, g-regpat.adb, 753 g-busorg.ads, g-regpat.ads, g-encstr.ads, g-regexp.adb, g-regexp.ads, 754 live.ads, g-dyntab.adb, prj-nmsc.ads, par-ch12.adb, 9drpc.adb, 755 g-alvevi.ads, s-memory.adb, math_lib.adb, s-parame.ads, s-memory.ads, 756 s-regexp.adb, a-exexda.adb, i-cstrea-vms.adb, a-exexpr.adb, 757 g-soliop-mingw.ads, s-imgrea.adb, namet.adb, system-vms.ads, 758 s-inmaop-dummy.adb, s-finroo.ads, a-ngcefu.adb, s-hibaen.ads, 759 g-soliop.ads, s-auxdec.adb, g-locfil.ads, gnatxref.adb, memroot.adb, 760 osint-b.ads, memroot.ads, s-parame-hpux.ads, errutil.adb, 761 system-linux-s390.ads, par-util.adb, osint-c.ads, exp_pakd.ads, 762 i-pacdec.ads, par-endh.adb, mlib-tgt.ads, prj-strt.ads, 763 s-osprim-vms.adb, s-proinf.ads, output.ads, g-moreex.ads, 764 a-finali.ads, s-fatlfl.ads, namet.h, mdll.ads, g-dynhta.ads, 765 s-imgenu.ads, par-tchk.adb, g-excact.ads, memtrack.adb, s-fatgen.adb, 766 a-exexpr-gcc.adb, g-arrspl.adb, par-ch4.adb, g-cgideb.adb, freeze.ads, 767 g-altcon.adb, s-fatllf.ads, gnatfind.adb, s-osinte-lynxos-3.adb, 768 a-exextr.adb, g-htable.ads, a-calfor.adb, s-imgcha.adb, argv.c, 769 a-chahan.ads, g-hesora.adb, system-vms_64.ads, par-ch5.adb, g-md5.adb, 770 lib-xref.ads, g-md5.ads, g-casuti.ads, s-fatsfl.ads, exp_dbug.ads, 771 s-htable.ads, a-ngcoar.adb, s-arit64.ads, a-ngelfu.adb, a-filico.ads, 772 par-ch6.adb, s-inmaop.ads, s-parame-vxworks.ads, s-casuti.ads, 773 a-numaux-darwin.adb, a-cohama.ads, system-linux-sparc.ads, g-os_lib.adb, 774 system-vms-ia64.ads, s-parame-vms-restrict.ads, a-clrefi.ads, 775 s-parame-vms-ia64.ads, a-strfix.adb, a-coorse.adb, a-comlin.ads, 776 a-chtgke.adb, s-imgint.adb, g-expect.ads, exp_ch4.ads, s-finimp.adb, 777 mingw32.h, g-heasor.adb, g-alleve.adb, a-ngrear.adb, s-mastop-irix.adb, 778 s-poosiz.adb, link.c: Fix copyright notice. 779 7802008-08-20 Arnaud Charlet <charlet@adacore.com> 781 782 * g-comlin.ads: Update comments. 783 7842008-08-20 Ed Schonberg <schonberg@adacore.com> 785 786 * sem_ch8.adb (Analyze_Subprogram_Renaming): Inherit Is_Imported flag. 787 7882008-08-20 Gary Dismukes <dismukes@adacore.com> 789 790 * exp_ch11.adb: 791 (Expand_Exception_Handlers): Call Make_Exception_Handler instead of 792 Make_Implicit_Exception_Handler when rewriting an exception handler with 793 a choice parameter, and pass the handler's Sloc instead of that of the 794 handled sequence of statements. Make_Implicit_Exception_Handler sets the 795 Sloc to No_Location (unless debugging generated code), which we don't 796 want for the case of a user handler. 797 7982008-08-20 Robert Dewar <dewar@adacore.com> 799 800 * freeze.adb (Freeze_Record_Type): Improve msg for non-contiguous field 801 802 * sem_ch13.adb: 803 (Adjust_Record_For_Reverse_Bit_Order): Messages about layout are 804 now labeled as info msgs, not warnings. 805 806 * tbuild.ads: Clarify documentation of Make_Implicit_Exception_Handler 807 808 * usage.adb: Minor change to avoid overlong line for -gnatwz/Z 809 810 * a-textio.adb: Remove redundant test. 811 812 * a-witeio.adb: Minor code reorganization 813 Remove redundant test found working on another issue 814 815 * a-ztexio.adb: Minor code reorganization 816 Remove redundant test found working on another issue 817 8182008-08-20 Thomas Quinot <quinot@adacore.com> 819 820 * s-fileio.adb (Open) Use C helper function to determine whether a 821 given errno value corresponds to a "file not found" error. 822 823 * sysdep.c (__gnat_is_file_not_found_error): New C helper function. 824 8252008-08-20 Jose Ruiz <ruiz@adacore.com> 826 827 * errno.c (__get_errno for MaRTE): Use the MaRTE function pthread_errno 828 to get access to the per-task errno variable. 829 (__set_errno for MaRTE): Do not redefine this function here since it is 830 already defined in MaRTE. 831 8322008-08-20 Tristan Gingold <gingold@adacore.com> 833 834 * gnat_ugn.texi: Gcov is not supported on static library on AIX. 835 8362008-08-20 Robert Dewar <dewar@adacore.com> 837 838 * freeze.adb: Minor reformatting 839 840 * g-comlin.adb: Minor reformatting 841 842 * g-socket.adb: Minor reformatting 843 844 * g-socthi-mingw.adb: Minor reformatting 845 846 * g-stheme.adb: Minor reformatting 847 8482008-08-20 Ed Schonberg <schonberg@adacore.com> 849 850 * sem_aggr.adb, sem_type.adb, exp_ch9.ads, einfo.ads, 851 exp_ch6.adb, exp_aggr.adb (Valid_Ancestor): Resolve 852 confusion between partial and full views of an ancestor of the context 853 type when the parent is a private extension declared in a parent unit, 854 and full views are available for the context type. 855 8562008-08-18 Samuel Tardieu <sam@rfc1149.net> 857 Robert Dewar <dewar@adacore.com> 858 859 PR ada/30827 860 * bindgen.adb (Gen_Output_File_Ada): Zero-terminate the 861 version string. 862 Move comment in the right place. 863 * g-comver.adb (Version): Look for a zero-termination in 864 addition to a closing parenthesis. 865 8662008-08-18 Samuel Tardieu <sam@rfc1149.net> 867 868 * exp_ch13.adb, exp_disp.adb, sem_cat.adb, sem_ch10.adb, 869 * sem_ch12.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, 870 * sem_prag.adb, sem_util.adb, sem_warn.adb: Use 871 Is_Package_Or_Generic_Package instead of hand-crafted tests. 872 8732008-08-18 Samuel Tardieu <sam@rfc1149.net> 874 875 PR ada/15808 876 * sem_ch6.adb (Check_Private_Overriding): Check for generic packages 877 as well. 878 8792008-08-17 Aaron W. LaFramboise <aaronavay62@aaronwl.com> 880 881 * adaint.c (_gnat_set_close_on_exec) [_WIN32]: Implement. 882 8832008-08-16 Eric Botcazou <ebotcazou@adacore.com> 884 885 * gcc-interface/trans.c (call_to_gnu): Use the Sloc of the call 886 for back-copy statements in lieu of that of the actual. 887 8882008-08-16 Eric Botcazou <ebotcazou@adacore.com> 889 890 PR ada/20548 891 * gcc-interface/decl.c (gnat_to_gnu_entity): Use DECL_SIZE_UNIT in the 892 setjmp test consistently. Adjust for new behavior of flag_stack_check. 893 * gcc-interface/utils2.c (build_call_alloc_dealloc): Remove redundant 894 test of flag_stack_check. Adjust for new behavior of flag_stack_check. 895 8962008-08-13 Samuel Tardieu <sam@rfc1149.net> 897 898 PR ada/36777 899 * sem_util.ads, sem_util.adb (Is_Protected_Self_Reference): New. 900 * sem_attr.adb (Check_Type): The current instance of a protected 901 object is not a type name. 902 (Analyze_Access_Attribute): Accept instances of protected objects. 903 (Analyze_Attribute, Attribute_Address clause): Ditto. 904 * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite 905 the prefix as being the current instance if needed. 906 9072008-08-12 Danny Smith <danyssmith@users.sourceforge.net> 908 909 * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) [WINDOWS]: 910 Remove duplicate s-win32.o. Add s-winext.o. 911 9122008-08-12 Danny Smith <danyssmith@users.sourceforge.net> 913 914 * g-stsifd-sockets.adb (Create): Replace Constants.SOCK_STREAM 915 with SOSC.SOCK__STREAM. 916 * g-socthi-mingw.adb (C_Select) Replace Constants.MSG_OOB with 917 SOSC.MSG_OOB. 918 9192008-08-11 Joel Sherrill <joel.sherrill@oarcorp.com> 920 921 * s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it. 922 * gsocket.h, socket.c: Update to support RTEMS. 923 * gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross. 924 9252008-08-10 Samuel Tardieu <sam@rfc1149.net> 926 Robert Dewar <dewar@adacore.com> 927 928 * exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of 929 left argument even when right argument is 0. 930 (Expand_N_Op_Mod): Ditto when right argument is 1. 931 (Expand_N_Op_Multiply): Ditto when any argument is 0. 932 (Expand_N_Op_Rem): Ditto when right argument is 1. 933 9342008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> 935 936 * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused 937 by warn_unused. 938 9392008-08-08 Ed Schonberg <schonberg@adacore.com> 940 941 * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted 942 from Freeze_Entity. Used to generate cross-reference information for 943 types declared in generic packages. 944 9452008-08-08 Thomas Quinot <quinot@adacore.com> 946 947 * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a 948 compatibility shim. 949 9502008-08-08 Thomas Quinot <quinot@adacore.com> 951 952 * gsocket.h: 953 On Windows, include <errno.h> and redefine only selected errno values 954 from their <winsock2.h> definitions. 955 956 * s-osinte-freebsd.ads: Minor reformatting 957 958 * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting 959 960 * g-soccon.ads: New file. 961 962 * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb, 963 g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb, 964 g-stsifd-sockets.adb, g-socket.adb, g-socket.ads, 965 g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child 966 unit, to allow building software that depends on this internal unit 967 with both older and newer compilers. 968 9692008-08-08 Robert Dewar <dewar@adacore.com> 970 971 * s-strxdr.adb: Minor reformatting 972 9732008-08-08 Bob Duff <duff@adacore.com> 974 975 * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow 976 checking for integer operations (including division by zero)", which 977 is wrong -- divide by zero is not part of overflow checking. 978 Also added misc clarification about what check-suppression means. 979 980 * gnat_rm.texi: Clarify the meaning of pragma Suppress. 981 9822008-08-08 Jerome Lambourg <lambourg@adacore.com> 983 984 * g-comlin.adb (Add_Switch): Handle addition of switches at the 985 begining of the command line. 986 (Append, Add): Renaming of Append to Add as this now allows addition 987 at the begining of the list. 988 989 * g-comlin.ads (Add_Switch): Handle addition of switches at the 990 begining of the command line. 991 9922008-08-08 Thomas Quinot <quinot@adacore.com> 993 994 * g-sercom.ads: 995 (Name): Document application scope (only legacy PC serial ports on 996 Linux and Windows). 997 9982008-08-08 Thomas Quinot <quinot@adacore.com> 999 1000 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert 1001 previous change, not needed after all. 1002 10032008-08-08 Ed Schonberg <schonberg@adacore.com> 1004 1005 * exp_ch4.adb (Expand_Allocator_Expression): add check if null 1006 exclusion indicator is present 1007 10082008-08-08 Robert Dewar <dewar@adacore.com> 1009 1010 * g-comlin.adb: Minor code reorganization 1011 Minor reformatting 1012 1013 * g-comlin.ads: Minor reformatting 1014 1015 * s-fileio.adb: Minor reformatting 1016 1017 * sem_attr.adb: Minor code reorganization (use Nkind_In) 1018 Minor reformatting 1019 10202008-08-06 Samuel Tardieu <sam@rfc1149.net> 1021 1022 * gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing 1023 with s-oscons-tmplt.i. 1024 10252008-08-06 Samuel Tardieu <sam@rfc1149.net> 1026 1027 * gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove. 1028 10292008-08-06 Ed Schonberg <schonberg@adacore.com> 1030 1031 * sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse 1032 of incomplete type. 1033 1034 * sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming 1035 of a formal parameter of an incomplete type. Improve error message for 1036 other improper uses of incomplete types. 1037 10382008-08-06 Robert Dewar <dewar@adacore.com> 1039 1040 * gnat_ugn.texi: Clarify -gnato documentation 1041 10422008-08-06 Thomas Quinot <quinot@adacore.com> 1043 1044 * gcc-interface/Makefile.in, 1045 g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb, 1046 g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads, 1047 g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads, 1048 g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads, 1049 g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads, 1050 g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads, 1051 g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads, 1052 g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads, 1053 g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads: 1054 Remove GNAT.Sockets.Constants. This internal package is replaced by 1055 System.OS_Constants. 1056 10572008-08-06 Thomas Quinot <quinot@adacore.com> 1058 1059 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: 1060 Remove obsolete targets referencing gen-soccon 1061 When generating s-oscons.ads, use a file name that includes the 1062 THREAD_KIND, to ensure that the (potentially different) version from a 1063 previous build with a different threads flavour does not get reused. 1064 10652008-08-06 Thomas Quinot <quinot@adacore.com> 1066 1067 * sem_res.adb: Minor reformatting 1068 1069 * s-fileio.adb (Open): When file open operation fails, raise Name_Error 1070 only when the operating system reports a non-existing file or directory 1071 (ENOENT), otherwise raise Name_Error. 1072 1073 * exp_ch11.adb: Minor reformatting 1074 10752008-08-06 Ed Schonberg <schonberg@adacore.com> 1076 1077 * sem_ch3.adb (Access_Subprogram_Declaration): If the return type is 1078 incomplete, add the access_to_subprogram type to the list of private 1079 dependents only if the incomplete type will be completed in the current 1080 scope. 1081 (Build_Discriminant_Constraints): If the type of the discriminant is 1082 access_to_variable, reject a constraint that is access_to_constant. 1083 10842008-08-06 Thomas Quinot <quinot@adacore.com> 1085 1086 * g-socket-dummy.adb, g-socket-dummy.ads, g-sothco-dummy.adb, 1087 g-sothco-dummy.ads, g-socthi-dummy.adb, g-socthi-dummy.ads, 1088 g-sttsne-dummy.ads: New files. 1089 1090 * gcc-interface/Makefile.in, Makefile.rtl: Use placeholder sources 1091 with pragma Unimplemented_Unit for sockets packages on Nucleus. 1092 10932008-08-06 Pascal Obry <obry@adacore.com> 1094 1095 * adaint.c: Another fix for ACL support on Windows. 1096 10972008-08-06 Javier Miranda <miranda@adacore.com> 1098 1099 * exp_disp (Expand_Interface_Actuals): Adds missing support for 1100 expansion of calls to subprograms using selected components. 1101 11022008-08-06 Ed Schonberg <schonberg@adacore.com> 1103 1104 * sem_res.adb (Resolve_Call): Use base type to determine whether a 1105 dereference is needed because a subtype of an access_to_subprogram is 1106 simply an access-subtype 1107 11082008-08-06 Jerome Lambourg <lambourg@adacore.com> 1109 1110 * g-comlin.adb (Set_Command_Line): Now that aliases can contain 1111 parameters, always specify the expected separator. 1112 11132008-08-06 Thomas Quinot <quinot@adacore.com> 1114 1115 * xnmake.adb: Use new XUtil package for platform independent text 1116 output. 1117 11182008-08-06 Vincent Celier <celier@adacore.com> 1119 1120 * gnat_ugn.texi: Document compiler switch -gnateG 1121 11222008-08-06 Quentin Ochem <ochem@adacore.com> 1123 1124 * s-stausa.adb (Fill_Stack): Fixed pragma assert and top pattern mark 1125 in the case of an empty pattern size. 1126 (Compute_Result): Do not do any computation in the case of an empty 1127 pattern size. 1128 (Report_Result): Fixed computation of the overflow guard. 1129 11302008-08-06 Ed Schonberg <schonberg@adacore.com> 1131 1132 * g-awk.adb (Finalize): Do not use directly objects of the type in the 1133 finalization routine to prevent elaboration order anomalies in new 1134 finalization scheme. 1135 11362008-08-06 Ed Schonberg <schonberg@adacore.com> 1137 1138 * sem_ch3.adb (Find_Type_Name): protect against duplicate incomplete 1139 declaration for the same type. 1140 11412008-08-06 Thomas Quinot <quinot@adacore.com> 1142 1143 * sem.adb: Minor rewording (comment) 1144 11452008-08-06 Jerome Lambourg <lambourg@adacore.com> 1146 1147 * g-comlin.adb (Define_Switch, Get_Switches): New. 1148 (Can_Have_Parameter, Require_Parameter, Actual_Switch): New, used when 1149 ungrouping switches. 1150 (For_Each_Simple_Switch): Allow more control over parameters handling. 1151 This generic method now allows ungrouping of switches with parameters 1152 and switches with more than one letter after the prefix. 1153 (Set_Command_Line): Take care of switches that are prefixed with a 1154 switch handling parameters without delimiter (-gnatya and -gnaty3 for 1155 example). 1156 (Add_Switch, Remove_Switch): Handle parameters possibly present inside 1157 a group, as in gnaty3aM80 (3 and 80 are parameters). Report status of 1158 the operation. 1159 (Start, Alias_Switches, Group_Switches): Take care of parameters 1160 possibly present inside a group. 1161 1162 * g-comlin.ads (Define_Switch): New method used to define a list of 1163 expected switches, that are necessary for correctly ungrouping switches 1164 with more that one character after the prefix. 1165 (Get_Switches): Method that builds a getopt string from the list of 1166 switches as set previously by Define_Switch. 1167 (Add_Switch, Remove_Switch): New versions of the methods, reporting the 1168 status of the operation. Also allow the removal of switches with 1169 parameters only. 1170 (Command_Line_Configuration_Record): Maintain a list of expected 1171 switches. 1172 11732008-08-06 Doug Rupp <rupp@adacore.com> 1174 1175 * gcc-interface/decl.c (gnat_to_gnu_param): Force 32bit descriptor if 1176 TARGET_MALLOC64 clear. 1177 1178 * gcc-interface/utils2.c (build_call_alloc_dealloc): Force 32bit malloc 1179 if TARGET_MALLOC64 clear. 1180 1181 * gcc-interface/gigi.h (TARGET_ABI_OPEN_VMS): Move here from utils2.c 1182 (TARGET_MALLC64): New macro. Default to clear. 1183 11842008-08-06 Doug Rupp <rupp@adacore.com> 1185 1186 * gcc-interface/utils2.c (snames.h) Include 1187 (TARGET_ABI_OPEN_VMS): Initialize. 1188 (build_call_alloc_dealloc); [TARGET_ABI_OPEN_VMS] Allocate on 32bit heap 1189 for Convention C. 1190 11912008-08-06 Ed Schonberg <schonberg@adacore.com> 1192 1193 * sem_ch3.adb (Process_Discriminants): diagnose redundant or improper 1194 null exclusion in a discriminant declaration 1195 1196 * sem_ch8.adb (Analyze_Object_Renaming): diagnose null exclusion 1197 indicators when type is not an access type. 1198 1199 * sem_ch12.adb (Formal_Object_Declaration): diagnose null exclusion 1200 indicators when type is not an access type. 1201 12022008-08-06 Javier Miranda <miranda@adacore.com> 1203 1204 * exp_disp (Expand_Interface_Conversion): Freeze the entity associated 1205 with the target interface before expanding the code of the interface 1206 conversion. 1207 12082008-08-05 Ed Schonberg <schonberg@adacore.com> 1209 1210 * freeze.adb: 1211 (Freeze_Entity): A deferred constant does not violate the restriction 1212 No_Default_Initialization, 1213 1214 * sem_ch3.adb (Process_Subtype): An allocator is a valid construct that 1215 can carry a null exclusion indicator, and on which an error may be 1216 posted if the indicator is redundant. 1217 1218 * sem_ch8.adb (Analyze_Object_Renaming): Verify that a null exclusion 1219 does not apply to a subtype mark that already excludes null. 1220 1221 * sem_ch12.adb (Formal_Object_Declaration): Verify that a null 1222 exclusion does not apply to a subtype mark that already excludes null. 1223 12242008-08-05 Thomas Quinot <quinot@adacore.com> 1225 1226 * Makefile.rtl: Compile s-oscons.ads as part of the runtime library. 1227 12282008-08-05 Doug Rupp <rupp@adacore.com> 1229 1230 * vms_data.ads: Translation for /POINTER_SIZE qualifier. 1231 12322008-08-05 Thomas Quinot <quinot@adacore.com> 1233 1234 * gsocket.h: Make this file includable in a Nucleus environment, which 1235 does not support sockets. 1236 1237 * socket.c: Remove Nucleus-specific hack. 1238 12392008-08-05 Pascal Obry <obry@adacore.com> 1240 1241 * adaint.c: Remove support for readable attribute on vxworks and nucleus 1242 12432008-08-05 Ed Schonberg <schonberg@adacore.com> 1244 1245 * sem_attr.adb: 1246 (Analyze_Attribute, case 'Result): handle properly the case where some 1247 operand of the expression in a post-condition generates a transient 1248 block. 1249 1250 * sem_ch5.adb (Analyze_Assignment_Statement): Apply conversion to 1251 right-hand side when it is an anonymous access_to_subprogram, to force 1252 static accessibility check when needed. 1253 12542008-08-05 Sergey Rybin <rybin@adacore.com> 1255 1256 * gnat_ugn.texi: Changing the description of the gnatcheck metrics 1257 rule according to the change in the rule option. 1258 Add documentation for -gnatw.b/-gnatw.B 1259 12602008-08-05 Robert Dewar <dewar@adacore.com> 1261 1262 * ug_words: Add entries for -gnatw.b/-gnatw.B 1263 1264 * vms_data.ads: Add entries for -gnatw.b/-gnatw.B 1265 12662008-08-05 Vincent Celier <celier@adacore.com> 1267 1268 * a-wtdeio.adb (Put (Current_Output)): Use Fore in the call to Put 1269 (File). 1270 1271 * a-ztdeio.adb: Ditto. 1272 12732008-08-05 Pascal Obry <obry@adacore.com> 1274 1275 * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Add support for the 1276 readable attribute. 1277 12782008-08-05 Vincent Celier <celier@adacore.com> 1279 1280 * s-wchwts.adb: 1281 (Wide_String_To_String): Returns a String with the same 'First as its 1282 parameter S. 1283 (Wide_Wide_String_To_String): Ditto 1284 1285 * s-wchwts.ads: 1286 (Wide_String_To_String): Document that the lowest index of the returned 1287 String is equal to S'First. 1288 12892008-08-05 Thomas Quinot <quinot@adacore.com> 1290 1291 * xoscons.adb, xutil.ads, xutil.adb, s-oscons-tmplt.c: New files. 1292 1293 * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Generate 1294 s-oscons.ads 1295 12962008-08-05 Robert Dewar <dewar@adacore.com> 1297 1298 * opt.ads (Warn_On_Biased_Representation): New flag 1299 1300 * sem_ch13.adb: 1301 (Analyze_Attribute_Definition_Clause): Issue warning when biased 1302 representation is required. 1303 (Minimum_Size): Don't allow biasing if enum rep clause case 1304 1305 * sem_warn.adb: 1306 (Set_Dot_Warning_Switch): Add handling of -gnatw.b/B switches 1307 (Set_Warning_Switch): Include -gnatw.b in -gnatwa, -gnatw.B in gnatws 1308 1309 * usage.adb: Add lines for -gnatw.b/B switches 1310 13112008-08-05 Pascal Obry <obry@adacore.com> 1312 1313 * a-coinve.adb: Reorder the code to avoid uninitialized warning. 1314 1315 * adaint.c: In UNIX cases do not call __gnat_stat but stat directly. 1316 13172008-08-05 Thomas Quinot <quinot@adacore.com> 1318 1319 * socket.c: Minor reformatting. 1320 13212008-08-05 Robert Dewar <dewar@adacore.com> 1322 1323 * sem_ch3.adb: Minor reformatting 1324 1325 * prj-nmsc.adb: Minor reformatting 1326 13272008-08-05 Ed Schonberg <schonberg@adacore.com> 1328 1329 * sem_ch12.adb (Validate_Array_Type_Instance): Only apply complex 1330 visibility check on the component type if the simple test fails. 1331 13322008-08-05 Jose Ruiz <ruiz@adacore.com> 1333 1334 * init.c (__gnat_install_handler for linux): If we are building the 1335 Xenomai run time then we need to do two additional things: avoid 1336 memory swapping and transform the Linux environment task into a native 1337 Xenomai task. 1338 1339 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run 1340 time): Use interface to Xenomai native skin and avoid linux-specific 1341 way of setting CPU affinity. 1342 (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism. 1343 13442008-08-05 Bob Duff <duff@adacore.com> 1345 1346 * checks.ads: Minor comment fix 1347 13482008-08-05 Thomas Quinot <quinot@adacore.com> 1349 1350 * g-sercom.adb, g-sercom.ads, g-sercom-mingw.adb, 1351 g-sercom-linux.adb (Data_Bits): Change literals B7 and B8 to CS7 and 1352 CS8. 1353 13542008-08-05 Robert Dewar <dewar@adacore.com> 1355 1356 * mlib.adb: Minor code reorganization 1357 Minor reformatting 1358 1359 * make.adb: Minor reformatting 1360 1361 * prj-attr.ads: Minor reformatting 1362 1363 * s-os_lib.adb: Minor reformatting 1364 1365 * s-fileio.adb: Minor code reorganization 1366 Minor reformatting 1367 1368 * prj.ads: Minor reformatting 1369 13702008-08-05 Bob Duff <duff@adacore.com> 1371 1372 * sem_ch3.adb (Analyze_Object_Declaration): Avoid type Any_Access in 1373 unresolved initial value of "null", because it causes implicitly 1374 generated "=" operators to be ambiguous, and because this type should 1375 not be passed to gigi. 1376 13772008-08-05 Vincent Celier <celier@adacore.com> 1378 1379 * mlib.adb: Update comments. 1380 1381 * make.adb (Switches_Of): Check for Switches (others), before checking 1382 for Default_Switches ("Ada"). 1383 (Gnatmake): Use Builder'Switches (others) in preference to 1384 Builder'Default_Switches ("Ada") if there are several mains. 1385 1386 * prj-attr-pm.adb: 1387 (Add_Attribute): Add component Others_Allowed in Attribute_Record 1388 aggregate. 1389 1390 * prj-attr.adb: 1391 Add markers to indicates that attributes Switches allow others as index 1392 (Others_Allowed_For): New Boolean function, returning True for 1393 attributes with the mark. 1394 (Initialize): Recognize optional letter 'O' as the marker for 1395 associative array attributes where others is allowed as the index. 1396 1397 * prj-attr.ads: 1398 (Others_Allowed_For): New Boolean function 1399 (Attribute_Record): New Boolean component Others_Allowed 1400 1401 * prj-dect.adb: 1402 (Parse_Attribute_Declaration): For associative array attribute where 1403 others is allowed as the index, allow others as an index. 1404 1405 * prj-nmsc.adb: 1406 (Process_Binder): Skip associative array attributes with index others 1407 (Process_Compiler): Ditto 1408 1409 * prj-util.adb: 1410 (Value_Of (Index, In_Array)): Make no attempt to put in lower case when 1411 index is All_Other_Names. 1412 1413 * prj.ads: 1414 (All_Other_Names): New constant 1415 1416 * prj-proc.adb: 1417 (Process_Declarative_Items): Skip associative array attribute when index 1418 is reserved word "others". 1419 14202008-08-05 Vasiliy Fofanov <fofanov@adacore.com> 1421 1422 * gen-oscons.c: Adapt for VMS where termios.h is not available. 1423 14242008-08-05 Thomas Quinot <quinot@adacore.com> 1425 1426 * a-rttiev.adb: Minor reformatting (comments) 1427 1428 * gen-soccon.c: Rename to gen-oscons.c 1429 1430 * gen-oscons.c: New file. Now generate System.OS_Constants instead of 1431 GNAT.Sockets.Constants. 1432 Add new constants for GNAT.Serial_Communications and System.File_IO. 1433 14342008-08-05 Javier Miranda <miranda@adacore.com> 1435 1436 * sem_util.adb (Collect_Interfaces_Info): Minor reformating. 1437 * exp_ch3.adb (Build_Offset_To_Top_Functions): Code cleanup: the 1438 implementation of this routine has been simplified. 1439 14402008-08-05 Pascal Obry <obry@adacore.com> 1441 1442 * adaint.c, adaint.h, s-os_lib.adb, s-os_lib.ads: Fix the 1443 Set_Read_Only Win32 implementation. 1444 14452008-08-05 Thomas Quinot <quinot@adacore.com> 1446 1447 * exp_strm.adb: Minor reformatting (comments) 1448 1449 * sem_ch12.adb: Minor reformatting. 1450 14512008-08-05 Robert Dewar <dewar@adacore.com> 1452 1453 * sem_ch3.adb: Minor reformatting 1454 1455 * checks.adb: Minor reformatting 1456 14572008-08-05 Thomas Quinot <quinot@adacore.com> 1458 1459 * tbuild.ads (New_External_Name): Update spec to reflect relaxed 1460 restriction on Prefix. 1461 14622008-08-05 Jerome Lambourg <lambourg@adacore.com> 1463 1464 * g-comlin.adb (Sort_Sections, Group_Switches): New/Modified internal 1465 methods needed to handle switch sections when building a command line. 1466 (Define_Section, Add_Switch, Remove_Switch, Is_New_Section, 1467 Current_Section): New public methods or methods modified to handle 1468 building command lines with sections. 1469 (Set_Command_Line): Take into account sections when analysing a switch 1470 string. 1471 (Start): Sort the switches by sections before iterating the command line 1472 elements. 1473 1474 * g-comlin.ads (Define_Section, Add_Switch, Remove_Switch, 1475 Is_New_Section, Current_Section): New methods or methods modified to 1476 handle building command lines with sections. 1477 14782008-08-05 Ed Schonberg <schonberg@adacore.com> 1479 1480 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For access 1481 discriminants, indicate that the corresponding object declaration has 1482 no initialization, to prevent spurious warnings when the access type is 1483 null-excluding. 1484 14852008-08-05 Ed Schonberg <schonberg@adacore.com> 1486 1487 * sem_res.adb (Resolve_Call): If this is a call to the predefined 1488 Abort_Task, warn if the call appears within a protected operation. 1489 14902008-08-04 Robert Dewar <dewar@adacore.com> 1491 1492 * exp_ch4.adb (Expand_N_In): Suppress range warnings in instances 1493 14942008-08-04 Ed Schonberg <schonberg@adacore.com> 1495 1496 * sem_ch3.adb: 1497 (Replace_Anonymous_Access_To_Protected_Subprogram): Handle properly an 1498 anonymous access to protected subprogram that is the return type of the 1499 specification of a subprogram body. 1500 1501 * sem_ch6.adb: 1502 (Analyze_Subprogram_Body): if the return type is an anonymous access to 1503 subprogram, freeze it now to prevent access anomalies in the back-end. 1504 1505 * exp_ch9.adb: Minor code cleanup. 1506 Make sure that new declarations are inserted into the tree before 1507 analysis (from code reading). 1508 15092008-08-04 Robert Dewar <dewar@adacore.com> 1510 1511 * exp_ch5.adb: 1512 (Expand_Simple_Function_Return): Check No_Secondary_Stack restriction 1513 at point of return. 1514 15152008-08-04 Thomas Quinot <quinot@adacore.com> 1516 1517 * sem_type.adb, sem_ch4.adb, sprint.adb, exp_ch3.adb: Minor reformatting 1518 15192008-08-04 Vasiliy Fofanov <fofanov@adacore.com> 1520 1521 * g-soccon-mingw.ads: Fix value for MSG_WAITALL 1522 15232008-08-04 Javier Miranda <miranda@adacore.com> 1524 1525 * sem_prag.adb (Process_Convention): Add missing support for 1526 N_Private_Extension_Declaration nodes. 1527 15282008-08-04 Robert Dewar <dewar@adacore.com> 1529 1530 * exp_ch4.adb: Minor reformatting 1531 15322008-08-04 Pascal Obry <obry@adacore.com> 1533 1534 * adaint.h: Add missing prototype. 1535 1536 * adaint.c: Refine support for Windows file attributes. 1537 15382008-08-04 Robert Dewar <dewar@adacore.com> 1539 1540 * sem_res.adb: 1541 (Valid_Conversion): Catch case of designated types having different 1542 sizes, even though they statically match. 1543 15442008-08-04 Javier Miranda <miranda@adacore.com> 1545 1546 * sem_eval.adb (Subtypes_Statically_Match): Remove superfluous patch 1547 added in previous patch to handle access to subprograms. 1548 15492008-08-04 Robert Dewar <dewar@adacore.com> 1550 1551 * freeze.adb: 1552 (Freeze_Entity): Only check No_Default_Initialization restriction for 1553 constructs that come from source 1554 15552008-08-04 Thomas Quinot <quinot@adacore.com> 1556 1557 * exp_ch6.adb: Minor comment fix. 1558 1559 * sem_ch4.adb: Minor reformatting. 1560 15612008-08-04 Robert Dewar <dewar@adacore.com> 1562 1563 * sem_res.adb: (Large_Storage_Type): Improve previous change. 1564 15652008-08-04 Pascal Obry <obry@adacore.com> 1566 1567 * adaint.c, s-os_lib.adb, s-os_lib.ads: Use Windows ACL to deal with 1568 file attributes. 1569 15702008-08-04 Javier Miranda <miranda@adacore.com> 1571 1572 * sem_ch3.adb (Access_Subprogram_Declaration): Adding missing support 1573 for N_Formal_Object_Declaration nodes. Adding kludge required by 1574 First_Formal to provide its functionality with access to functions. 1575 (Replace_Anonymous_Access_To_Protected_Subprogram): Add missing support 1576 for anonymous access types returned by functions. 1577 1578 * sem_ch5.adb (Analyze_Assignment): Code cleanup to avoid duplicate 1579 conversion of null-excluding access types (required only once to force 1580 the generation of the required runtime check). 1581 1582 * sem_type.adb (Covers): minor reformating 1583 1584 * checks.adb (Null_Exclusion_Static_Checks): Avoid reporting errors 1585 with internally generated nodes. Avoid generating the error inside init 1586 procs. 1587 1588 * sem_res.adb (Resolve_Membership_Test): Minor reformating. 1589 (Resolve_Null): Generate the null-excluding check in case of assignment 1590 to a null-excluding object. 1591 (Valid_Conversion): Add missing support for anonymous access to 1592 subprograms. 1593 1594 * sem_ch6.adb (Check_Return_Subtype_Indication): Add missing support for 1595 anonymous access types whose designated type is an itype. This case 1596 occurs with anonymous access to protected subprograms types. 1597 (Analyze_Return_Type): Add missing support for anonymous access to 1598 protected subprogram. 1599 1600 * sem_eval.adb (Subtypes_Statically_Match): In case of access to 1601 subprograms addition of missing check on matching convention. Required 1602 to properly handle access to protected subprogram types. 1603 1604 * exp_ch3 (Build_Assignment): Code cleanup removing duplicated check on 1605 null excluding access types. 1606 16072008-08-04 Ed Schonberg <schonberg@adacore.com> 1608 1609 * sem_ch12.adb: Add comments 1610 1611 * sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null 1612 access type and the allocator is not initialized, warn rather than 1613 reporting an error. 1614 16152008-08-04 Robert Dewar <dewar@adacore.com> 1616 1617 * exp_ch4.adb: Minor reformatting 1618 1619 * exp_dist.adb: Minor reformatting 1620 1621 * g-comlin.adb: Minor reformatting 1622 16232008-08-04 Gary Dismukes <dismukes@adacore.com> 1624 1625 * exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the 1626 target to the type of the aggregate in the case where the target object 1627 is class-wide. 1628 1629 * exp_ch5.adb (Expand_Simple_Function_Return): When the function's 1630 result type is class-wide and inherently limited, and the expression 1631 has a specific type, create a return object of the specific type, for 1632 more efficient handling of returns of build-in-place aggregates (avoids 1633 conversions of the class-wide return object to the specific type on 1634 component assignments). 1635 1636 * sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error 1637 about a type mismatch for a class-wide function with a return object 1638 having a specific type when the object declaration doesn't come from 1639 source. Such an object can result from the expansion of a simple return. 1640 16412008-08-04 Vasiliy Fofanov <fofanov@adacore.com> 1642 1643 * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files. 1644 1645 * gcc-interface/Makefile.in: Use 64bit-specific system files when 1646 compiling for 64bit windows. 1647 16482008-08-04 Jerome Lambourg <lambourg@adacore.com> 1649 1650 * g-comlin.adb (Group_Switches): Preserve the switch order when 1651 grouping and allow switch grouping of switches with more than one 1652 character extension (e.g. gnatw.x). 1653 (Args_From_Expanded): Remove this now obsolete method. 1654 16552008-08-04 Ed Schonberg <schonberg@adacore.com> 1656 1657 * exp_ch4.adb (Get_Allocator_Final_List): Freeze anonymous type for 1658 chain at once, to ensure that type is properly decorated for back-end, 1659 when allocator appears within a loop. 1660 16612008-08-04 Kevin Pouget <pouget@adacore.com> 1662 1663 * snames.h, snames.adb, snames.ads: 1664 Add Attr_To_Any, Attr_From_Any and Attr_TypeCode defines. 1665 1666 * exp_dist.ads, exp_dist.adb: Add Build_From_Any_Call, 1667 Build_To_Any_Call and Build_TypeCode_Call procedures. 1668 1669 * exp_attr.adb, sem_attr.adb: Add corresponding cases. 1670 1671 * rtsfind.ads: Add corresponding names. 1672 1673 * tbuild.adb: Update prefix restrictions to allow '_' character. 1674 16752008-08-04 Doug Rupp <rupp@adacore.com> 1676 1677 * gigi.h (fill_vms_descriptor): Add third parameter gnat_actual 1678 * trans.c (call_to_gnu): Call fill_vms_descriptor with new parameter. 1679 * utils2.c (fill_vms_descriptor): Add third parameter for error sloc and 1680 use it. Calculate pointer range overflow using 64bit types. 1681 16822008-08-04 Ed Schonberg <schonberg@adacore.com> 1683 1684 * sem_ch3.adb (Access_Definition): A formal object declaration is a 1685 legal context for an anonymous access to subprogram. 1686 1687 * sem_ch4.adb (Analyze_One_Call): If the call can be interpreted as an 1688 indirect call, report success to the caller to include possible 1689 interpretation. 1690 1691 * sem_ch6.adb (Check_Return_Type_Indication): Apply proper conformance 1692 check when the type 1693 of the extended return is an anonymous access_to_subprogram type. 1694 1695 * sem_res.adb: 1696 (Resolve_Call): Insert a dereference if the type of the subprogram is an 1697 access_to_subprogram and the context requires its return type, and a 1698 dereference has not been introduced previously. 1699 17002008-08-04 Arnaud Charlet <charlet@adacore.com> 1701 1702 * usage.adb (Usage): Minor rewording of -gnatwz switch, to improve 1703 gnatcheck support in GPS. 1704 17052008-08-04 Vincent Celier <celier@adacore.com> 1706 1707 * mlib.adb (Create_Sym_Links): Create relative symbolic links when 1708 requested 1709 17102008-08-04 Vincent Celier <celier@adacore.com> 1711 1712 * gprep.adb (Process_One_File): Call Prep.Preprocess with a Boolean 1713 variable, but don't check the resulting value as it has no impact on 1714 the processing. 1715 1716 * opt.ads: 1717 (Generate_Processed_File): New Boolean flag, set to True in the compiler 1718 when switch -gnateG is used. 1719 1720 * prep.adb: 1721 (Preprocess): new Boolean out parameter Source_Modified. Set it to True 1722 when the source is modified by the preprocessor and there is no 1723 preprocessing errors. 1724 1725 * prep.ads (Preprocess): new Boolean out parameter Source_Modified 1726 1727 * sinput-l.adb: 1728 (Load_File): Output the result of preprocessing if the source text was 1729 modified. 1730 1731 * switch-c.adb (Scan_Front_End_Switches): Recognize switch -gnateG 1732 1733 * switch-m.adb (Normalize_Compiler_Switches): Normalize switch -gnateG 1734 1735 * ug_words: Add VMS equivalent for -gnateG 1736 1737 * vms_data.ads: 1738 Add VMS option /GENERATE_PROCESSED_SOURCE, equivalent to switch -gnateG 1739 17402008-08-04 Doug Rupp <rupp@adacore.com> 1741 1742 * gcc-interface/utils2.c: 1743 (fill_vms_descriptor): Raise CE if attempt made to pass 64bit pointer 1744 in 32bit descriptor. 1745 17462008-08-04 Robert Dewar <dewar@adacore.com> 1747 1748 * par-ch10.adb: Minor reformatting 1749 1750 * i-cobol.adb: Minor reformatting. 1751 17522008-08-04 Ed Schonberg <schonberg@adacore.com> 1753 1754 * sem_ch3.adb (Access_Definition): Create an itype reference for an 1755 anonymous access return type of a regular function that is not a 1756 compilation unit. 1757 17582008-08-04 Vincent Celier <celier@adacore.com> 1759 1760 * prj-attr.adb: New Builder attribute Global_Compilation_Switches 1761 1762 * snames.adb: New standard name Global_Compilation_Switches 1763 1764 * snames.ads: New standard name Global_Compilation_Switches 1765 1766 * make.adb: Correct spelling error in comment 1767 17682008-08-04 Arnaud Charlet <charlet@adacore.com> 1769 1770 * sem_prag.adb (Check_Form_Of_Interface_Name): Fix handling for CLI 1771 target. 1772 17732008-08-04 Thomas Quinot <quinot@adacore.com> 1774 1775 * sem_ch10.adb: Minor comment fix. 1776 17772008-08-04 Robert Dewar <dewar@adacore.com> 1778 1779 * restrict.adb: Improved messages for restriction warnings 1780 1781 * restrict.ads: Improved messages for restriction messages 1782 1783 * s-rident.ads (Profile_Name): Add No_Profile 1784 17852008-08-04 Robert Dewar <dewar@adacore.com> 1786 1787 * system-darwin-x86.ads: Correct bad definition of Max_Nonbinary_Modulus 1788 17892008-08-04 Robert Dewar <dewar@adacore.com> 1790 1791 * freeze.adb (Freeze_Entity): Check for size clause for boolean warning 1792 17932008-08-04 Vincent Celier <celier@adacore.com> 1794 1795 * prj-proc.adb: 1796 (Copy_Package_Declarations): When inheriting package Naming from a 1797 project being extended, do not inherit source exception names. 1798 17992008-08-04 Ed Schonberg <schonberg@adacore.com> 1800 1801 * sem_prag.adb (Check_Precondition_Postcondition): When scanning the 1802 list of declaration to find previous subprogram, do not go to the 1803 original node of a generic unit. 1804 18052008-08-02 Eric Botcazou <ebotcazou@adacore.com> 1806 1807 * gcc-interface/utils2.c (build_binary_op) <PLUS_EXPR, MINUS_EXPR>: 1808 New case. Convert BOOLEAN_TYPE operation to the default integer type. 1809 18102008-08-01 Eric Botcazou <ebotcazou@adacore.com> 1811 1812 * gcc-interface/ada-tree.h (DECL_PARM_ALT): Now DECL_PARM_ALT_TYPE. 1813 * gcc-interface/decl.c (gnat_to_gnu_param): Fix formatting, simplify 1814 and adjust for above renaming. 1815 * gcc-interface/utils.c (convert_vms_descriptor): Likewise. Add new 1816 gnu_expr_alt_type parameter. Convert the expression to it instead 1817 of changing its type in place. 1818 (build_function_stub): Adjust call to above function. 1819 18202008-08-01 Eric Botcazou <ebotcazou@adacore.com> 1821 1822 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Remove dead 1823 code. Do not get full definition of deferred constants with address 1824 clause for a use. Do not ignore deferred constant definitions with 1825 address clause. Ignore constant definitions already marked with the 1826 error node. 1827 <object>: Remove obsolete comment. For a deferred constant with 1828 address clause, get the initializer from the full view. 1829 * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Definition_Clause>: 1830 Rework and remove obsolete comment. 1831 <N_Object_Declaration>: For a deferred constant with address clause, 1832 mark the full view with the error node. 1833 * gcc-interface/utils.c (convert_to_fat_pointer): Rework and fix 1834 formatting nits. 1835 18362008-08-01 Hristian Kirtchev <kirtchev@adacore.com> 1837 1838 * rtsfind.ads: Add block IO versions of stream routines for Strings. 1839 1840 * bindgen.adb, gnat_rm.texi, gnat_ugn.texi, opt.ads, 1841 sem_prag.adb, snames.adb, snames.ads, snames.h, 1842 par-prag.adb: Undo previous stream related changes. 1843 1844 * s-rident.ads: Add new restriction No_Stream_Optimizations. 1845 1846 * s-ststop.ads, s-ststop.adb: Comment reformatting. 1847 Define enumeration type to designate different IO mechanisms. 1848 Enchance generic package Stream_Ops_Internal to include an 1849 implementation of Input and Output. 1850 1851 * exp_attr.adb (Find_Stream_Subprogram): If restriction 1852 No_Stream_Optimization is active, choose the default byte IO 1853 implementations of stream attributes for Strings. 1854 Otherwise use the corresponding block IO version. 1855 18562008-08-01 Olivier Hainque <hainque@adacore.com> 1857 1858 * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Function>: Do not 1859 turn Ada Pure into GCC const, now implicitely implying nothrow as well. 1860 18612008-08-01 Robert Dewar <dewar@adacore.com> 1862 1863 * par-ch3.adb (P_Defining_Identifier): Avoid repeated attempt to 1864 convert plain identifier into defining identifier. 1865 18662008-08-01 Robert Dewar <dewar@adacore.com> 1867 1868 * sem_prag.adb (Check_Form_Of_Interface_Name): Refine and improve 1869 warnings 1870 1871 * lib-xref.adb: Add error defense. 1872 18732008-08-01 Bob Duff <duff@adacore.com> 1874 1875 * ioexcept.ads, sequenio.ads, directio.ads: Correct comment. 1876 18772008-08-01 Gary Dismukes <dismukes@adacore.com> 1878 1879 * exp_ch6.adb (Expand_Call): Adjustment to previous fix for passing 1880 correct accessibility levels. In the "when others" case, retrieve the 1881 access level of the Etype of Prev rather than Prev_Orig, because the 1882 original exression has not always been analyzed. 1883 18842008-08-01 Robert Dewar <dewar@adacore.com> 1885 1886 * prj-nmsc.adb: Minor reformatting 1887 1888 * sem_ch4.adb: Minor reformatting 1889 Minor code reorganization 1890 1891 * prj.ads: Minor reformatting 1892 1893 * s-os_lib.adb: Minor reformatting 1894 1895 * par-prag.adb (Prag, case Wide_Character_Encoding): Deal with upper 1896 half encodings 1897 1898 * scans.ads: Minor reformatting. 1899 1900 * sem_prag.adb (Analyze_Pragma): Put entries in alpha order 1901 (Analyze_Pragma): Make sure all GNAT pragmas call GNAT_Pragma 1902 1903 * sem_res.adb: 1904 (Resolve_Call): Check violation of No_Specific_Termination_Handlers 1905 1906 * sem_ch12.adb: Minor comment reformatting 1907 1908 * par-ch3.adb (P_Type_Declaration): Properly handle missing type 1909 keyword 1910 19112008-08-01 Robert Dewar <dewar@adacore.com> 1912 1913 * sem_ch6.adb (Process_PPCs): Don't copy spec PPC to body if not 1914 generating code 1915 19162008-08-01 Ed Schonberg <schonberg@adacore.com> 1917 1918 * checks.adb (Apply_Float_Conversion_Check): If the expression to be 1919 converted is a real literal and the target type has static bounds, 1920 perform the conversion exactly to prevent floating-point anomalies on 1921 some targets. 1922 19232008-08-01 Vincent Celier <celier@adacore.com> 1924 1925 * prj-attr.adb: New attribute Compiler'Name_Syntax (<lang>) 1926 1927 * prj-nmsc.adb (Process_Compiler): Recognize attribute Name_Syntax 1928 1929 * prj.adb (Object_Exist_For): Use Object_Generated, not 1930 Objects_Generated that is removed and was never modified anyway. 1931 1932 * prj.ads: 1933 (Path_Syntax_Kind): New enumeration type 1934 (Language_Config): New component Path_Syntax, defaulted to Host. 1935 Components PIC_Option and Objects_Generated removed, as they are not 1936 used. 1937 1938 * snames.adb: New standard name Path_Syntax 1939 1940 * snames.ads: New standard name Path_Syntax 1941 19422008-08-01 Vincent Celier <celier@adacore.com> 1943 1944 * mlib-utl.adb: 1945 (Adalib_Path): New variable to store the path of the adalib directory 1946 when procedure Specify_Adalib_Dir is called. 1947 (Lib_Directory): If Adalib_Path is not null, return its value 1948 (Specify_Adalib_Dir): New procedure 1949 1950 * mlib-utl.ads (Specify_Adalib_Dir): New procedure 1951 19522008-08-01 Ed Schonberg <schonberg@adacore.com> 1953 1954 * sem_prag.adb: 1955 (Check_Precondition_Postcondition): If not generating code, analyze the 1956 expression in a postcondition that appears in a subprogram body, so that 1957 it is properly decorated for ASIS use. 1958 19592008-08-01 Gary Dismukes <dismukes@adacore.com> 1960 1961 * exp_ch6.adb (Expand_Call): Remove ugly special-case code that resets 1962 Orig_Prev to Prev in the case where the actual is N_Function_Call or 1963 N_Identifier. This was interfering with other cases that are rewritten 1964 as N_Identifier, such as allocators, resulting in passing of the wrong 1965 accessibility level, and based on testing this code is apparently no 1966 longer needed at all. 1967 19682008-08-01 Ed Schonberg <schonberg@adacore.com> 1969 1970 * sem_ch4.adb (Analyze_One_Call): Handle complex overloading of a 1971 procedure call whose prefix 1972 is a parameterless function call that returns an access_to_procedure. 1973 19742008-08-01 Jose Ruiz <ruiz@adacore.com> 1975 1976 * adaint.c (__gnat_tmp_name): Refine the generation of temporary names 1977 for RTX. Adding a suffix that is incremented at each iteration. 1978 19792008-08-01 Robert Dewar <dewar@adacore.com> 1980 1981 * sem_ch6.adb (Analyze_Subprogram_Body): Remove special casing of 1982 Raise_Exception 1983 19842008-08-01 Jerome Lambourg <lambourg@adacore.com> 1985 1986 * s-os_lib.adb (Normalize_Pathname): Take care of double-quotes in 1987 paths, which are authorized by Windows but can lead to errors when used 1988 elsewhere. 1989 19902008-08-01 Ed Schonberg <schonberg@adacore.com> 1991 1992 * sem_ch12.ads (Need_Subprogram_Instance_Body): new function, to create 1993 a pending instantiation for the body of a subprogram that is to be 1994 inlined. 1995 1996 * sem_ch12.adb: 1997 (Analyze_Subprogram_Instantiation): use Need_Subprogram_Instance_Body. 1998 1999 * sem_prag.adb (Make_Inline): If the pragma applies to an instance, 2000 create a pending instance for its body, so that calls to the subprogram 2001 can be inlined by the back-end. 2002 20032008-08-01 Jose Ruiz <ruiz@adacore.com> 2004 2005 * gnat_ugn.texi: Document the RTX run times (rts-rtx-rtss and 2006 rts-rtx-w32). 2007 20082008-08-01 Robert Dewar <dewar@adacore.com> 2009 2010 * scng.adb (Error_Illegal_Wide_Character): Bump scan pointer 2011 20122008-08-01 Doug Rupp <rupp@adacore.com> 2013 2014 * gnat_rm.texi: Document new mechanism Short_Descriptor. 2015 2016 * types.ads (Mechanism_Type): Modify range for new Short_Descriptor 2017 mechanism values. 2018 2019 * sem_prag.adb (Set_Mechanism_Value): Enhance for Short_Descriptor 2020 mechanism and Short_Descriptor mechanism values. 2021 2022 * snames.adb (preset_names): Add short_descriptor entry. 2023 2024 * snames.ads: Add Name_Short_Descriptor. 2025 2026 * types.h: Add new By_Short_Descriptor mechanism values. 2027 2028 * sem_mech.adb (Set_Mechanism_Value): Enhance for Short_Descriptor 2029 mechanism and Short_Descriptor mechanism values. 2030 2031 * sem_mech.ads (Mechanism_Type): Add new By_Short_Descriptor mechanism 2032 values. 2033 (Descriptor_Codes): Modify range for new mechanism values. 2034 2035 * treepr.adb (Print_Entity_Enfo): Handle new By_Short_Descriptor 2036 mechanism values. 2037 2038 * gcc-interface/decl.c (gnat_to_gnu_entity): Handle By_Short_Descriptor. 2039 (gnat_to_gnu_param): Handle By_Short_Descriptor. 2040 2041 * gcc-interface/gigi.h (build_vms_descriptor64): Remove prototype. 2042 (build_vms_descriptor32): New prototype. 2043 (fill_vms_descriptor): Remove unneeded gnat_actual parameter. 2044 2045 * gcc-interface/trans.c (call_to_gnu): Removed unneeded gnat_actual 2046 argument in call fill_vms_descriptor. 2047 2048 * gcc-interface/utils.c (build_vms_descriptor32): Renamed from 2049 build_vms_descriptor and enhanced to hande Short_Descriptor mechanism. 2050 (build_vms_descriptor): Renamed from build_vms_descriptor64. 2051 (convert_vms_descriptor32): New function. 2052 (convert_vms_descriptor64): New function. 2053 (convert_vms_descriptor): Rewrite to handle both 32bit and 64bit 2054 descriptors. 2055 2056 * gcc-interface/utils2.c (fill_vms_descriptor): Revert previous changes, 2057 no longer needed. 2058 20592008-08-01 Jose Ruiz <ruiz@adacore.com> 2060 2061 * adaint.c (__gnat_tmp_name): RTSS applications do not support tempnam 2062 nor tmpnam, so we always use c:\WINDOWS\Temp\gnat-XXXXXX as temporary 2063 name. 2064 20652008-08-01 Jose Ruiz <ruiz@adacore.com> 2066 2067 * cstreams.c (__gnat_full_name): RTSS applications cannot ask for the 2068 current directory so only fully qualified names are allowed. 2069 20702008-08-01 Robert Dewar <dewar@adacore.com> 2071 2072 * gnat_ugn.texi: 2073 Minor editing, remove uncomfortable use of semicolon 2074 2075 * s-ststop.adb: Add some ??? comments 2076 2077 * sem_ch10.adb: Minor reformatting 2078 2079 * snames.ads: 2080 Minor comment fixes, some pragmas were not properly 2081 categorized in the comments, documentation change only 2082 2083 * xref_lib.adb: Minor reformatting 2084 2085 * sinput.adb: Minor reformatting 2086 2087 * gnatchop.adb: Minor reformatting 2088 2089 * sem_util.ads: Minor reformatting. 2090 2091 * opt.ads: Minor documentation fix 2092 2093 * scng.adb: Minor reformatting 2094 2095 * prj-part.adb: Update comments 2096 20972008-08-01 Ed Schonberg <schonberg@adacore.com> 2098 2099 * exp_disp.adb (Expand_Interface_Conversion): If the target type is a 2100 tagged synchronized type, use corresponding record type. 2101 21022008-08-01 Doug Rupp <rupp@adacore.com> 2103 2104 * mlib-tgt-specific-vms-alpha.adb (Build_Dynamic_Library): Output a 2105 dummy transfer address for debugging. 2106 2107 * mlib-tgt-specific-vms-ia64.adb (Build_Dynamic_Library): Likewise. 2108 2109 * vms_data.ads: vms_data.ads: New qualfier /MACHINE_CODE_LISTING 2110 21112008-07-31 Eric Botcazou <ebotcazou@adacore.com> 2112 2113 * gcc-interface/decl.c (gnat_to_gnu_entity): Fix formatting. 2114 * gcc-interface/utils.c (create_field_decl): Avoid superfluous work. 2115 21162008-07-31 Pascal Obry <obry@adacore.com> 2117 2118 * prj-nmsc.adb: Keep Object and Exec directory casing. 2119 21202008-07-31 Jose Ruiz <ruiz@adacore.com> 2121 2122 * system-rtx-rtss.ads 2123 Change the default stack size. It is important to set the commit part. 2124 2125 * s-taprop-rtx.adb 2126 (Initialize): Get the clock resolution. 2127 (RT_Resolution): Return the clock resolution that is indicated by the 2128 system. 2129 2130 * s-parame-vxworks.adb 2131 Document that this body is used for RTX in RTSS (kernel) mode. 2132 2133 * gcc-interface/Makefile.in 2134 (LIBGNAT_TARGET_PAIRS for the rtx_rtss run time): Use the 2135 s-parame-vxworks.adb body in order to have reasonable stack sizes in 2136 RTX RTSS kernel mode. Virtual memory is not used in that case, so we 2137 cannot ask for too big values. 2138 21392008-07-31 Robert Dewar <dewar@adacore.com> 2140 2141 * exp_aggr.adb: Minor reformatting 2142 2143 * makeutl.adb: Minor reformatting 2144 2145 * prj-env.adb: Minor reformatting 2146 21472008-07-31 Hristian Kirtchev <kirtchev@adacore.com> 2148 2149 * exp_disp.adb (Prim_Op_Kind): Retrieve the full view when a private 2150 tagged type is completed by a concurrent type. 2151 21522008-07-31 Gary Dismukes <dismukes@adacore.com> 2153 2154 * sem_aggr.adb: 2155 (Resolve_Record_Aggregate): Bypass error that a type without 2156 components must have a "null record" aggregate when compiling for Ada 2157 2005, since it's legal to give an aggregate of form (others => <>) 2158 for such a type. 2159 21602008-07-31 Javier Miranda <miranda@adacore.com> 2161 2162 * sem_ch4.adb (Valid_First_Argument_Of): Complete its functionality to 2163 handle synchronized types. Required to handle well the object.operation 2164 notation applied to synchronized types. 2165 21662008-07-31 Quentin Ochem <ochem@adacore.com> 2167 2168 * s-stausa.adb (Fill_Stack): Stack_Used_When_Filling is now stored 2169 anymore - just used internally. 2170 Added handling of very small tasks - when the theoretical size is 2171 already full at the point of the call. 2172 (Report_Result): Fixed result computation, Stack_Used_When_Filling does 2173 not need to be added to the result. 2174 21752008-07-31 Hristian Kirtchev <kirtchev@adacore.com> 2176 2177 * sem_ch6.adb (Disambiguate_Spec): Continue the disambiguation if the 2178 corresponding spec is a primitive wrapper. Update comment. 2179 21802008-07-31 Hristian Kirtchev <kirtchev@adacore.com> 2181 2182 * bindgen.adb Comment reformatting. Update the list of run-time globals. 2183 (Gen_Adainit_Ada): Add the declaration, import and value set for 2184 configuration flag Canonical_Streams. 2185 (Gen_Adainit_C): Add the declaration and initial value of external 2186 symbol __gl_canonical_streams. 2187 2188 * init.c: Update the list of global values computed by the binder. 2189 2190 * opt.ads: Add flag Canonical_Streams. 2191 2192 * par-prag.adb (Prag): Include Pragma_Canonical_Streams to the list of 2193 semantically handled pragmas. 2194 2195 * sem_prag.adb: Add an entry into enumeration type Sig_Flags. 2196 (Analyze_Pragma): Add case for pragma Canonical_Streams. 2197 2198 * snames.adb: Add character value for name Canonical_Streams. 2199 2200 * snames.ads: 2201 Add Name_Canonical_Streams to the list of configuration pragmas. 2202 Add Pragma_Canonical_Streams to enumeration type Pragma_Id. 2203 2204 * snames.h: Add a definition for Pragma_Canonical_Streams. 2205 2206 * s-ststop.adb: 2207 Add a flag and import to seize the value of external symbol 2208 __gl_canonical_streams. Update comment and initial value of constant 2209 Use_Block_IO. 2210 2211 * gnat_rm.texi: Add section of pragma Canonical_Streams. 2212 2213 * gnat_ugn.texi: 2214 Add pragma Canonical_Streams to the list of configuration pragmas. 2215 22162008-07-31 Ed Schonberg <schonberg@adacore.com> 2217 2218 * sem_ch10.adb (Build_Unit_Name): If the unit name in a with_clause 2219 has the form A.B.C and B is a unit renaming, analyze its compilation 2220 unit and add a with_clause on A.b to the context. 2221 22222008-07-31 Vincent Celier <celier@adacore.com> 2223 2224 * makeutl.adb (Executable_Prefix_Path): If Locate_Exec_On_Path fails, 2225 return the empty string, instead of raising Constraint_Error. 2226 22272008-07-31 Gary Dismukes <dismukes@adacore.com> 2228 2229 * checks.ads (Apply_Accessibility_Check): Add parameter Insert_Node. 2230 2231 * checks.adb (Apply_Accessibility_Check): Insert the check on 2232 Insert_Node. 2233 2234 * exp_attr.adb: 2235 (Expand_N_Attribute_Refernce, Attribute_Access): Pass attribute node 2236 to new parameter Insert_Node on call to Apply_Accessibility_Check. 2237 Necessary to distinguish the insertion node because the dereferenced 2238 formal may come from a rename, but the check must be inserted in 2239 front of the attribute. 2240 2241 * exp_ch4.adb: 2242 (Expand_N_Allocator): Pass actual for new Insert_Node parameter on 2243 call to Apply_Accessibility_Check. 2244 (Expand_N_Type_Conversion): Pass actual for new Insert_Node parameter 2245 on call to Apply_Accessibility_Check. 2246 Minor reformatting 2247 22482008-07-31 Javier Miranda <miranda@adacore.com> 2249 2250 * sem_type.adb (Has_Compatible_Type): Complete support for synchronized 2251 types when the candidate type is a synchronized type. 2252 2253 * sem_res.adb (Resolve_Actuals): Reorganize code handling synchronized 2254 types, and complete management of synchronized types adding missing 2255 code to handle formal that is a synchronized type. 2256 2257 * sem_ch4.adb (Try_Primitive_Operation): Avoid testing attributes that 2258 are not available and cause the compiler to blowup. Found compiling 2259 test with switch -gnatc 2260 2261 * sem_ch6.adb (Check_Synchronized_Overriding): Remove local subprogram 2262 Has_Correct_Formal_Mode plus code cleanup. 2263 22642008-07-31 Bob Duff <duff@adacore.com> 2265 2266 * sinput.adb (Skip_Line_Terminators): Fix handling of LF/CR -- it was 2267 recognized as two end-of-lines, but it should be just one. 2268 22692008-07-31 Thomas Quinot <quinot@adacore.com> 2270 2271 * exp_ch9.adb: Minor reformatting 2272 2273 * tbuild.ads: Fix several occurrences of incorrectly referring to 2274 Name_Find as Find_Name. 2275 22762008-07-31 Ed Schonberg <schonberg@adacore.com> 2277 2278 * exp_aggr.adb (Aggr_Size_OK): If the aggregate has a single component 2279 and the context is an object declaration with non-static bounds, treat 2280 the aggregate as non-static. 2281 22822008-07-31 Vincent Celier <celier@adacore.com> 2283 2284 * prj-part.adb, prj-part.ads, prj.adb, prj.ads, prj-env.adb: 2285 Move back spec of Parse_Single_Project to body, as it is not called 2286 outside of package Prj.Part. 2287 (Project_Data): Remove components Linker_Name, Linker_Path and 2288 Minimum_Linker_Options as they are no longer set. 2289 Remove function There_Are_Ada_Sources from package Prj and move code 2290 in the only place it was used, in Prj.Env.Set_Ada_Paths. 2291 22922008-07-31 Arnaud Charlet <charlet@adacore.com> 2293 2294 * mlib-utl.ads: Fix typo. 2295 22962008-07-31 Robert Dewar <dewar@adacore.com> 2297 2298 * sem_ch12.adb: Minor reformatting 2299 23002008-07-31 Sergey Rybin <rybin@adacore.com> 2301 2302 * gnat_ugn.texi: Change the description of the 2303 Overly_Nested_Control_Structures: now the rule always requires a 2304 positive parameter for '+R' option 2305 23062008-07-31 Thomas Quinot <quinot@adacore.com> 2307 2308 * g-pehage.adb: Minor reformatting 2309 23102008-07-31 Pascal Obry <obry@adacore.com> 2311 2312 * s-finimp.ads: Minor reformatting. 2313 23142008-07-31 Vincent Celier <celier@adacore.com> 2315 2316 * s-regexp.ads: Minor comment fix 2317 23182008-07-31 Arnaud Charlet <charlet@adacore.com> 2319 2320 * s-direio.adb (Reset): Replace pragma Unmodified by Warnings (Off), 2321 so that we can compile this file successfully with -gnatc. 2322 23232008-07-31 Hristian Kirtchev <kirtchev@adacore.com> 2324 2325 * exp_attr.adb (Find_Stream_Subprogram): Check the base type instead 2326 of the type when looking for stream subprograms for type String, 2327 Wide_String and Wide_Wide_String. 2328 2329 * s-ststop.adb: Change the initialization expression of constant 2330 Use_Block_IO. 2331 23322008-07-31 Geert Bosch <bosch@adacore.com> 2333 2334 * arit64.c: 2335 New file implementing __gnat_mulv64 signed integer multiplication with 2336 overflow checking 2337 2338 * fe.h (Backend_Overflow_Checks_On_Target): Define for use by Gigi 2339 2340 * gcc-interface/gigi.h: 2341 (standard_types): Add ADT_mulv64_decl 2342 (mulv64_decl): Define subprogram declaration for __gnat_mulv64 2343 2344 * gcc-interface/utils.c: 2345 (init_gigi_decls): Add initialization of mulv64_decl 2346 2347 * gcc-interface/trans.c: 2348 (build_unary_op_trapv): New function 2349 (build_binary_op_trapv): New function 2350 (gnat_to_gnu): Use the above functions instead of 2351 build_{unary,binary}_op 2352 2353 * gcc-interface/Makefile.in 2354 (LIBGNAT_SRCS): Add arit64.c 2355 (LIBGNAT_OBJS): Add arit64.o 2356 23572008-07-31 Vincent Celier <celier@adacore.com> 2358 2359 * prj-nmsc.adb (Check_Library_Attributes): Check if Linker'Switches or 2360 Linker'Default_Switches are declared. Warn if they are declared. 2361 23622008-07-31 Ed Schonberg <schonberg@adacore.com> 2363 2364 * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use 2365 Insert_Actions to place the pointer declaration in the code, rather 2366 than Insert_Before_And_Analyze, so that insertions of temporaries are 2367 kept in the proper order when transient scopes are present. 2368 2369 23702008-07-31 Robert Dewar <dewar@adacore.com> 2371 2372 * einfo.adb (Spec_PPC): Now defined for generic subprograms 2373 2374 * einfo.ads (Spec_PPC): Now defined for generic subprograms 2375 2376 * sem_prag.adb (Check_Precondition_Postcondition): Handle generic 2377 subprogram case 2378 23792008-07-31 Vincent Celier <celier@adacore.com> 2380 2381 * s-os_lib.adb: Minor comment fix 2382 23832008-07-31 Ed Schonberg <schonberg@adacore.com> 2384 2385 * sem_ch6.adb (Analyze_Generic_Subprogram_Body): After analysis, 2386 transfer pre/postconditions from generic copy to original tree, so that 2387 they will appear in each instance. 2388 (Process_PPCs): Do not transform postconditions into a procedure in a 2389 generic context, to prevent double expansion of check pragmas. 2390 2391 * sem_attr.adb: In an instance, the prefix of the 'result attribute 2392 can be the renaming of the 2393 current instance, so check validity of the name accordingly. 2394 23952008-07-31 Robert Dewar <dewar@adacore.com> 2396 2397 * mlib-utl.ads: Minor reformatting 2398 23992008-07-31 Ed Schonberg <schonberg@adacore.com> 2400 2401 sem_attr.adb: 'Result can have an ambiguous prefix, and is resolved 2402 from context. This attribute must be usable in Ada95 mode. 2403 The attribute can appear in the body of a function marked 2404 Inline_Always, but in this case the postocondition is not enforced. 2405 2406 sem_prag.adb (Check_Precondition_Postcondition): within the expansion 2407 of an inlined call pre- and postconditions are legal 2408 24092008-07-31 Vincent Celier <celier@adacore.com> 2410 2411 * prj.adb, prj.ads, clean.adb, prj-nmsc.adb: Remove declarations that 2412 were for gprmake only 2413 24142008-07-31 Robert Dewar <dewar@adacore.com> 2415 2416 * gnat_ugn.texi: Update -gnatN documentation. 2417 2418 * gnat_rm.texi: Add note about pre/postcondition 2419 pragmas not checked in conjunction with front-end inlining. 2420 24212008-07-31 Robert Dewar <dewar@adacore.com> 2422 2423 * g-pehage.adb, g-pehage.ads: Minor reformatting 2424 24252008-07-31 Arnaud Charlet <charlet@adacore.com> 2426 2427 * mlib-utl.ads, prj-makr.ads: Add comments. 2428 24292008-07-30 Aaron W. LaFramboise <aaronavay62@aaronwl.com> 2430 2431 * gcc-interface/Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS) 2432 [WINDOWS]: Add s-winext.o. 2433 24342008-07-30 Eric Botcazou <ebotcazou@adacore.com> 2435 2436 PR ada/36554 2437 * back_end.adb (Call_Back_End): Pass Standard_Boolean to gigi. 2438 * gcc-interface/gigi.h (gigi): Take new standard_boolean parameter. 2439 * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Subtype>: 2440 Set precision to 1 for subtype of BOOLEAN_TYPE. 2441 (set_rm_size): Set TYPE_RM_SIZE_NUM for BOOLEAN_TYPE. 2442 (make_type_from_size): Deal with BOOLEAN_TYPE. 2443 * gcc-interface/misc.c (gnat_print_type): Likewise. 2444 * gcc-interface/trans.c (gigi): Take new standard_boolean parameter. 2445 Set boolean_type_node as its translation in the table, as well 2446 as boolean_false_node for False and boolean_true_node for True. 2447 * gcc-interface/utils.c (gnat_init_decl_processing): Create custom 2448 8-bit boolean_type_node and set its TYPE_RM_SIZE_NUM. 2449 (create_param_decl): Deal with BOOLEAN_TYPE. 2450 (build_vms_descriptor): Likewise. 2451 (build_vms_descriptor64): Likewise. 2452 (convert): Deal with BOOLEAN_TYPE like with ENUMERAL_TYPE. 2453 24542008-07-30 Robert Dewar <dewar@adacore.com> 2455 2456 * exp_ch9.adb: Minor reformatting 2457 2458 * exp_util.ads (Find_Prim_Op): Document that Program_Error is raised 2459 if no primitive operation is found. 2460 2461 * exp_util.adb: (Find_Prim_Op): Add comments for previous change 2462 2463 * sem_ch8.adb: Minor reformatting 2464 24652008-07-30 Laurent Pautet <pautet@adacore.com> 2466 2467 * g-pehage.adb: 2468 Remove a limitation on the length of the words handled by the minimal 2469 perfect hash function generator. 2470 2471 * g-pehage.ads: 2472 Detail the use of subprograms Insert, Initialize, Compute and Finalize. 2473 Fix some typos. 2474 24752008-07-30 Robert Dewar <dewar@adacore.com> 2476 2477 * gnatlink.adb: Minor reformatting 2478 24792008-07-30 Thomas Quinot <quinot@adacore.com> 2480 2481 * rtsfind.adb (Check_RPC): Check version consistency even when not 2482 generating RCI stubs. Provide more detailed error message in case of 2483 mismatch. 2484 24852008-07-30 Ed Schonberg <schonberg@adacore.com> 2486 2487 * sem_ch8.adb (Analyze_Subprogram_Renaming): When renaming an attribute 2488 as a actual in an instance, check for a missing attribute to prevent 2489 program_error on an illegal program. 2490 2491 * exp_util.adb (Find_Prim_Op): Rather than Assert (False), raise program 2492 error if primitive is not found, so that exception can be handled 2493 elsewhere on illegal programs. 2494 24952008-07-30 Robert Dewar <dewar@adacore.com> 2496 2497 * uintp.adb (UI_GCD): Fix potential overflow 2498 24992008-07-30 Hristian Kirtchev <kirtchev@adacore.com> 2500 2501 * einfo.adb: Flag245 is now used. 2502 (Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Relax the assertion 2503 check to include functions. 2504 (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms. 2505 (Wrapped_Entity, Set_Wrapped_Entity): Relax the assertion check to 2506 include functions. 2507 (Write_Entity_Flags): Move flag Is_Primitive, add Is_Private_Primitive 2508 to the list of displayed flags. 2509 2510 * einfo.ads: Update comment on the usage of Is_Primitive_Wrapper and 2511 Wrapped_Entity. These two flags are now present in functions. 2512 New flag Is_Private_Primitive. 2513 (Is_Private_Primitive, Set_Is_Private_Primitive): New subprograms. 2514 2515 * exp_ch9.adb: 2516 (Build_Wrapper_Bodies): New subprogram. 2517 (Build_Wrapper_Body): The spec and body have been moved to in 2518 Build_Wrapper_ Bodies. Code cleanup. 2519 (Build_Wrapper_Spec): Moved to the spec of Exp_Ch9. Code cleanup. 2520 Wrappers are now generated for primitives declared between the private 2521 and full view of a concurrent type that implements an interface. 2522 (Build_Wrapper_Specs): New subprogram. 2523 (Expand_N_Protected_Body): Code reformatting. Replace the wrapper body 2524 creation mechanism with a call to Build_Wrapper_Bodies. 2525 (Expand_N_Protected_Type_Declaration): Code reformatting. Replace the 2526 wrapper spec creation mechanism with a call to Build_Wrapper_Specs. 2527 (Expand_N_Task_Body): Replace the wrapper body creation 2528 mechanism with a call to Build_Wrapper_Bodies. 2529 (Expand_N_Task_Type_Declaration): Replace the wrapper spec 2530 creation mechanism with a call to Build_Wrapper_Specs. 2531 (Is_Private_Primitive_Subprogram): New subprogram. 2532 (Overriding_Possible): Code cleanup. 2533 (Replicate_Entry_Formals): Renamed to Replicate_Formals, code cleanup. 2534 2535 * exp_ch9.ads (Build_Wrapper_Spec): Moved from the body of Exp_Ch9. 2536 2537 * sem_ch3.adb: Add with and use clause for Exp_Ch9. 2538 (Process_Full_View): Build wrapper specs for all primitives 2539 that belong to a private view completed by a concurrent type 2540 implementing an interface. 2541 2542 * sem_ch6.adb (Analyze_Subprogram_Body): When the current subprogram 2543 is a primitive of a 2544 concurrent type with a private view that implements an interface, try to 2545 find the proper spec. 2546 (Analyze_Subprogram_Declaration): Mark a subprogram as a private 2547 primitive if the type of its first parameter is a non-generic tagged 2548 private type. 2549 (Analyze_Subprogram_Specification): Code reformatting. 2550 (Disambiguate_Spec): New routine. 2551 (Find_Corresponding_Spec): Add a flag to controll the output of errors. 2552 (Is_Private_Concurrent_Primitive): New routine. 2553 2554 * sem_ch6.ads: 2555 (Find_Corresponding_Spec): Add a formal to control the output of errors. 2556 25572008-07-30 Doug Rupp <rupp@adacore.com> 2558 2559 * gigi.h (build_vms_descriptor64): New function prototype. 2560 (fill_vms_descriptor): Modified function prototype. 2561 2562 * utils.c (build_vms_descriptor64): New function. 2563 2564 * utils2.c (fill_vms_descriptor): Fix handling on 32bit systems. 2565 2566 * trans.c (call_to_gnu): Call fill_vms_descriptor with new third 2567 argument. 2568 2569 * decl.c (gnat_to_gnu_tree): For By_Descriptor mech, build both a 2570 64bit and 32bit descriptor and save the 64bit version as an alternate 2571 TREE_TYPE in the parameter. 2572 (make_type_from_size) <RECORD_TYPE>: Use the appropriate mode for the 2573 thin pointer. 2574 2575 * ada-tree.h (DECL_PARM_ALT, SET_DECL_PARM_ALT): New macros. 2576 25772008-07-30 Robert Dewar <dewar@adacore.com> 2578 2579 * make.adb: Minor reformatting 2580 2581 * mlib-utl.adb: Minor reformatting 2582 2583 * osint.ads: Minor reformatting 2584 25852008-07-30 Jose Ruiz <ruiz@adacore.com> 2586 2587 * adaint.c 2588 (__gnat_file_exists): Do not use __gnat_stat for RTX. 2589 (__main for RTX in RTSS mode): Create this dummy procedure symbol to 2590 avoid the use of this symbol from libgcc.a in RTX kernel mode. 2591 2592 * cio.c 2593 (put_int, put_int_stderr, put_char, put_char_stderr): For RTX we call 2594 the function RtPrintf for console output. 2595 2596 * argv.c Do not use the environ variable for RTX. 2597 2598 * gnatlink.adb (gnatlink): The part that handles the --RTS option has 2599 been moved before the call to Osint.Add_Default_Search_Dirs in order 2600 to take into account the flags in system.ads (RTX_RTSS_Kernel_Module) 2601 from the appropriate run time. 2602 2603 * targparm.ads 2604 (RTX_RTSS_Kernel_Module_On_Target): Add this flag that is set to True if 2605 target is a RTSS module for RTX. 2606 2607 * targparm.adb (Targparm_Tags, RTX_Str, Targparm_Str): Add tag RTX for 2608 RTX_RTSS_Kernel_Module 2609 (Get_Target_Parameters): Add processing of RTX_RTSS_Kernel_Module flag. 2610 2611 * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for RTX): Use gcc 2612 exception handling mechanism for Windows and RTX in Win32 mode, but 2613 not for RTX in kernel mode (RTSS). 2614 (LIBGNAT_SRCS): Remove ada.h 2615 26162008-07-30 Paolo Bonzini <bonzini@gnu.org> 2617 2618 * gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove X_ADAFLAGS and 2619 T_ADAFLAGS, replace ALL_ADA_CFLAGS with ADA_CFLAGS. 2620 (ALL_ADA_CFLAGS): Remove, replace throughout with ADA_CFLAGS. 2621 * gcc-interface/Makefile.in (XCFLAGS, X_CFLAGS, X_CPPFLAGS, T_CPPFLAGS, 2622 X_ADA_CFLAGS, T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS, ADA_CFLAGS, 2623 ALL_ADA_CFLAGS): Remove. 2624 (ALL_ADAFLAGS, MOST_ADAFLAGS): Remove X_ADAFLAGS and T_ADAFLAGS, 2625 replace ALL_ADA_CFLAGS with ADA_CFLAGS. 2626 (GCC_CFLAGS): Remove X_CFLAGS. 2627 (LOOSE_CFLAGS): Remove X_CFLAGS and XCFLAGS. 2628 (ALL_CPPFLAGS): Remove X_CPPFLAGS and T_CPPFLAGS. 2629 (ADA_CFLAGS): Substitute. 2630 26312008-07-30 Laurent Guerby <laurent@guerby.net> 2632 2633 PR ada/5911 2634 * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables. 2635 Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts. 2636 Replace stamp-gnatlib* by stamp-gnatlib*-rts. 2637 * gcc-interface/Make-lang.in: Replace stamp-gnatlib2 2638 by stamp-gnatlib2-rts. 2639 26402008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2641 2642 PR documentation/15479 2643 * gnat-style.texi: Remove AdaCore copyright statement and GPL 2644 statement for GNAT. Add @copying stanza, use it. Update to 2645 GFDL 1.2. Do not list GFDL as Invariant Section, do not list 2646 title as Front-Cover Text. 2647 * gnat_rm.texi: Likewise. 2648 * gnat_ugn.texi: Likewise. 2649 26502008-07-29 Jan Hubicka <jh@suse.cz> 2651 2652 * trans.c (process_inlined_subprograms): Remove tree_really_inline 2653 check. 2654 26552008-07-29 Arnaud Charlet <charlet@adacore.com> 2656 2657 * gcc-interface: New directory. 2658 2659 * ada-tree.def, cuintp.c, gigi.h, Makefile.in, targtyps.c, ada.h, 2660 utils.c, ada-tree.h, decl.c, lang.opt, Make-lang.in, trans.c, 2661 config-lang.in, deftarg.c, lang-specs.h, misc.c, utils2.c: Moved 2662 to gcc-interface subdirectory. 2663 26642008-07-29 Aaron W. LaFramboise <aaronavay62@aaronwl.com> 2665 2666 * Makefile.in (EXTRA_GNATRTL_NONTASKING_OBJS): Remove extra s-win32.o. 2667 26682008-07-28 Jan Hubicka <jh@suse.cz> 2669 2670 * misc.c (gnat_post_options): Do not set flag_no_inline. 2671 26722008-07-28 Richard Guenther <rguenther@suse.de> 2673 2674 Merge from gimple-tuples-branch. 2675 2676 2008-07-22 Olivier Hainque <hainque@adacore.com> 2677 2678 * gigi.h (end_subprog_body): New ELAB_P argument, saying if 2679 this is called for an elab proc to be discarded if empty. 2680 * utils.c (end_subprog_body): Honor ELAB_P. 2681 (build_function_stub): Adjust call to end_subprog_body. 2682 * trans.c (Subprogram_Body_to_gnu): Likewise. 2683 (gigi): Reorganize processing of elab procs to prevent 2684 gimplifying twice, using the new end_subprog_body argument. 2685 2686 2008-07-19 Richard Guenther <rguenther@suse.de> 2687 2688 * Make-lang.in (trans.o): Add tree-iterator.h dependency. 2689 (utils.o): Likewise. 2690 * trans.c: Include tree-iterator.h. 2691 (gnat_gimplify_expr): Adjust prototype. Fix typo. 2692 (gnat_gimplify_stmt): Use SET_EXPR_LOCATION. 2693 (set_expr_location_from_node): Likewise. 2694 (gigi): Tuplify. 2695 * ada-tree.h (union lang_tree_node): Use TREE_CHAIN instead 2696 of GENERIC_NEXT. 2697 * utils.c: Include tree-iterator.h. 2698 * gigi.h (gnat_gimplify_expr): Adjust prototype. 2699 2700 2008-07-18 Aldy Hernandez <aldyh@redhat.com> 2701 2702 * trans.c: Include gimple.h instead of tree-gimple.h. 2703 * utils.c: Same. 2704 2705 2008-07-14 Aldy Hernandez <aldyh@redhat.com> 2706 2707 * trans.c (gnat_gimplify_expr): Use gimplify_assign. 2708 27092008-07-25 Jan Hubicka <jh@suse.cz> 2710 2711 * utils.c (end_subprog_body): Remove inline trees check. 2712 * misc.c (gnat_post_options): Do not set flag_inline_trees. 2713 27142008-07-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2715 2716 * raise-gcc.c: Move tsystem.h before tm.h. 2717 27182008-07-20 Arnaud Charlet <charlet@adacore.com> 2719 2720 * gnathtml.pl: New file. 2721 27222008-07-19 Olivier Hainque <hainque@adacore.com> 2723 2724 * targtyps.c (get_target_default_allocator_alignment): Use 2725 MALLOC_ABI_ALIGNMENT. 2726 27272008-07-17 Olivier Hainque <hainque@adacore.com> 2728 2729 * adaint.c (__MINGW32__ section): Include ctype.h and define 2730 a fallback ISALPHA if IN_RTS. 2731 (__gnat_is_absolute_path): Use ISALPHA instead of isalpha. 2732 27332008-07-17 Olivier Hainque <hainque@adacore.com> 2734 2735 * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG 2736 argument, to apply to references in addition to definitions. Prevent 2737 setting TREE_STATIC on externals. 2738 (gnat_pushdecl): Always clear DECL_CONTEXT on public externals. 2739 27402008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2741 2742 PR documentation/15479 2743 * gnat_ugn.texi (@ovar): New macro, from autoconf.texi. 2744 Replace backets around optional parameters with @ovar 2745 where possible, use @r{[}, @r{]} otherwise. 2746 Replace some @r, @i, and @emph with @var where appropriate. 2747 27482008-07-02 Eric Botcazou <ebotcazou@adacore.com> 2749 2750 * decl.c (make_type_from_size) <INTEGER_TYPE>: Fix typo and tidy up. 2751 27522008-06-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2753 2754 * ada-tree.h (SET_TYPE_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Fix 2755 -Wc++-compat warnings. 2756 * adaint.c (__gnat_locate_regular_file, __gnat_locate_exec, 2757 __gnat_locate_exec_on_path): Likewise. 2758 * decl.c (annotate_value): Likewise. 2759 * misc.c (gnat_handle_option): Likewise. 2760 * trans.c (gnat_to_gnu, extract_encoding, decode_name, 2761 post_error_ne_tree): Likewise. 2762 27632008-06-27 Eric Botcazou <ebotcazou@adacore.com> 2764 2765 * utils.c (convert) <CONSTRUCTOR>: When converting it to a packable 2766 version of its type, attempt to first convert its elements. 2767 27682008-06-26 Chris Proctor <chrisp_42@bigpond.com> 2769 2770 * Makefile.in: Fix *86 kfreebsd target specific pairs. 2771 27722008-06-25 Samuel Tardieu <sam@rfc1149.net> 2773 2774 * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well. 2775 27762008-06-24 Eric Botcazou <ebotcazou@adacore.com> 2777 2778 * utils2.c (known_alignment): Derive the alignment from pointed-to 2779 types only if it is otherwise unknown. 2780 <INTEGER_CST>: Tidy. 2781 <MULT_EXPR>: Likewise. 2782 <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use 2783 that of the base. 2784 27852008-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 2786 2787 PR ada/36573 2788 * s-osinte-hpux-dce.ads (SA_ONSTACK): Define. 2789 27902008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2791 2792 * gnat_rm.texi (Implementation Defined Characteristics) 2793 (Standard Library Routines): Use @smallexample for indented 2794 text. Drop Indentation outside examples. 2795 * gnat_ugn.texi: Likewise. 2796 27972008-06-13 Olivier Hainque <hainque@adacore.com> 2798 2799 * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0 2800 if undefined. 2801 (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack 2802 realignment with force_align_arg_pointer attribute on foreign 2803 convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN. 2804 28052008-06-13 Olivier Hainque <hainque@adacore.com> 2806 2807 * utils.c (rest_of_record_type_compilation): When computing 2808 encodings for the components of a variable size type, early 2809 strip conversions on the current position expression to make 2810 sure it's shape is visible. Use remove_conversions for this 2811 purpose. 2812 28132008-06-12 Eric Botcazou <ebotcazou@adacore.com> 2814 2815 * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a 2816 constrained subtype of a discriminated type, discard the fields that 2817 are beyond its limits according to its size. 2818 28192008-06-10 Olivier Hainque <hainque@adacore.com> 2820 2821 * utils.c (create_subprog_decl): If this is for the 'main' entry 2822 point according to the asm name, redirect main_identifier_node. 2823 28242008-06-09 Eric Botcazou <ebotcazou@adacore.com> 2825 2826 * decl.c (components_to_record): Adjust the packedness for the 2827 qualified union as well. 2828 28292008-06-09 Arnaud Charlet <charlet@adacore.com> 2830 2831 * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle 2832 checks non fatal. 2833 28342008-06-07 Samuel Tardieu <sam@rfc1149.net> 2835 2836 * sem_res.adb (Large_Storage_Type): A type is large if it 2837 requires as many bits as Positive to store its values and its 2838 bounds are known at compile time. 2839 * sem_ch13.adb (Minimum_Size): Note that this function returns 2840 0 if the size is not known at compile time. 2841 28422008-06-06 Nicolas Setton <setton@adacore.com> 2843 Olivier Hainque <hainque@adacore.com> 2844 2845 * ada-tree.h (DECL_PARALLEL_TYPE): New language specific 2846 attribute, parallel descriptive type attached to another 2847 type for debug info generation purposes. 2848 * utils.c (add_parallel_type): New function, register 2849 parallel type to be attached to a type. 2850 (get_parallel_type): New function, fetch a registered 2851 parallel type, if any. 2852 (rest_of_record_type_compilation): Register the parallel 2853 type we make for variable size records. 2854 * gigi.h (add_parallel_type, get_parallel_type): Declare. 2855 * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the 2856 parallel debug types we make. 2857 * trans.c (extract_encoding, decode_name): New functions. 2858 (gigi): If the DWARF attribute extensions are available, setup 2859 to use them. 2860 * lang.opt: Register language specific processing request 2861 for -gdwarf+. 2862 * misc.c (gnat_dwarf_extensions): New global variable. How much 2863 do we want of our DWARF extensions. 0 by default. 2864 (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions. 2865 (gnat_post_options): Map gnat_dwarf_extensions to the 2866 commonuse_gnu_debug_info_extensions for later processing. 2867 28682008-06-04 Samuel Tardieu <sam@rfc1149.net> 2869 2870 * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP. 2871 28722008-06-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2873 2874 * Makefile.in (common_tools): Fix typos in $(exeext) extension. 2875 * gnat_ugn.texi (Style Checking) 2876 (Adding the Results of Compiler Checks to gnatcheck Output) 2877 (Example of Binder Output File): Fix typos. 2878 * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb, 2879 exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads, 2880 s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb, 2881 s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb, 2882 sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads, 2883 sinfo.ads, utils.c: Fix typos in comments. 2884 * sem_ch6.adb, vms_data.ads: Fix typos in strings. 2885 28862008-05-29 Thomas Quinot <quinot@adacore.com> 2887 2888 * sem_eval.adb: Minor reformatting 2889 28902008-05-29 Ed Schonberg <schonberg@adacore.com> 2891 2892 * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type 2893 is abstract, do not apply abstractness check on subprogram if this is 2894 a renaming declaration. 2895 28962008-05-29 Arnaud Charlet <charlet@adacore.com> 2897 2898 PR ada/864 2899 * osint.ads, osint.adb (Program_Name): New parameter "Prog" to 2900 allow recognition of program suffix in addition to prefix. 2901 2902 * gnatchop.adb (Locate_Executable): Add support for prefix. 2903 2904 * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb, 2905 mlib-utl.adb: Adjust calls to Program_Name. 2906 29072008-05-29 Robert Dewar <dewar@adacore.com> 2908 2909 * sem_ch3.adb: Minor reformatting 2910 * sem_prag.adb: Minor reformatting 2911 * sem_res.adb: Minor reformatting 2912 * sinput-p.ads: Minor reformatting 2913 29142008-05-29 Javier Miranda <miranda@adacore.com> 2915 2916 * sem_util.adb: 2917 (Abstract_Interface_List): Add missing support for full type-declaration 2918 associated with synchronized types. 2919 29202008-05-29 Robert Dewar <dewar@adacore.com> 2921 2922 * sem_eval.adb (Is_Same_Value): Take care of several more cases 2923 29242008-05-28 Ed Schonberg <schonberg@adacore.com> 2925 2926 * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous 2927 access type, wrap the expression in a conversion to force an 2928 accessibility check. 2929 2930 * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force 2931 accessibility checks even when expansion is disabled in order to 2932 generate messages in the presence of previous errors or in 2933 semantics-only mode. 2934 29352008-05-28 Eric Botcazou <ebotcazou@adacore.com> 2936 2937 * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False. 2938 * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False. 2939 29402008-05-28 Vincent Celier <celier@adacore.com> 2941 2942 PR ada/34446 2943 * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in 2944 preprocessing expressions 2945 29462008-05-28 Vincent Celier <celier@adacore.com> 2947 2948 * sinput-p.adb (Source_File_Is_Subunit): Allow special character used 2949 for preprocessing 2950 2951 * sinput-p.ads: Minor comment update and reformatting 2952 29532008-05-28 Ed Schonberg <schonberg@adacore.com> 2954 2955 * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram 2956 type has a deeper level than any master only when it is the type of an 2957 access parameter. 2958 29592008-05-28 Javier Miranda <miranda@adacore.com> 2960 2961 * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation. 2962 29632008-05-28 Javier Miranda <miranda@adacore.com> 2964 2965 * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed. 2966 * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed. 2967 * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal. 2968 Add code that was previously located in 2969 Find_Overridden_Synchronized_Primitive because it is only used here. 2970 29712008-05-28 Sergey Rybin <rybin@adacore.com> 2972 2973 * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set 2974 Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION. 2975 29762008-05-28 Robert Dewar <dewar@adacore.com> 2977 2978 * restrict.ads: 2979 Add missing restrictions, and properly label all GNAT defined ones 2980 2981 * rtsfind.ads: 2982 Add entry for Ada_Real_Time.Timing_Events.Timing_Event 2983 Add entry for Ada.Task_Termination.Set_Specific_Handler 2984 Add entry for Ada.Task_Termination.Specific_Handler 2985 2986 * s-rident.ads: 2987 Add missing restrictions and properly mark all gnat defined ones 2988 2989 * sem_ch3.adb: 2990 (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction 2991 2992 * sem_res.adb: 2993 (Resolve_Call): Check violation of No_Specific_Termination_Handlers 2994 2995 * gnat_rm.texi: Add missing restrictions, and properly label all 2996 GNAT defined ones 2997 29982008-05-28 Robert Dewar <dewar@adacore.com> 2999 3000 * restrict.adb: 3001 (Check_Restriction): violation of restriction No_Finalization is 3002 treated as a serious error to stop expansion 3003 30042008-05-28 Robert Dewar <dewar@adacore.com> 3005 3006 * exp_util.adb: Minor reformatting 3007 * exp_util.ads: Minor reformatting. 3008 30092008-05-28 Arnaud Charlet <charlet@adacore.com> 3010 3011 * Make-lang.in: Remove gprmake. 3012 3013 * gprmake.adb, makegpr.ads, makegpr.adb: Removed. 3014 30152008-05-28 Ed Schonberg <schonberg@adacore.com> 3016 3017 * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving 3018 improper progenitor names, and avoid cascaded errors. 3019 30202008-05-28 Robert Dewar <dewar@adacore.com> 3021 3022 * gnat_rm.texi: Add note on Old giving warning when applied to constant 3023 3024 * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is 3025 a constant 3026 30272008-05-28 Robert Dewar <dewar@adacore.com> 3028 3029 * exp_fixd.adb (Build_Multiply): Correct one-off error in computing 3030 size 3031 30322008-05-28 Robert Dewar <dewar@adacore.com> 3033 3034 * exp_ch5.adb: 3035 (Expand_Simple_Function_Return): Copy unaligned result into temporary 3036 30372008-05-28 Javier Miranda <miranda@adacore.com> 3038 3039 * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support 3040 for user-defined predefined primitives. 3041 3042 * sem_util.adb (Matches_Prefixed_View_Profile): Ditto. 3043 (Find_Overridden_Synchronized_Primitive): Ditto. 3044 3045 * sem_ch6.adb (Check_Synchronized_Overriding): Ditto. 3046 30472008-05-27 Arnaud Charlet <charlet@adacore.com> 3048 3049 * a-ststio.adb, s-direio.adb: 3050 Further code clean up of previous change. 3051 Update comments. 3052 30532008-05-27 Vincent Celier <celier@adacore.com> 3054 3055 * prj-nmsc.adb: Minor reformatting 3056 30572008-05-27 Bob Duff <duff@adacore.com> 3058 3059 * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an 3060 untagged private type with a tagged full type, where the full type has 3061 a self reference, create the corresponding class-wide type early, in 3062 case the self reference is "access T'Class". 3063 30642008-05-27 Ed Schonberg <schonberg@adacore.com> 3065 3066 * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes 3067 tasks and context is an object declaration. create master entity before 3068 expansion. 3069 30702008-05-27 Robert Dewar <dewar@adacore.com> 3071 3072 * mlib-prj.adb: Minor reformatting 3073 3074 * prj-part.adb: Minor reformatting 3075 3076 * prj.ads: Minor reformatting 3077 3078 * exp_ch3.adb: Minor reformatting. 3079 3080 * sem_ch3.ads: Minor reformatting 3081 3082 * sem_eval.adb: Minor reformatting 3083 30842008-05-27 Vincent Celier <celier@adacore.com> 3085 3086 * gnatcmd.adb: 3087 <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack 3088 30892008-05-27 Ed Schonberg <schonberg@adacore.com> 3090 3091 * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains 3092 tasks, create an activation chain now, before the expansion into 3093 assignments and build-in-place calls that require the presence of an 3094 activation chain. 3095 (Backend_Processing_Possible): If the component type is inherently 3096 limited, the aggregate must be expanded into individual built-in-place 3097 assignments. 3098 3099 * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to 3100 determine whether an allocation extra parameter must be built, to 3101 handle case of a private type whose full type is a discriminated type 3102 with defaults. 3103 31042008-05-27 Bob Duff <duff@adacore.com> 3105 3106 * gnat_rm.texi: 3107 Document the new behavior regarding trampolines. 3108 31092008-05-27 Arnaud Charlet <charlet@adacore.com> 3110 3111 * a-direio.adb, a-sequio.adb: Replace address clause by 3112 unrestricted_access, simpler and compatible with .NET. 3113 31142008-05-27 Vincent Celier <celier@adacore.com> 3115 3116 * prj-part.adb: 3117 (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find 3118 a project file, so that symbolic links are not resolved. 3119 31202008-05-27 Arnaud Charlet <charlet@adacore.com> 3121 3122 * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb: 3123 Replace heavy address clause by 'Unrestricted_Access, cleaner and more 3124 portable across GNAT targets, since this kind of address clause is not 3125 supported by VM back-ends (.NET/JGNAT). 3126 31272008-05-27 Arnaud Charlet <charlet@adacore.com> 3128 3129 * bindgen.adb: Update comments. 3130 3131 * s-tasinf-mingw.adb: Add "with" of System.OS_Interface 3132 31332008-05-27 Vincent Celier <celier@adacore.com> 3134 3135 * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, 3136 prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb, 3137 mlib-tgt.adb, prj-env.adb, prj-env.ads: 3138 (Path_Information): New record type 3139 Use component of type Path_Information when there are two paths, one in 3140 canonical format and one in display format. 3141 Update the project manager to these new components. 3142 31432008-05-27 Robert Dewar <dewar@adacore.com> 3144 3145 * makeutl.adb: Minor reformatting 3146 * prj-nmsc.adb: Minor reformatting 3147 * s-stausa.adb: Minor reformatting 3148 * s-stausa.ads: Minor reformatting 3149 * sem_ch6.adb: Minor reformatting 3150 31512008-05-27 Thomas Quinot <quinot@adacore.com> 3152 3153 * sem_res.adb: Minor comment fixes 3154 31552008-05-27 Thomas Quinot <quinot@adacore.com> 3156 3157 * makeutl.adb: Minor code reorganization 3158 3159 * exp_aggr.adb: Add ??? comment 3160 Fix typo 3161 3162 * exp_ch6.adb: Minor reformatting 3163 31642008-05-27 Quentin Ochem <ochem@adacore.com> 3165 3166 * s-stausa.adb (Initialize): Updated result initialization, and 3167 initialization of environment stack. 3168 (Fill_Stack): Improved computation of the pattern zone, taking into 3169 account already filled at the calling point. 3170 (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of 3171 Measure and Overflow_Guard. 3172 (Report_Result): Fixed computation of the result using new fields of 3173 Stack_Analyzer. 3174 3175 * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard 3176 params by more explicit Stack_Size / Max_Pattern_Size params. 3177 (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields. 3178 Added Stack_Used_When_Filling field. 3179 (Task_Result): Replaced Measure / Overflow_Guard by more explicit 3180 Min_Measure and Max_Measure fields. 3181 3182 * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer. 3183 31842008-05-27 Vincent Celier <celier@adacore.com> 3185 3186 * prj-nmsc.adb: 3187 (Check_File): Make sure that a unit that replaces the same unit in a 3188 project being extended is properly processed. 3189 31902008-05-27 Ed Schonberg <schonberg@adacore.com> 3191 3192 * sem_ch3.adb: 3193 (Get_Discr_Value): Remove obsolete code that failed to find the value 3194 of a discriminant for an inherited task component appearing in a type 3195 extension. 3196 31972008-05-27 Thomas Quinot <quinot@adacore.com> 3198 3199 (System.File_IO.{Close, Delete, Reset}): 3200 Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr". 3201 3202 (Ada.*_IO.{Close, Delete, Reset, Set_Mode}): 3203 Pass File parameter by reference. 3204 32052008-05-27 Vincent Celier <celier@adacore.com> 3206 3207 * prj-nmsc.adb: 3208 (Process_Sources_In_Multi_Language_Mode): Check that there are not two 3209 sources of the same project that have the same object file name. 3210 (Find_Explicit_Sources): Always remove a source exception that was not 3211 found. 3212 32132008-05-27 Thomas Quinot <quinot@adacore.com> 3214 3215 * sem_ch3.adb: Minor reformatting 3216 32172008-05-27 Ed Schonberg <schonberg@adacore.com> 3218 3219 * sem_ch6.adb: 3220 (Is_Interface_Conformant): Handle properly a primitive operation that 3221 overrides an interface function with a controlling access result. 3222 (Type_Conformance): If Skip_Controlling_Formals is true, when matching 3223 inherited and overriding operations, omit as well the conformance check 3224 on result types, to prevent spurious errors. 3225 32262008-05-27 Vincent Celier <celier@adacore.com> 3227 3228 * makeutl.ads, makeutl.adb: 3229 (Set_Location): New procedure 3230 (Get_Location): New function 3231 (Update_Main): New procedure 3232 32332008-05-27 Vincent Celier <celier@adacore.com> 3234 3235 * prj-nmsc.adb: 3236 (Check_Library): Allow standard project to be extended as a static 3237 library project. 3238 (Get_Mains): Do not inherit attribute Main in an extending library 3239 project. 3240 32412008-05-27 Eric Botcazou <ebotcazou@adacore.com> 3242 3243 * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False. 3244 * system-darwin-x86.ads (Always_Compatible_Rep): Likewise. 3245 * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise. 3246 * system-linux-ppc.ads (Always_Compatible_Rep): Likewise. 3247 * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise. 3248 * system-linux-x86.ads (Always_Compatible_Rep): Likewise. 3249 * system-mingw.ads (Always_Compatible_Rep): Likewise. 3250 * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise. 3251 * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise. 3252 * system-solaris-x86.ads (Always_Compatible_Rep): Likewise. 3253 32542008-05-27 Ed Schonberg <schonberg@adacore.com> 3255 3256 * sem_attr.adb: add guard to previous patch. 3257 32582008-05-27 Ed Schonberg <schonberg@adacore.com> 3259 3260 * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by 3261 a synchronized tagged type, do not attempt to build dispatch table for 3262 full view. The table is built for the corresponding record type, which 3263 has its own declaration. 3264 32652008-05-27 Gary Dismukes <dismukes@adacore.com> 3266 3267 * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype 3268 to the known type entity E, rather than setting it to Any_Type. Fixes 3269 possible blowup in function Base_Init_Proc, as called from Freeze_Entity 3270 for objects whose type had an illegal constraint. 3271 32722008-05-27 Vincent Celier <celier@adacore.com> 3273 3274 * gnat_ugn.texi: 3275 Add succinct documentation for attribute Excluded_Source_List_File 3276 32772008-05-27 Vincent Celier <celier@adacore.com> 3278 3279 * prj-attr.adb: Add new project level attribute Map_File_Option 3280 3281 * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option 3282 3283 * prj.ads: Minor reformatting and comment update 3284 (Project_Configuration): New component Map_File_Option 3285 3286 * snames.adb: New standard name Map_File_Option 3287 3288 * snames.ads: New standard name Map_File_Option 3289 32902008-05-27 Vincent Celier <celier@adacore.com> 3291 3292 * xsnames.adb: Remove unused variable Oname 3293 32942008-05-27 Doug Rupp <rupp@adacore.com> 3295 3296 * exp_ch6.adb: 3297 (Expand_N_Function_Call): Fix comments. Minor reformatting. 3298 3299 * exp_vfpt.ads: 3300 (Expand_Vax_Foreign_Return): Fix comments. 3301 33022008-05-27 Thomas Quinot <quinot@adacore.com> 3303 3304 * exp_dist.adb: Minor reformating 3305 33062008-05-26 Gary Dismukes <dismukes@adacore.com> 3307 3308 * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for 3309 No_Default_Initialization, which is now delayed until the freeze point 3310 of the object. Add a comment about deferral of the check. 3311 3312 * freeze.adb (Freeze_Entity): The check for No_Default_Initialization 3313 on objects is moved here. 3314 33152008-05-26 Eric Botcazou <ebotcazou@adacore.com> 3316 3317 * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment. 3318 (Compare_Array_S16): Adjust for above change. 3319 * s-casi32.adb (Uword): Likewise. 3320 (Compare_Array_S32): Likewise. 3321 * s-casi64.adb (Uword): Likewise. 3322 (Compare_Array_S64): Likewise. 3323 * s-caun16.adb (Uhalf): Likewise. 3324 (Compare_Array_U16): Likewise. 3325 * s-caun32.adb (Uword): Likewise. 3326 (Compare_Array_U32): Likewise. 3327 * s-caun64.adb (Uword): Likewise. 3328 (Compare_Array_U64): Likewise. 3329 33302008-05-26 Robert Dewar <dewar@adacore.com> 3331 3332 * exp_ch6.adb: Add ??? comment for previous change 3333 3334 * exp_vfpt.adb: Minor reformatting 3335 3336 * exp_vfpt.ads: Add ??? comment for last change 3337 3338 * sem_attr.adb: Add some ??? comments for previous change 3339 3340 * s-vaflop.ads: Add comments for previous change 3341 33422008-05-26 Doug Rupp <rupp@adacore.com> 3343 3344 * s-vaflop-vms-alpha.adb: 3345 Remove System.IO use clause, to prevent spurious ambiguities when 3346 package is access through rtsfind. 3347 33482008-05-26 Sergey Rybin <rybin@adacore.com> 3349 3350 * tree_io.ads (ASIS_Version_Number): Update because of the changes 3351 made in front-end 3352 33532008-05-26 Ed Schonberg <schonberg@adacore.com> 3354 3355 * sem_attr.adb: 3356 (Resolve_Attribute, case 'address): S (A .. B)' address can be safely 3357 converted to S (A)'address only if A .. B is known to be a non-null 3358 range. 3359 33602008-05-26 Doug Rupp <rupp@adacore.com> 3361 3362 * s-vaflop.adb: 3363 (Return_D, Return_F, Return_G): New functions. 3364 3365 * s-vaflop.ads: 3366 (Return_D, Return_F, Return_G): New functions. 3367 3368 * exp_vfpt.adb: 3369 (Expand_Vax_Foreign_Return): New procedure 3370 3371 * exp_vfpt.ads: 3372 (Expand_Vax_Foreign_Return): New procedure 3373 3374 * rtsfind.ads: 3375 (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids 3376 (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements 3377 3378 * exp_ch6.adb: 3379 Import Exp_Vfpt 3380 (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return. 3381 3382 * s-vaflop-vms-alpha.adb: 3383 (Return_D, Return_F, Return_G): New functions. 3384 33852008-05-26 Gary Dismukes <dismukes@adacore.com> 3386 3387 * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy 3388 init proc entity when there is actual default initialization associated 3389 with the component type, to avoid spurious errors on objects of scalar 3390 array types that are marked Is_Public when No_Default_Initialization 3391 applies. 3392 33932008-05-26 Thomas Quinot <quinot@adacore.com> 3394 3395 * rtsfind.ads, rtsfind.adb: 3396 (RE_Get_RACW): New runtime library entity provided by PolyORB s-parint. 3397 (Check_RPC): Support per-PCS-kind API versioning. 3398 3399 exp_dist.ads, exp_dist.adb: 3400 (Build_Stub_Tag, Get_Stub_Elements): New utility subprograms. 3401 (PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime 3402 library function Get_RACW. 3403 (PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime 3404 library function Get_Reference. 3405 (PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going 3406 through an intermediate Any. 3407 (PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of 3408 going through an intermediate Any. 3409 3410 * sem_dist.adb: Minor reformatting. 3411 34122008-05-26 Javier Miranda <miranda@adacore.com> 3413 3414 * einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias. 3415 (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias. 3416 (Is_Internal): Adding documentation on internal entities that have 3417 attribute Interface_Alias (old attribute Abstract_Interface_Alias) 3418 3419 * einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias. 3420 (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias. 3421 Added assertion to force entities with this attribute to have 3422 attribute Is_Internal set to True. 3423 (Next_Tag_Component): Simplify assertion using attribute Is_Tag. 3424 3425 * sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been 3426 renamed as Derive_Progenitor_Subprograms. In addition, its code is 3427 a new implementation. 3428 (Add_Interface_Tag_Components): Remove special management of 3429 synchronized interfaces. 3430 (Analyze_Interface_Declaration): Minor reformating 3431 (Build_Derived_Record_Type): Minor reformating 3432 (Check_Abstract_Overriding): Avoid reporting error in case of abstract 3433 predefined primitive inherited from interface type because the body of 3434 internally generated predefined primitives of tagged types are generated 3435 later by Freeze_Type 3436 (Derive_Subprogram): Avoid generating an internal name if the parent 3437 subprogram overrides an interface primitive. 3438 (Derive_Subprograms): New implementation that keeps separate the 3439 management of tagged types not implementing interfaces, from tagged 3440 types that implement interfaces. 3441 (Is_Progenitor): New implementation. 3442 (Process_Full_View): Add documentation 3443 (Record_Type_Declaration): Replace call to Derive_Interface_Subprograms 3444 by call to Derive_Progenitor_Subprograms. 3445 3446 * sem_ch6.ads (Is_Interface_Conformant): New subprogram. 3447 (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument 3448 Skip_Controlling_Formals. 3449 3450 * sem_ch6.adb (Is_Interface_Conformant): New subprogram. 3451 (Check_Conventions): New implementation. Remove local subprogram 3452 Skip_Check. Remove formal Search_From of routine Check_Convention. 3453 (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument 3454 Skip_Controlling_Formals. 3455 (New_Overloaded_Entity): Enable addition of predefined dispatching 3456 operations. 3457 3458 * sem_disp.ads 3459 (Find_Primitive_Covering_Interface): New subprogram. 3460 3461 * sem_disp.adb (Check_Dispatching_Operation): Disable registering 3462 the task body procedure as a primitive of the corresponding tagged 3463 type. 3464 (Check_Operation_From_Private_Type): Avoid adding twice an entity 3465 to the list of primitives. 3466 (Find_Primitive_Covering_Interface): New subprogram. 3467 (Override_Dispatching_Operation): Add documentation. 3468 3469 * sem_type.adb (Covers): Minor reformatings 3470 3471 * sem_util.ads (Collect_Abstract_Interfaces): Renamed as 3472 Collect_Interfaces. 3473 Rename formal. 3474 (Has_Abstract_Interfaces): Renamed as Has_Interfaces. 3475 (Implements_Interface): New subprogram. 3476 (Is_Parent): Removed. 3477 (Primitive_Names_Match): New subprogram. 3478 (Remove_Homonym): Moved here from Derive_Interface_Subprograms. 3479 (Ultimate_Alias): New subprogram. 3480 3481 * sem_util.adb (Collect_Abstract_Interfaces): Renamed as 3482 Collect_Interfaces. 3483 Remove special management for synchronized types. Rename formal. Remove 3484 internal subprograms Interface_Present_In_Parent and Add_Interface. 3485 (Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion 3486 on non-record types by code to return false in such case. 3487 (Implements_Interface): New subprogram. 3488 (Is_Parent): Removed. No special management is now required for 3489 synchronized types covering interfaces. 3490 (Primitive_Names_Match): New subprogram. 3491 (Remove_Homonym): Moved here from Derive_Interface_Subprograms. 3492 (Ultimate_Alias): New subprogram. 3493 3494 * exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram. 3495 Add internal entities associated with secondary dispatch tables to 3496 the list of tagged type primitives that are not interfaces. 3497 (Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities 3498 (Make_Predefined_Primitive_Specs): Code reorganization to improve 3499 the management of predefined equality operator. In addition, if 3500 the type has an equality function corresponding with a primitive 3501 defined in an interface type, the inherited equality is abstract 3502 as well, and no body can be created for it. 3503 3504 * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from 3505 exp_util to exp_disp. 3506 (Is_Predefined_Interface_Primitive): New subprogram. Returns True if 3507 an entity corresponds with one of the predefined primitives required 3508 to implement interfaces. 3509 Update copyright notice. 3510 3511 * exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the 3512 final check on abstract subprograms all the primitives associated with 3513 interface primitives because they must be visible in the public and 3514 private part. 3515 (Write_DT): Use Find_Dispatching_Type to locate the name of the 3516 interface type. This allows the use of this routine, for debugging 3517 purposes, when the tagged type is not fully decorated. 3518 (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp. 3519 Factorize code calling new subprogram Is_Predefined_Interface_Primitive. 3520 (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an 3521 entity corresponds with one of the predefined primitives required to 3522 implement interfaces. 3523 3524 * exp_util.adb (Find_Interface_ADT): New implementation 3525 (Find_Interface): Removed. 3526 3527 * sprint.adb (Sprint_Node_Actual): Generate missing output for the 3528 list of interfaces associated with nodes 3529 N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration. 3530 35312008-05-26 Thomas Quinot <quinot@adacore.com> 3532 3533 * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on 3534 condition for assignment to temporary. 3535 35362008-05-26 Ed Schonberg <schonberg@adacore.com> 3537 3538 * exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint 3539 checks on the upper bound if the index type is a modular type, to 3540 prevent wrap-around computations when size is close to upper bound of 3541 type. 3542 35432008-05-26 Robert Dewar <dewar@adacore.com> 3544 3545 * sem_ch3.adb: Minor reformatting 3546 35472008-05-26 Ed Schonberg <schonberg@adacore.com> 3548 3549 * sem_ch12.adb (Remove_Parent): Use specification of instance 3550 to retrieve generic parent, 3551 to handle properly the case where the instance is a child unit. 3552 Add guard to handle properly wrapper packages. 3553 Minor reformatting 3554 35552008-05-26 Thomas Quinot <quinot@adacore.com> 3556 3557 * sinfo.ads: Minor reformatting 3558 35592008-05-26 Hristian Kirtchev <kirtchev@adacore.com> 3560 3561 * exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting. 3562 Generate a tag check when the result subtype of a function, defined by 3563 an access definition, designates a specific tagged type. 3564 (Make_Tag_Check): New routine. 3565 35662008-05-26 Arnaud Charlet <charlet@adacore.com> 3567 3568 * ceinfo.adb, csinfo.adb: Remove warnings. Update headers. 3569 35702008-05-26 Eric Botcazou <ebotcazou@adacore.com> 3571 3572 * gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker. 3573 (builtin_decl_for): Likewise. 3574 * trans.c (gigi): Likewise. 3575 * utils.c (def_builtin_1): Fix formatting. 3576 35772008-05-26 Hristian Kirtchev <kirtchev@adacore.com> 3578 3579 * exp_ch3.adb (Build_Init_Statements): Alphabetize local variables. 3580 Create the statements which map a string name to protected or task 3581 entry indix. 3582 3583 * exp_ch9.adb: Add with and use clause for Stringt. 3584 Minor code reformatting. 3585 (Build_Entry_Names): New routine. 3586 (Make_Initialize_Protection, Make_Task_Create_Call): Generate a value 3587 for flag Build_Entry_Names which controls the allocation of the data 3588 structure for the string names of entries. 3589 3590 * exp_ch9.ads (Build_Entry_Names): New subprogram. 3591 3592 * exp_util.adb (Entry_Names_OK): New function. 3593 3594 * exp_util.ads (Entry_Names_OK): New function. 3595 3596 * rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to 3597 enumerations RE_Id and RE_Unit_Table. 3598 3599 * s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation. 3600 (Free_Entry_Names_Array): New routine. 3601 3602 * s-taskin.ads: Comment reformatting. 3603 Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access. 3604 Add component Entry_Names to record Ada_Task_Control_Block. 3605 (Free_Entry_Names_Array): New routine. 3606 3607 * s-tassta.adb (Create_Task): If flag Build_Entry_Names is set, 3608 dynamically allocate an array 3609 of string pointers. This structure holds string entry names. 3610 (Free_Entry_Names): New routine. 3611 (Free_Task, Vulnerable_Free_Task): Deallocate the entry names array. 3612 (Set_Entry_Names): New routine. 3613 3614 * s-tassta.ads: 3615 (Create_Task): Add formal Build_Entry_Names. The flag is used to 3616 control the allocation of the data structure which stores entry names. 3617 (Set_Entry_Name): New routine. 3618 3619 * s-tpoben.adb: 3620 Add with and use clause for Ada.Unchecked_Conversion. 3621 (Finalize): Deallocate the entry names array. 3622 (Free_Entry_Names): New routine. 3623 (Initialize_Protection_Entries): When flag Build_Entry_Names is set, 3624 create an array of string pointers to hold the entry names. 3625 (Set_Entry_Name): New routine. 3626 3627 * s-tpoben.ads: 3628 Add field Entry_Names to record Protection_Entries. 3629 (Initialize_Protection_Entries): Add formal Build_Entry_Names. 3630 (Set_Entry_Name): New routine. 3631 36322008-05-26 Vincent Celier <celier@adacore.com> 3633 3634 * prj-nmsc.adb: 3635 (Process_Project_Level_Simple_Attributes): process attribute Library_GCC 3636 3637 * prj.ads: 3638 (Project_Configuration): New component Shared_Lib_Driver 3639 36402008-05-26 Ed Schonberg <schonberg@adacore.com> 3641 3642 * inline.adb: 3643 (Cleanup_Scopes): For a protected operation, transfer finalization list 3644 to protected body subprogram, to force cleanup actions when needed. 3645 36462008-05-26 Robert Dewar <dewar@adacore.com> 3647 3648 * sem_cat.adb: Minor reformatting 3649 3650 * gnatname.adb: Minor reformatting 3651 3652 * osint.ads: Minor reformatting 3653 3654 * s-carun8.ads: Minor reformatting 3655 3656 * g-heasor.ads: Minor comment fix (unit is now pure) 3657 36582008-05-26 Robert Dewar <dewar@adacore.com> 3659 3660 * exp_ch2.adb: 3661 (Expand_Current_Value): Properly type generated integer literal 3662 36632008-05-26 Sergey Rybin <rybin@adacore.com> 3664 3665 * gnat_ugn.texi: Add description for the new gnatcheck rule - 3666 Separate_Numeric_Error_Handlers. 3667 36682008-05-26 Pascal Obry <obry@adacore.com> 3669 3670 * sem_aggr.adb: Minor reformatting. 3671 36722008-05-26 Jose Ruiz <ruiz@adacore.com> 3673 3674 * s-osinte-aix.adb: 3675 (To_Target_Priority): Setting the time slice value to 0 or greater sets 3676 the scheduling policy to FIFO within priorities or round-robin 3677 respectively. 3678 Hence, the priority must be set in this case to the one selected by the 3679 user. 3680 36812008-05-26 Ed Schonberg <schonberg@adacore.com> 3682 3683 * sem_ch12.adb: 3684 (Remove_Parent): If the enclosing scope is an instance whose generic 3685 parent is declared within some parent scope of the just completed 3686 instance, make full views of the entities in that parent visible, when 3687 applicable. 3688 36892008-05-26 Kai Tietz <kai.tietz@onevision.com> 3690 3691 * mingw32.h (STD_MINGW): Set to true for target w64. 3692 36932008-05-25 Eric Botcazou <ebotcazou@adacore.com> 3694 3695 * trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE 3696 instead of TREE_STATIC on the ADDR_EXPR. 3697 36982008-05-24 Eric Botcazou <ebotcazou@adacore.com> 3699 3700 * trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs. 3701 (Sloc_to_locus): Do not overwrite known GCC locations when translating 3702 GNAT standard locations. 3703 37042008-05-23 Eric Botcazou <ebotcazou@adacore.com> 3705 3706 * gigi.h (mark_visited): Declare. 3707 * decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking 3708 only the topmost node of expressions. 3709 (elaborate_expression_1): Look deeper for read-only variables. 3710 * trans.c (add_decl_expr): Use mark_visited instead of marking by hand. 3711 (mark_visited): Move logic to mark_visited_r. Invoke walk_tree. 3712 (mark_visited_r): New function. 3713 37142008-05-23 Vincent Celier <celier@adacore.com> 3715 3716 * snames.adb: New standard name Excluded_Source_List_File. 3717 3718 * snames.ads: New standard name Excluded_Source_List_File. 3719 3720 * prj-attr.adb: New project level attribute Excluded_Source_List_File. 3721 3722 * prj-nmsc.adb: (Find_Excluded_Sources): New parameter Project. 3723 Get excluded sources from 3724 file indicated by attribute Excluded_Source_List_File, when present and 3725 neither Excluded_Source_Files nor Locally_Removed_Files are declared. 3726 37272008-05-23 Robert Dewar <dewar@adacore.com> 3728 3729 * exp_dist.adb: Minor reformatting 3730 37312008-05-23 Ed Schonberg <schonberg@adacore.com> 3732 3733 * sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a 3734 slice, convert it to an indexed component, which is equivalent, more 3735 efficient, and usable even if the slice itself is not addressable. 3736 37372008-05-23 Olivier Hainque <hainque@adacore.com> 3738 3739 * gnat_ugn.texi (Calling Conventions): Document that the Intrinsic 3740 convention also allows access to named compiler built-in subprograms 3741 such as the GCC __builtin family. 3742 37432008-05-23 Vincent Celier <celier@adacore.com> 3744 3745 * prj-nmsc.adb (Check_Naming_Schemes): Check a file for spec, body and 3746 sep. If there are several possibilities, choose the one with the 3747 longer prefix. 3748 37492008-05-23 Vincent Celier <celier@adacore.com> 3750 3751 * gnatlink.adb (Process_Args): Do not disable scanning of ALI file for 3752 back end switches when executable specified with --GCC= is same as 3753 default, even if there are additional options. 3754 3755 * gnat_ugn.texi: 3756 Document when the back end switches from the ALI file are taken into 3757 account when gnatlink is invoked with --GCC= 3758 37592008-05-23 Thomas Quinot <quinot@adacore.com> 3760 3761 * s-os_lib.adb: 3762 (copy_File): Do not open destination file if source file is unreadable. 3763 37642008-05-23 Eric Botcazou <ebotcazou@adacore.com> 3765 3766 * utils.c (handle_type_generic_attribute): Adjust to accept 3767 fixed arguments before an elipsis. 3768 37692008-05-21 Thomas Quinot <quinot@adacore.com> 3770 3771 * g-sothco.ads, g-sothco.adb: New files. 3772 37732008-05-20 Thomas Quinot <quinot@adacore.com> 3774 3775 * Makefile.rtl (GNAT.Sockets.Thin_Common): New unit. 3776 3777 * g-sttsne-vxworks.adb: Add missing dependency on Sockets.Constants. 3778 Add missing "with" of Ada.Unchecked_Conversion 3779 3780 * g-soccon-linux-ppc.ads, g-soccon-linux-64.ads, g-soccon-lynxos.ads, 3781 g-soccon-linux-x86.ads, g-soccon-hpux-ia64.ads, 3782 g-soccon-solaris-64.ads, g-soccon-tru64.ads, g-soccon-aix.ads, 3783 g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads, 3784 g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads, 3785 g-socthi-vxworks.adb, g-soccon-freebsd.ads, g-soccon.ads: 3786 Move common code out of GNAT.Sockets.Thin implementations and into 3787 Thin_Common. 3788 New constant SIZEOF_fd_set 3789 New flag Has_Sockaddr_Len 3790 New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6 3791 3792 * g-stsifd-sockets.adb 3793 (Create): Remove call to Set_Length; use Set_Family to set the family 3794 and (on appropriate platforms) length fields in struct sockaddr. 3795 3796 * g-socthi.adb, g-socthi.ads, g-socthi-vms.ads, g-socthi-vms.adb, 3797 g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.adb, 3798 g-soccon-darwin.ads, g-soccon-darwin.ads: New constant SIZEOF_fd_set 3799 Move common code out of GNAT.Sockets.Thin implementations and into 3800 Thin_Common. 3801 3802 * g-socket.ads, g-socket.adb: 3803 Move common code out of GNAT.Sockets.Thin implementations and into 3804 Thin_Common. 3805 (Connect_Socket, Accept_Socket): Provide new versions of these two 3806 routines that operate with a user specified timeout. 3807 (Bind_Socket, Connect_Socket, Send_Socket): Remove calls to Set_Length, 3808 this is now handled automatically by Set_Family on platforms that 3809 require it. 3810 3811 * gen-soccon.c: 3812 Move common code out of GNAT.Sockets.Thin implementations and into 3813 Thin_Common. 3814 (SIZEOF_sockaddr_in6): On platforms where IPv6 is not supported, define 3815 this constant to 0 (not -1) because we use it to initialize an 3816 unsigned_char value. 3817 Align values for numeric constants only. 3818 Handle the case of systems that do not support AF_INET6. 3819 New constant SIZEOF_fd_set 3820 New flag Has_Sockaddr_Len 3821 New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6 3822 3823 * gsocket.h: New flag Has_Sockaddr_Len 3824 New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6 3825 38262008-05-20 Santiago Uruena <uruena@adacore.com> 3827 3828 * i-cobol.ads: Interfaces.COBOL should be preelaborate. 3829 38302008-05-20 Arnaud Charlet <charlet@adacore.com> 3831 3832 * s-linux-hppa.ads (atomic_lock_t): Put back proper alignment now that 3833 the underlying issue with malloc/free has been fixed. Remove associated 3834 comments. 3835 Minor reformatting. 3836 Related to PR ada/24533 3837 38382008-05-20 Robert Dewar <dewar@adacore.com> 3839 3840 * ali.adb: Correct casing of ASCII.NUL 3841 3842 * styleg-c.adb (Check_Identifier): Handle case of names in ASCII 3843 properly. 3844 38452008-05-20 Robert Dewar <dewar@adacore.com> 3846 Gary Dismukes <dismukes@adacore.com> 3847 3848 * checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate 3849 overflow if result converted to wider integer type. 3850 (Apply_Type_Conversion_Checks): Don't emit checks on conversions to 3851 discriminated types when discriminant checks are suppressed. 3852 38532008-05-20 Vincent Celier <celier@adacore.com> 3854 3855 * cstand.adb (Print_Standard): Issue the correct Size clause for type 3856 Wide_Wide_Character. 3857 38582008-05-20 Tristan Gingold <gingold@adacore.com> 3859 3860 * decl.c: Do not emit a variable for a object that has an address 3861 representation clause whose value is known at compile time. 3862 When a variable has an address clause whose value is known at compile 3863 time, refer to this variable by using directly the address instead of 3864 dereferencing a pointer. 3865 38662008-05-20 Robert Dewar <dewar@adacore.com> 3867 3868 PR ada/30740 3869 * einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types and 3870 subtypes, always False for non-modular types. 3871 Shared_Var_Assign_Proc (node22) and Shared_Var_Read_Proc (node 15) 3872 entry nodes have been replaced by Shared_Var_Procs_Instance (node22) 3873 for Shared_Storage package. 3874 (Is_RACW_Stub_Type): New entity flag. 3875 3876 * exp_ch4.adb 3877 (Expand_N_Op_Expon): Avoid incorrect optimization of a*(2**b) in the 3878 case where we have a modular type with a non-binary modules. 3879 Comments reformattings. 3880 3881 * sem_intr.adb: Simplify code not that Non_Binary_Modulus applies to 3882 all types. 3883 38842008-05-20 Javier Miranda <miranda@adacore.com> 3885 3886 * exp_aggr.adb 3887 (Build_Record_Aggr_Code): Fix wrong tests checking progenitors. Previous 3888 tests did not covered the case in which the type of the aggregate has 3889 no progenitors but some its parents has progenitors. 3890 38912008-05-20 Gary Dismukes <dismukes@adacore.com> 3892 Hristian Kirtchev <kirtchev@adacore.com> 3893 3894 * exp_ch3.adb 3895 (Expand_N_Object_Declaration): Correct the condition which triggers the 3896 generation of a call to Displace when initializing a class-wide object. 3897 (Build_Dcheck_Functions): Build discriminant-checking for null variants 3898 when Frontend_Layout_On_Target is true to ensure that they're available 3899 for calling when a record variant size function is built in Layout. 3900 39012008-05-20 Ed Schonberg <schonberg@adacore.com> 3902 3903 * exp_ch5.adb (Expand_Assign_Record): Within an initialization 3904 procedure for a derived type retrieve the discriminant values from the 3905 parent using the corresponding discriminant. 3906 (Expand_N_Assignment_Statement): Skip generation of implicit 3907 if-statement associated with controlled types if we are 3908 compiling with restriction No_Finalization. 3909 39102008-05-20 Vincent Celier <celier@adacore.com> 3911 3912 * prj.adb (Hash (Project_Id)): New function 3913 (Project_Empty): Add new component Interfaces_Defined 3914 3915 * prj.ads (Source_Data): New component Object_Linked 3916 (Language_Config): New components Object_Generated and Objects_Linked 3917 (Hash (Project_Id)): New function 3918 (Source_Data): New Boolean components In_Interfaces and 3919 Declared_In_Interfaces. 3920 (Project_Data): New Boolean component Interfaces_Defined 3921 3922 * prj-attr.adb: 3923 New project level attribute Object_Generated and Objects_Linked 3924 Add new project level attribute Interfaces 3925 3926 * prj-dect.adb: Use functions Present and No throughout 3927 (Parse_Variable_Declaration): If a string type is specified as a simple 3928 name and is not found in the current project, look for it also in the 3929 ancestors of the project. 3930 3931 * prj-makr.adb: 3932 Replace procedure Make with procedures Initialize, Process and Finalize 3933 to implement H414-023: process different directories with different 3934 patterns. 3935 Use functions Present and No throughout 3936 3937 * prj-makr.ads: 3938 Replace procedure Make with procedures Initialize, Process and Finalize 3939 3940 * prj-nmsc.adb 3941 (Add_Source): Set component Object_Exists and Object_Linked accordnig to 3942 the language configuration. 3943 (Process_Project_Level_Array_Attributes): Process new attributes 3944 Object_Generated and Object_Linked. 3945 (Report_No_Sources): New Boolean parameter Continuation, defaulted to 3946 False, to indicate that the erreor/warning is a continuation. 3947 (Check): Call Report_No_Sources with Contnuation = True after the first 3948 call. 3949 (Error_Msg): Process successively contnuation character and warning 3950 character. 3951 (Find_Explicit_Sources): Check that all declared sources have been found 3952 (Check_File): Indicate in hash table Source_Names when a declared source 3953 is found. 3954 (Check_File): Set Other_Part when found 3955 (Find_Explicit_Sources): In multi language mode, check if all exceptions 3956 to the naming scheme have been found. For Ada, report an error if an 3957 exception has not been found. Otherwise, disregard the exception. 3958 (Check_Interfaces): New procedure 3959 (Add_Source): When Other_Part is defined, set mutual pointers in spec 3960 and body. 3961 (Check): In multi-language mode, call Check_Interfaces 3962 (Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False 3963 for an excluded source. 3964 (Remove_Source): A source replacing a source in the interfaces is also 3965 in the interfaces. 3966 3967 * prj-pars.adb: Use function Present 3968 3969 * prj-part.adb: Use functions Present and No throughout 3970 (Parse_Single_Project): Set the parent project for child projects 3971 (Create_Virtual_Extending_Project): Register project with no qualifier 3972 (Parse_Single_Project): Allow an abstract project to be extend several 3973 times. Do not allow an abstract project to extend a non abstract 3974 project. 3975 3976 * prj-pp.adb: Use functions Present and No throughout 3977 (Print): Take into account the full associative array attribute 3978 declarations. 3979 3980 * prj-proc.adb: Use functions Present and No throughout 3981 (Expression): Call itself with the same From_Project_Node for the 3982 default value of an external reference. 3983 3984 * prj-strt.adb: Use functions Present and No throughout 3985 (Parse_Variable_Reference): If a variable is specified as a simple name 3986 and is not found in the current project, look for it also in the 3987 ancestors of the project. 3988 3989 * prj-tree.ads, prj-tree.adb (Present): New function 3990 (No): New function 3991 Use functions Present and No throughout 3992 (Parent_Project_Of): New function 3993 (Set_Parent_Project_Of): New procedure 3994 3995 * snames.ads, snames.adb: 3996 Add new standard names Object_Generated and Objects_Linked 3997 39982008-05-20 Hristian Kirtchev <kirtchev@adacore.com> 3999 4000 * exp_ch6.adb (Expand_Call): Add guard to ensure that both the parent 4001 and the derived type are of the same kind. 4002 (Expand_Call): Generate type conversions for actuals of 4003 record or array types when the parent and the derived types differ in 4004 size and/or packed status. 4005 40062008-05-20 Javier Miranda <miranda@adacore.com> 4007 Ed Schonberg <schonberg@adacore.com> 4008 4009 * exp_disp.adb (Make_DT, Make_Secondary_DT, Make_Tags): Avoid 4010 generating dispatch tables of locally defined tagged types statically. 4011 Remove implicit if-statement that is no longer required. 4012 (Expand_Dispatching_Call): If this is a call to an instance of the 4013 generic dispatching constructor, the type of the first argument may be 4014 a subtype of Tag, so always use the base type to recognize this case. 4015 40162008-05-20 Thomas Quinot <quinot@adacore.com> 4017 4018 * exp_dist.adb 4019 (GARLIC_Support.Add_RACW_Read_Attribute): When a zero value is received, 4020 and the RACW is null-excluding, raise CONSTRAINT_ERROR instead of 4021 assigning NULL into the result, to avoid a spurious warning. 4022 (Add_RACW_Features, case Same_Scope): Add assertion that designated type 4023 is not frozen. 4024 (Add_Stub_Type): Set entity flag Is_RACW_Stub_Type on generated stub 4025 type. 4026 (Build_From_Any_Function, Build_To_Any_Function, 4027 Build_TypeCode_Function): For a type that has user-specified stream 4028 attributes, use an opaque sequence of octets as the representation. 4029 40302008-05-20 Kevin Pouget <pouget@adacore.com> 4031 4032 * exp_smem.ads, exp_smem.adb: Construction of access and assign 4033 routines has been replaced by an instantiation of 4034 System.Shared_Storage.Shared_Var_Procs generic package, while expanding 4035 shared variable declaration. 4036 Calls to access and assign routines have been replaced by calls to 4037 Read/Write routines of System.Shared_Storage.Shared_Var_Procs 4038 instantiated package. 4039 4040 * rtsfind.ads: RE_Shared_Var_Procs entry has been added in RE_Unit_Table 4041 It identifies the new generic package added in s-shasto. 4042 4043 * s-shasto.adb, s-shasto.ads: A new generic package has been added, it 4044 is instantiated for each shared passive variable. It provides 4045 supporting procedures called upon each read or write access by the 4046 expanded code. 4047 4048 * sem_attr.adb: 4049 For this runtime unit (always compiled in GNAT mode), we allow 4050 stream attributes references for limited types for the case where 4051 shared passive objects are implemented using stream attributes, 4052 which is the default in GNAT's persistent storage implementation. 4053 40542008-05-20 Ed Schonberg <schonberg@adacore.com> 4055 4056 * freeze.adb 4057 (Freeze_Enumeration_Type): For a subtype that inherits a foreign 4058 convention from its base type, do not set the type to that of integer, 4059 because it may inherit a size clause. 4060 Warn on a size clause with a size different 4061 from that of Integer, if the type has convention C. 4062 40632008-05-20 Vincent Celier <celier@adacore.com> 4064 4065 * gnatname.adb 4066 (Scan_Args): Rewrite to take into account new switch --and to separate 4067 arguments into sections. 4068 (Gnatname): Call Prj.Makr.Initialize, then Prj.Makr.Process for each 4069 section, then Finalize. 4070 40712008-05-20 Tristan Gingold <gingold@adacore.com> 4072 4073 * init.c: Enable stack probing on ppc-linux. 4074 4075 * tracebak.c: Add symbolic traceback for ppc-linux. 4076 4077 * system-linux-ppc.ads: Enable stack probing on ppc-linux. 4078 40792008-05-20 Arnaud Charlet <charlet@adacore.com> 4080 4081 * Makefile.in 4082 (common-tools): New rule, to avoid parallel build failure on gnat tools. 4083 Reenable parallel builds on this Makefile. 4084 4085 * Make-lang.in: Update dependencies. 4086 40872008-05-20 Robert Dewar <dewar@adacore.com> 4088 4089 * opt.ads (Treat_Restrictions_As_Warnings): New switch 4090 4091 * sem_prag.adb, par-prag.adb, restrict.ads: Implement flag 4092 Treat_Restrictions_As_Warnings. 4093 4094 * switch-c.adb: Recognize new switch -gnatr 4095 4096 * usage.adb: Add line for -gnatr 4097 40982008-05-20 Hristian Kirtchev <kirtchev@adacore.com> 4099 4100 * par-ch3.adb 4101 (P_Access_Definition): Change the error message when parsing "access 4102 all" in Ada 95 mode. The message no longer forces the user to recompile 4103 in 05 mode only to discover that anonymous access types are not allowed 4104 to have "all". 4105 41062008-05-20 Hristian Kirtchev <kirtchev@adacore.com> 4107 4108 * par-ch9.adb 4109 (P_Protected): Update the error message on missing "-gnat05" switch when 4110 using interfaces in conjunction with protected types. Remove the 4111 incorrect error message associated with the presence of "private" after 4112 a "with". 4113 41142008-05-20 Ed Schonberg <schonberg@adacore.com> 4115 4116 * sem_aggr.adb: Update comments. 4117 Improve previous change for PR ada/17985 4118 41192008-05-20 Thomas Quinot <quinot@adacore.com> 4120 4121 * sem_cat.adb 4122 (Set_Categorization_From_Scope): Do not set In_Remote_Types unless in 4123 the visible part of the spec of a remote types unit. 4124 (Validate_Remote_Access_Object_Type_Declaration): 4125 New local subprogram Is_Valid_Remote_Object_Type, replaces 4126 Is_Recursively_Limited_Private. 4127 (Validate_RACW_Primitives): Enforce E.2.2(14) rules: the types of all 4128 non-controlling formals (and the return type, even though this is not 4129 explicit in the standard) must support external streaming. 4130 (Validate_RCI_Subprogram_Declaration): Enforce E.2.3(14) rules: same 4131 as above for of RAS types and RCI subprograms. (The return type is not 4132 checked yet). 4133 Update comments related to RACWs designating limited interfaces per 4134 ARG ruling on AI05-060. 4135 4136 * sem_util.ads, sem_util.adb 4137 (Is_Remote_Access_To_Class_Wide_Type): Only rely on Is_Remote_Types and 4138 Is_Remote_Call_Interface to identify RACW types in a stable and 4139 consistent way. We used to rely in this predicate on the privateness of 4140 the designated type and its ancestors, but depending on the currently 4141 visible private parts, this caused false negatives. We now uniformly 4142 rely on checks made at the point where the RACW type is declared. 4143 (Inspect_Deferred_Constant_Completion): Moved from Sem_Ch7. 4144 41452008-05-20 Javier Miranda <miranda@adacore.com> 4146 Ed Schonberg <schonberg@adacore.com> 4147 Hristian Kirtchev <kirtchev@adacore.com> 4148 4149 * sem_ch3.adb 4150 (Analyze_Object_Declaration): Fix over-conservative condition 4151 restricting use of predefined assignment with tagged types that have 4152 convention CPP. 4153 (Analyze_Object_Declaration): Relax the check regarding deferred 4154 constants declared in scopes other than packages since they can be 4155 completed with pragma Import. 4156 Add missing escaping of all-caps word 'CPP' in error messages. 4157 (Build_Discriminated_Subtype): Do not inherit representation clauses 4158 from parent type if subtype already carries them, because they are 4159 inherited earlier during derivation and already include those that may 4160 come from a partial view. 4161 4162 * sem_ch9.adb, sem_ch5.adb, sem_ch6.adb (Analyze_Subprogram_Body): 4163 Check the declarations of a subprogram body for proper deferred 4164 constant completion. 4165 4166 * sem_ch7.ads, sem_ch7.adb 4167 (Inspect_Deferred_Constant_Completion): Moved to sem_util. 4168 41692008-05-20 Ed Schonberg <schonberg@adacore.com> 4170 Thomas Quinot <quinot@adacore.com> 4171 4172 * sem_ch4.adb 4173 (Try_Indexed_Call): Handle properly a construct of the form F(S) where 4174 F is a parameterless function that returns an array, and S is a subtype 4175 mark. 4176 (Analyze_Call): Insert dereference when the prefix is a parameterless 4177 function that returns an access to subprogram and the call has 4178 parameters. 4179 Reject a non-overloaded call whose name resolves to denote 4180 a primitive operation of the stub type generated to support a remote 4181 access-to-class-wide type. 4182 41832008-05-20 Ed Schonberg <schonberg@adacore.com> 4184 4185 * sem_ch8.adb 4186 (Note_Redundant_Use): Diagnose a redundant use within a subprogram body 4187 when there is a use clause for the same entity in the context. 4188 (Analyze_Subprogram_Renaming): A renaming_as_body is legal if it is 4189 created for a stream attribute of an abstract type or interface type. 4190 41912008-05-20 Thomas Quinot <quinot@adacore.com> 4192 4193 * sem_dist.ads, sem_dist.adb (Is_RACW_Stub_Type_Operation): New 4194 subprogram. 4195 4196 * sem_type.adb 4197 (Add_One_Interp): Ignore any interpretation that is a primitive 4198 operation of an RACW stub type (these primitives are only executed 4199 through dispatching, never through static calls). 4200 (Collect_Interps): When only one interpretation has been found, set N's 4201 Entity and Etype to that interpretation, otherwise Entity and Etype may 4202 still refer to an interpretation that was ignored by Add_One_Interp, 4203 in which case would end up with being marked as not overloaded but with 4204 an Entity attribute not pointing to its (unique) correct interpretation. 4205 42062008-05-20 Ed Schonberg <schonberg@adacore.com> 4207 4208 * sem_eval.adb 4209 (Eval_Slice): Warn when a slice whose discrete range is a subtype name 4210 denotes the whole array of its prefix. 4211 42122008-05-20 Robert Dewar <dewar@adacore.com> 4213 4214 * sem_res.adb (Resolve_Op_Not): Warn on double negation 4215 42162008-05-20 Ed Schonberg <schonberg@adacore.com> 4217 4218 * sprint.adb 4219 (Print_Itype): Do not modify the sloc of the component type of a 4220 (packed) array itype, because it is an unrelated type whose source 4221 location is independent of the point of creation of the itype itself. 4222 42232008-05-20 Thomas Quinot <quinot@adacore.com> 4224 4225 * uintp.adb, urealp.adb: Replace calls to Increment_Last + Set with 4226 Append. 4227 42282008-05-20 Robert Dewar <dewar@adacore.com> 4229 Vincent Celier <celier@adacore.com> 4230 4231 * vms_data.ads: Add entry for -gnatr 4232 Put GNAT SYNC section in proper alpha order 4233 Add VMS qualifier /DISPLAY_PROGRESS equivalent to gnatmake switch -d 4234 4235 * gnat_ugn.texi: Add documentation for new gnatname switch --and 4236 Update the style checks section 4237 Add documentation of -gnatr 4238 Add to the "Adding the Results of Compiler Checks to gnatcheck Output" 4239 subsection the explanation how compiler checks should be disabled for 4240 gnatcheck. 4241 Update the list of Ada 95 reserved words used by in the project language 4242 Add documentation for project qualifiers. 4243 Document that abstract projects may be extended by different projects in 4244 the same project tree. 4245 Add documentation for gnatmake switch -d 4246 4247 * ug_words: Add -gnatyy VMS equivalence string. 4248 Add entry for -gnatr 4249 42502008-05-20 Bob Duff <duff@adacore.com> 4251 4252 * a-rttiev.adb 4253 (Set_Handler): Remove code from both of these that implements 4254 RM-D.15(15/2), because it causes a race condition and potential 4255 deadlock. 4256 (Process_Queued_Events): Add comment explaining "exception when others 4257 => null". Add clarifying ".all", even though implicit .all is legal 4258 here. 4259 42602008-05-20 Arnaud Charlet <charlet@adacore.com> 4261 4262 * s-winext.ads: Replace representation clause by pragma Pack. Gives 4263 equivalent representation, but has the advantage of allowing 4264 compilation of this file under 64 bits platforms. 4265 4266 * s-os_lib.adb (Normalize_Pathname): Mark Cur_Dir constant. 4267 4268 * s-osinte-irix.ads: (Alternate_Stack_Size): Add dummy declaration. 4269 4270 * adaint.c: 4271 Don't define dummy implementation of convert_addresses on ppc-linux. 4272 42732008-05-20 Ed Schonberg <schonberg@adacore.com> 4274 4275 * exp_ch7.adb 4276 (Expand_Ctrl_Function_Call): Do not attach result to finalization list 4277 if expression is aggregate component. 4278 42792008-05-20 Robert Dewar <dewar@adacore.com> 4280 4281 * g-byorma.adb, gnatlink.adb, prepcomp.adb, sinfo.ads, 4282 sem_ch12.adb: Update comments. Minor reformatting. 4283 4284 * exp_ch2.adb: Typo 4285 4286 * s-unstyp.ads: Fixed some typos in comments. 4287 42882008-05-20 Arnaud Charlet <charlet@adacore.com> 4289 4290 * s-taspri-vxworks.ads (Task_Address, Task_Address_Size): New 4291 type/constant. 4292 4293 * g-socthi-vxworks.ads: Update to latest socket changes. 4294 4295 * a-caldel-vms.adb: Resync with a-caldel spec. 4296 4297 * exp_ch9.ads, sem_ch8.ads, inline.adb: Minor reformatting. 4298 Update comments. 4299 43002008-05-17 Eric Botcazou <ebotcazou@adacore.com> 4301 4302 * trans.c (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Account 4303 for dummy types pointed to by the converted pointer types. 4304 43052008-05-15 Eric Botcazou <ebotcazou@adacore.com> 4306 4307 * trans.c (add_decl_expr): At toplevel, mark the TYPE_ADA_SIZE field 4308 of records and unions. 4309 (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Fix formatting. 4310 43112008-05-14 Samuel Tardieu <sam@rfc1149.net> 4312 Robert Dewar <dewar@adacore.com> 4313 4314 * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Add 4315 restrictions to the prefix of 'Old. 4316 * sem_util.ads, sem_util.adb (In_Parameter_Specification): New. 4317 * gnat_rm.texi ('Old): Note that 'Old cannot be applied to local 4318 variables. 4319 43202008-05-13 Eric Botcazou <ebotcazou@adacore.com> 4321 4322 PR ada/24880 4323 PR ada/26635 4324 * utils.c (convert) <INTEGER_TYPE>: When converting an additive 4325 expression to an integral type with lower precision, use NOP_EXPR 4326 directly in a couple of special cases. 4327 43282008-05-12 Samuel Tardieu <sam@rfc1149.net> 4329 Ed Schonberg <schonberg@adacore.com> 4330 4331 * sem_ch3.adb (Build_Derived_Record_Type): Accept statically matching 4332 constraint expressions. 4333 43342008-05-12 Tomas Bily <tbily@suse.cz> 4335 4336 * utils2.c (known_alignment, contains_save_expr_p) 4337 (gnat_mark_addressable): Use CASE_CONVERT. 4338 * decl.c (annotate_value): Likewise. 4339 * trans.c (maybe_stabilize_reference): Likewise. 4340 * utils2.c (build_binary_op): Use CONVERT_EXPR_P. 4341 * utils.c (rest_of_record_type_compilation): Likewise. 4342 * trans.c (protect_multiple_eval, Attribute_to_gnu) 4343 (protect_multiple_eval): Likewise. 4344 43452008-05-08 Andreas Schwab <schwab@suse.de> 4346 4347 * utils.c (handle_pure_attribute, init_gigi_decls): Rename 4348 DECL_IS_PURE to DECL_PURE_P. 4349 43502008-05-05 Eric Botcazou <ebotcazou@adacore.com> 4351 4352 * decl.c (maybe_pad_type): Add ??? comment. 4353 43542008-05-03 Eric Botcazou <ebotcazou@adacore.com> 4355 4356 * decl.c (components_to_record): Zero the alignment of the qualified 4357 union built for the variant part upon creating it. 4358 43592008-05-03 Eric Botcazou <ebotcazou@adacore.com> 4360 4361 * decl.c (maybe_pad_type): Try to get a form of the type with integral 4362 mode even if the alignment is not a factor of the original size. But 4363 make sure to create the inner field with the original size. Reorder. 4364 * trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a padding 4365 record as always addressable. 4366 * utils.c (convert): Deal specially with conversions between original 4367 and packable versions of a record type. 4368 * utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive when 4369 recognizing an assignment between padded objects. 4370 43712008-05-01 Eric Botcazou <ebotcazou@adacore.com> 4372 4373 * decl.c (make_packable_type): Resize the last component to its RM size 4374 only if it is of an aggregate type. 4375 * trans.c (call_to_gnu): Fix nit in comment. 4376 (gnat_to_gnu): Likewise. 4377 43782008-04-30 Samuel Tardieu <sam@rfc1149.net> 4379 4380 * Makefile.in: Adapt sh4-linux target. 4381 43822008-04-29 Ed Schonberg <schonberg@adacore.com> 4383 4384 PR ada/35792 4385 * sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete 4386 tagged type by an untagged protected or task type. 4387 43882008-04-28 Eric Botcazou <ebotcazou@adacore.com> 4389 Tristan Gingold <gingold@adacore.com> 4390 4391 PR ada/36007 4392 * decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment 4393 of aliased objects with an unconstrained nominal subtype. 4394 Cap the promotion to the effective alignment of the word mode. 4395 43962008-04-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4397 4398 * Make-lang.in (ada.tags, check-acats, ada/treeprs.ads) 4399 (ada/einfo.h, ada/sinfo.h, ada/nmake.adb, ada/nmake.ads): 4400 Use '&&' instead of ';'. 4401 44022008-04-24 Olivier Hainque <hainque@adacore.com> 4403 4404 * trans.c (Attribute_to_gnu) <case Attr_Length>: Length computation 4405 doesn't require signed arithmetic anymore. 4406 44072008-04-23 Paolo Bonzini <bonzini@gnu.org> 4408 4409 * trans.c (Attribute_to_gnu): Don't set TREE_INVARIANT. 4410 (call_to_gnu): Don't set TREE_INVARIANT. 4411 * utils2.c (gnat_build_constructor): Don't set TREE_INVARIANT. 4412 44132008-04-22 Joel Sherrill <joel.sherrill@oarcorp.com> 4414 4415 * s-osinte-rtems.adb: Add sigalstack function. 4416 * s-osinte-rtems.ads: Add SO_ONSTACK and sigalstack 4417 function. Add Alternate_Stack and Alternate_Stack_Size. 4418 Add missing process_shared field to pthread_condattr_t 4419 and change ss_low_priority to int from timespec. 4420 44212008-04-22 Samuel Tardieu <sam@rfc1149.net> 4422 4423 * i-forbla.adb: Link against -llapack and -lblas by default 4424 instead of the private -lgnalasup. 4425 44262008-04-21 Olivier Hainque <hainque@adacore.com> 4427 4428 Access to most C builtins from Ada 4429 * utils.c: #include "langhooks.h" and define GCC_DIAG_STYLE. 4430 (handle_pure_attribute, handle_novops_attribute, 4431 handle_nonnull_attribute, handle_sentinel_attribute, 4432 handle_noreturn_attribute, handle_malloc_attribute, 4433 handle_type_generic_attribute): New attribute handlers, from C fe. 4434 (gnat_internal_attribute_table): Map the new handlers. 4435 (gnat_init_decl_processing): Move call to gnat_install_builtins to ... 4436 (init_gigi_decls): ... here. 4437 (handle_const_attribute, handle_nothrow_attribute, builtin_decl_for): 4438 Move to a section dedicated to builtins processing. 4439 (build_void_list_node, builtin_type_for_size): New functions. 4440 (def_fn_type, get_nonnull_operand): Likewise. 4441 (install_builtin_elementary_type, install_builtin_function_types, 4442 install_builtin_attributes): Likewise. 4443 (fake_attribute_handler): Fake handler for attributes we don't 4444 support in Ada. 4445 (def_builtin_1): New function, worker for DEF_BUILTIN. 4446 (install_builtin_functions): New function. 4447 (gnat_install_builtins): Move to the builtins processing section. 4448 Now calling the newly introduced installers. 4449 44502008-04-20 Eric Botcazou <ebotcazou@adacore.com> 4451 4452 * decl.c (gnat_to_gnu_entity) <object>: Also promote the alignment of 4453 constant objects, but not exceptions. 4454 * trans.c (add_decl_expr): Use gnat_types_compatible_p for type 4455 compatibility test. 4456 * utils.c (create_var_decl_1): Likewise. 4457 * utils2.c (build_binary_op) <MODIFY_EXPR>: Also use the padded view of 4458 the type when copying to padded object and the source is a constructor. 4459 44602008-04-18 Eric Botcazou <ebotcazou@adacore.com> 4461 4462 * decl.c (gnat_to_gnu_entity) <object>: When trying to promote the 4463 alignment, reset it to zero if it would end up not being greater 4464 than that of the type. 4465 44662008-04-18 Eric Botcazou <ebotcazou@adacore.com> 4467 4468 * decl.c (maybe_pad_type): Only generate the XVS parallel type if 4469 the padded type has a variable size. 4470 44712008-04-18 Eric Botcazou <ebotcazou@adacore.com> 4472 4473 * decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Use the return by 4474 target pointer mechanism as soon as the size is not constant. 4475 44762008-04-18 Eric Botcazou <ebotcazou@adacore.com> 4477 4478 * gigi.h (create_var_decl_1): Declare. 4479 (create_var_decl): Turn into a macro invoking create_var_decl_1. 4480 (create_true_var_decl): Likewise. 4481 * utils.c (create_var_decl_1): Make global and reorder parameters. 4482 (create_var_decl): Delete. 4483 (create_true_var_decl): Likewise. 4484 44852008-04-17 Eric Botcazou <ebotcazou@adacore.com> 4486 4487 * decl.c (gnat_to_gnu_entity) <object>: Promote the alignment of 4488 objects by default. 4489 * fe.h (Debug_Flag_Dot_A): Delete. 4490 * debug.adb (-gnatd.a): Update documentation. 4491 44922008-04-17 Samuel Tardieu <sam@rfc1149.net> 4493 4494 * g-socket.ads, g-socket.adb (Get_Address): Make Stream a 4495 "not null" parameter. 4496 44972008-04-17 Samuel Tardieu <sam@rfc1149.net> 4498 4499 * g-socket.adb: Add a message "IPv6 not supported" to the 4500 Socket_Error exception. 4501 45022008-04-16 Samuel Tardieu <sam@rfc1149.net> 4503 4504 PR ada/29015 4505 * sem_ch12.adb (Instantiate_Type): Check whether the full view of 4506 the type is known instead of the underlying type. 4507 45082008-04-15 Ed Schonberg <schonberg@adacore.com> 4509 4510 PR ada/22387 4511 * exp_ch5.adb (Expand_Assign_Record): Within an initialization 4512 procedure for a derived type retrieve the discriminant values from 4513 the parent using the corresponding discriminant. 4514 45152008-04-15 Samuel Tardieu <sam@rfc1149.net> 4516 Gary Dismukes <dismukes@adacore.com> 4517 4518 PR ada/28733 4519 * sem_ch8.adb (Analyze_Use_Package): Do not allow "use" of something 4520 which is not an entity (and hence not a package). 4521 (End_Use_Package): Ditto. 4522 45232008-04-15 Ed Schonberg <schonberg@adacore.com> 4524 4525 PR ada/16086 4526 * sem_ch12.adb (Analyze_Formal_Subprogram): The default can be any 4527 protected operation that matches the signature, not only an entry, a 4528 regular subprogram or a literal. 4529 45302008-04-15 Eric Botcazou <ebotcazou@adacore.com> 4531 4532 * ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3. 4533 * decl.c (gnat_to_gnu_entity) <object>: Call maybe_pad_type only 4534 if a size or alignment is specified. Do not take into account 4535 alignment promotions for the computation of the object's size. 4536 <type>: Call maybe_pad_type only if a size or alignment is specified. 4537 (maybe_pad_type): Really reuse the RM_Size of the original type if 4538 requested. 4539 * trans.c (Attribute_to_gnu): Fix a couple of nits. 4540 * utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditional 4541 statements. Use the padded view of the type when copying between 4542 padded objects of the same underlying type. 4543 45442008-04-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4545 4546 * vms_data.ads: Fix typo in constant. 4547 * gen-soccon.c: Fix typo in error string. 4548 * gnat_rm.texi (Pragma Optimize_Alignment, Pragma Postcondition): 4549 Fix typos. 4550 * a-calcon.ads, a-calend-vms.adb, a-calend.adb, a-crdlli.ads, 4551 bcheck.adb, checks.adb, einfo.ads, errout.adb, erroutc.adb, 4552 erroutc.ads, exp_attr.adb, exp_ch11.adb, exp_ch2.adb, 4553 exp_ch5.adb, exp_ch9.adb, exp_ch9.ads, exp_pakd.adb, 4554 exp_util.adb, fmap.adb, g-soccon-linux-mips.ads, 4555 g-soccon-rtems.ads, g-timsta.adb, g-timsta.ads, lib-writ.ads, 4556 mlib-tgt-specific-linux.adb, mlib-tgt-specific-tru64.adb, 4557 s-interr-vxworks.adb, s-interr.adb, s-osinte-lynxos.ads, 4558 s-rident.ads, s-taprop-solaris.adb, s-tassta.adb, s-win32.ads, 4559 sem_aggr.adb, sem_attr.ads, sem_ch10.adb, sem_ch13.ads, 4560 sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, 4561 sem_prag.ads, sem_res.adb, sem_util.adb, sem_util.ads, 4562 sinfo.ads: Fix typos in comments. 4563 45642008-04-14 Robert Dewar <dewar@adacore.com> 4565 4566 * sem_prag.adb (Analyze_Pragma, Linker_Section case): Extend error 4567 to every non-object and change error message. 4568 45692008-04-14 Robert Dewar <dewar@adacore.com> 4570 4571 * sem_util.ads, sem_util.adb (In_Subprogram): Remove. 4572 * sem_attr.adb (Anayze_Attribute): Check for Current_Subprogram 4573 directly. 4574 45752008-04-14 Samuel Tardieu <sam@rfc1149.net> 4576 4577 PR ada/18680 4578 * sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to 4579 apply pragma Linker_Section on type. 4580 45812008-04-14 Samuel Tardieu <sam@rfc1149.net> 4582 4583 PR ada/16098 4584 * sem_prag.adb (Error_Pragma_Ref): New. 4585 (Process_Convention): Specialized message for non-local 4586 subprogram renaming. Detect the problem in homonyms as well. 4587 45882008-04-14 Samuel Tardieu <sam@rfc1149.net> 4589 4590 PR ada/15915 4591 * sem_util.ads, sem_util.adb (Denotes_Variable): New function. 4592 * sem_ch12.adb (Instantiate_Object): Use it. 4593 * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ensure that 4594 storage pool denotes a variable as per RM 13.11(15). 4595 45962008-04-14 Samuel Tardieu <sam@rfc1149.net> 4597 4598 * sem_util.ads, sem_util.adb (In_Subprogram): New function. 4599 * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Use it. 4600 46012008-04-14 Rolf Ebert <rolf.ebert.gcc@gmx.de> 4602 4603 PR ada/20822 4604 * xgnatugn.adb (Put_Line): New procedure, ensuring Unix 4605 line endings even on non-Unix platforms. 4606 46072008-04-14 Samuel Tardieu <sam@rfc1149.net> 4608 4609 PR ada/35050 4610 * xref_lib.adb (Parse_Identifier_Info): Correctly parse and ignore the 4611 renaming information. 4612 46132008-04-13 Samuel Tardieu <sam@rfc1149.net> 4614 4615 PR ada/17985 4616 * sem_aggr.adb (Valid_Ancestor_Type): A type is not an ancestor of 4617 itself. 4618 46192008-04-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4620 4621 * sfn_scan.adb, sfn_scan.ads, sinfo.ads, 4622 sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput.ads, 4623 snames.ads, sprint.adb, stand.ads, stringt.ads, 4624 styleg.adb, styleg.ads, stylesw.adb, stylesw.ads, 4625 switch.ads, sysdep.c, table.adb, table.ads, 4626 targparm.ads, tb-gcc.c, tbuild.ads, tracebak.c, 4627 trans.c, tree_io.adb, treepr.adb, types.adb, types.ads, 4628 uintp.adb, uintp.ads, utils.c, utils2.c, validsw.ads, 4629 vms_conv.adb, vms_conv.ads, vms_data.ads, widechar.adb, 4630 widechar.ads, xeinfo.adb, xgnatugn.adb, xr_tabls.adb, 4631 xr_tabls.ads, xref_lib.adb, xref_lib.ads, xsinfo.adb: 4632 Fix comment typos. 4633 4634 * sem_ch10.adb, sem_ch10.ads, 4635 sem_ch12.adb, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads, 4636 sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, 4637 sem_ch6.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, 4638 sem_elab.adb, sem_elab.ads, sem_elim.ads, sem_eval.adb, 4639 sem_eval.ads, sem_intr.adb, sem_mech.adb, sem_mech.ads, 4640 sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads, 4641 sem_type.adb, sem_util.adb, sem_util.ads, sem_warn.adb, 4642 sem_warn.ads: Fix comment typos. 4643 4644 * s-secsta.adb, s-sequio.ads, s-shasto.ads, 4645 s-soflin.ads, s-stalib.ads, s-stausa.adb, 4646 s-stausa.ads, s-strxdr.adb, s-taenca.adb, s-taenca.ads, 4647 s-taprob.adb, s-taprop-hpux-dce.adb, s-taprop-irix.adb, 4648 s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-posix.adb, 4649 s-taprop-solaris.adb, s-taprop-tru64.adb, s-taprop-vms.adb, 4650 s-taprop-vxworks.adb, s-taprop.ads, s-tarest.adb, 4651 s-tarest.ads, s-tasini.adb, s-tasini.ads, s-taskin.ads, 4652 s-tasque.ads, s-tassta.adb, s-tassta.ads, s-tasuti.ads, 4653 s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, 4654 s-tpopsp-posix.adb, s-tpopsp-rtems.adb, s-tposen.adb, 4655 s-tposen.ads, s-traceb-hpux.adb, s-traces.ads, 4656 s-trafor-default.ads, s-unstyp.ads, s-utf_32.ads, 4657 s-vaflop.adb, s-vaflop.ads, s-valrea.adb, s-valuti.adb, 4658 s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, scans.ads, 4659 scn.adb, scng.adb, seh_init.c, sem.ads, sem_aggr.adb, 4660 sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads, 4661 sem_cat.adb, sem_cat.ads: Fix comment typos. 4662 46632008-04-12 Joel Sherrill <joel@oarcorp.com> 4664 4665 PR ada/35825 4666 * g-soccon-rtems.ads: Add IP_PKTINFO as unsupported. 4667 46682008-04-12 Arnaud Charlet <charlet@adacore.com> 4669 4670 * s-linux-hppa.ads: Fix syntax errors. 4671 46722008-04-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 4673 4674 * gnat_ugn.texi: Fix typos. 4675 * raise-gcc.c, repinfo.adb, repinfo.ads, restrict.adb, 4676 restrict.ads, rtsfind.adb, rtsfind.ads, s-arit64.ads, 4677 s-asthan-vms-alpha.adb, s-auxdec.ads, s-casuti.ads, 4678 s-fatflt.ads, s-fatgen.adb, s-fatlfl.ads, 4679 s-fatllf.ads, s-fatsfl.ads, s-filofl.ads, 4680 s-finimp.adb, s-finroo.ads, s-fishfl.ads, 4681 s-fvadfl.ads, s-fvaffl.ads, s-fvagfl.ads, 4682 s-hibaen.ads, s-htable.ads, s-imgcha.adb, 4683 s-imgenu.ads, s-imgint.adb, s-imgrea.adb, 4684 s-inmaop-dummy.adb, s-inmaop.ads, s-interr-vms.adb, 4685 s-interr-vxworks.adb, s-interr.adb, s-interr.ads, 4686 s-intman-vxworks.ads, s-intman.ads, s-mastop-irix.adb, 4687 s-os_lib.adb, s-os_lib.ads, s-osinte-aix.ads, 4688 s-osinte-darwin.ads, s-osinte-freebsd.ads, 4689 s-osinte-hpux.ads, s-osinte-lynxos-3.adb, 4690 s-osinte-lynxos-3.ads, s-osinte-lynxos.ads, 4691 s-osinte-rtems.ads, s-osinte-solaris-posix.ads, 4692 s-osprim-mingw.adb, s-osprim-vms.adb, s-parame-ae653.ads, 4693 s-parame-hpux.ads, s-parame-vms-alpha.ads, 4694 s-parame-vms-ia64.ads, s-parame-vms-restrict.ads, 4695 s-parame-vxworks.ads, s-parame.ads, s-parint.adb, 4696 s-parint.ads, s-poosiz.adb, s-proinf-irix-athread.ads, 4697 s-proinf.ads, s-regexp.adb, s-regpat.adb, s-regpat.ads, 4698 s-rident.ads: Fix comment typos. 4699 47002008-04-09 Samuel Tardieu <sam@rfc1149.net> 4701 4702 PR ada/28305 4703 * sem_ch6.adb (Build_Body_To_Inline): Do not save and restore 4704 environment if generic instance is a top-level one. 4705 47062008-04-09 Doug Rupp <rupp@adacore.com> 4707 4708 * decl.c (validate_size): Set minimum size for fat pointers same as 4709 access types. Code clean ups. 4710 4711 * gmem.c (xstrdup32): New macro for 32bit dup on VMS, noop otherwise 4712 (__gnat_gmem_a2l_initialize): Dup exename into 32 bit memory on VMS 4713 4714 * s-auxdec-vms_64.ads, s-auxdec.ads (Short_Address_Size): New constant 4715 4716 * s-crtl.ads (malloc32) New function, alias for malloc 4717 (realloc32) New function, alias for realloc 4718 4719 * socket.c (__gnat_new_socket_set): Malloc fd_set in 32 bits on VMS 4720 4721 * utils2.c (build_call_alloc_dealloc): Return call to short malloc if 4722 allocator size is 32 and default pointer size is 64. 4723 (find_common_type): Document assumption on t1/t2 vs lhs/rhs. Force use of 4724 lhs type if smaller, whatever the modes. 4725 4726 * gigi.h (malloc32_decl): New macro definition 4727 4728 * utils.c (init_gigi_decls): New malloc32_decl 4729 Various code clean ups. 4730 4731 * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to 4732 Task_Address vice System.Address. 4733 4734 * s-taspri-vms.ads: Import System.Aux_DEC 4735 (Task_Address): New subtype of System.Aux_DEC.Short_Address 4736 (Task_Address_Size): New constant size of System.Aux_DEC.Short_Address 4737 4738 * s-asthan-vms-alpha.adb (Process_AST.To_Address): Unchecked convert to 4739 Task_Address vice System.Address. 4740 4741 * s-inmaop-vms.adb: Import System.Task_Primitives 4742 (To_Address): Unchecked convert to Task_Address vice System.Address 4743 4744 * s-taprop-vms.adb (Timed_Delay): Always set the timer even if delay 4745 expires now. 4746 (To_Task_ID) Unchecked convert from Task_Adddress vice System.Address 4747 (To_Address) Unchecked convert to Task_Address vice System.Address 4748 4749 * s-tpopde-vms.adb: Remove unnecessary warning pragmas 4750 4751 * g-socthi-vms.ads: Add 32bit size clauses on socket access types. 4752 47532008-04-08 Eric Botcazou <ebotcazou@adacore.com> 4754 4755 * gigi.h (standard_datatypes): Add ADT_fdesc_type and ADT_null_fdesc. 4756 (fdesc_type_node): Define. 4757 (null_fdesc_node): Likewise. 4758 * decl.c (gnat_to_gnu_entity) <E_Access_Subprogram_Type>: If the target 4759 uses descriptors for vtables and the type comes from a dispatch table, 4760 return the descriptor type. 4761 * trans.c (Attribute_to_gnu) <Attr_Unrestricted_Access>: If the target 4762 uses descriptors for vtables and the type comes from a dispatch table, 4763 build a descriptor in the static case and copy the existing one in the 4764 non-static case. 4765 (gnat_to_gnu) <N_Null>: If the target uses descriptors for vtables and 4766 the type is a pointer-to-subprogram coming from a dispatch table, 4767 return the null descriptor. 4768 <N_Unchecked_Type_Conversion>: If the target uses descriptors for 4769 vtables, the source type is the descriptor type and the target type 4770 is a pointer type, first build the pointer. 4771 * utils.c (init_gigi_decls): If the target uses descriptors for vtables 4772 build the descriptor type and the null descriptor. 4773 47742008-04-08 Eric Botcazou <ebotcazou@adacore.com> 4775 4776 * decl.c (prepend_attributes): Fix typo. 4777 * trans.c (Pragma_to_gnu): Likewise. 4778 * utils.c (gnat_genericize): Likewise. 4779 47802008-04-08 Eric Botcazou <ebotcazou@adacore.com> 4781 Richard Kenner <kenner@adacore.com> 4782 4783 * ada-tree.h (TYPE_PACKED_ARRAY_TYPE_P): Only set it when bit-packed. 4784 * decl.c (gnat_to_gnu_entity): Adjust for above change. 4785 <E_Record_Type>: Try to get a better form of the component for 4786 packing, even if it has an integral mode. 4787 <E_Record_Subtype>: Likewise. 4788 * trans.c (gnat_to_gnu): Do not require BLKmode for the special 4789 exception suppressing the final conversion between record types. 4790 47912008-04-08 Eric Botcazou <ebotcazou@adacore.com> 4792 4793 * decl.c (gnat_to_gnu_entity) <object>: If -gnatd.a and not optimizing 4794 alignment for space, promote the alignment of non-scalar variables with 4795 no size and alignment. 4796 * gigi.h (gnat_types_compatible_p): Declare. 4797 * misc.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Set to above predicate. 4798 * trans.c (gnat_to_gnu): Revert revision 129339 change. Minor cleanup. 4799 * utils.c (gnat_types_compatible_p) : New predicate. 4800 (convert): Use it throughout to test for cases where a mere view 4801 conversion is sufficient. 4802 * utils2.c (build_binary_op): Minor tweaks. 4803 (build_unary_op): Likewise. 4804 48052008-04-08 Eric Botcazou <ebotcazou@adacore.com> 4806 4807 * decl.c (adjust_packed): Expand comment. 4808 48092008-04-08 Arnaud Charlet <charlet@adacore.com> 4810 4811 * s-tasuti.ads: Use Task_Address instead of System.Address. 4812 4813 * makeutl.adb (Path_Or_File_Name): New function 4814 4815 * nlists.ads, itypes.ads: Update comments. 4816 4817 * s-crtl.ads (malloc32, realloc32): New functions. 4818 4819 * s-auxdec.ads (Short_Address_Size): New constant. 4820 4821 * a-taside.adb, s-tasdeb.adb: Use Task_Address. 4822 4823 * s-ststop.ads, s-ststop.adb: New file. 4824 4825 * exp_tss.ads, s-taprop-lynxos.adb: Update comments. 4826 Minor reformatting. 4827 48282008-04-08 Pascal Obry <obry@adacore.com> 4829 4830 * g-sercom.ads, g-sercom.adb (Data_Rate): Add B115200. 4831 (Stop_Bits_Number): New type. 4832 (Parity_Check): Likewise. 4833 (Set): Add parameter to set the number of stop bits and 4834 the parity. Parameter timeout is now a duration instead 4835 of a plain integer. 4836 4837 * g-sercom-linux.adb: 4838 Implement the stop bits and parity support for GNU/Linux. 4839 Fix handling of timeout, it must be given in tenth of seconds. 4840 4841 * g-sercom-mingw.adb: 4842 Implement the stop bits and parity support for Windows. 4843 Use new s-win32.ads unit instead of declaring Win32 services 4844 directly into this body. 4845 Update handling of timeout as now a duration. 4846 4847 * s-win32.ads, s-winext.ads: New files. 4848 48492008-04-08 Eric Botcazou <ebotcazou@adacore.com> 4850 Arnaud Charlet <charlet@adacore.com> 4851 4852 * s-osinte-linux-alpha.ads, s-osinte-linux-hppa.ads: Removed. 4853 4854 s-taspri-posix-noaltstack.ads, s-linux.ads, s-linux-alpha.ads, 4855 s-linux-hppa.ads: New files. Disable alternate stack on ia64-hpux. 4856 4857 * s-osinte-lynxos-3.ads, 4858 (Alternate_Stack): Remove when not needed. Simplify declaration 4859 otherwise. 4860 (Alternate_Stack_Size): New constant. 4861 4862 s-osinte-mingw.ads, s-taprop-mingw.adb: Code clean up: avoid use of 4863 'Unrestricted_Access. 4864 4865 * s-osinte-hpux.ads, s-osinte-solaris-posix.ads, s-osinte-aix.ads, 4866 s-osinte-lynxos.ads, s-osinte-freebsd.ads s-osinte-darwin.ads, 4867 s-osinte-tru64.ads, s-osinte-irix.ads, s-osinte-linux.ads, 4868 s-osinte-solaris.ads, s-osinte-vms.ads 4869 (SA_ONSTACK): New constant. 4870 (stack_t): New record type. 4871 (sigaltstack): New imported function. 4872 (Alternate_Stack): New imported variable. 4873 (Alternate_Stack_Size): New constant. 4874 4875 * system-linux-x86_64.ads: (Stack_Check_Probes): Set to True. 4876 4877 * s-taspri-lynxos.ads, s-taspri-solaris.ads, s-taspri-tru64.ads, 4878 s-taspri-hpux-dce.ads, s-taspri-dummy.ads, s-taspri-posix.ads, 4879 s-taspri-vms.ads (Task_Address): New subtype of System.Address 4880 (Task_Address_Size): New constant size of System.Address 4881 (Alternate_Stack_Size): New constant. 4882 4883 * s-taprop-posix.adb, s-taprop-linux.adb (Get_Stack_Attributes): Delete. 4884 (Enter_Task): Do not notify stack to System.Stack_Checking.Operations. 4885 Establish the alternate stack if the platform makes use of n alternate 4886 signal stack for stack overflows. 4887 (Create_Task): Take into account the alternate stack in the stack size. 4888 (Initialize): Save the address of the alternate stack into the ATCB for 4889 the environment task. 4890 (Create_Task): Fix assertions for NPTL library (vs old LinuxThreads). 4891 4892 * s-parame.adb (Minimum_Stack_Size): Increase value to 16K 4893 4894 * system-linux-x86.ads: (Stack_Check_Probes): Set to True. 4895 4896 * s-intman-posix.adb: 4897 (Initialize): Set SA_ONSTACK for SIGSEGV if the platform makes use of an 4898 alternate signal stack for stack overflows. 4899 4900 * init.c (__gnat_adjust_context_for_raise, Linux version): On i386 and 4901 x86-64, adjust the saved value of the stack pointer if the signal was 4902 raised by a stack checking probe. 4903 (HP-UX section): Use global __gnat_alternate_stack as signal handler 4904 stack and only for SIGSEGV. 4905 (Linux section): Likewise on x86 and x86-64. 4906 [VxWorks section] 4907 (__gnat_map_signal): Now static. 4908 (__gnat_error_handler): Not static any more. 4909 (__gnat_adjust_context_for_raise): New function. Signal context 4910 adjustment for PPC && !VTHREADS && !RTP, as required by the zcx 4911 propagation circuitry. 4912 (__gnat_error_handler): Second argument of a sigaction handler is a 4913 pointer, not an int, and is unused. 4914 Adjust signal context before mapping to exception. 4915 Install signal handlers for LynxOS case. 4916 4917 * s-taskin.ads (Common_ATCB): New field Task_Alternate_Stack. 4918 (Task_Id): Set size to Task_Address_Size 4919 (To_Task_id): Unchecked convert from Task_Address vice System.Address 4920 (To_Address): Unchecked convert to Task_Address vice System.Address 4921 4922 * s-tassta.adb (Task_Wrapper): Define the alternate stack and save its 4923 address into the ATCB if the platform makes use of an alternate signal 4924 stack for stack overflows. 4925 (Free_Task): Add call to Finalize_Attributes_Link. 4926 Add argument Relative_Deadline to pass the value specified for 4927 the task. This is not yet used for any target. 4928 4929 * s-tassta.ads (Create_Task): Add argument Relative_Deadline to pass 4930 the value specified for the task. 4931 49322008-04-08 Arnaud Charlet <charlet@adacore.com> 4933 4934 (s-osinte-vxworks6.ads): Removed, merged with s-osinte-vxworks.ads/.adb 4935 (s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads, 4936 s-vxwext-rtp.adb): New files. 4937 4938 * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-osinte-vxworks.adb: 4939 Minor updates to accomodate changes above. 4940 49412008-04-08 Pascal Obry <obry@adacore.com> 4942 4943 * a-exetim-mingw.adb, s-gloloc-mingw.adb, s-taprop-mingw.adb, 4944 s-tasinf-mingw.ad{s,b}, s-taspri-mingw.ads: 4945 Use new s-win32.ads unit instead of declaration 4946 from s-osinte-mingw.ads. 4947 4948 * s-osinte-mingw.ads: 4949 Move all non tasking based interface to s-win32.ads. 4950 4951 * s-osprim-mingw.adb: 4952 Remove duplicated declarations and use s-win32.ads 4953 unit instead. 4954 49552008-04-08 Vincent Celier <celier@adacore.com> 4956 Arnaud Charlet <charlet@adacore.com> 4957 4958 * mlib-tgt-aix.adb, mlib-tgt-darwin.adb, mlib-tgt-hpux.adb, 4959 mlib-tgt-irix.adb, mlib-tgt-linux.adb, mlib-tgt-lynxos.adb, 4960 mlib-tgt-solaris.adb, mlib-tgt-tru64.adb, mlib-tgt-vms.adb, 4961 mlib-tgt-vms.ads, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, 4962 mlib-tgt-vxworks.adb, mlib-tgt-mingw.adb: Renamed into... 4963 4964 * mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb, 4965 mlib-tgt-specific-hpux.adb, mlib-tgt-specific-irix.adb, 4966 mlib-tgt-specific-linux.adb, mlib-tgt-specific-lynxos.adb, 4967 mlib-tgt-specific-solaris.adb, mlib-tgt-specific-tru64.adb, 4968 mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads, 4969 mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb, 4970 mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb, 4971 mlib-tgt-specific-mingw.adb: New names. 4972 4973 * Makefile.in: 4974 On VxWorks platforms use s-stchop-limit.ads for s-stchop.ads 4975 Get rid of gnatbl. 4976 (EXTRA_GNATRTL_NONTASKING_OBJS): Add s-win32.o 4977 Files mlib-tgt-*.adb have been renamed mlib-tgt-specific-*.adb 4978 Minor updates for VMS 4979 4980 * gnatbl.c: Removed. 4981 49822008-04-08 Thomas Quinot <quinot@adacore.com> 4983 4984 * g-expect-vms.adb, a-textio.adb, a-witeio.adb, exp_dbug.adb, 4985 g-expect.adb, g-locfil.adb, gnatchop.adb, gnatdll.adb, gnatlbr.adb, 4986 gnatmem.adb, g-regist.adb, i-vxwork.ads, mlib-utl.adb, i-vxwork-x86.ads, 4987 a-ztexio.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-ia64.adb, 4988 s-os_lib.adb, s-regpat.adb, s-regpat.ads: Fix incorrect casing of 4989 ASCII.NUL throughout. 4990 49912008-04-08 Arnaud Charlet <charlet@adacore.com> 4992 Matthew Heaney <heaney@adacore.com> 4993 4994 * a-cgcaso.adb, a-convec.adb: (Swap, Sift): Avoid use of complex 4995 renaming. 4996 4997 * a-cgaaso.ads, a-secain.ads, a-slcain.ads, a-shcain.ads, 4998 a-crdlli.ads, a-coormu.ads, a-ciormu.ads: modified header to conform 4999 to convention for non-RM specs. 5000 Add descriptive header, and documented each operation 5001 document each operation 5002 50032008-04-08 Robert Dewar <dewar@adacore.com> 5004 Bob Duff <duff@adacore.com> 5005 Gary Dismukes <dismukes@adacore.com> 5006 Ed Schonberg <schonberg@adacore.com> 5007 5008 * alloc.ads: Add entries for Obsolescent_Warnings table 5009 5010 * einfo.ads, einfo.adb: Minor reformatting. 5011 (Is_Discriminal): New subprogram. 5012 (Is_Prival): New subprogram. 5013 (Is_Protected_Component): New subprogram. 5014 (Is_Protected_Private): Removed. 5015 (Object_Ref, Set_Object_Ref): Removed. 5016 (Prival, Set_Prival): Change assertion. 5017 (Privals_Chain, Set_Privals_Chain): Removed. 5018 (Prival_Link, Set_Prival_Link): New subprogram. 5019 (Protected_Operation, Set_Protected_Operation): Removed. 5020 (Protection_Object, Set_Protection_Object): New subprogram. 5021 (Write_Field17_Name): Remove case for Object_Ref. 5022 (Write_Field20_Name): Add case for Prival_Link. 5023 (Write_Field22_Name): Remove case for Protected_Operation, 5024 Privals_Chain. 5025 Add case for Protection_Object. 5026 (Can_Use_Internal_Rep): Make this into a [base type only] attribute, 5027 so clients 5028 (Overlays_Constant): New flag 5029 (Is_Constant_Object): New predicate 5030 (Is_Standard_Character_Type): New predicate 5031 (Optimize_Alignment_Space): New flag 5032 (Optimize_Alignment_Time): New flag 5033 (Has_Postconditions): New flag 5034 (Obsolescent_Warrning): Field removed 5035 (Spec_PPC_List): New field 5036 (Relative_Deadline_Variable, Set_Relative_Deadline_Variable): Add 5037 subprograms to get and set the relative deadline associated to a task. 5038 5039 * exp_attr.adb (May_Be_External_Call): Account for the case where the 5040 Access attribute is part of a named parameter association. 5041 (Expand_Access_To_Protected_Op): Test for the attribute occurring 5042 within an init proc and use that directly as the scope rather than 5043 traversing up to the protected operation's enclosing scope. Only apply 5044 assertion on Is_Open_Scopes in the case the scope traversal is done. 5045 For the init proc case use the address of the first formal (_init) as 5046 the protected object reference. 5047 Implement Invalid_Value attribute 5048 (Expand_N_Attribute_Reference): Case Attribute_Unrestricted_Access. 5049 contents of the dispatch table there is no need to duplicate the 5050 itypes associated with record types (i.e. the implicit full view 5051 of private types). 5052 Implement Enum_Val attribute 5053 (Expand_N_Attribute_Reference, case Old): Properly handle appearence 5054 within _Postconditions procedure 5055 (Expand_N_Attribute_Reference, case Result): Implement new attribute 5056 5057 * exp_ch5.adb (Expand_N_Simple_Return_Statement): Handle case in which 5058 a return statement calls a function that is not available in 5059 configurable runtime. 5060 (Analyze_If_Statement): don't optimize simple True/False cases in -O0 5061 (Expand_Non_Function_Return): Generate call to _Postconditions proc 5062 (Expand_Simple_Function_Return): Ditto 5063 5064 * frontend.adb: Add call to Sem_Aux.Initialize 5065 5066 * sem_aux.ads, sem_aux.adb: New file. 5067 5068 * par-prag.adb: Add entries for pragmas Precondition/Postcondition 5069 Add new Pragma_Relative_Deadline. 5070 Add support for pragmas Check and Check_Policy 5071 5072 * sem_attr.ads, sem_attr.adb (Check_Not_CPP_Type): New subprogram. 5073 (Check_Stream_Attribute): Add missing check (not allowed in CPP types) 5074 (Analyze_Attribute): In case of attributes 'Alignment and 'size add 5075 missing check because they are not allowed in CPP tagged types. 5076 Add Sure parameter to Note_Possible_Modification calls 5077 Add implementation of Invalid_Value attribute 5078 Implement new attribute Has_Tagged_Values 5079 Implement Enum_Val attribute 5080 (Analyze_Attribute, case Range): Set Name_Req True for prefix of 5081 generated attributes. 5082 (Analyze_Attribute, case Result): If prefix of the attribute is 5083 overloaded, it always resolves to the enclosing function. 5084 (Analyze_Attribute, case Result): Properly deal with analysis when 5085 Postconditions are not active. 5086 (Resolve_Attribute, case Result): Properly deal with appearence during 5087 preanalysis in spec. 5088 Add processing for attribute Result 5089 5090 * sem_ch6.ads, sem_ch6.adb (Check_Overriding_Indicator): Code cleanup 5091 for operators. 5092 (Analyze_Subprogram_Body): Install private_with_clauses when the body 5093 acts as a spec. 5094 (Check_Inline_Pragma): recognize an inline pragma that appears within 5095 the subprogram body to which it applies. 5096 (Analyze_Function_Return): Check that type of the expression of a return 5097 statement in a function with a class-wide result is not declared at a 5098 deeper level than the function. 5099 (Process_PPCs): Deal with enabling/disabling, using PPC_Enabled flag 5100 (Verify_Overriding_Indicator): Handle properly subprogram bodies for 5101 user- defined operators. 5102 (Install_Formals): Moved to spec to allow use from Sem_Prag for 5103 analysis of precondition/postcondition pragmas. 5104 (Analyze_Subprogram_Body.Last_Real_Spec_Entity): New name for 5105 Last_Formal, along with lots of comments on what this is about 5106 (Analyze_Subprogram_Body): Fix case where we move entities from the 5107 spec to the body when there are no body entities (now possible with 5108 precondition and postcondition pragmas). 5109 (Process_PPCs): New procedure 5110 (Analyze_Subprogram_Body): Add call to Process_PPCs 5111 5112 * sem_ch8.adb (Use_One_Type): refine warning on a redundant use_type 5113 clause. 5114 (Pop_Scope): Restore Check_Policy_List on scope exit 5115 (Push_Scope): Save Check_Policy_List on scope entry 5116 Change name In_Default_Expression => In_Spec_Expression 5117 Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression 5118 Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve 5119 (Analyze_Object_Renaming): Allow 'Reference as object 5120 (Analyze_Pragma, case Restriction_Warnings): Call GNAT_Pragma 5121 (Process_Restrictions_Or_Restriction_Warnings): Check for bad spelling 5122 of restriction identifier. 5123 Add Sure parameter to Note_Possible_Modication calls 5124 5125 * sem_prag.ads, sem_prag.adb (Analyze_Pragma, case Stream_Convert): 5126 Don't check for primitive operations when calling Rep_Item_Too_Late. 5127 (Process_Import_Or_Interface): Do not place flag on formal 5128 subprograms. 5129 (Analyze_Pragma, case Export): If the entity is a deferred constant, 5130 propagate information to full view, which is the one elaborated by the 5131 back-end. 5132 (Make_Inline): the pragma is effective if it applies to an internally 5133 generated subprogram declaration for a body that carries the pragma. 5134 (Analyze_Pragma, case Optimize_Alignment): Set new flag 5135 Optimize_Alignment_Local. 5136 (Analyze_PPC_In_Decl_Part): New procedure 5137 (Get_Pragma_Arg): Moved to outer level 5138 (Check_Precondition_Postcondition): Change to allow new visibility 5139 rules for package spec 5140 (Analyze_Pragma, case Check_Policy): Change placement rules to be 5141 same as pragma Suppress/Unsuppress. 5142 Change name In_Default_Expression => In_Spec_Expression 5143 Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression 5144 Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve 5145 (Check_Precondition_Postcondition): Do proper visibility preanalysis 5146 for the case of these pragmas appearing in the spec. 5147 (Check_Enabled): New function 5148 (Initialize): New procedure 5149 (Tree_Read): New procedure 5150 (Tree_Write): New procedure 5151 (Check_Precondition_Postcondition): New procedure 5152 Implement pragmas Check and Check_Policy 5153 Merge Assert processing with Check 5154 5155 * sem_warn.adb (Warn_On_Known_Condition): Handle pragma Check 5156 New warning flag -gnatw.e 5157 5158 * sinfo.ads, sinfo.adb (Has_Relative_Deadline_Pragma): New function 5159 returning whether a task (or main procedure) has a pragma 5160 Relative_Deadline. 5161 (Set_Has_Relative_Deadline_Pragma): Procedure to indicate that a task 5162 (or main procedure) has a pragma Relative_Deadline. 5163 Add Next_Pragma field to N_Pragma node 5164 (PPC_Enabled): New flag 5165 (Next_Pragma): Now used for Pre/Postcondition processing 5166 5167 * snames.h, snames.ads, snames.adb: New standard name 5168 Inherit_Source_Path 5169 Add entry for 'Invalid_Value attribute 5170 Add entry for new attribute Has_Tagged_Values 5171 Add entry for Enum_Val attribute 5172 Add new standard names Aggregate, Configuration and Library. 5173 Add _Postconditions 5174 Add _Result 5175 Add Pragma_Precondition 5176 Add Pragma_Postcondition 5177 Add Attribute_Result 5178 New standard name Archive_Builder_Append_Option 5179 (Preset_Names): Add _relative_deadline and relative_deadline definitions 5180 There was also a missing non_preemptive_within_priorities. 5181 (Get_Pragma_Id, Is_Pragma_Name): Add support for pragma 5182 Relative_Deadline. 5183 Add support for pragmas Check and Check_Policy 5184 5185 * tree_gen.adb: Call Sem_Aux.Tree_Write 5186 5187 * tree_in.adb: Call Sem_Aux.Tree_Read 5188 5189 * exp_ch11.adb (Expand_N_Raise_Statement): New Build_Location calling 5190 sequence 5191 5192 * exp_intr.adb (Expand_Source_Info): New Build_Location calling 5193 sequence 5194 5195 * exp_prag.adb (Expand_Pragma_Relative_Deadline): New procedure. 5196 (Expand_N_Pragma): Call the appropriate procedure for expanding pragma 5197 Relative_Deadline. 5198 (Expand_Pragma_Check): New procedure 5199 5200 * sinput.ads, sinput.adb (Build_Location_String): Now appends to name 5201 buffer. 5202 5203 * sinfo.adb (PPC_Enabled): New flag 5204 52052008-04-08 Robert Dewar <dewar@adacore.com> 5206 Gary Dismukes <dismukes@adacore.com> 5207 Javier Miranda <miranda@adacore.com> 5208 Ed Schonberg <schonberg@adacore.com> 5209 5210 * fe.h: Remove global Optimize_Alignment flag, no longer used 5211 5212 * layout.adb: Test Optimize_Alignment flags rather than global switch 5213 5214 * lib.ads, lib.adb: New OA_Setting field in library record 5215 5216 * lib-load.adb: New OA_Setting field in library record 5217 5218 * lib-writ.ads, lib-writ.adb (Collect_Withs, Write_With_Lines): Place 5219 units mentioned in limited_with_ clauses in the ali file, with an 5220 'Y' marker. 5221 New Ox fields in U line 5222 5223 * opt.adb: New flag Optimize_Alignment_Local 5224 (Check_Policy_List[_Config]): New flags 5225 5226 * opt.ads (Invalid_Value_Used): New flag 5227 New switch Optimize_Alignment_Local 5228 (Warn_On_Parameter_Order): New flag 5229 (Check_Policy_List[_Config]): New flags 5230 5231 * ali.ads, ali.adb: Add indicator 'Y' to mark mark the presence of 5232 limited_with clauses. 5233 New data structures for Optimize_Alignment 5234 5235 * bcheck.adb (Check_Consistent_Restriction_No_Default_Initialization): 5236 New procedure 5237 (Check_Consistent_Optimize_Alignment): Rework for new structure 5238 (Check_Consistent_Restrictions): Fix incorrect error message 5239 5240 sem_ch10.adb (Decorate_Tagged_Type): Set the Parent field of a newly 5241 created class-wide type (to the Parent field of the specific type). 5242 (Install_Siblings): Handle properly private_with_clauses on subprogram 5243 bodies and on generic units. 5244 (Analyze_With_Clause, Install_Limited_Withed_Unit): Guard against an 5245 illegal limited_with_clause that names a non-existent package. 5246 (Check_Body_Required): Determine whether a unit named a limited_with 5247 clause needs a body. 5248 (Analyze_Context): A limited_with_clause is illegal on a unit_renaming. 5249 Capture Optimize_Alignment settings to set new OA_Setting field in 5250 library record. 5251 (Build_Limited_Views): Include task and protected type declarations. 5252 5253 * sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Handle the 5254 case of a possible constant redeclaration where the current object is 5255 an entry index constant. 5256 (Analyze_Object_Declaration): Generate an error in case of CPP 5257 class-wide object initialization. 5258 (Analyze_Object_Declaration): Add extra information on warnings for 5259 declaration of unconstrained objects. 5260 (Access_Type_Declaration): Set Associated_Final_Chain to Empty, to avoid 5261 conflicts with the setting of Stored_Constraint in the case where the 5262 access type entity has already been created as an E_Incomplete_Type due 5263 to a limited with clause. 5264 Use new Is_Standard_Character_Type predicate 5265 (Analyze_Object_Declaration): Apply access_constant check only after 5266 expression has been resolved, given that it may be overloaded with 5267 several access types. 5268 (Constant_Redeclaration): Additional legality checks for deferred 5269 constant declarations tha involve anonymous access types and/or null 5270 exclusion indicators. 5271 (Analyze_Type_Declaration): Set Optimize_Alignment flags 5272 (Analyze_Subtype_Declaration): Ditto 5273 (Analyze_Object_Declaration): Ditto 5274 (Analyze_Object_Declaration): Don't count tasks in generics 5275 Change name In_Default_Expression => In_Spec_Expression 5276 Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression 5277 Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve 5278 (Process_Discriminants): Additional check for illegal use of default 5279 expressions in access discriminant specifications in a type that is not 5280 explicitly limited. 5281 (Check_Abstract_Overriding): If an inherited function dispaches on an 5282 access result, it must be overridden, even if the type is a null 5283 extension. 5284 (Derive_Subprogram): The formals of the derived subprogram have the 5285 names and defaults of the parent subprogram, even if the type is 5286 obtained from the actual subprogram. 5287 (Derive_Subprogram): In the presence of interfaces, a formal of an 5288 inherited operation has the derived type not only if it descends from 5289 the type of the formal of the parent operation, but also if it 5290 implements it. This is relevant for the renamings created for the 5291 primitive operations of the actual for a formal derived type. 5292 (Is_Progenitor): New predicate, to determine whether the type of a 5293 formal in the parent operation must be replaced by the derived type. 5294 5295 * sem_util.ads, sem_util.adb (Has_Overriding_Initialize): Make 5296 predicate recursive to handle components that have a user-defined 5297 Initialize procedure. Handle controlled derived types whose ancestor 5298 has a user-defined Initialize procedured. 5299 (Note_Possible_Modification): Add Sure parameter, generate warning if 5300 sure modification of constant 5301 Use new Is_Standard_Character_Type predicate 5302 (Find_Parameter_Type): when determining whether a protected operation 5303 implements an interface operation, retrieve the type of the formal from 5304 the entity when the formal is an access parameter or an 5305 anonymous-access-to-subprogram. 5306 Move Copy_Parameter_List to sem_util, for use when building stubbed 5307 subprogram bodies. 5308 (Has_Access_Values): Tagged types now return False 5309 (Within_HSS_Or_If): New procedure 5310 (Set_Optimize_Alignment_Flags): New procedure 5311 Change name In_Default_Expression => In_Spec_Expression 5312 Change name Analyze_Per_Use_Expression => Preanalyze_Spec_Expression 5313 Change name Pre_Analyze_And_Resolve => Preanalyze_And_Resolve 5314 53152008-04-08 Tristan Gingold <gingold@adacore.com> 5316 5317 * s-fileio.adb: Name_Error shouldn't be raised for a tempory file. 5318 53192008-04-08 Tristan Gingold <gingold@adacore.com> 5320 5321PR ada/10768 5322 5323 * cuintp.c: Fix 16 bits issue for AVR. 5324 On AVR, integer is 16 bits, so it can't be used to do math with 5325 Base (=32768). 5326 So use long_integer instead. 5327 53282008-04-08 Hristian Kirtchev <kirtchev@adacore.com> 5329 5330 * a-calend-vms.ads, a-calend-vms.adb: Add with and use clause for 5331 System.OS_Primitives. 5332 Change type of various constants, parameters and local variables from 5333 Time to representation type OS_Time. 5334 (To_Ada_Time, To_Unix_Time): Correct sign of origin shift. 5335 Remove the declaration of constant Mili_F from several routines. New 5336 body for internal package Conversions_Operations. 5337 (Time_Of): Add default parameters for several formals. 5338 5339 * a-caldel.adb: Minor reformatting 5340 5341 * a-calend.ads, a-calend.adb: New body for internal package 5342 Conversions_Operations. 5343 (Time_Of): Add default parameters for several formals. 5344 5345 * Makefile.rtl: Add a-ststop 5346 Add Ada.Calendar.Conversions to the list of runtime files. 5347 Add g-timsta 5348 5349 * a-calcon.adb, a-calcon.ads: New files. 5350 53512008-04-08 Jose Ruiz <ruiz@adacore.com> 5352 Tristan Gingold <gingold@adacore.com> 5353 5354 * s-interr-dummy.adb, s-interr-vms.adb, s-interr-sigaction.adb 5355 (Install_Restricted_Handlers): New procedure 5356 which is a simplified version of Install_Handlers that does not store 5357 previously installed. 5358 5359 * s-interr-vxworks.adb: Fix ACATS cxc3001 5360 On VxWorks interrupts can't be detached. 5361 (Install_Restricted_Handlers): New procedure. 5362 5363 * s-interr.ads, s-interr.adb (Install_Restricted_Handlers): New 5364 procedure. 5365 53662008-04-08 Olivier Hainque <hainque@adacore.com> 5367 5368 * s-intman-vxworks.ads, s-intman-vxworks.adb 5369 (Map_And_Raise_Exception): Remove. Was an import of only part of the 5370 required services already implemented elsewhere. 5371 (Notify_Exception): Delete body, import __gnat_error_handler instead. 5372 (Initialize): Add SA_SIGINFO to the sa_flags, to get the sigcontext 5373 argument passed to the handler, which we need for ZCX propagation 5374 purposes. 5375 53762008-04-08 Hristian Kirtchev <kirtchev@adacore.com> 5377 5378 * adaint.h, adaint.c (__gnat_current_time_string): New routine. 5379 5380 * g-timsta.adb, g-timsta.ads: New files. 5381 53822008-04-08 Robert Dewar <dewar@adacore.com> 5383 5384 * a-except-2005.ads, a-except-2005.adb, a-except.ads, a-except.adb 5385 (Raise_Exception): In accordance with AI-446, raise CE for Null_Id 5386 (Raise_Exception_Always): Fix documentation accordingly 5387 53882008-04-08 Robert Dewar <dewar@adacore.com> 5389 5390 * a-strbou.ads, a-strbou.adb (From_String): New procedure (for use by 5391 Stream_Convert) 5392 5393 * sem_ch13.ads (Rep_Item_Too_Late): Document that Stream_Convert sets 5394 FOnly 5395 53962008-04-08 Javier Miranda <miranda@adacore.com> 5397 Robert Dewar <dewar@adacore.com> 5398 Ed Schonberg <schonberg@adacore.com> 5399 5400 * a-tags.adb (Register_Interface_Offset): New subprogram. 5401 (Set_Dynamic_Offset_To_Top): New subprogram (see previous comment). 5402 (To_Predef_Prims_Table_Ptr): Removed. 5403 (Acc_Size): Removed. 5404 (To_Acc_Size): Removed. 5405 (Parent_Size): Modified to the call the subprogram returning the size of 5406 the parent by means of the new TSD component Size_Func. 5407 5408 * a-tags.ads (Offset_To_Top_Ptr): New access type declaration. 5409 (DT_Offset_To_Top_Offset): New constant value that is used to generate 5410 code referencing the Offset_To_Top component of the dispatch table's 5411 prologue. 5412 (Prim_Ptr): New declaration of access to procedure. Used to avoid the 5413 use of 'address to initialize dispatch table slots. 5414 (Size_Func): New component of the TSD. Used by the run-time to call the 5415 size primitive of the tagged type. 5416 5417 * checks.adb (Apply_Access_Check): Avoid check when accessing the 5418 Offset_To_Top component of a dispatch table. 5419 (Null_Exclusion_Static_Checks): If the non-null access type appears in a 5420 deferred constant declaration. do not add a null expression, to prevent 5421 spurious errors when full declaration is analyzed. 5422 (Apply_Discriminant_Check): If both discriminant constraints share a 5423 node which is not static but has no side effects, do not generate a 5424 check for that discriminant. 5425 (Generate_Index_Checks): Set Name_Req to true in call to duplicate 5426 subexpr, since the prefix of an attribute is a name. 5427 5428 * checks.ads: Fix nit in comment. 5429 5430 * exp_ch3.ads, exp_ch3.adb (Freeze_Record_Type): Do not add the spec 5431 and body of predefined primitives in case of CPP tagged type 5432 derivations. 5433 (Freeze_Type): Deal properly with no storage pool case 5434 (Make_Predefined_Primitive_Specs): Generate specification of abstract 5435 primitive Deep_Adjust if a nonlimited interface is derived from a 5436 limited interface. 5437 (Build_Dcheck_Functions): Create discriminant-checking functions only 5438 for variants that have some component(s). 5439 (Build_Slice_Assignment): In expanded code for slice assignment, handle 5440 properly the case where the slice bounds extend to the last value of the 5441 underlying representation. 5442 (Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value 5443 (Is_Variable_Size_Record): An array component has a static size if 5444 index bounds are enumeration literals. 5445 5446 * exp_disp.adb (Make_DT): Use the first subtype to determine whether 5447 an external tag has been specified for the type. 5448 (Building_Static_DT): Add missing support for private types. 5449 (Make_DT): Add declaration of Parent_Typ to ensure consistent access 5450 to the entity associated with the parent of Typ. This is done to 5451 avoid wrong access when the parent is a private type. 5452 (Expand_Interface_Conversion): Improve error message when the 5453 configurable runtime has no support for dynamic interface conversion. 5454 (Expand_Interface_Thunk): Add missing support to interface types in 5455 configurable runtime. 5456 (Expand_Dispatching_Call): remove obsolete code. 5457 (Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, and 5458 ensure that all subtypes and aggregates associated with dispatch 5459 tables have the attribute Is_Dispatch_Table_Entity set to true. 5460 (Register_Primitive): Rename one variable to improve code reading. 5461 Replace occurrences of RE_Addres by RE_Prim_Ptr. Register copy o 5462 of the pointer to the 'size primitive in the TSD. 5463 5464 * rtsfind.ads (RE_DT_Offset_To_Top_Offset): New entity. 5465 (RE_Offset_To_Top_Ptr): New entity. 5466 (RE_Register_Interface_Offset): New entity. 5467 (RE_Set_Dynamic_Offset_To_Top): New entity. 5468 (RE_Set_Offset_To_Top): Removed entity. 5469 (RE_Prim_Ptr): New entity 5470 (RE_Size_Func): New entity 5471 (RE_Size_Ptr): New entity 5472 (RTU_Id): Add Ada_Dispatching and Ada_Dispatching_EDF. 5473 (Ada_Dispatching_Child): Define this new subrange. 5474 (RE_Id): Add new required run-time calls (RE_Set_Deadline, RE_Clock, 5475 RE_Time_Span, and RE_Time_Span_Zero). 5476 (RE_Unit_Table): Add new required run-time calls 5477 5478 * rtsfind.adb (Get_Unit_Name): Add processing for Ada.Dispatching 5479 children. 5480 5481 * exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram. 5482 (Build_Set_Static_Offset_To_Top): New subprogram. Generates code that 5483 initializes the Offset_To_Top component of a dispatch table. 5484 (Build_Predef_Prims): Removed. 5485 (Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims by 5486 its actual code. 5487 (Build_Set_Size_Function): New subprogram. 5488 5489 * exp_ch13.adb: Do not generate storage variable for storage_size zero 5490 (Expand): Handle setting/restoring flag Inside_Freezing_Actions 5491 54922008-04-08 Robert Dewar <dewar@adacore.com> 5493 5494 * a-ztdeau.adb, a-tideau.adb, a-wtdeau.adb (Puts_Dec): Fix error in 5495 computing Fore when Exp > 0 5496 54972008-04-08 Robert Dewar <dewar@adacore.com> 5498 5499 * back_end.adb: Remove Big_String_Ptr declarations (now in Types) 5500 5501 * errout.adb: Remove Big_String_Ptr declarations (now in Types) 5502 Change name Is_Style_Msg to Is_Style_Or_Info_Msg 5503 5504 * fmap.adb: Remove Big_String declarations (now in Types) 5505 (No_Mapping_File): New Boolean global variable 5506 (Initialize): When mapping file cannot be read, set No_Mapping_File to 5507 False. 5508 (Update_Mapping_File): Do nothing if No_Mapping_File is True. If the 5509 tables were empty before adding entries, open the mapping file 5510 with Truncate = True, instead of delete/re-create. 5511 5512 * fname-sf.adb: Remove Big_String declarations (now in Types) 5513 5514 * s-strcom.adb, g-dyntab.ads, g-table.ads, s-carsi8.adb, 5515 s-stalib.ads, s-carun8.adb: Add zero size Storage_Size clauses for 5516 big pointer types 5517 5518 * table.ads: Add for Table_Ptr'Storage_Size use 0 5519 5520 * types.ads: Add Big_String declarations 5521 Add Size_Clause of zero for big pointer types 5522 55232008-04-08 Vincent Celier <celier@adacore.com> 5524 5525 * clean.adb (Parse_Cmd_Line): Recognize switch --subdirs= 5526 (Usage): Add line for switch --subdirs= 5527 Add new switch -eL, to follow symbolic links when processing project 5528 files. 5529 5530 * gnatcmd.adb: Process switches -eL and --subdirs= 5531 (Non_VMS_Usage): Output "gnaampcmd" instead of "gnat", and call 5532 Program_Name to get proper tool names when AAMP_On_Target is set. 5533 (Gnatcmd): Call Add_Default_Search_Dirs and Get_Target_Parameters to get 5534 AAMP_On_Target set properly for use of GNAAMP tools (this is needed by 5535 Osint.Program_Name). 5536 5537 * gnatname.adb: (Scan_Args): Recognize switches -eL and --subdirs= 5538 (Usage): Add lines for switches -eL and --subdirs= 5539 5540 * makeusg.adb: Add line for switch --subdirs= 5541 5542 * prj.ads: 5543 (Source_Data): New Boolean component Compiled, defaulted to True 5544 (Empty_File_Name: New global variable in private part, initialized in 5545 procedure Initialize. 5546 (Subdirs_Option): New constant string 5547 (Subdirs): New String_Ptr global variable 5548 (Language_Config): New component Include_Compatible_Languages 5549 (Project_Qualifier): New type for project qualifiers 5550 (Project_Data): New component Qualifier 5551 (Project_Configuration): New component Archive_Builder_Append_Option 5552 5553 * prj-nmsc.adb (Get_Unit_Exceptions): When a unit is already in 5554 another imported project indicate the name of this imported project. 5555 (Check_File): When a unit is in two project files, indicate the project 5556 names and the paths of the source files for each project. 5557 (Add_Source): Set Compiled to False if compiler driver is empty. Only 5558 set object, dependency and switches file names if Compiled is True. 5559 (Process_Compiler): Allow the empty string for value of attribute Driver 5560 (Get_Directories): When Subdirs is not null and Object_Dir is not 5561 specified, locate and create if necessary the actual object dir. 5562 (Locate_Directory): When Subdirs is not empty and Create is not the 5563 empty string, locate and create if necessary the actual directory 5564 as a subdirectory of directory Name. 5565 (Check_Library_Attributes.Check_Library): Allow a project where the only 5566 "sources" are header files of file based languages to be imported by 5567 library projects, in multi-language mode (gprbuild). 5568 (Check_Library_Attributes.Check_Library): In multi-language mode 5569 (gprbuild), allow a library project to import a project with no 5570 sources, even when this is not declared explicitly. 5571 (Check_If_Externally_Built): A virtual project extending an externally 5572 built project is also externally built. 5573 (Check_Library_Attributes): For a virtual project extending a library 5574 project, inherit the library directory. 5575 (Process_Project_Level_Array_Attributes): Process new attribute 5576 Inherit_Source_Path. 5577 For projects with specified qualifiers "standard", "library" or 5578 "abstract", check that the project conforms to the qualifier. 5579 (Process_Project_Level_Simple_Attributes): Process new attribute 5580 Archive_Builder_Append_Option. 5581 5582 * switch-m.adb: (Scan_Make_Switches): Process switch --subdirs= 5583 (Normalize_Compiler_Switches): Only keep compiler switches that are 5584 passed to gnat1 by the gcc driver and that are stored in the ALI file 5585 by gnat1. 5586 Do not take into account switc -save-temps 5587 5588 * makegpr.adb (Compile_Link_With_Gnatmake): Transmit switch -eL if 5589 gprmake is called with -eL. 5590 (Scan_Arg): Recognize switch -eL 5591 (Usage): Add line for switch -eL 5592 5593 * prj.adb (Initialize): Initialize Empty_File_Name 5594 (Project_Empty): New component Qualifier 5595 5596 * prj-attr.ads, prj-attr.adb: New project level attribute 5597 Inherit_Source_Path. 5598 New project level attribute Archive_Builder_Append_Option 5599 5600 * prj-dect.adb: Replace System.Strings by GNAT.Strings. 5601 5602 * prj-ext.adb (Initialize_Project_Path): In Multi_Language mode, add 5603 <prefix>/lib/gnat in the project path, after <prefix>/share/gpr, for 5604 upward compatibility. 5605 5606 * prj-part.adb (Project_Path_Name_Of.Try_Path): In high verbosity, put 5607 each Trying ..." on different lines. 5608 (Parse_Single_Project): Recognize project qualifiers. Fail in qualifier 5609 is "configuration" when not in configuration. Fail when in configuration 5610 when a specified qualifier is other than "configuration". 5611 5612 * prj-proc.adb (Process_Declarative_Items): Link new elements of copied 5613 full associative array together. 5614 (Recursive_Process): Put the project qualifier in the project data 5615 5616 * prj-tree.ads, prj-tree.adb: (Project_Qualifier_Of): New function 5617 (Set_Project_Qualifier_Of): New procedure 5618 56192008-04-08 Robert Dewar <dewar@adacore.com> 5620 5621 * errout.ads: Update comments for new handling of info: messages 5622 5623 * erroutc.adb (Matches): New procedure 5624 (Warning_Specifically_Suppressed): Modified to handle multiple * chars 5625 (Is_Style_Or_Info_Msg): New name for Is_Style_Msg, now set for 5626 info messages as well as style messages. 5627 5628 * erroutc.ads: Remove unneeded fields from Specific_Warning_Entry 5629 5630 * sem_elab.adb (Supply_Bodies): Create actual bodies for stubbed 5631 subprograms. 5632 (Check_A_Call): Special "info: " warnings now have ? in the text 5633 (Elab_Warning): Use info message in static case 5634 56352008-04-08 Ed Schonberg <schonberg@adacore.com> 5636 5637 * exp_aggr.adb (Static_Array_Aggregate): Use Max_Aggr_Size to determine 5638 whether an array aggregate with static bounds and scalar components 5639 should be expanded into a static constant. 5640 56412008-04-08 Gary Dismukes <dismukes@adacore.com> 5642 Ed Schonberg <schonberg@adacore.com> 5643 Robert Dewar <dewar@adacore.com> 5644 5645 * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Add tests of 5646 Has_Stream_Attribute_ Definition when checking for available stream 5647 attributes on parameters of a limited type in Ada 2005. Necessary for 5648 proper recognition of visible stream attribute clauses. 5649 (Has_Stream_Attribute_Definition): If the type is derived from a 5650 private type, then use the derived type's underlying type for checking 5651 whether it has stream attributes. 5652 (Validate_Object_Declaration): The check for a user-defined Initialize 5653 procedure applies also to types with controlled components or a 5654 controlled ancestor. 5655 Reject an object declaration in a preelaborated unit if the type is a 5656 controlled type with an overriding Initialize procedure. 5657 (Validate_Remote_Access_To_Class_Wide_Type): Return without further 5658 checking when the parent of a dereference is a selected component and 5659 the name has not been analyzed. 5660 5661 * sem_ch4.adb (Analyze_Selected_Component): Add checking for selected 5662 prefixes that are invalid explicit dereferences of remote 5663 access-to-class-wide values, first checking whether the selected 5664 component is a prefixed form of call to a tagged operation. 5665 (Analyze_Call): Remove code that issues an error for limited function 5666 calls in illegal contexts, as we now support all of the contexts that 5667 were forbidden here. 5668 Allow a function call that returns a task.and appears as the 5669 prefix of a selected component. 5670 (Analyze_Reference): Give error message if we try to make a 'Reference 5671 for an object that is atomic/aliased without its type having the 5672 corresponding attribute. 5673 (Analyze_Call): Remove condition checking for attributes to allow 5674 calls to functions with inherently limited results as prefixes of 5675 attributes. Remove related comment about Class attributes. 5676 (Analyze_Selected_Component): If the prefix is a remote type, check 5677 whether this is a prefixed call before reporting an error. 5678 (Complete_Object_Operation): If the controlling formal is an access to 5679 variable reject an actual that is a constant or an access to one. 5680 (Try_Object_Operation): If prefix is a tagged protected object,retrieve 5681 primitive operations from base type. 5682 5683 * exp_ch4.adb (Expand_N_Indexed_Component): Test for prefix that is a 5684 build-in-place 5685 function call and call Make_Build_In_Place_Call_In_Anonymous_Context. 5686 (Expand_N_Selected_Component): Test for prefix that is a build-in-place 5687 function call and call Make_Build_In_Place_Call_In_Anonymous_Context. 5688 (Expand_N_Slice): Test for prefix that is a build-in-place function call 5689 and call Make_Build_In_Place_Call_In_Anonymous_Context. 5690 (Analyze_Call): Remove code that issues an error for limited function 5691 calls in illegal contexts, as we now support all of the contexts that 5692 were forbidden here. 5693 New calling sequence for Get_Simple_Init_Val 5694 (Expand_Boolean_Operator): Add call to Silly_Boolean_Array_Xor_Test 5695 (Expand_N_Op_Not): Add call to Silly_Boolan_Array_Not_Test 5696 56972008-04-08 Hristian Kirtchev <kirtchev@adacore.com> 5698 Ed Schonberg <schonberg@adacore.com> 5699 Robert Dewar <dewar@adacore.com> 5700 5701 * exp_ch2.adb: Minor reformatting. 5702 (Expand_Entry_Index_Parameter): Set the type of the identifier. 5703 (Expand_Entry_Reference): Add call to Expand_Protected_Component. 5704 (Expand_Protected_Component): New routine. 5705 (Expand_Protected_Private): Removed. 5706 Add Sure parameter to Note_Possible_Modification calls 5707 5708 * sem_ch12.ads, sem_ch12.adb (Analyze_Subprogram_Instantiation): The 5709 generated subprogram declaration must inherit the overriding indicator 5710 from the instantiation node. 5711 (Validate_Access_Type_Instance): If the designated type of the actual is 5712 a limited view, use the available view in all cases, not only if the 5713 type is an incomplete type. 5714 (Instantiate_Object): Actual is illegal if the formal is null-excluding 5715 and the actual subtype does not exclude null. 5716 (Process_Default): Handle properly abstract formal subprograms. 5717 (Check_Formal_Package_Instance): Handle properly defaulted formal 5718 subprograms in a partially parameterized formal package. 5719 Add Sure parameter to Note_Possible_Modification calls 5720 (Validate_Derived_Type_Instance): if the formal is non-limited, the 5721 actual cannot be limited. 5722 (Collect_Previous_Instances): Generate instance bodies for subprograms 5723 as well. 5724 5725 * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Small): Don't 5726 try to set RM_Size. 5727 Add Sure parameter to Note_Possible_Modification calls 5728 (Analyze_At_Clause): Preserve Comes_From_Source on Rewrite call 5729 (Analyze_Attribute_Definition_Clause, case Attribute_Address): Check for 5730 constant overlaid by variable and issue warning. 5731 Use new Is_Standard_Character_Type predicate 5732 (Analyze_Record_Representation_Clause): Check that the specified 5733 Last_Bit is not less than First_Bit - 1. 5734 (Analyze_Attribute_Definition_Clause, case Address): Check for 5735 self-referential address clause 5736 5737 * sem_ch5.ads, sem_ch5.adb (Diagnose_Non_Variable_Lhs): Rewrite the 5738 detection mechanism when the lhs is a prival. 5739 (Analyze_Assignment): Call Check_Unprotected_Access to detect 5740 assignment of a pointer to protected data, to an object declared 5741 outside of the protected object. 5742 (Analyze_Loop_Statement): Check for unreachable code after loop 5743 Add Sure parameter to Note_Possible_Modication calls 5744 Protect analysis from previous syntax error such as a scope mismatch 5745 or a missing begin. 5746 (Analyze_Assignment_Statement): The assignment is illegal if the 5747 left-hand is an interface. 5748 5749 * sem_res.ads, sem_res.adb (Resolve_Arithmetic_Op): For mod/rem check 5750 violation of restriction No_Implicit_Conditionals 5751 Add Sure parameter to Note_Possible_Modication calls 5752 Use new Is_Standard_Character_Type predicate 5753 (Make_Call_Into_Operator): Preserve Comes_From_Source when rewriting 5754 call as operator. Fixes problems (e.g. validity checking) which 5755 come from the result looking as though it does not come from source). 5756 (Resolve_Call): Check case of name in named parameter if style checks 5757 are enabled. 5758 (Resolve_Call): Exclude calls to Current_Task as entry formal defaults 5759 from the checking that such calls should not occur from an entry body. 5760 (Resolve_Call): If the return type of an Inline_Always function 5761 requires the secondary stack, create a transient scope for the call 5762 if the body of the function is not available for inlining. 5763 (Resolve_Actuals): Apply Ada2005 checks to view conversions of arrays 5764 that are actuals for in-out formals. 5765 (Try_Object_Operation): If prefix is a tagged protected object,retrieve 5766 primitive operations from base type. 5767 (Analyze_Selected_Component): If the context is a call to a protected 5768 operation the parent may be an indexed component prior to expansion. 5769 (Resolve_Actuals): If an actual is of a protected subtype, use its 5770 base type to determine whether a conversion to the corresponding record 5771 is needed. 5772 (Resolve_Short_Circuit): Handle pragma Check 5773 5774 * sem_eval.adb: Minor code reorganization (usea Is_Constant_Object) 5775 Use new Is_Standard_Character_Type predicate 5776 (Eval_Relational_Op): Catch more cases of string comparison 5777 57782008-04-08 Robert Dewar <dewar@adacore.com> 5779 Gary Dismukes <dismukes@adacore.com> 5780 5781 * s-rident.ads: Add No_Default_Initialization restriction 5782 5783 * exp_tss.adb: 5784 (Has_Non_Null_Base_Init_Proc): Handle No_Default_Initialization case 5785 (Set_TSS): Handle No_Default_Initialization case 5786 5787 * exp_ch6.adb (Expand_N_Subprogram_Body): Handle restriction 5788 No_Default_Initialization 5789 (Expand_N_Subprogram_Body): Remove redundant initialization of out 5790 parameters when Normalize_Scalars is active. 5791 (Add_Final_List_Actual_To_Build_In_Place_Call): Add formal Sel_Comp 5792 Fix casing error in formal parameter name in call 5793 (Register_Predefined_DT_Entry): Replace occurrences of RE_Address by 5794 (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a 5795 dispatching call on VM targets. 5796 57972008-04-08 Gary Dismukes <dismukes@adacore.com> 5798 Thomas Quinot <quinot@adacore.com> 5799 5800 * exp_ch7.adb (Find_Final_List): Change the test for generating a 5801 selected component from an access type's Associated_Final_Chain to 5802 check for the presence of that field, rather than assuming it exists 5803 for all named access types. 5804 (Make_Clean): New formal Chained_Cleanup_Action allowing to specify a 5805 procedure to call at the end of the generated cleanup procedure. 5806 (Expand_Cleanup_Actions): When a new cleanup procedure is generated, and 5807 and an At_End_Proc already exists in the handled sequence of statements 5808 for which cleanup actions are being expanded, the original cleanup 5809 action must be preserved. 5810 58112008-04-08 Hristian Kirtchev <kirtchev@adacore.com> 5812 Ed Schonberg <schonberg@adacore.com> 5813 Robert Dewar <dewar@adacore.com> 5814 Gary Dismukes <dismukes@adacore.com> 5815 5816 * exp_ch9.ads, exp_ch9.adb (Build_Protected_Entry, 5817 Build_Unprotected_Subprogram_Body): Generate debug info for 5818 declarations related to the handling of private data in task and 5819 protected types. 5820 (Debug_Private_Data_Declarations): New subprogram. 5821 (Install_Private_Data_Declarations): Remove all debug info flagging. 5822 This is now done by Debug_Private_Data_Declarations at the correct 5823 stage of expansion. 5824 (Build_Simple_Entry_Call): If the task name is a function call, expand 5825 the prefix into an object declaration, and make the surrounding block a 5826 task master. 5827 (Build_Master_Entity): An internal block is a master if it wraps a call. 5828 Code reformatting, update comments. Code clean up. 5829 (Make_Task_Create_Call): Use 'Unrestricted_Access instead of 'Address. 5830 (Replicate_Entry_Formals): If the formal is an access parameter or 5831 anonymous access to subprogram, copy the original tree to create new 5832 entities for the formals of the subprogram. 5833 (Expand_N_Task_Type_Declaration): Create a Relative_Deadline variable 5834 for tasks to store the value passed using pragma Relative_Deadline. 5835 (Make_Task_Create_Call): Add the Relative_Deadline argument to the 5836 run-time call to create a task. 5837 (Build_Wrapper_Spec): If the controlling argument of the interface 5838 operation is an access parameter with a non-null indicator, use the 5839 non-null indicator on the wrapper. 5840 5841 * sem_ch9.adb (Analyze_Protected_Type): Only retrieve the full view when 5842 present, which it may not be in the case where the type entity is an 5843 incomplete view brought in by a limited with. 5844 (Analyze_Task_Type): Only retrieve the full view when present, which it 5845 may not be in the case where the type entity is an incomplete view brought 5846 in by a limited with. 5847 (Analyze_Protected_Definition): Set Is_Frozen on all itypes generated for 5848 private components of a protected type, to prevent the generation of freeze 5849 nodes for which there is no proper scope of elaboration. 5850 5851 * exp_util.ads, exp_util.adb 5852 (Remove_Side_Effects): If the expression is a function call that returns a 5853 task, expand into a declaration to invoke the build_in_place machinery. 5854 (Find_Protection_Object): New routine. 5855 (Remove_Side_Effects): Also make a copy of the value 5856 for attributes whose result is of an elementary type. 5857 (Silly_Boolean_Array_Not_Test): New procedure 5858 (Silly_Boolean_Array_Xor_Test): New procedure 5859 (Is_Volatile_Reference): New function 5860 (Remove_Side_Effects): Use Is_Volatile_Reference 5861 (Possible_Bit_Aligned_Component): Handle slice case properly 5862 5863 * exp_pakd.adb (Expand_Packed_Not): Move silly true/true or false/false 5864 case test to Exp_Util 5865 (Expand_Packed_Xor): Move silly true/true case test to Exp_Util 5866 58672008-04-08 Thomas Quinot <quinot@adacore.com> 5868 5869 * exp_dist.ads, exp_dist.adb: Fix casing error in formal parameter name 5870 in call 5871 (Add_RACW_Features): When processing an RACW in another unit than the 5872 main unit, set Body_Decls to No_List to indicate that the bodies of 5873 the type's TSS must not be generated. 5874 (GARLIC_Support.Add_RACW_Read_Attribute, 5875 GARLIC_Support.Add_RACW_Write_Attribute): Do not generate bodies if 5876 Body_Decls is No_List. 5877 (PolyORB_Support.Add_RACW_Read_Attribute, 5878 PolyORB_Support.Add_RACW_Write_Attribute, 5879 PolyORB_Support.Add_RACW_From_Any, 5880 PolyORB_Support.Add_RACW_To_Any, 5881 PolyORB_Support.Add_RACW_TypeCode): Same. 5882 (Transmit_As_Unconstrained): New function. 5883 (Build_Ordered_Parameters_List): Use the above to order parameters. 5884 (GARLIC_Support.Build_General_Calling_Stubs): 5885 Use the above to determine which parameters to unmarshall using 'Input 5886 at the point where their temporary is declared (as opposed to later on 5887 with a 'Read call). 5888 (PolyORB_Support.Build_General_Calling_Stubs): 5889 Use the above to determine which parameters to unmarshall using From_Any 5890 at the point where their temporary is declared (as opposed to later on 5891 with an assignment). 5892 58932008-04-08 Ed Schonberg <schonberg@adacore.com> 5894 5895 * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): If this is 5896 an Input function for an access type, do not perform default 5897 initialization on the local variable that receives the value, to 5898 prevent spurious warnings when the type is null-excluding. 5899 59002008-04-08 Robert Dewar <dewar@adacore.com> 5901 Ed Schonberg <schonberg@adacore.com> 5902 5903 * freeze.adb (Freeze_Entity): Improve warnings on access types in pure 5904 units. 5905 (Size_Known): Generic formal scalar types have known at compile 5906 time size, so remove check. 5907 Fix casing error in formal parameter name in call 5908 (Freeze_Subprogram): If the subprogram is a user-defined operator, 5909 recheck its overriding indication. 5910 59112008-04-08 Vincent Celier <celier@adacore.com> 5912 5913 * gnat1drv.adb: Send all messages indicating an error to standard error 5914 59152008-04-08 Robert Dewar <dewar@adacore.com> 5916 5917 * gnatbind.adb (Restriction_Could_Be_Set): New procedure 5918 (List_Applicable_Restrictions): Do not list existing restrictions 5919 59202008-04-08 Thomas Quinot <quinot@adacore.com> 5921 5922 * g-socket.ads, g-socket.adb: Improve documentation of GNAT.Sockets: 5923 add a pointer to generic sockets literature 5924 do not mention that the given example is "typical" usage. 5925 Remove obsolete comment about multicast not being supported on Windows. 5926 (Connect_Socket): Make Server mode IN rather than IN OUT 5927 since this formal is never modified. 5928 59292008-04-08 Robert Dewar <dewar@adacore.com> 5930 5931 * sprint.adb (Write_Itype): Handle Itypes whose Parent field points to 5932 the declaration for some different entity. 5933 (Sprint_Node_Actual, case N_Derived_Type_Definition): When an interface 5934 list is precent (following the parent subtype indication), display 5935 appropriate "and" keyword. 5936 5937 * itypes.adb: Remove unnecessary calls to Init_Size_Align and Init_Esize 5938 Remove unnecessary calls to Init_Size_Align and Init_Esize. 5939 Add notes on use of Parent field of an Itype 5940 59412008-04-08 Ed Schonberg <schonberg@adacore.com> 5942 Robert Dewar <dewar@adacore.com> 5943 Gary Dismukes <dismukes@adacore.com> 5944 5945 * lib-xref.adb (Is_On_LHS): Remove dead code 5946 (Output_Overriden_Op): If the overridden operation is itself inherited, 5947 list the ancestor operation, which is the one whose body or absstract 5948 specification is actually being overridden. For source navigation 5949 purposes. 5950 5951 * sem_ch7.adb (Is_Primitive_Of): use base type to determine whether 5952 operation is primitive for the type. 5953 (Declare_Inherited_Private_Subprograms): If the new operation overrides 5954 an inherited private subprogram, set properly the Overridden_Operation 5955 attribute, for better cross-reference information. 5956 (Analyze_Package_Specification): Do late analysis of spec PPCs 5957 (Install_Private_Declaration, Uninstall_Declarations): Save/restore 5958 properly the full view and underlying full views of a private type in a 5959 child unit, whose full view is derived from a private type in a parent 5960 unit, and whose own full view becomes visible in the child body. 5961 5962 * sem_disp.adb (Check_Dispatching_Operation): When a body declares a 5963 primitive operation after the type has been frozen, add an explicit 5964 reference to the type and the operation, because other primitive 5965 references have been emitted already. 5966 (Expand_Call, Propagate_Tag): Call Kill_Current_Values when processing a 5967 dispatching call on VM targets. 5968 59692008-04-08 Vincent Celier <celier@adacore.com> 5970 Thomas Quinot <quinot@adacore.com> 5971 5972 * make.adb: (Gnatmake_Called): Remove, no longer necessary 5973 (Compile_Surces): Call Delete_Temp_Config_Files only if Gnatmake_Called 5974 is True and Debug_Flag_N is False. Debug_Flag_N means "keep temp files". 5975 (Insert_Project_Sources): Take into account index in multi-unit source 5976 files. 5977 After building a library project, delete all temporary files. 5978 (Initialize): Reset current output after parsing project file. 5979 (Collect_Arguments_And_Compile): Never insert in the queue the sources 5980 of library projects that are externally built. 5981 Put file name in error and inform messages if -df is used 5982 (Display): If invoked with -d7, do not display path names, but only 5983 file names. 5984 5985 * makeutl.ads (Path_Or_File_Name): New function 5986 (Path_Or_File_Name): New function 5987 59882008-04-08 Arnaud Charlet <charlet@adacore.com> 5989 5990 * Make-lang.in: Disable warnings during first stage of bootstrap 5991 Get rid of gnatbl. 5992 Update dependencies. 5993 59942008-04-08 Vincent Celier <celier@adacore.com> 5995 5996 * mlib-prj.adb (Build_Library): Compare with ALI file name in canonical 5997 case to decide if ALI object file is included in library. 5998 (Build_Library): Never attempt to build a library if the project is 5999 externally built. 6000 60012008-04-08 Thomas Quinot <quinot@adacore.com> 6002 6003 * nlists.adb (Is_Non_Empty_List): Remove redundant test. First 6004 (No_List) is defined to return Empty. 6005 60062008-04-08 Jose Ruiz <ruiz@adacore.com> 6007 6008 * osint.ads, osint.adb (Get_Libraries_From_Registry): Improve 6009 documentation. 6010 Update comments. 6011 (Read_Default_Search_Dirs): Do not consider spaces as path separators 6012 because spaces may be part of legal paths. 6013 60142008-04-08 Robert Dewar <dewar@adacore.com> 6015 6016 * par-ch11.adb (P_Exception_Handler): Check indentation level for 6017 handler 6018 60192008-04-08 Ed Schonberg <schonberg@adacore.com> 6020 6021 * par-ch3.adb (P_Type_Declaration) Reject the keyword "synchronized" 6022 in a type declaration, if this is not an interface declaration or 6023 private type extension. 6024 60252008-04-08 Vincent Celier <celier@adacore.com> 6026 6027 * prj-util.adb (Executable_Of): New String parameter Language. When 6028 Ada_Main is False and Language is not empty, attempt to remove the body 6029 suffix or the spec suffix of the language to get the base of the 6030 executable file name. 6031 (Put): New Boolean parameter Lower_Case, defauilted to False. When 6032 Lower_Case is True, put the value in lower case in the name list. 6033 (Executable_Of): If there is no executable suffix in the configuration, 6034 then do not modify Executable_Extension_On_Target. 6035 6036 * prj-util.ads (Executable_Of): New String parameter Language, 6037 defaulted to the empty string. 6038 (Put): New Boolean parameter Lower_Case, defauilted to False 6039 60402008-04-08 Robert Dewar <dewar@adacore.com> 6041 6042 * scng.adb (Scan_Identifier): Handle case of identifier starting with 6043 wide character using UTF-8 encoding. 6044 60452008-04-08 Javier Miranda <miranda@adacore.com> 6046 6047 * sem.adb (Analyze): Consider case in which we analyze an empty node 6048 that was generated by a call to a runtime function that is not 6049 available under the configurable runtime. 6050 6051 * sem.ads (Inside_Freezing_Actions): New flag. 6052 (Save_Check_Policy_List): New field in scope stack entry 6053 60542008-04-08 Ed Schonberg <schonberg@adacore.com> 6055 Robert Dewar <dewar@adacore.com> 6056 6057 * sem_aggr.adb (Analyze_N_Extension_Aggregate): Add legality checks for 6058 the ancestor part of an extension aggregate for a limited type. 6059 (Resolve_Array_Aggregate): Issue warning for sliding of aggregate with 6060 enumeration index bounds. 6061 (Resolve_Array_Aggregate): Add circuit for diagnosing missing choices 6062 when array is too short. 6063 (Check_Expr_OK_In_Limited_Aggregate): Move function 6064 Check_Non_Limited_Type from Resolve_Record_Aggregate to top level (and 6065 change name). 6066 (Resolve_Array_Aggregate.Resolve_Aggr_Expr): 6067 Check_Expr_OK_In_Limited_Aggregates called to check for illegal limited 6068 component associations. 6069 (Check_Non_Limited_Type): Moved to outer level and renamed. 6070 (Resolve_Record_Aggregate): In an extension aggregate, an association 6071 with a box initialization can only designate a component of the 6072 extension, not a component inherited from the given ancestor 6073 6074 * sem_case.adb: Use new Is_Standard_Character_Type predicate 6075 60762008-04-08 Robert Dewar <dewar@adacore.com> 6077 6078 * s-imgdec.adb (Set_Decimal_Digits): Fix error when input is zero with 6079 negative scale 6080 (Set_Decimal_Digits): Properly handle Aft=0 (equivalent to Aft=1) 6081 Properly handle case where Aft > Scale and input number is less than 6082 one. 6083 60842008-04-08 Hristian Kirtchev <kirtchev@adacore.com> 6085 6086 * s-stoele.ads, s-soflin.ads: Move the location of 6087 Dummy_Communication_Block from System.Storage_Elements to 6088 System.Soft_Links. 6089 6090 * s-tpobop.ads: Add comment on usage of Dummy_Communication_Block to 6091 emulate Communication_Block in certain scenarios. 6092 60932008-04-08 Hristian Kirtchev <kirtchev@adacore.com> 6094 6095 * s-strxdr.adb, s-stratt.ads, s-stratt.adb (Block_IO_OK): New 6096 subprogram. 6097 Add new subtype S_WWC, unchecked conversion routines From_WWC and 6098 To_WWC. 6099 (I_WWC, O_WWC): New routines for input and output of 6100 Wide_Wide_Character. 6101 61022008-04-08 Robert Dewar <dewar@adacore.com> 6103 6104 * stringt.adb (Write_String_Table_Entry): Handle wide characters 6105 properly 6106 61072008-04-08 Robert Dewar <dewar@adacore.com> 6108 6109 * styleg.adb (Check_Comment): Allow special char after -- in 6110 non-end-of-line case 6111 61122008-04-08 Robert Dewar <dewar@adacore.com> 6113 6114 * stylesw.adb: Implement -gnaty + - y options 6115 (Set_GNAT_Style_Check_Options): Includ I in style check string 6116 6117 * stylesw.ads: Add comments for new style switch options 6118 61192008-04-08 Sergey Rybin <rybin@adacore.com> 6120 6121 * tree_io.ads: Increase ASIS_Version_Number because of adding Sem_Aux 6122 to the set of the GNAT components needed by ASIS. 6123 61242008-04-08 Bob Duff <duff@adacore.com> 6125 6126 * types.h: Change CE_Null_Exception_Id to the correct value (8, was 9). 6127 61282008-04-08 Tristan Gingold <gingold@adacore.com> 6129 6130 * vxaddr2line.adb: Use Unsigned_32 instead of Integer for address type. 6131 Improve error message generation. 6132 61332008-04-08 Vincent Celier <celier@adacore.com> 6134 6135 * a-direct.adb (Start_Search): Check for Name_Error before checking for 6136 Use_Error, as specified in the RM. Check if directory is open and raise 6137 Use_Error if it is not. 6138 61392008-04-08 Vincent Celier <celier@adacore.com> 6140 Robert Dewar <dewar@adacore.com> 6141 6142 * vms_conv.adb (Output_Version): Print "GNAAMP" instead of "GNAT when 6143 AAMP_On_Target is set. 6144 6145 * vms_data.ads: Add NOxxx to style check switch list 6146 Add entry COMPONENTS for -gnatVe 6147 Add VMS qualifiers for -eL (/FOLLOW_LINKS_FOR_FILES) and --subdirs= 6148 (/SUBDIRS=). 6149 (GCC_Switches): Add /ALL_BACK_END_WARNINGS. 6150 Add qualifiers for gnatmetric coupling options 6151 Add note that -gnata enables all checks 6152 Add entries [NO]PARAMETER_ORDER for -gnatw.p[P] 6153 Fix inconsistency for VMS qualifier for the gnatpp '-rnb' option 6154 New warning flag -gnatw.e 6155 6156 * usage.adb: Add entries for -gnaty+ -gnaty- -gnatyy 6157 Add entry for -gnatyN (forgotten before) 6158 Line for new warning switch -gnatw.p 6159 New warning flag -gnatw.e 6160 6161 * gnat_ugn.texi: Add documentation fpr project file switch -aP 6162 Document -gnaty - + y 6163 Replace occurences of "package specification" with "package spec" 6164 Define preprocessing symbols in documentation of gnatprep 6165 Clarify reason for distinguishing overflow checking 6166 Add documentation for project-aware tool switches -eL and --subdirs= 6167 Complete list of configuration pragmas 6168 Specify that, even when gnatmake switch -x is used, mains on the command 6169 line need to be sources of project files. 6170 Editing of gnatcheck/gnatmetric doc. 6171 Add documentation for -gnatw.p/-gnatw.P 6172 Add missing documentation for -fno-inline-functions. 6173 Add documentation for -gnatw.e 6174 6175 * gnat_rm.texi: Add documentation for No_Default_Initialization 6176 Replace occurences of "package specification" with "package spec" 6177 Document use of * in Warnings Off string 6178 Update documentation of alignment/component clauses. 6179 Add documentation for Invalid_Value 6180 Document new consistency rule for Optimize_Alignment 6181 Add documentation for Precondition and Postcondition pragmas 6182 Add documentation for Check and Check_Policy pragmas 6183 Document new Enum_Val attribute 6184 Remove requirement for static string in pragma Assert 6185 Add documentation on GNAT.Time_Stamp 6186 6187 * ug_words: add entry for -gnatVe 6188 Add entries for -gnat.p[P] /WARNINGS=[NO]PARAMETER_ORDER 6189 Add entry for -gnatw.e 6190 6191 * debug.adb: Add missing documentation for d.a flag 6192 Document new -gnatd.a switch. 6193 Add documentation for new gnatmake debug switch -df 6194 61952008-04-08 Thomas Quinot <quinot@adacore.com> 6196 6197 * gen-soccon.c: Bump year in copyright notices. 6198 6199 * g-soccon-vxworks.ads: Add new constant IP_PKTINFO 6200 62012008-04-08 Eric Botcazou <ebotcazou@adacore.com> 6202 6203 * ctrl_c.c: Improve handling of ctrl-c on LynxOS and Windows. 6204 Minor reformatting. 6205 62062008-04-08 Robert Dewar <dewar@adacore.com> 6207 Bob Duff <duff@adacore.com> 6208 6209 * impunit.adb: Add Interfaces.Java.JNI, System.Strings.Stream_Ops, 6210 Ada.Calendar.Conversions, Ada.Dispatching.EDF, GNAT.Time_Stamp 6211 6212 * s-intman-mingw.adb: Minor comment fix -- spell 'explicitly' correctly 6213 6214 * g-trasym.adb: Minor comment fix -- spell 'explicitly' correctly 6215 6216 * g-trasym.ads: Minor comment improvements 6217 6218 * s-stalib.adb: Minor comment fix -- spell 'explicitly' correctly 6219 6220 * a-sequio.ads, a-direio.ads: improve message for tagged type 6221 6222 * a-strunb.ads: Minor reformatting 6223 6224 * a-tifiio.adb: Minor reformatting 6225 6226 * atree.adb (Fix_Parents): Use clearer names for formals 6227 Cleanup and simplify code 6228 Use named notation in calls 6229 6230 * exp_fixd.adb (Do_Multiply_Fixed_Universal): Use named notation in 6231 confusing calls 6232 6233 * uintp.adb: Used named notation for some confusing calls 6234 6235 * bindusg.adb: Minor change in one line of output 6236 6237 * cstand.adb: Minor reformatting of src representation of Standard 6238 6239 * a-assert.ads: Add comment. 6240 6241 * g-decstr.adb: Fix bad indentation 6242 6243 * expander.ads, expander.adb: Code clean up. 6244 6245 * sem_dist.ads: Minor comment improvement 6246 6247 * sem_type.adb, g-dirope.ads, g-exctra.ads, s-valwch.adb, 6248 s-wchstw.adb, targparm.ads, widechar.adb: Minor reformatting 6249 6250 * i-cstrin.adb: Fix casing error in formal parameter name in call 6251 62522008-04-08 Ed Schonberg <schonberg@adacore.com> 6253 6254 * binde.adb (Gather_All_Links, Gather_Dependencies): units that are 6255 mentioned in limited_with_clauses to do create semantic dependencies 6256 even though they appear in the ali file. 6257 62582008-04-08 Emmanuel Briot <briot@adacore.com> 6259 6260 * g-comlin.ads, g-comlin.adb (Expansion): Remove unreachable return 6261 statement. 6262 (Get_Configuration): New subprogram. 6263 6264 * prj-pp.ads, prj-pp.adb (Pretty_Print): new parameters Id and Id_Tree 6265 These optional parameters help preserve the casing of the project's name 6266 when pretty-printing. 6267 62682008-04-08 Jerome Lambourg <lambourg@adacore.com> 6269 Arnaud Charlet <charlet@adacore.com> 6270 6271 * bindgen.adb (Gen_Adainit_Ada): If the main program is a CIL function, 6272 then use __gnat_set_exit_status to report the returned status code. 6273 6274 * comperr.adb (Compiler_Abort): Convert most bug boxes into clean error 6275 messages on .NET, since some constructs of the language are not 6276 properly supported. 6277 6278 * gnatlink.adb (Gnatlink): In case the command line is too long for the 6279 .NET linker, gnatlink now concatenate all .il files and pass this to 6280 ilasm. 6281 62822008-04-07 Aurelien Jarno <aurelien@aurel32.net> 6283 Xavier Grave <grave@ipno.in2p3.fr> 6284 6285 * Makefile.in: Add make ifeq define for mips/mipsel support. 6286 * g-soccon-linux-mips.ads, system-linux-mipsel.ads, 6287 system-linux-mips.ads: New files. 6288 62892008-04-07 Aurelien Jarno <aurelien@aurel32.net> 6290 6291 * sysdep.c: add __GLIBC__ to the #ifdef preprocessor macros to 6292 detect systems using GNU libc. 6293 * gsocket.h: ditto. 6294 * socket.c: ditto. 6295 * adaint.c: ditto. 6296 * link.c: ditto. 6297 62982008-04-07 Aurelien Jarno <aurelien@aurel32.net> 6299 6300 * s-osinte-linux-kfreebsd.ads (SC_NPROCESSORS_ONLN): New 6301 constant constant for sysconf call. 6302 (bit_field): New packed boolean type used by cpu_set_t. 6303 (cpu_set_t): New type corresponding to the C type with 6304 the same name. Note that on the Ada side we use a bit 6305 field array for the affinity mask. There is not need 6306 for the C macro for setting individual bit. 6307 (pthread_setaffinity_np): New imported routine. 6308 * Makefile.in: Use s-tasinf-linux.ads and s-tasinf-linux.adb 6309 on GNU/kFreeBSD. 6310 63112008-04-07 Eric Botcazou <ebotcazou@adacore.com> 6312 6313 * utils2.c (build_binary_op): Fold ARRAY_REF and ARRAY_RANGE_REF too. 6314 63152008-04-07 Eric Botcazou <ebotcazou@adacore.com> 6316 6317 * gigi.h (create_subprog_type): Remove returns_with_dsp parameter. 6318 * decl.c (gnat_to_gnu_entity): Adjust for above new prototype. 6319 * utils.c (create_subprog_type): Remove returns_with_dsp parameter. 6320 * trans.c (gnat_to_gnu) <N_Return_Statement>: Remove code dealing with 6321 Return by Depressed Stack Pointer. 6322 63232008-04-06 Eric Botcazou <ebotcazou@adacore.com> 6324 6325 * decl.c (is_variable_size): Do not unconditionally return false 6326 on non-strict alignment platforms. 6327 63282008-04-06 Eric Botcazou <ebotcazou@adacore.com> 6329 6330 * decl.c (rest_of_type_decl_compilation_no_defer): New local function 6331 used to process all the variants of the specified type. 6332 (gnat_to_gnu_entity): Invoke rest_of_type_decl_compilation for enumeral 6333 types too. Call rest_of_type_decl_compilation_no_defer if undeferring. 6334 (rest_of_type_decl_compilation): Likewise. 6335 * utils.c (gnat_pushdecl): Propagate the name to all variants of type. 6336 63372008-04-03 Paolo Bonzini <bonzini@gnu.org> 6338 6339 * gigi.h (insert_block): Kill. 6340 * utils.c (insert_block): Kill. 6341 63422008-04-02 Eric Botcazou <ebotcazou@adacore.com> 6343 6344 * decl.c (gnat_to_gnu_entity) <object>: For a constant object whose 6345 type has self-referential size, get the size from the initializing 6346 expression directly if it is also a constant whose nominal type 6347 has self-referential size. 6348 63492008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> 6350 6351 PR ada/33688 6352 * g-soccon-darwin.ads: Define new constant IP_PKTINFO. 6353 6354 PR ada/33857 6355 * env.c: Always include crt_externs.h if __APPLE__ is defined. 6356 (__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined. 6357 63582008-04-01 Andreas Jaeger <aj@suse.de> 6359 6360 * g-soccon-linux-ppc.ads: Add new constants SO_REUSEPORT and 6361 IP_PKTINFO. 6362 63632008-03-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 6364 6365 * g-table.adb, g-tasloc.adb, g-traceb.ads, 6366 g-trasym.adb, g-utf_32.adb, gen-soccon.c, gigi.h, gmem.c, 6367 gnatbind.adb, gnatchop.adb, gnatcmd.adb, 6368 gnatcmd.ads, gnatdll.adb, gnatfind.adb, 6369 gnatlink.adb, gnatmem.adb, gprep.adb, 6370 i-cstrea-vms.adb, i-cstrin.adb, i-pacdec.ads, 6371 i-vxwork.ads, impunit.adb, init.c, initialize.c, inline.adb, 6372 layout.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb, 6373 lib-xref.ads, lib.adb, link.c, live.ads, 6374 make.adb, makegpr.adb, makeutl.adb, math_lib.adb, 6375 mdll-utl.adb, mdll.ads, memroot.adb, memroot.ads, 6376 misc.c, mlib-prj.adb, mlib-tgt-hpux.adb, 6377 mlib-tgt-linux.adb, mlib-tgt-tru64.adb, mlib-tgt.ads, 6378 namet.adb, namet.h, nlists.adb, nlists.ads, 6379 nlists.h, opt.ads, osint-b.ads, osint-c.adb, 6380 osint-c.ads, osint.adb, osint.ads, output.ads, 6381 par-ch10.adb, par-ch12.adb, par-ch2.adb, par-ch3.adb, 6382 par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb, 6383 par-endh.adb, par-labl.adb, par-prag.adb, 6384 par-sync.adb, par-tchk.adb, par-util.adb, 6385 par.adb, prep.adb, prep.ads, prepcomp.adb, prj-attr.ads, 6386 prj-dect.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb, 6387 prj-nmsc.ads, prj-pp.adb, prj-proc.adb, 6388 prj-strt.ads, prj-tree.ads, prj.adb, prj.ads: Fix comment typos. 6389 63902008-03-31 Eric Botcazou <ebotcazou@adacore.com> 6391 6392 * decl.c (gnat_to_gnu_entity) <object>: Do not force a non-null 6393 size if it has overflowed. 6394 63952008-03-31 Olivier Hainque <hainque@adacore.com> 6396 Eric Botcazou <ebotcazou@adacore.com> 6397 6398 * utils2.c (find_common_type): Document assumption on t1/t2 vs 6399 lhs/rhs. Force use of lhs type if smaller, whatever the modes. 6400 64012008-03-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 6402 6403 * a-textio.ads, a-witeio.ads, a-ztexio.ads, ali.ads, 6404 einfo.ads, erroutc.adb, erroutc.ads, exp_attr.adb, 6405 exp_imgv.adb, exp_intr.adb, exp_pakd.adb, 6406 exp_pakd.ads, exp_prag.adb, exp_smem.adb, 6407 exp_tss.ads, exp_util.adb, exp_util.ads, 6408 exp_vfpt.adb, freeze.adb, freeze.ads, 6409 frontend.adb, g-alleve.adb, g-altcon.adb, 6410 g-altive.ads, g-alveop.ads, g-alvevi.ads, 6411 g-arrspl.adb, g-busorg.ads, g-calend.adb, 6412 g-calend.ads, g-casuti.ads, g-cgideb.adb, 6413 g-comlin.adb, g-comlin.ads, g-curexc.ads, 6414 g-debpoo.adb, g-debpoo.ads, g-decstr.adb, 6415 g-dirope.adb, g-dirope.ads, g-dynhta.ads, 6416 g-dyntab.adb, g-encstr.ads, g-excact.ads, 6417 g-except.ads, g-expect.ads, g-heasor.adb, 6418 g-hesora.adb, g-hesorg.adb, g-htable.ads, 6419 g-locfil.ads, g-md5.adb, g-md5.ads, 6420 g-memdum.ads, g-moreex.ads, g-os_lib.adb, 6421 g-pehage.adb, g-pehage.ads, g-regexp.adb, 6422 g-regexp.ads, g-regpat.adb, g-regpat.ads, 6423 g-soccon-aix.ads, g-soccon-darwin.ads, 6424 g-soccon-freebsd.ads, g-soccon-hpux-ia64.ads, 6425 g-soccon-hpux.ads, g-soccon-irix.ads, 6426 g-soccon-linux-64.ads, g-soccon-linux-ppc.ads, 6427 g-soccon-linux-x86.ads, g-soccon-lynxos.ads, 6428 g-soccon-mingw.ads, g-soccon-solaris-64.ads, 6429 g-soccon-solaris.ads, g-soccon-tru64.ads, 6430 g-soccon-vms.ads, g-soccon-vxworks.ads, 6431 g-soccon.ads, g-socket.adb, g-socket.ads, 6432 g-socthi-mingw.adb, g-socthi-vms.adb, 6433 g-socthi-vxworks.adb, g-soliop-mingw.ads, 6434 g-soliop-solaris.ads, g-soliop.ads, g-spipat.adb, 6435 g-spipat.ads, g-string.adb, g-stsifd-sockets.adb: Fix comment 6436 typos. 6437 64382008-03-27 Eric Botcazou <ebotcazou@adacore.com> 6439 6440 * decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flag 6441 if the procedure is imported. 6442 64432008-03-26 Arnaud Charlet <charlet@adacore.com> 6444 6445 * adaint.c: Fix warnings. 6446 64472008-03-26 Arnaud Charlet <charlet@adacore.com> 6448 6449 * g-dirope.ads, g-dirope.adb: (Dir_Type_Value): Moved to spec. 6450 64512008-03-26 Arnaud Charlet <charlet@adacore.com> 6452 6453 * a-witeio.adb: Fix problem with Current_Output (introduce Self). 6454 Fix problem of status check for null file 6455 64562008-03-26 Arnaud Charlet <charlet@adacore.com> 6457 6458 * s-proinf-irix-athread.ads, s-vxwork-mips.ads, 6459 s-traces.ads, s-vxwork-arm.ads, s-vxwork-ppc.ads, s-vxwork-sparcv9.ads, 6460 s-tasinf-mingw.ads, s-tasinf-linux.ads, s-tasdeb.ads, mlib-tgt.ads, 6461 i-cstrin.ads, uintp.adb, g-catiio.adb, s-vmexta.ads, 6462 s-trafor-default.ads, s-vxwork-m68k.ads: Minor reformatting. Update 6463 comments. 6464 64652008-03-26 Thomas Quinot <quinot@adacore.com> 6466 6467 PR ada/33688 6468 * g-socket.ads, g-socket.adb (Options, Set_Socket_Option, 6469 Get_Socket_Option): Add support for Receive_Packet_Info. 6470 6471 * g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads, 6472 g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads, 6473 g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-freebsd.ads, 6474 g-soccon-hpux-ia64.ads, g-soccon-solaris-64.ads, g-soccon-darwin.ads, 6475 g-soccon-lynxos.ads, g-soccon-linux-64.ads, g-soccon-linux-x86.ads: Add 6476 new constants SO_REUSEPORT and IP_PKTINFO 6477 64782008-03-26 Robert Dewar <dewar@adacore.com> 6479 6480 * a-taster.adb, s-shasto.adb, s-soflin.adb, s-taasde.adb, s-taenca.adb, 6481 a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb, 6482 a-intnam-lynxos.ads, a-retide.adb, a-intnam-tru64.ads, a-intnam-aix.ads, 6483 a-intnam-irix.ads, a-intnam-hpux.ads, a-intnam-linux.ads, 6484 a-intnam-solaris.ads, a-caldel-vms.adb, a-intnam-vms.ads, 6485 a-excpol-abort.adb, a-intnam-mingw.ads, s-interr.adb, s-interr.ads, 6486 s-intman.ads, s-gloloc.adb, s-osinte-lynxos-3.ads, 6487 s-interr-sigaction.adb, s-osinte-hpux.ads, s-osinte-solaris-posix.ads, 6488 a-intnam-freebsd.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads, 6489 s-taspri-lynxos.ads, s-osinte-tru64.ads, s-osinte-tru64.ads, 6490 s-taspri-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads, 6491 s-osinte-hpux-dce.ads, s-taprop-hpux-dce.adb, s-taspri-hpux-dce.ads, 6492 s-osinte-linux.ads, s-osinte-dummy.ads, s-taprop-dummy.adb, 6493 s-taspri-dummy.ads, s-interr-dummy.adb, s-osinte-solaris.ads, 6494 s-osinte-mingw.ads, s-taprop-solaris.adb, s-taspri-solaris.ads, 6495 s-inmaop-vms.adb, s-interr-vms.adb, s-intman-vms.ads, s-osinte-vms.ads, 6496 s-osinte-vms.ads, s-taprop-vms.adb, s-taspri-vms.ads, 6497 s-taspri-mingw.ads, s-interr-vxworks.adb, s-inmaop-posix.adb, 6498 s-intman-vxworks.ads, s-osinte-vxworks.ads, s-osprim-vxworks.adb, 6499 s-taspri-vxworks.ads, s-taspri-posix.ads, a-caldel.adb, a-calend.adb, 6500 a-elchha.adb, a-dynpri.adb, a-except.adb, a-except.ads, a-interr.ads, 6501 a-textio.adb, a-tigeau.ads, atree.adb, s-taprob.adb, s-taprop.ads, 6502 s-tarest.adb, s-tarest.ads, s-tasini.adb, s-taskin.adb, s-taskin.ads, 6503 s-tasque.adb, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tassta.ads, 6504 s-tasuti.adb, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads, 6505 s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-valrea.adb, 6506 s-valuti.adb, a-intnam-darwin.ads, s-osinte-darwin.ads, s-solita.adb, 6507 a-ztinau.ads, s-osinte-linux-hppa.ads, a-except-2005.adb, 6508 a-except-2005.ads, a-rttiev.adb, s-osinte-vxworks6.ads, s-regexp.adb, 6509 s-tasloc.adb: Minor reformatting. 6510 Update comments. 6511 Remove "used for" sections from comments. 6512 65132008-03-26 Robert Dewar <dewar@adacore.com> 6514 6515 * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb, 6516 s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb, 6517 s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads, 6518 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb, 6519 s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, 6520 a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb, 6521 a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, 6522 a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads, 6523 a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads, 6524 a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads, 6525 a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb, 6526 i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads, 6527 a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb, 6528 s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads, 6529 s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads, 6530 double spaced if it fits on one line and otherwise single spaced. 6531 65322008-03-26 Arnaud Charlet <charlet@adacore.com> 6533 6534 * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-lynxos.adb, 6535 s-taprop-linux.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb, 6536 s-taprop-posix.adb (Create_Task): Do not attempt to set task priority 6537 or task info if the thread could not be created. 6538 65392008-03-26 Arnaud Charlet <charlet@adacore.com> 6540 6541 * gnatvsn.ads (Library_Version): Bump to 4.4. 6542 (Current_Year): Bump to 2008. 6543 65442008-03-26 Robert Dewar <dewar@adacore.com> 6545 6546 * ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record 6547 6548 * bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure 6549 6550 * debug.adb: Add debug flags d.r and d.v 6551 Add debug flag .T (Optimize_Alignment (Time)) 6552 Add debug flag .S (Optimize_Alignment (Space)) 6553 6554 * freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components 6555 depending on setting of relevant debug flags. 6556 Replace use of Warnings_Off by Has_Warnings_Off 6557 (Freeze_Entity): In circuit for warning on suspicious convention 6558 actuals, do not give warning if subprogram has same entity as formal 6559 type, or if subprogram does not come from source. 6560 (Freeze_Entity): Don't reset Is_Packed for fully rep speced record 6561 if Optimize_Alignment set to Space. 6562 6563 * frontend.adb: Add call to Sem_Warn.Initialize 6564 Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings 6565 Reset Optimize_Alignment mode from debug switches .S and .T 6566 6567 * layout.adb (Layout_Composite_Object): Rewritten for 6568 Optimize_Aligment pragma. 6569 6570 * lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment 6571 mode. 6572 6573 * opt.ads, opt.adb: (Optimize_Alignment): New global switch 6574 6575 * par-prag.adb (N_Pragma): Chars field removed, use Chars 6576 (Pragma_Identifier (.. instead, adjustments throughout to accomodate 6577 this change. Add entry for pragma Optimize_Alignment 6578 6579 * sem_prag.adb (N_Pragma): Chars field removed, use Chars 6580 (Pragma_Identifier (.. 6581 instead, adjustments throughout to accomodate this change. 6582 (Process_Compile_Time_Warning_Or_Error): Use !! for generated msg 6583 (Favor_Top_Level): Use new function Is_Access_Subprogram_Type 6584 Add implementation of pragma Optimize_Alignment 6585 65862008-03-26 Vincent Celier <celier@adacore.com> 6587 6588 * a-szuzti.adb, a-swuwti.adb, a-suteio.adb (functions Get_Line): 6589 Improve memory usage to avoid use of stack. 6590 65912008-03-26 Robert Dewar <dewar@adacore.com> 6592 6593 * a-teioed.ads: Correct value of Default_Fill 6594 6595 * a-teioed.adb (Image): Use Fill_Character instead of '*' to fill 6596 65972008-03-26 Robert Dewar <dewar@adacore.com> 6598 6599 * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb: Fix problem 6600 with Current_Output (introduce Self). 6601 66022008-03-26 Robert Dewar <dewar@adacore.com> 6603 6604 * checks.adb (Ensure_Valid): Capture valid status if possible 6605 (eliminate checks) 6606 66072008-03-26 Robert Dewar <dewar@adacore.com> 6608 6609 * stand.ads: Deal with reordering of package standard declarations 6610 6611 * cstand.adb: Put package Standard declarations in proper order 6612 66132008-03-26 Robert Dewar <dewar@adacore.com> 6614 6615 * einfo.ads, einfo.adb (N_Pragma): Chars field removed, use Chars 6616 (Pragma_Identifier (.. instead. 6617 (OK_To_Reorder_Components): New flag 6618 (Has_Entries): Code cleanup. 6619 (Warnings_Off_Used): New flag 6620 (Warnings_Off_Used_Unmodified): New flag 6621 (Warnings_Off_Used_Unreferenced): New flag 6622 (Has_Warnings_Off): New function 6623 (Has_Unmodified): New function 6624 (Has_Unreferenced): New function 6625 (Is_Trivial_Subprogram): New flag 6626 (Is_Static_Dispatch_Table_Entity): New attribute. 6627 Change name Access_Subprogram_Type_Kind to Access_Subprogram_Kind 6628 (more consistent with other similar names) 6629 (Access_Subprogram_Type): New classification function 6630 66312008-03-26 Robert Dewar <dewar@adacore.com> 6632 6633 * errout.ads: Document new !! insertion sequence 6634 6635 * errout.adb (N_Pragma): Chars field removed, use Chars 6636 (Pragma_Identifier (.. instead. 6637 Replace use of Warnings_Off by Has_Warnings_Off 6638 (Error_Msg_Internal): Don't delete warning ending in !! 6639 66402008-03-26 Robert Dewar <dewar@adacore.com> 6641 6642 * par.adb (Check_No_Right_Paren): Removed no longer used 6643 6644 * par-ch10.adb (N_Pragma): Chars field removed, use Chars 6645 (Pragma_Identifier (.. instead. 6646 6647 * par-ch10.adb (P_Subunit): Improvement in error recovery and message 6648 6649 * par-tchk.adb, par-ch5.adb, par-ch6.adb, par-ch3.adb, 6650 par-ch4.adb: Minor improvements in error recovery and messages. 6651 6652 * erroutc.adb (Test_Style_Warning_Serious_Msg): Treat style msgs as 6653 non-serious 6654 6655 * par-ch9.adb: Minor improvements in error recovery and messages 6656 (P_Protected): Better error recovery for "protected type x;" 6657 6658 * par-util.adb: Minor improvements in error recovery and messages 6659 (Check_No_Right_Paren): Removed no longer used 6660 66612008-03-26 Ed Schonberg <schonberg@adacore.com> 6662 6663 * exp_aggr.adb (Replace_Type): When checking for self-reference, verify 6664 that the prefix of an attribute is the type of the aggregate being 6665 expanded. 6666 66672008-03-26 Javier Miranda <miranda@adacore.com> 6668 Robert Dewar <dewar@adacore.com> 6669 6670 * exp_attr.adb (N_Pragma): Chars field removed. 6671 (Expand_N_Attribute_Reference): If the designated type associated with 6672 attribute 'Unrestricted_Access is a subprogram entity then replace it 6673 by an E_Subprogram_Type itype. 6674 Implement attribute Old 6675 6676 * sem_attr.ads (Attribute_Class_Array): Move to snames.ads 6677 6678 * sem_attr.adb (Build_Access_Subprogram_Itype): Add documentation. 6679 Replace call to 6680 New_Internal_Entity by call to Create_Itype to centralize calls 6681 building itypes, ad propagate the convention of the designated 6682 subprogram. In addition, disable the machinery cleaning constant 6683 indications from all entities in current scope when 'Unrestricted_Access 6684 corresponds with a node initializing a dispatch table slot. 6685 (Analyze_Attribute): Parameterless attributes returning a string or a 6686 type will not be called with improper arguments, so we can remove junk 6687 code that was dealing with this case. 6688 Implement attribute Old 6689 6690 * snames.ads, snames.h, snames.adb: Add entries for attribute Old 6691 Add entry for pragma Optimize_Alignment 6692 New standard names Sync and Synchronize 6693 66942008-03-26 Robert Dewar <dewar@adacore.com> 6695 Arnaud Charlet <charlet@adacore.com> 6696 6697 * exp_ch11.adb (Expand_At_End_Handler): Set From_At_End flag on raise 6698 stmt. 6699 (No_Exception_Propagation_Active): New function. 6700 (Expand_Exception_Handlers): Use No_Exception_Propagation_Active. 6701 Update comments, and review all uses of No_Exception_Propagation, which 6702 are now correct and in sync with what gigi expects. 6703 6704 * restrict.ads, restrict.adb (No_Exception_Propagation_Active): New 6705 function. 6706 (Expand_Exception_Handlers): Use No_Exception_Propagation_Active. 6707 Update comments, and review all uses of No_Exception_Propagation, which 6708 are now correct and in sync with what gigi expects. 6709 67102008-03-26 Ed Schonberg <schonberg@adacore.com> 6711 6712 * sem_ch3.adb (Access_Definition): If the access type is the return 6713 result of a protected function, create an itype reference for it 6714 because usage will be in an inner scope from the point of declaration. 6715 (Build_Derived_Record_Type): Inherit Reverse_Bit_Order and 6716 OK_To_Reorder_Components. 6717 (Make_Index): If an overloaded range includes a universal integer 6718 interpretation, resolve to Standard.Integer. 6719 (Analyze_Subtype_Indication): Copy Convention to subtype 6720 (Check_Abstract_Interfaces): Complete semantic checks on the legality of 6721 limited an synchronized progenitors in type declaration and private 6722 extension declarations. 6723 6724 * exp_ch13.adb (Expand_N_Freeze_Entity): If the scope of the entity is a 6725 protected subprogram body, determine proper scope from subprogram 6726 declaration. 6727 67282008-03-26 Robert Dewar <dewar@adacore.com> 6729 6730 * exp_ch4.adb (Expand_N_Op_Concat): Remove special tests for 6731 No_Run_Time_Mode 6732 67332008-03-26 Gary Dismukes <dismukes@adacore.com> 6734 6735 * exp_ch5.adb (Expand_N_Extended_Return_Statement): Suppress generation 6736 of a heap allocator for a limited unconstrained function return when 6737 resstriction No_Allocators is active. 6738 (Analyze_Allocator): The restriction No_Allocators is now only checked 6739 on allocators that have Comes_From_Source set, as per RM-H.4(7). 6740 6741 * sem_ch4.adb (Expand_N_Extended_Return_Statement): Suppress generation 6742 of a heap allocator for a limited unconstrained function return when 6743 resstriction No_Allocators is active. 6744 (Analyze_Allocator): The restriction No_Allocators is now only checked 6745 on allocators that have Comes_From_Source set, as per RM-H.4(7). 6746 (Has_Fixed_Op): If the name in a function call is Standard."*" and the 6747 operands are fixed-point types, the universal_fixed predefined operation 6748 is used, regardless of whether the operand type (s) have a primitive 6749 operation of the same name. 6750 67512008-03-26 Javier Miranda <miranda@adacore.com> 6752 6753 * exp_disp.adb (Make_DT, Make_Secondary_DT): Set attribute 6754 Is_Static_Dispatch_Table 6755 (Build_Dispatch_Tables): Replace calls to Exchange_Entities() by calls 6756 to Exchange_Declarations to exchange the private and full-view. Bug 6757 found working in this issue. 6758 (Expand_Dispatching_Call): Propagate the convention of the subprogram 6759 to the subprogram pointer type. 6760 (Make_Secondary_DT): Replace generation of Prim'Address by 6761 Address (Prim'Unrestricted_Access) 6762 (Make_DT): Replace generation of Prim'Address by 6763 Address (Prim'Unrestricted_Access) 6764 (Make_Disp_*_Bodies): When compiling for a restricted profile, use 6765 simple call form for single entry. 6766 (Make_DT): Handle new contents of Access_Disp_Table (access to dispatch 6767 tables of predefined primitives). 6768 (Make_Secondary_DT): Add support to handle access to dispatch tables of 6769 predefined primitives. 6770 (Make_Tags): Add entities to Access_Dispatch_Table associated with 6771 access to dispatch tables containing predefined primitives. 6772 6773 * exp_ch6.adb (N_Pragma): Chars field removed, use Chars 6774 (Pragma_Identifier (.. instead, adjustments throughout to accomodate 6775 this change. 6776 (Register_Predefined_DT_Entry): Updated to handle the new contents 6777 of attribute Access_Disp_Table (pointers to dispatch tables containing 6778 predefined primitives). 6779 6780 * exp_util.ads, exp_util.adb (Corresponding_Runtime_Package): New 6781 subprogram. 6782 (Find_Interface_ADT): Updated to skip the new contents of attribute 6783 Access_Dispatch_Table (pointers to dispatch tables containing predefined 6784 primitives). 6785 6786 * sem_util.adb (Has_Abstract_Interfaces): Add missing support for 6787 concurrent types. 6788 (Set_Convention): Use new function Is_Access_Subprogram_Type 6789 (Collect_Interfaces_Info): Updated to skip the new contents of attribute 6790 Access_Dispatch_Table (pointers to dispatch tables containing predefined 6791 primitives). 6792 6793 * exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): Improve 6794 expanded code avoiding calls to Build_Predef_Prims. 6795 (Build_Set_Predefined_Prim_Op_Address): Improve expanded code avoiding 6796 call to Build_Get_Predefined_Prim_Op_Address. 6797 67982008-03-26 Javier Miranda <miranda@adacore.com> 6799 6800 * exp_ch7.adb (Make_Clean): Code cleanup using the new centralized 6801 subprogram Corresponding_Runtime_Package to know the runtime package 6802 that will provide support to a given protected type. 6803 6804 * exp_ch9.adb (Add_Private_Declarations, 6805 Build_Protected_Subprogram_Call, 6806 Build_Protected_Entry, Build_Simple_Entry_Call, 6807 Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration, 6808 Expand_N_Timed_Entry_Call, Make_Initialize_Protection): Code 6809 cleanup using the new centralized subprogram Corresponding_Runtime 6810 Package to know the runtime package that provides support to 6811 a given protected type. 6812 68132008-03-26 Ed Schonberg <schonberg@adacore.com> 6814 6815 * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If the component 6816 assignment is within the initialization procedure for a packed array, 6817 and Initialize_Scalars is enabled, compile right-hand side with checks 6818 off, because the value is purposely out of range. 6819 68202008-03-26 Vincent Celier <celier@adacore.com> 6821 6822 * gnatcmd.adb: Add processing for GNAT SYNC 6823 6824 * vms_conv.ads: (Command_Type): Add command Sync 6825 6826 * vms_conv.adb (Initialize): Add Command_List data for new command Sync 6827 6828 * vms_data.ads: Add entries for -gnatw.w 6829 Add qualifier for gnatstub --header-file option 6830 Add switches for GNAT SYNC 6831 6832 * prj-attr.ads, prj-attr.adb: Add new package Synchronize for GNAT SYNC 6833 (Add_Package_Name): New procedure 6834 (Package_Name_List): New function 6835 (Initialize): Add known package names to the list 6836 (Register_New_Package): Add the new package name to the list 6837 68382008-03-26 Robert Dewar <dewar@adacore.com> 6839 6840 * g-pehage.adb, g-regist.adb, g-spipat.ads, g-spipat.adb, 6841 s-asthan.adb, s-parint.adb, s-rpc.adb, s-stchop.adb: Replace 6842 Raise_Exception by "raise with" construct. 6843 68442008-03-26 Pascal Obry <obry@adacore.com> 6845 6846 * Makefile.in: Add proper GNAT.Serial_Communications implementation on 6847 supported platforms. 6848 6849 * Makefile.rtl: Add g-sercom.o. 6850 6851 * impunit.adb: Add g-sercom.adb. 6852 6853 * s-crtl.ads (open): New routine. 6854 (close): Likewise. 6855 (write): Likewise. 6856 6857 * s-osinte-mingw.ads (BYTE): New type. 6858 (CHAR): Likewise. 6859 (OVERLAPPED): Likewise. 6860 (GENERIC_READ): New constant. 6861 (GENERIC_WRITE): Likewise. 6862 (OPEN_EXISTING): Likewise. 6863 (PSECURITY_ATTRIBUTES): Removed this type, use anonymous access 6864 type instead. 6865 (CreateFile): New routine. 6866 (WriteFile): Likewise. 6867 (ReadFile): Likewise. 6868 (CloseHandle): Move next to the other file oriented routines. 6869 6870 * g-sercom.ads: New unit. 6871 6872 * g-sercom.adb: Default implementation, calls to this unit will raise 6873 a program error exception. 6874 6875 * g-sercom-mingw.adb, g-sercom-linux.adb: Windows and 6876 GNU/Linux implementations. 6877 68782008-03-26 Robert Dewar <dewar@adacore.com> 6879 6880 * itypes.adb (Create_Itype): Use new name Access_Subprogram_Kind 6881 6882 * sem_ch13.adb (Validate_Unchecked_Conversion): Give warning for 6883 unchecked conversion for different conventions only for subprogram 6884 pointers or on VMS. 6885 68862008-03-26 Vincent Celier <celier@adacore.com> 6887 6888 * osint-c.adb (Set_Library_Info_Name): Use canonical case file names 6889 to check if the specified object file is correct. 6890 68912008-03-26 Thomas Quinot <quinot@adacore.com> 6892 6893 * sem_cat.adb (Validate_RACW_Primitives): Do not rely on 6894 Comes_From_Source to exclude primitives from being checked. We want to 6895 exclude predefined primitives only, so use the appropriate specific 6896 predicate. Also, flag a formal parameter of an anonymous 6897 access-to-subprogram type as illegal for a primitive operation of a 6898 remote access to class-wide type. 6899 69002008-03-26 Vincent Celier <celier@adacore.com> 6901 6902 * prj-dect.adb (Parse_Package_Declaration): When a package name is not 6903 known, check if it may be a missspelling of a known package name. In 6904 not verbose, not mode, issue warnings only if the package name is a 6905 possible misspelling. 6906 In verbose mode, always issue a warning for a not known package name, 6907 plus a warning if the name is a misspelling of a known package name. 6908 6909 * prj-part.adb (Post_Parse_Context_Clause): Modify so that only non 6910 limited withs or limited withs are parse during one call. 6911 (Parse_Single_Project): Post parse context clause in two passes: non 6912 limited withs before current project and limited withs after current 6913 project. 6914 6915 * prj-proc.adb (Imported_Or_Extended_Project_From): Returns an extended 6916 project with the name With_Name, even if it is only extended indirectly. 6917 (Recursive_Process): Process projects in order: first single withs, then 6918 current project, then limited withs. 6919 6920 * prj-tree.adb (Imported_Or_Extended_Project_Of): Returns an extended 6921 project with the name With_Name, even if it is only extended indirectly. 6922 69232008-03-26 Robert Dewar <dewar@adacore.com> 6924 6925 * scn.adb (Initialize_Scanner): Format messages belong on standard error 6926 69272008-03-26 Ed Schonberg <schonberg@adacore.com> 6928 6929 * sem_ch10.adb (Analyze_Compilation_Unit): if a unit in the context is 6930 a generic subprogram that is imported, do not attempt to compile 6931 non-existent body. 6932 6933 * sem_ch12.adb (Instantiate_Subprogram_Body): if the generic is 6934 imported, do not generate a raise_program_error for the non-existent 6935 body. 6936 (Pre_Analyze_Actuals): If an error is detected during pre-analysis, 6937 perform minimal name resolution on the generic to avoid spurious 6938 warnings. 6939 (Find_Actual_Type): the designated type of the actual in a child unit 6940 may be declared in a parent unit without being an actual. 6941 69422008-03-26 Robert Dewar <dewar@adacore.com> 6943 6944 * sem_ch11.adb: Fix No_Exception_Restriction violation for SJLJ 6945 * sinfo.ads, sinfo.adb (From_At_End): New flag 6946 69472008-03-26 Ed Schonberg <schonberg@adacore.com> 6948 6949 * sem_ch6.adb (Analyze_Subprogram_Body): Remove spurious check on 6950 operations that have an interface parameter. 6951 (Analyze_Subprogram_Body): Set Is_Trivial_Subprogram flag 6952 Don't treat No_Return call as raise. 6953 6954 * sem_disp.adb (Check_Dispatching_Operations): apply check for 6955 non-primitive interface primitives to access parameters, not to all 6956 parameters of an access type. 6957 69582008-03-26 Ed Schonberg <schonberg@adacore.com> 6959 6960 * sem_ch7.adb (Install_Parent_Private_Declarations): If the private 6961 declarations of a parent unit are made visible when compiling a child 6962 instance, the parent is not a hidden open scope, even though it may 6963 contain other pending instance. 6964 6965 * sem_ch8.adb (Restore_Scope_Stack): If an entry on the stack is a 6966 hidden open scope for some child instance, it does affect the 6967 visibility status of other stach entries. 6968 (Analyze_Object_Renaming): Check that a class-wide object cannot be 6969 renamed as an object of a specific type. 6970 69712008-03-26 Robert Dewar <dewar@adacore.com> 6972 6973 * sem_res.adb (Check_Infinite_Recursion): Diagnose definite infinite 6974 recursion and raise SE directly. 6975 (Resolve_Actuals): Reset Never_Set_In_Source if warnings off is 6976 set for formal type for IN mode parameter. 6977 69782008-03-26 Robert Dewar <dewar@adacore.com> 6979 6980 * sem_warn.ads, sem_warn.adb (Warnings_Off_Pragmas): New table 6981 (Initialize): New procedure 6982 (Output_Warnings_Off_Warnings): New procedure 6983 (Check_References): Suppress certain msgs if Is_Trivial_Subprogram 6984 (Output_Non_Modifed_In_Out_Warnings): Ditto 6985 (Warn_On_Unreferenced_Entity): Ditto 6986 69872008-03-26 Vincent Celier <celier@adacore.com> 6988 6989 * a-direct.adb (Start_Search): Raise Use_Error if the directory is not 6990 readable. 6991 69922008-03-26 Matthew Heaney <heaney@adacore.com> 6993 6994 * a-ciorse.ads, a-cidlli.ads, a-cdlili.ads, a-cihase.ads, a-cohase.ads, 6995 a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-coorse.ads: 6996 Marked with clauses as private, and controlled operations as overriding 6997 69982008-03-26 Robert Dewar <dewar@adacore.com> 6999 7000 * g-byorma.adb (Read_BOM): Reorder tests so that UTF_32 is recognized 7001 70022008-03-26 Robert Dewar <dewar@adacore.com> 7003 7004 * back_end.adb, back_end.ads: Minor reformatting 7005 7006 * bindgen.adb: Minor clarification of comments 7007 7008 * fname.ads: Minor comment fixes 7009 7010 * g-altive.ads, g-catiio.ads, g-trasym.ads, prj.ads, 7011 prj-nmsc.adb, sem_aggr.adb: Minor reformatting 7012 7013 * xeinfo.adb, xnmake.adb, xsinfo.adb, xtreeprs.adb, 7014 xsnames.adb: Remove warnings off pragma no longer needed 7015 7016 * a-catizo.ads, a-calari.ads, a-calfor.adb, 7017 a-calfor.ads: Fix header. 7018 70192008-03-26 Tristan Gingold <gingold@adacore.com> 7020 7021 * init.c: Do not adjust pc for HPARITH on alpha/vms. 7022 70232008-03-26 Robert Dewar <dewar@adacore.com> 7024 7025 * lib-xref.adb: (OK_To_Set_Reference): New function 7026 (Generate_Reference): Don't set referenced from occurrence in Warnings, 7027 Unmodified, or Unreferenced pragma 7028 70292008-03-26 Robert Dewar <dewar@adacore.com> 7030 7031 * alloc.ads: Add entries for Warnings_Off_Pragmas table 7032 70332008-03-26 GNAT Script <nobody@adacore.com> 7034 7035 * Make-lang.in: Makefile automatically updated 7036 70372008-03-26 Robert Dewar <dewar@adacore.com> 7038 7039 * tbuild.ads, tbuild.adb, trans.c, sprint.adb, exp_prag.adb, decl.c, 7040 par-ch2.adb, sem_elab.adb, sem_util.ads (N_Pragma): Chars field 7041 removed, use Chars (Pragma_Identifier (.. instead, adjustments 7042 throughout to accomodate this change. 7043 7044 * s-pooglo.ads, s-pooloc.ads: Minor comment updates 7045 7046 * exp_dbug.adb: Use Sem_Util.Set_Debug_Info_Needed (not 7047 Einfo.Set_Needs_Debug_Info) 7048 70492008-03-26 Robert Dewar <dewar@adacore.com> 7050 7051 * gnat_ugn.texi: Add documentation for -gnatw.w/-gnatw.W 7052 Add description for the new gnatstub option '--header-file' 7053 clarification of -gnatwz/-gnatwZ 7054 Add a "Irix-Specific Considerations" section to document the need to 7055 set LD_LIBRARY_PATH when using the default shared runtime library. 7056 Added documentation for both gcov and gprof. 7057 7058 * gnat_rm.texi: Document that pragma Compile_Time_Warning generates 7059 messages that are not suppressed when clients are compiled. 7060 Add documentation of s-pooglo s-pooloc 7061 Document the new GNAT.Serial_Communications API. 7062 Add documentation for 'Old attribute 7063 Add description of pragma Optimize_Alignment 7064 7065 * ug_words: Add entries for -gnatw.w -gnatw.W 7066 7067 * usage.adb: Add line for -gnatw.w (warn on warnings off) 7068 70692008-03-25 Eric Botcazou <ebotcazou@adacore.com> 7070 7071 Revert 7072 2008-03-05 Eric Botcazou <ebotcazou@adacore.com> 7073 PR ada/35186 7074 * decl.c (maybe_pad_type): Avoid padding an integral type when 7075 bumping its alignment is sufficient. 7076 70772008-03-25 Arnaud Charlet <charlet@adacore.com> 7078 7079 * exp_ch6.adb, exp_disp.adb: Update copyright notice. 7080 Fix wrong formatting (lines too long) 7081 70822008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 7083 7084 * 9drpc.adb, a-caldel-vms.adb, a-caldel.adb, 7085 a-calend-vms.adb, a-calend.adb, a-calend.ads, 7086 a-calfor.adb, a-chahan.ads, a-chtgke.adb, 7087 a-cihama.ads, a-ciorse.adb, a-clrefi.ads, 7088 a-cohama.ads, a-comlin.ads, a-coorse.adb, 7089 a-crbtgk.adb, a-direct.adb, a-except-2005.adb, 7090 a-except-2005.ads, a-except.adb, a-except.ads, 7091 a-exexda.adb, a-exexpr-gcc.adb, a-exexpr.adb, 7092 a-exextr.adb, a-filico.ads, a-finali.ads, 7093 a-intnam-aix.ads, a-intnam-solaris.ads, a-ngcefu.adb, 7094 a-ngelfu.adb, a-numaux-darwin.adb, a-numeri.ads, 7095 a-sequio.ads, a-strbou.ads, a-strfix.adb, 7096 checks.adb, exp_ch3.adb, exp_ch4.adb, 7097 exp_ch4.ads, exp_ch5.adb, exp_ch6.adb, 7098 exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, 7099 exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, 7100 exp_dbug.ads, exp_disp.adb, exp_dist.adb, 7101 exp_dist.ads, exp_fixd.adb, exp_fixd.ads: Fix comment typos. 7102 71032008-03-24 Robert Dewar <dewar@adacore.com> 7104 7105 * s-tpopsp-posix.adb, s-tpopsp-solaris.adb, s-tpopsp-posix-foreign.adb, 7106 s-tpopsp-lynxos.adb, s-tpopde-vms.ads, s-tpopde-vms.adb, 7107 s-tpopsp-vxworks.adb, s-casi16.adb, s-caun16.adb, s-inmaop.ads, 7108 s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-tpinop.adb, 7109 s-tpinop.ads, s-tporft.adb, a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, 7110 a-crbtgk.ads, a-crbtgk.adb, a-ciorse.adb, a-cihama.ads, a-cihama.adb, 7111 a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cgcaso.ads, 7112 a-cgcaso.adb, a-cgaaso.adb, a-ciormu.adb, a-cihase.adb, a-swuwha.ads, 7113 a-rbtgso.ads, a-cgaaso.ads, a-cgaaso.ads, a-ciorma.adb, a-chtgke.ads, 7114 a-chtgke.adb, a-llfzti.ads, a-ztenau.adb, a-ztenau.ads, a-stzhas.ads, 7115 a-szbzha.ads, a-szbzha.adb, a-crdlli.ads, a-crdlli.ads, a-crdlli.adb, 7116 i-forbla-darwin.adb, i-forbla.ads, s-regexp.adb, a-nllrar.ads, 7117 a-nlrear.ads, a-nucoar.ads, a-nurear.ads, i-forlap.ads, s-gearop.adb, 7118 s-gearop.ads, s-gecobl.adb, s-gecobl.ads, s-gecola.adb, s-gecola.ads, 7119 s-gerebl.adb, s-gerela.ads, a-swuwha.adb, i-forbla-unimplemented.ads, 7120 double spaced if it fits on one line and otherwise single spaced. 7121 71222008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 7123 7124 PR documentation/15479 7125 * Make-lang.in (doc/gnat_ugn.texi) Renamed from ... 7126 (doc/gnat_ugn_unw.texi): ... this, and adjusted. 7127 (doc/gnat_ugn.info): Renamed from ... 7128 (doc/gnat_ugn_unw.info): ... this. 7129 (doc/gnat_ugn.dvi): Renamed from ... 7130 (doc/gnat_ugn_unw.dvi): ... this. 7131 (doc/gnat_ugn.pdf): Renamed from ... 7132 (doc/gnat_ugn_unw.pdf): ... this. 7133 (ADA_INFOFILES, ADA_PDFFILES, ada.install-info, ada.dvi): 7134 Adjusted. 7135 * gnat_ugn.texi (FILE): Hard-code gnat_ugn; set filename 7136 unconditionally to gnat_ugn.info. Fix cross references to the 7137 GNAT Reference Manual. Convert links to the GCC, GDB, Emacs, 7138 and GNU make manuals to be proper texinfo links. 7139 * gnat_rm.texi: Fix cross references to the GNAT User's Guide. 7140 71412008-03-21 Olivier Hainque <hainque@adacore.com> 7142 7143 * trans.c (Attribute_to_gnu) <'length>: Compute as (hb < lb) 7144 ? 0 : hb - lb + 1 instead of max (hb - lb + 1, 0). 7145 71462008-03-21 Eric Botcazou <ebotcazou@adacore.com> 7147 7148 * trans.c (addressable_p): Add notes on addressability issues. 7149 71502008-03-21 Olivier Hainque <hainque@adacore.com> 7151 Ed Schonberg <schonberg@adacore.com> 7152 7153 * trans.c (addressable_p): Accept COND_EXPR when both arms 7154 are addressable. 7155 (gnat_gimplify_expr): Let the gimplifier handle &COND_EXPR. 7156 (call_to_gnu): Do not use name reference in the error message 7157 for a misaligned by_reference_parameter. The actual may be a 7158 general expression. 7159 71602008-03-18 Paolo Bonzini <bonzini@gnu.org> 7161 7162 * misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete. 7163 71642008-03-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 7165 7166 * gnat_rm.texi (Implementation Defined Characteristics) 7167 (Wide_Text_IO, Wide_Wide_Text_IO): Add @var annotations where 7168 appropriate. 7169 * gnat_ugn.texi (Wide Character Encodings, Switches for gnatbind) 7170 (Switches for gnatchop, Installing a library): Likewise. 7171 71722008-03-10 Eric Botcazou <ebotcazou@adacore.com> 7173 7174 * trans.c (emit_range_check): Do not emit the check if the base type 7175 of the expression is the type against which its range must be checked. 7176 71772008-03-08 Eric Botcazou <ebotcazou@adacore.com> 7178 7179 * decl.c (maybe_pad_type): Use value_factor_p. 7180 71812008-03-08 Eric Botcazou <ebotcazou@adacore.com> 7182 7183 * lang.opt (nostdlib): Move around. 7184 * misc.c (gnat_handle_option): Fix formatting. 7185 (gnat_dwarf_name): Move around. 7186 * trans.c (Case_Statement_to_gnu): Fix formatting. 7187 (gnat_to_gnu): Likewise. 7188 * utils.c (aggregate_type_contains_array_p): Likewise. 7189 (create_subprog_decl): Likewise. 7190 71912008-03-08 Eric Botcazou <ebotcazou@adacore.com> 7192 7193 * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not 7194 bother propagating the TYPE_USER_ALIGN flag when creating a JM type. 7195 71962008-03-08 Eric Botcazou <ebotcazou@adacore.com> 7197 7198 * decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force 7199 BIGGEST_ALIGNMENT when capping the alignment of records with 7200 strict alignment and size clause. 7201 72022008-03-08 Eric Botcazou <ebotcazou@adacore.com> 7203 7204 * lang-specs.h: Pass -gnatwa if -Wall is passed. 7205 * misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused 7206 and -Wuninitialized. 7207 (gnat_post_options): Clear warn_unused_parameter. 7208 72092008-03-08 Eric Botcazou <ebotcazou@adacore.com> 7210 7211 * utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently 7212 aligned bit-fields, bumping the alignment of the record type if deemed 7213 profitable. 7214 (value_factor_p): Return false instead of 0. 7215 72162008-03-08 Eric Botcazou <ebotcazou@adacore.com> 7217 7218 * decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support 7219 for scalar types with small alignment. 7220 72212008-03-08 Eric Botcazou <ebotcazou@adacore.com> 7222 7223 * trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label 7224 from that of the front-end's end label. 7225 (gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto 7226 from that of the loop label. 7227 72282008-03-07 Eric Botcazou <ebotcazou@adacore.com> 7229 7230 * decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>: Add 7231 comment for the packed array type case. 7232 * utils.c (build_template): Use a loop to strip padding or 7233 containing records for justified modular types. 7234 72352008-03-07 Eric Botcazou <ebotcazou@adacore.com> 7236 7237 * decl.c (gnat_to_gnu_entity): Issue a warning on suspiciously 7238 large alignments specified for types. 7239 (validate_alignment): Minor cleanup. 7240 72412008-03-07 Eric Botcazou <ebotcazou@adacore.com> 7242 7243 * decl.c (MAX_FIXED_MODE_SIZE): Define if not already defined. 7244 (gnat_to_gnu_entity) <E_Record_Type>: Try to get a smaller form of 7245 the component for packing, if possible, as well as if a component 7246 size clause is specified. 7247 <E_Record_Subtype>: For an array type used to implement a packed 7248 array, get the component type from the original array type. 7249 Try to get a smaller form of the component for packing, if possible, 7250 as well as if a component size clause is specified. 7251 (round_up_to_align): New function. 7252 (make_packable_type): Add in_record parameter. 7253 For a padding record, preserve the size. If not in_record and the 7254 size is too large for an integral mode, attempt to shrink the size 7255 by lowering the alignment. 7256 Ditch the padding bits of the last component. 7257 Compute sizes and mode manually, and propagate the RM size. 7258 Return a BLKmode record type if its size has shrunk. 7259 (maybe_pad_type): Use MAX_FIXED_MODE_SIZE instead of BIGGEST_ALIGNMENT. 7260 Use Original_Array_Type to retrieve the type in case of an error. 7261 Adjust call to make_packable_type. 7262 (gnat_to_gnu_field): Likewise. 7263 (concat_id_with_name): Minor tweak. 7264 * trans.c (larger_record_type_p): New predicate. 7265 (call_to_gnu): Compute the nominal type of the object only if the 7266 parameter is by-reference. Do the conversion actual type -> nominal 7267 type if the nominal type is a larger record. 7268 (gnat_to_gnu): Do not require integral modes on the source type to 7269 avoid the conversion for types with identical names. 7270 (addressable_p): Add gnu_type parameter. If it is specified, do not 7271 return true if the expression is not addressable in gnu_type. 7272 Adjust recursive calls. 7273 * utils.c (finish_record_type): Remove dead code. 7274 72752008-03-05 Eric Botcazou <ebotcazou@adacore.com> 7276 7277 PR ada/35186 7278 * decl.c (maybe_pad_type): Avoid padding an integral type when 7279 bumping its alignment is sufficient. 7280 72812008-03-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 7282 7283 * gnatfind.adb, gnatxref.adb: Fix argument parsing typos. 7284 * s-auxdec-empty.adb, s-auxdec.adb: Fix typos in copyright 7285 statement. 7286 * a-ngcoar.adb, a-ngrear.adb, g-awk.adb, g-debpoo.adb, 7287 gprep.adb, make.adb, makegpr.adb, par-ch6.adb, prj-nmsc.adb, 7288 sem_attr.adb, sem_ch4.adb, sem_ch8.adb: Fix typos in ada source 7289 code output strings. 7290 * sem_type.adb, system-vms-ia64.ads, system-vms.ads, 7291 system-vms_64.ads: Fix typos in ada source code comments. 7292 * sinfo-cn.adb: Remove incomplete sentence. 7293 7294 PR documentation/15479 7295 * gnat_rm.texi, gnat_ugn.texi: Avoid standalone `non' word. 7296 72972008-02-27 Samuel Tardieu <sam@rfc1149.net> 7298 7299 PR ada/22255 7300 * s-fileio.adb (Reset): Do not raise Use_Error if mode isn't changed. 7301 73022008-02-27 Samuel Tardieu <sam@rfc1149.net> 7303 7304 PR ada/34799 7305 * sem_ch13.adb (Analyze_Record_Representation_Clause): Check 7306 that underlying type is present. 7307 73082008-02-26 Tom Tromey <tromey@redhat.com> 7309 7310 * misc.c (internal_error_function): Remove test of 7311 USE_MAPPED_LOCATION. 7312 * trans.c (gigi): Remove test of USE_MAPPED_LOCATION. 7313 (Sloc_to_locus): Remove old location code. 7314 73152008-02-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 7316 7317 * gnat_rm.texi, gnat_ugn.texi: Fix spacing after `e.g.' and 7318 `i.e.' by adding comma or `@:' as appropriate. 7319 * gnat_rm.texi (Pragma Wide_Character_Encoding): Instead of 7320 plain characters `C', use `@samp{C}'. 7321 * gnat_ugn.texi (File Naming Rules, About gnatkr) 7322 (Krunching Method): Likewise. 7323 7324 * gnat_ugn.texi (Conventions): List environment variables and 7325 metasyntactic variables. 7326 (Compiling Programs): Fix notation of metasyntactic variables. 7327 Add @file where appropriate. Use @file for file extensions, 7328 @samp for strings. 7329 * gnat_rm.texi, gnat_ugn.texi: Where appropriate, use @samp 7330 instead of @file, @env instead of @code. 7331 73322008-02-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 7333 7334 PR documentation/15479 7335 * gnat_rm.texi, gnat_ugn.texi: Where appropriate, replace `..' 7336 and `...' with `@dots{}' or `@enddots{}'. 7337 7338 PR documentation/15479 7339 * gnat_rm.texi, gnat_ugn.texi: Where appropriate, add @command, 7340 use @command instead of @code, @option instead of @samp or @code, 7341 @code instead of @var, @samp instead of @file. 7342 7343 PR documentation/15479 7344 * gnat_ugn.texi (Using gnatmake in a Makefile): Do not ignore errors 7345 in Makefile rules, by using `&&' rather than `;'. 7346 73472008-02-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 7348 7349 PR documentation/15479 7350 * gnat_ugn.texi: In non-code, avoid space before colon. 7351 (Regular Expressions in gnatfind and gnatxref): Fix indentation. 7352 (Examples of gnatxref Usage): Use @command{vi} instead of 7353 @file{vi}. 7354 (Character Set Control): Do not use @code for UTF-8. 7355 (Validity Checking): Fix typo "NaNs" instead of "NaN's". Do not 7356 use @code for IEEE. 7357 * gnat_rm.texi (Aggregates with static bounds): Fix typo in code 7358 sample. 7359 * gnat_rm.texi, gnat_ugn.texi: Fix typos. Bump copyright years. 7360 73612008-02-11 Joel Sherrill <joel.sherrill@oarcorp.com> 7362 7363 PR ada/35143 7364 * env.c: Add __rtems__ to if defined. 7365 * s-osinte-rtems.adb: Add To_Target_Priority. Fix formatting. 7366 * s-osinte-rtems.ads: Add To_Target_Priority prototype and 7367 PTHREAD_SCOPE_PROCESS/PTHREAD_SCOPE_SYSTEM constants. Add 7368 pragma Convention as required. 7369 * gsocket.h: Make compile in and out of RTS. 7370 * Makefile.in: Add system-rtems.ads. Build DEC extensions. 7371 Use g-soccon-rtems.ads. 7372 * g-soccon-rtems.ads, system-rtems.ads: New files. 7373 73742008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 7375 7376 PR other/35107 7377 * Make-lang.in (gnat1): Add $(GMPLIBS). 7378 73792008-01-26 Eric Botcazou <ebotcazou@adacore.com> 7380 7381 * decl.c (components_to_record): Improve comment. 7382 73832008-01-22 Eric Botcazou <ebotcazou@adacore.com> 7384 7385 * decl.c (components_to_record): Do not reuse the empty union type 7386 if there is a representation clause on the record. 7387 * trans.c (addressable_p): Return true for INTEGER_CST. 7388 73892008-01-21 Eric Botcazou <ebotcazou@adacore.com> 7390 7391 * trans.c (gnat_to_gnu) <N_Free_Statement>: Use POINTER_PLUS_EXPR 7392 in pointer arithmetics. 7393 * utils2.c (build_allocator): Likewise. 7394 73952008-01-17 Eric Botcazou <ebotcazou@adacore.com> 7396 7397 * utils.c (build_function_stub): Properly build the call expression. 7398 73992008-01-14 Eric Botcazou <ebotcazou@adacore.com> 7400 7401 * decl.c (gnat_to_gnu_entity) <object>: Process renamings 7402 before converting the expression to the type of the object. 7403 * trans.c (maybe_stabilize_reference) <CONSTRUCTOR>: New case. 7404 Stabilize constructors for special wrapping types. 7405 74062008-01-13 Eric Botcazou <ebotcazou@adacore.com> 7407 7408 * trans.c (call_to_gnu): Invoke the addressable_p predicate only 7409 when necessary. Merge some conditional statements. Update comments. 7410 Rename unchecked_convert_p local variable to suppress_type_conversion. 7411 Do not suppress conversions in the In case. 7412 (addressable_p) <VIEW_CONVERT_EXPR>: Do not take alignment issues 7413 into account on non strict-alignment platforms. 7414 74152008-01-12 Eric Botcazou <ebotcazou@adacore.com> 7416 7417 * utils.c (aggregate_type_contains_array_p): New predicate. 7418 (create_field_decl): In a packed record, force byte alignment 7419 for fields without specified position that contain an array. 7420 74212008-01-12 Eric Botcazou <ebotcazou@adacore.com> 7422 7423 * utils.c (unchecked_convert): Fold the VIEW_CONVERT_EXPR expression. 7424 74252008-01-10 John David Anglin <dave.anglin.@nrc-cnrc.gc.ca> 7426 7427 PR ada/34466 7428 * s-osinte-linux-hppa.ads (SC_NPROCESSORS_ONLN): New constant for 7429 sysconf call. 7430 (bit_field): New packed boolean type used by cpu_set_t. 7431 (cpu_set_t): New type corresponding to the C type with 7432 the same name. Note that on the Ada side we use a bit 7433 field array for the affinity mask. There is not need 7434 for the C macro for setting individual bit. 7435 (pthread_setaffinity_np): New imported routine. 7436 74372008-01-03 Tero Koskinen <tero.koskinen@iki.fi> 7438 7439 PR ada/34647 7440 * adaint.c (__gnat_open_new_temp, __gnat_tmp_name): Use mkstemp() 7441 on OpenBSD as is done on other BSD systems. 7442 7443 PR ada/34645 7444 * sysdep.c (__gnat_ttyname, getc_immediate_nowait, 7445 getc_immediate_common): Treat OpenBSD as FreeBSD regarding immediate 7446 I/O. 7447 7448 PR ada/34644 7449 * env.c (__gnat_clearenv): Treat OpenBSD as other BSD systems missing 7450 clearenv(). 7451 7452 PR ada/34646 7453 * init.c (__gnat_error_handler, __gnat_install_handler, 7454 __gnat_init_float): Define for OpenBSD. 7455 7456 * initialize.c (__gnat_initialize): Define for OpenBSD. 7457 7458 7459 7460Copyright (C) 2008 Free Software Foundation, Inc. 7461 7462Copying and distribution of this file, with or without modification, 7463are permitted in any medium without royalty provided the copyright 7464notice and this notice are preserved. 7465