OLD | NEW |
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ | 1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
2 /* ***** BEGIN LICENSE BLOCK ***** | 2 /* ***** BEGIN LICENSE BLOCK ***** |
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
4 * | 4 * |
5 * The contents of this file are subject to the Mozilla Public License Version | 5 * The contents of this file are subject to the Mozilla Public License Version |
6 * 1.1 (the "License"); you may not use this file except in compliance with | 6 * 1.1 (the "License"); you may not use this file except in compliance with |
7 * the License. You may obtain a copy of the License at | 7 * the License. You may obtain a copy of the License at |
8 * http://www.mozilla.org/MPL/ | 8 * http://www.mozilla.org/MPL/ |
9 * | 9 * |
10 * Software distributed under the License is distributed on an "AS IS" basis, | 10 * Software distributed under the License is distributed on an "AS IS" basis, |
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 ************************************************************************/ | 428 ************************************************************************/ |
429 typedef ptrdiff_t PRPtrdiff; | 429 typedef ptrdiff_t PRPtrdiff; |
430 | 430 |
431 /************************************************************************ | 431 /************************************************************************ |
432 ** TYPES: PRUptrdiff | 432 ** TYPES: PRUptrdiff |
433 ** DESCRIPTION: | 433 ** DESCRIPTION: |
434 ** A type for pointer difference. Variables of this type are suitable | 434 ** A type for pointer difference. Variables of this type are suitable |
435 ** for storing a pointer or pointer sutraction. | 435 ** for storing a pointer or pointer sutraction. |
436 ************************************************************************/ | 436 ************************************************************************/ |
437 #ifdef _WIN64 | 437 #ifdef _WIN64 |
438 typedef unsigned __int64 PRUptrdiff; | 438 typedef PRUint64 PRUptrdiff; |
439 #else | 439 #else |
440 typedef unsigned long PRUptrdiff; | 440 typedef unsigned long PRUptrdiff; |
441 #endif | 441 #endif |
442 | 442 |
443 /************************************************************************ | 443 /************************************************************************ |
444 ** TYPES: PRBool | 444 ** TYPES: PRBool |
445 ** DESCRIPTION: | 445 ** DESCRIPTION: |
446 ** Use PRBool for variables and parameter types. Use PR_FALSE and PR_TRUE | 446 ** Use PRBool for variables and parameter types. Use PR_FALSE and PR_TRUE |
447 ** for clarity of target type in assignments and actual arguments. Use | 447 ** for clarity of target type in assignments and actual arguments. Use |
448 ** 'if (bool)', 'while (!bool)', '(bool) ? x : y' etc., to test booleans | 448 ** 'if (bool)', 'while (!bool)', '(bool) ? x : y' etc., to test booleans |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
480 ** only used in the garbage collection and arena code. Do not | 480 ** only used in the garbage collection and arena code. Do not |
481 ** use PRWord and PRUword in new code. | 481 ** use PRWord and PRUword in new code. |
482 ** | 482 ** |
483 ** A PRWord is an integer that is the same size as a void*. | 483 ** A PRWord is an integer that is the same size as a void*. |
484 ** It implements the notion of a "word" in the Java Virtual | 484 ** It implements the notion of a "word" in the Java Virtual |
485 ** Machine. (See Sec. 3.4 "Words", The Java Virtual Machine | 485 ** Machine. (See Sec. 3.4 "Words", The Java Virtual Machine |
486 ** Specification, Addison-Wesley, September 1996. | 486 ** Specification, Addison-Wesley, September 1996. |
487 ** http://java.sun.com/docs/books/vmspec/index.html.) | 487 ** http://java.sun.com/docs/books/vmspec/index.html.) |
488 */ | 488 */ |
489 #ifdef _WIN64 | 489 #ifdef _WIN64 |
490 typedef __int64 PRWord; | 490 typedef PRInt64 PRWord; |
491 typedef unsigned __int64 PRUword; | 491 typedef PRUint64 PRUword; |
492 #else | 492 #else |
493 typedef long PRWord; | 493 typedef long PRWord; |
494 typedef unsigned long PRUword; | 494 typedef unsigned long PRUword; |
495 #endif | 495 #endif |
496 | 496 |
497 #if defined(NO_NSPR_10_SUPPORT) | 497 #if defined(NO_NSPR_10_SUPPORT) |
498 #else | 498 #else |
499 /********* ???????????????? FIX ME ??????????????????????????? *****/ | 499 /********* ???????????????? FIX ME ??????????????????????????? *****/ |
500 /********************** Some old definitions until pr=>ds transition is done ***
/ | 500 /********************** Some old definitions until pr=>ds transition is done ***
/ |
501 /********************** Also, we are still using NSPR 1.0. GC ******************
/ | 501 /********************** Also, we are still using NSPR 1.0. GC ******************
/ |
(...skipping 26 matching lines...) Expand all Loading... |
528 #else | 528 #else |
529 #define NSPR_BEGIN_EXTERN_C | 529 #define NSPR_BEGIN_EXTERN_C |
530 #define NSPR_END_EXTERN_C | 530 #define NSPR_END_EXTERN_C |
531 #endif | 531 #endif |
532 | 532 |
533 #include "obsolete/protypes.h" | 533 #include "obsolete/protypes.h" |
534 | 534 |
535 /********* ????????????? End Fix me ?????????????????????????????? *****/ | 535 /********* ????????????? End Fix me ?????????????????????????????? *****/ |
536 #endif /* NO_NSPR_10_SUPPORT */ | 536 #endif /* NO_NSPR_10_SUPPORT */ |
537 | 537 |
| 538 /* |
| 539 ** Compile-time assert. "condition" must be a constant expression. |
| 540 ** The macro can be used only in places where an "extern" declaration is |
| 541 ** allowed. |
| 542 */ |
| 543 #define PR_STATIC_ASSERT(condition) \ |
| 544 extern void pr_static_assert(int arg[(condition) ? 1 : -1]) |
| 545 |
538 PR_END_EXTERN_C | 546 PR_END_EXTERN_C |
539 | 547 |
540 #endif /* prtypes_h___ */ | 548 #endif /* prtypes_h___ */ |
541 | 549 |
OLD | NEW |