Wolfgang Thallergcc-9.16fbf4227 years agoHistory
277 lines · 8.2 KB · Text
RawDownload
Consider compiling test.c, with this content:VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV#include "test.h" intmain (int argc, char **argv){  int a = PLUS (1,2);  int b = PLUS (3,4);  return 0;}^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...where test.h has this content:VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVextern int foo (); #define PLUS(A, B) A + B^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  The undocumented -fdump-internal-locations option outputs this informationto stderr, showing what each location_t value means.  Source codelines are quoted, showing both per-line location_t values andper-line&column location_t values (written vertically under thecorresponding character of source code). VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVRESERVED 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: 0test.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: 0test.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                     |024680246802468024test.h:  2|loc:258464|                     |                     |                     |                     |test.h:  3|loc:262560|#define PLUS(A, B) A + B                     |222222222222233333333333                     |566677788899900011122223                     |925825814814704703603692                     |246802468024680246802468test.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: 0test.c:  2|loc:266720|                     |                     |                     |                     |test.c:  3|loc:270816|int                     |000                     |889                     |481                     |802test.c:  4|loc:274912|main (int argc, char **argv)                     |4455555555555555555555555555                     |9900011122223334445556667778                     |4704703603692692582581481470                     |4680246802468024680246802468test.c:  5|loc:279008|{                     |9                     |0                     |4                     |0test.c:  6|loc:283104|  int a = PLUS (1,2);                     |333333333333333333333                     |112222333444555666777                     |360369269258258148147                     |680246802468024680246test.c:  7|loc:287200|  int b = PLUS (3,4);                     |777777777777777777777                     |222333444555666777888                     |369269258258148147047                     |246802468024680246802test.c:  8|loc:291296|  return 0;                     |11111111111                     |33344455566                     |26925825814                     |80246802468test.c:  9|loc:295392|}                     |5                     |4                     |2                     |4test.c: 10|loc:299488|                     |                     |                     |                     | UNALLOCATED LOCATIONS  location_t interval: 299520 <= loc < 2147483632 MACRO 3: PLUS (7 tokens)  location_t interval: 2147483632 <= loc < 2147483639test.c:7:11: note: expansion point is location 287555    7 |   int b = PLUS (3,4);      |           ^~~~  map->start_location: 2147483632  macro_locations:    0: 287744, 263200test.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, 263264In 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, 263328test.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, 0cc1: note: token 3 has x-location == y-location == 0    4: 0, 0cc1: note: token 4 has x-location == y-location == 0    5: 0, 0cc1: note: token 5 has x-location == y-location == 0    6: 0, 0cc1: note: token 6 has x-location == y-location == 0 MACRO 2: PLUS (7 tokens)  location_t interval: 2147483639 <= loc < 2147483646test.c:6:11: note: expansion point is location 283459    6 |   int a = PLUS (1,2);      |           ^~~~  map->start_location: 2147483639  macro_locations:    0: 283648, 263200test.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, 263264In 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, 263328test.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, 0cc1: note: token 3 has x-location == y-location == 0    4: 0, 0cc1: note: token 4 has x-location == y-location == 0    5: 0, 0cc1: note: token 5 has x-location == y-location == 0    6: 0, 0cc1: note: token 6 has x-location == y-location == 0 MACRO 1: __GCC_IEC_559_COMPLEX (1 tokens)  location_t interval: 2147483646 <= loc < 2147483647In 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^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t