123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277 |
- Consider compiling test.c, with this content:
- VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
- #include "test.h"
- int
- main (int argc, char **argv)
- {
- int a = PLUS (1,2);
- int b = PLUS (3,4);
- return 0;
- }
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ...where test.h has this content:
- VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
- extern int foo ();
- #define PLUS(A, B) A + B
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- The undocumented -fdump-internal-locations option outputs this information
- to stderr, showing what each location_t value means. Source code
- lines are quoted, showing both per-line location_t values and
- per-line&column location_t values (written vertically under the
- corresponding character of source code).
- VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
- RESERVED LOCATIONS
- location_t interval: 0 <= loc < 2
- ORDINARY MAP: 0
- location_t interval: 32 <= loc < 64
- file: test.c
- starting at line: 1
- column and range bits: 12
- column bits: 7
- range bits: 5
- reason: 0 (LC_ENTER)
- included from location: 0
- test.c: 1|loc: 32|#include "test.h"
- |69269258258148147
- |46802468024680246
- ORDINARY MAP: 1
- location_t interval: 64 <= loc < 96
- file: <built-in>
- starting at line: 0
- column and range bits: 0
- column bits: 0
- range bits: 0
- reason: 2 (LC_RENAME)
- included from location: 0
- ORDINARY MAP: 2
- location_t interval: 96 <= loc < 128
- file: <command-line>
- starting at line: 0
- column and range bits: 0
- column bits: 0
- range bits: 0
- reason: 2 (LC_RENAME)
- included from location: 0
- ORDINARY MAP: 3
- location_t interval: 128 <= loc < 250240
- file: /usr/include/stdc-predef.h
- starting at line: 1
- column and range bits: 12
- column bits: 7
- range bits: 5
- reason: 0 (LC_ENTER)
- included from location: 127 (in ordinary map 2)
- (contents of /usr/include/stdc-predef.h snipped for brevity)
- ORDINARY MAP: 4
- location_t interval: 250240 <= loc < 250272
- file: <command-line>
- starting at line: 32
- column and range bits: 12
- column bits: 7
- range bits: 5
- reason: 1 (LC_LEAVE)
- included from location: 0
- ORDINARY MAP: 5
- location_t interval: 250272 <= loc < 254368
- file: test.c
- starting at line: 1
- column and range bits: 12
- column bits: 7
- range bits: 5
- reason: 2 (LC_RENAME)
- included from location: 0
- test.c: 1|loc:250272|#include "test.h"
- |00000000000000000
- |33344445556667778
- |03603692692582581
- |46802468024680246
- ORDINARY MAP: 6
- location_t interval: 254368 <= loc < 266720
- file: test.h
- starting at line: 1
- column and range bits: 12
- column bits: 7
- range bits: 5
- reason: 0 (LC_ENTER)
- included from location: 250272 (in ordinary map 5)
- test.h: 1|loc:254368|extern int foo ();
- |444444444444444444
- |444455566677788899
- |036926925825814814
- |024680246802468024
- test.h: 2|loc:258464|
- |
- |
- |
- |
- test.h: 3|loc:262560|#define PLUS(A, B) A + B
- |222222222222233333333333
- |566677788899900011122223
- |925825814814704703603692
- |246802468024680246802468
- test.h: 4|loc:266656|
- |
- |
- |
- |
- ORDINARY MAP: 7
- location_t interval: 266720 <= loc < 299520
- file: test.c
- starting at line: 2
- column and range bits: 12
- column bits: 7
- range bits: 5
- reason: 1 (LC_LEAVE)
- included from location: 0
- test.c: 2|loc:266720|
- |
- |
- |
- |
- test.c: 3|loc:270816|int
- |000
- |889
- |481
- |802
- test.c: 4|loc:274912|main (int argc, char **argv)
- |4455555555555555555555555555
- |9900011122223334445556667778
- |4704703603692692582581481470
- |4680246802468024680246802468
- test.c: 5|loc:279008|{
- |9
- |0
- |4
- |0
- test.c: 6|loc:283104| int a = PLUS (1,2);
- |333333333333333333333
- |112222333444555666777
- |360369269258258148147
- |680246802468024680246
- test.c: 7|loc:287200| int b = PLUS (3,4);
- |777777777777777777777
- |222333444555666777888
- |369269258258148147047
- |246802468024680246802
- test.c: 8|loc:291296| return 0;
- |11111111111
- |33344455566
- |26925825814
- |80246802468
- test.c: 9|loc:295392|}
- |5
- |4
- |2
- |4
- test.c: 10|loc:299488|
- |
- |
- |
- |
- UNALLOCATED LOCATIONS
- location_t interval: 299520 <= loc < 2147483632
- MACRO 3: PLUS (7 tokens)
- location_t interval: 2147483632 <= loc < 2147483639
- test.c:7:11: note: expansion point is location 287555
- 7 | int b = PLUS (3,4);
- | ^~~~
- map->start_location: 2147483632
- macro_locations:
- 0: 287744, 263200
- test.c:7:17: note: token 0 has x-location == 287744
- 7 | int b = PLUS (3,4);
- | ^
- test.c:7:17: note: token 0 has y-location == 263200
- 1: 263264, 263264
- In file included from test.c:1:
- test.h:3:22: note: token 1 has x-location == y-location == 263264
- 3 | #define PLUS(A, B) A + B
- | ^
- 2: 287808, 263328
- test.c:7:19: note: token 2 has x-location == 287808
- 7 | int b = PLUS (3,4);
- | ^
- test.c:7:19: note: token 2 has y-location == 263328
- 3: 0, 0
- cc1: note: token 3 has x-location == y-location == 0
- 4: 0, 0
- cc1: note: token 4 has x-location == y-location == 0
- 5: 0, 0
- cc1: note: token 5 has x-location == y-location == 0
- 6: 0, 0
- cc1: note: token 6 has x-location == y-location == 0
- MACRO 2: PLUS (7 tokens)
- location_t interval: 2147483639 <= loc < 2147483646
- test.c:6:11: note: expansion point is location 283459
- 6 | int a = PLUS (1,2);
- | ^~~~
- map->start_location: 2147483639
- macro_locations:
- 0: 283648, 263200
- test.c:6:17: note: token 0 has x-location == 283648
- 6 | int a = PLUS (1,2);
- | ^
- test.c:6:17: note: token 0 has y-location == 263200
- 1: 263264, 263264
- In file included from test.c:1:
- test.h:3:22: note: token 1 has x-location == y-location == 263264
- 3 | #define PLUS(A, B) A + B
- | ^
- 2: 283712, 263328
- test.c:6:19: note: token 2 has x-location == 283712
- 6 | int a = PLUS (1,2);
- | ^
- test.c:6:19: note: token 2 has y-location == 263328
- 3: 0, 0
- cc1: note: token 3 has x-location == y-location == 0
- 4: 0, 0
- cc1: note: token 4 has x-location == y-location == 0
- 5: 0, 0
- cc1: note: token 5 has x-location == y-location == 0
- 6: 0, 0
- cc1: note: token 6 has x-location == y-location == 0
- MACRO 1: __GCC_IEC_559_COMPLEX (1 tokens)
- location_t interval: 2147483646 <= loc < 2147483647
- In file included from <command-line>:31:
- /usr/include/stdc-predef.h:45:6: note: expansion point is location 180564
- 45 | # if __GCC_IEC_559_COMPLEX > 0
- | ^~~~~~~~~~~~~~~~~~~~~
- map->start_location: 2147483646
- macro_locations:
- 0: 1, 1
- <built-in>: note: token 0 has x-location == y-location == 1
- MACRO 0: __GCC_IEC_559 (1 tokens)
- location_t interval: 2147483647 <= loc < 2147483648
- /usr/include/stdc-predef.h:37:6: note: expansion point is location 147788
- 37 | # if __GCC_IEC_559 > 0
- | ^~~~~~~~~~~~~
- map->start_location: 2147483647
- macro_locations:
- 0: 1, 1
- <built-in>: note: token 0 has x-location == y-location == 1
- MAX_LOCATION_T
- location_t interval: 2147483647 <= loc < 2147483648
- AD-HOC LOCATIONS
- location_t interval: 2147483648 <= loc < 4294967295
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|