Pins_arduino.h "#define D20 (u20)"?

Error in pins_arduino.h found in folder C:\Users\<userName>\AppData\Local\Arduino15\packages\arduino\hardware\mbed_portenta\3.4.1\variants\PORTENTA_H7_M4.

Lines 66 to 71 are:
#define D16 (u16)
#define D17 (u17)
#define D18 (u18)
#define D19 (u19)
#define D20 (u20)
#define D21 (u21)

Shouldn't these be:
#define D16 (16u)
#define D17 (17u)
#define D18 (18u)
#define D19 (19u)
#define D20 (20u)
#define D21 (21u)

YES, sure!
u... is a new name which is not defined. u16 is just a simple string (it starts with a non-value character), like myVariable15.

16u is a value: it starts with a number (not taken as a name, names cannot start with a number).
u just means: take it as unsigned value.

Is this your code or code inside Arduino? (cannot imagine: nobody would use values starting with a "not-a-number", even 0x.... starts with a number as a value, and \0123 for octal numbers).

The file in question is definitely Arduino code (not my code at all or ever will be) running on Windows 10. That is why I gave the path, aka, C:\Users\<userName>\AppData\Local\Arduino15\packages\arduino\hardware\mbed_portenta\3.4.1\variants\PORTENTA_H7_M4\pins_arduino.h

@tjaekel Given your definition of what it means to have a #define *value* begin with u, how on earth is it possible for an Arduino DIO pin to be defined as a string and not an integer value. What am I missing here?

I don't have a Portenta board package installed so can't be sure. I would run a grep over the installed Portenta boards package and search for e.g. u20; I'm reasonably sure that you will find that it's defined somewhere, either as a #define or as a const or a variable.

Does look a bit inconsistent, particularly since the corresponding analog pins uses the xxu notation instead of uxx.

 27 // Analog pins
 28 // -----------
 29 #define PIN_A0 (15u)
 30 #define PIN_A1 (16u)
 31 #define PIN_A2 (17u)
 32 #define PIN_A3 (18u)
 33 #define PIN_A4 (19u)
 34 #define PIN_A5 (20u)
 35 #define PIN_A6 (21u)
 36 #define PIN_A7 (22u)
 37 
 38 static const uint8_t A0  = PIN_A0;
 39 static const uint8_t A1  = PIN_A1;
 40 static const uint8_t A2  = PIN_A2;
 41 static const uint8_t A3  = PIN_A3;
 42 static const uint8_t A4  = PIN_A4;
 43 static const uint8_t A5  = PIN_A5;
 44 static const uint8_t A6  = PIN_A6;
 45 static const uint8_t A7  = PIN_A7;
 46 #define ADC_RESOLUTION 12
 47 
 48 // Digital pins
 49 // -----------
 50 #define D0  (0u)
 51 #define D1  (1u)
 52 #define D2  (2u)
 53 #define D3  (3u)
 54 #define D4  (4u)
 55 #define D5  (5u)
 56 #define D6  (6u)
 57 #define D7  (7u)
 58 #define D8  (8u)
 59 #define D9  (9u)
 60 #define D10 (10u)
 61 #define D11 (11u)
 62 #define D12 (12u)
 63 #define D13 (13u)
 64 #define D14 (14u)
 65 #define D15 (15u)
 66 #define D16 (u16)
 67 #define D17 (u17)
 68 #define D18 (u18)
 69 #define D19 (u19)
 70 #define D20 (u20)
 71 #define D21 (u21)

< edit >
Does seem to be an error, compiling using one of those pins gives an error:

/home/testuser/.arduino15/packages/arduino/hardware/mbed_portenta/3.4.1/variants/PORTENTA_H7_M4/pins_arduino.h:67:14: error: 'u17' was not declared in this scope
 #define D17 (u17)

Oh, I see also in my downloaded repository (3.1.1):
The D16 ... D21 seem to have a "typo", a flip for this u. It cannot be right.
But you can fix it yourself (and tell Arduino team about it).

It just wrong in the H4 file, in H7 file it looks correct:

#define D10 (10u)
#define D11 (11u)
#define D12 (12u)
#define D13 (13u)
#define D14 (14u)
#define D15 #error Pin cannot be used as digital pin.
#define D16 #error Pin cannot be used as digital pin.
#define D17 #error Pin cannot be used as digital pin.
#define D18 #error Pin cannot be used as digital pin.
#define D19 (19u)
#define D20 (20u)
#define D21 (21u)

In order to make all relevant information available to any who are interested in this subject, I'll share a link to the bug report: