Giter VIP home page Giter VIP logo

Comments (11)

hebaishi avatar hebaishi commented on August 16, 2024

Thanks for opening the issue. I will implement a better function for splitting user-supplied parameters. I am also currently working on a lint on-the-fly feature for linter-gcc, so there's a couple of updates on the way.

from linter-gcc.

ivankravets avatar ivankravets commented on August 16, 2024

Thanks! I'll monitor your repo for the new features!

from linter-gcc.

hebaishi avatar hebaishi commented on August 16, 2024

I have just changed the string splitting function so that escaped characters are correctly handled. In your above example, you can now simply escape the spaces in your C++ flags:

-flag1 -flag2 '-DUSER="Jhon\ Smith"' "-DCITY=\"John\ Smith\""

Please let me know if you've got it working.

from linter-gcc.

hebaishi avatar hebaishi commented on August 16, 2024

Hello. Is the new flags parsing working for you?

from linter-gcc.

ivankravets avatar ivankravets commented on August 16, 2024

@hebaishi sorry for delay. I've just tested it. It doesn't work for me. I see that you mentioned "-DCITY=\"John\ Smith\"", did you test it?

See my real data

{
  "execPath": "/Users/ikravets/.platformio/packages/toolchain-atmelavr/bin/avr-g++",
  "gccDefaultCFlags": "-fsyntax-only -std=gnu11 -fPIC -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_LEONARDO -DUSB_VID=0x2341 -DUSB_PID=0x8036 \"-DUSB_PRODUCT=\\\"Arduino\\ Leonardo\\\"\" -DARDUINO=10607 -DPLATFORMIO=020804",
  "gccDefaultCppFlags": "-fsyntax-only -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -fPIC -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_LEONARDO -DUSB_VID=0x2341 -DUSB_PID=0x8036 \"-DUSB_PRODUCT=\\\"Arduino\\ Leonardo\\\"\" -DARDUINO=10607 -DPLATFORMIO=020804",
  "gccErrorLimit": 15,
  "gccIncludePaths": "/Users/ikravets/.platformio/packages/framework-arduinoavr/variants/leonardo,/Users/ikravets/.platformio/packages/framework-arduinoavr/cores/arduino,/Users/ikravets/.platformio/lib/DallasTemperature_ID54,/Users/ikravets/.platformio/lib/EngduinoMagnetometer_ID574/src,/Users/ikravets/.platformio/lib/OneWire_ID1,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Audio/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Bridge/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/EEPROM,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Esplora/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Ethernet/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Firmata,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/GSM/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/HID,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Keyboard/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/LiquidCrystal/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Mouse/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/RobotIRremote/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Robot_Control/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Robot_Motor/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SD/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SPI,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Scheduler/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Servo/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SoftwareSerial,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SpacebrewYun/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Stepper/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/TFT/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Temboo/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/USBHost/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/WiFi/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Wire,/Users/ikravets/.platformio/packages/toolchain-atmelavr/avr/include,/Users/ikravets/.platformio/packages/toolchain-atmelavr/bfd/include,/Users/ikravets/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include,/Users/ikravets/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include-fixed",
  "gccSuppressWarnings": false
}

Command

linter-gcc: /Users/ikravets/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -fsyntax-only -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -fPIC -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_LEONARDO -DUSB_VID=0x2341 -DUSB_PID=0x8036 "-DUSB_PRODUCT=\"Arduino Leonardo\"" -DARDUINO=10607 -DPLATFORMIO=020804 -fmax-errors=15 -I/Users/ikravets/.platformio/packages/framework-arduinoavr/variants/leonardo -I/Users/ikravets/.platformio/packages/framework-arduinoavr/cores/arduino -I/Users/ikravets/.platformio/lib/DallasTemperature_ID54 -I/Users/ikravets/.platformio/lib/EngduinoMagnetometer_ID574/src -I/Users/ikravets/.platformio/lib/OneWire_ID1 -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Audio/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Bridge/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/EEPROM -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Esplora/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Ethernet/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Firmata -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/GSM/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/HID -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Keyboard/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/LiquidCrystal/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Mouse/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/RobotIRremote/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Robot_Control/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Robot_Motor/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SD/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SPI -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Scheduler/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Servo/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SoftwareSerial -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SpacebrewYun/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Stepper/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/TFT/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Temboo/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/USBHost/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/WiFi/src -I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Wire -I/Users/ikravets/.platformio/packages/toolchain-atmelavr/avr/include -I/Users/ikravets/.platformio/packages/toolchain-atmelavr/bfd/include -I/Users/ikravets/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include -I/Users/ikravets/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include-fixed /Volumes/SOFT/Projects/GitHub/platformio/origin/examples/wiring-blink/src/main.cpp

Flags

["-fsyntax-only", "-fno-exceptions", "-fno-threadsafe-statics", "-std=gnu++11", "-fPIC", "-g", "-Os", "-Wall", "-ffunction-sections", "-fdata-sections", "-mmcu=atmega32u4", "-DF_CPU=16000000L", "-DARDUINO_ARCH_AVR", "-DARDUINO_AVR_LEONARDO", "-DUSB_VID=0x2341", "-DUSB_PID=0x8036", ""-DUSB_PRODUCT=\"Arduino Leonardo\""", "-DARDUINO=10607", "-DPLATFORMIO=020804", "-fmax-errors=15", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/variants/leonardo", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/cores/arduino", "-I/Users/ikravets/.platformio/lib/DallasTemperature_ID54", "-I/Users/ikravets/.platformio/lib/EngduinoMagnetometer_ID574/src", "-I/Users/ikravets/.platformio/lib/OneWire_ID1", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Audio/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Bridge/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/EEPROM", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Esplora/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Ethernet/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Firmata", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/GSM/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/HID", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Keyboard/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/LiquidCrystal/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Mouse/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/RobotIRremote/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Robot_Control/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Robot_Motor/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SD/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SPI", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Scheduler/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Servo/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SoftwareSerial", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SpacebrewYun/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Stepper/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/TFT/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Temboo/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/USBHost/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/WiFi/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Wire", "-I/Users/ikravets/.platformio/packages/toolchain-atmelavr/avr/include", "-I/Users/ikravets/.platformio/packages/toolchain-atmelavr/bfd/include", "-I/Users/ikravets/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include", "-I/Users/ikravets/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include-fixed", "/Volumes/SOFT/Projects/GitHub/platformio/origin/examples/wiring-blink/src/main.cpp"]

The final error:
screen shot 2016-02-09 at 18 37 35

from linter-gcc.

hebaishi avatar hebaishi commented on August 16, 2024

Ok. This is the json line that works:

  "gccDefaultCppFlags": "-fsyntax-only -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -fPIC -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_LEONARDO -DUSB_VID=0x2341 -DUSB_PID=0x8036 -DUSB_PRODUCT=Arduino\\ Leonardo -DARDUINO=10607 -DPLATFORMIO=020804",

I should have explained things a bit better, because escaping characters can be a bit confusing. Essentially, you only escape a character if you want it to be included as-is in the flags. So, for example, adding \" adds a literal double quote to your GCC command. In your case, you simply want to escape the space in Arduino Lenoardo, so you write it as Arduino\\ Leonardo in the json file. If you want to put that into your GCC parameter in the configuration page, however, you would write Arduino\ Leonardo. The reason for this is that the json file and the configuration page strings are parsed differently by atom.

So, just to elaborate further. my C++ flags in the configuration page are as follows:

-c -Wall -DNO\ DEBUG -o /dev/null

And that gives me the following list of flags:

0: "-c"
1: "-Wall"
2: "-DNO DEBUG"
3: "-o"
4: "/dev/null"
5: "-fmax-errors=0"
6: "-I/home/husam/include"
7: "/tmp/5878bc59-6828-41c1-80f1-40b8890533b1.cpp"

Hope that makes sense.

from linter-gcc.

ivankravets avatar ivankravets commented on August 16, 2024

Hmm... It doesn't work for me.

avr-g++ -o .pioenvs\uno\src\Blink.o -c -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L
-DARDUINO_ARCH_AVR -DARDUINO_AVR_UNO -DUSER=Arduino\ Leonardo -DARDUINO=10607 -DPLATFORMIO=020804 -I.pioenvs\uno\FrameworkArduino -I.pioenvs\uno\FrameworkArduinoVariant src\Blink.cpp
avr-g++: error: Leonardo: No such file or directory

from linter-gcc.

hebaishi avatar hebaishi commented on August 16, 2024

Ok. This is my whole .gcc-flags.json:

{
  "execPath": "g++",
  "gccDefaultCFlags": "-fsyntax-only -std=gnu11 -fPIC -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_LEONARDO -DUSB_VID=0x2341 -DUSB_PID=0x8036 -DUSB_PRODUCT=Arduino\\ Leonardo -DARDUINO=10607 -DPLATFORMIO=020804",
  "gccDefaultCppFlags": "-fsyntax-only -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -fPIC -g -Os -Wall -ffunction-sections -fdata-sections -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_LEONARDO -DUSB_VID=0x2341 -DUSB_PID=0x8036 -DUSB_PRODUCT=Arduino\\ Leonardo -DARDUINO=10607 -DPLATFORMIO=020804",
  "gccErrorLimit": 15,
  "gccIncludePaths": "/Users/ikravets/.platformio/packages/framework-arduinoavr/variants/leonardo,/Users/ikravets/.platformio/packages/framework-arduinoavr/cores/arduino,/Users/ikravets/.platformio/lib/DallasTemperature_ID54,/Users/ikravets/.platformio/lib/EngduinoMagnetometer_ID574/src,/Users/ikravets/.platformio/lib/OneWire_ID1,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Audio/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Bridge/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/EEPROM,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Esplora/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Ethernet/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Firmata,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/GSM/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/HID,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Keyboard/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/LiquidCrystal/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Mouse/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/RobotIRremote/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Robot_Control/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Robot_Motor/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SD/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SPI,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Scheduler/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Servo/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SoftwareSerial,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SpacebrewYun/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Stepper/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/TFT/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Temboo/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/USBHost/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/WiFi/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Wire,/Users/ikravets/.platformio/packages/toolchain-atmelavr/avr/include,/Users/ikravets/.platformio/packages/toolchain-atmelavr/bfd/include,/Users/ikravets/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include,/Users/ikravets/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include-fixed",
  "gccSuppressWarnings": false
}

And these are the flags I get:

["-fsyntax-only", "-std=gnu11", "-fPIC", "-g", "-Os", "-Wall", "-ffunction-sections", "-fdata-sections", "-mmcu=atmega32u4", "-DF_CPU=16000000L", "-DARDUINO_ARCH_AVR", "-DARDUINO_AVR_LEONARDO", "-DUSB_VID=0x2341", "-DUSB_PID=0x8036", "-DUSB_PRODUCT=Arduino Leonardo", "-DARDUINO=10607", "-DPLATFORMIO=020804", "-fmax-errors=15", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/variants/leonardo", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/cores/arduino", "-I/Users/ikravets/.platformio/lib/DallasTemperature_ID54", "-I/Users/ikravets/.platformio/lib/EngduinoMagnetometer_ID574/src", "-I/Users/ikravets/.platformio/lib/OneWire_ID1", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Audio/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Bridge/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/EEPROM", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Esplora/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Ethernet/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Firmata", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/GSM/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/HID", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Keyboard/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/LiquidCrystal/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Mouse/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/RobotIRremote/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Robot_Control/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Robot_Motor/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SD/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SPI", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Scheduler/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Servo/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SoftwareSerial", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SpacebrewYun/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Stepper/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/TFT/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Temboo/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/USBHost/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/WiFi/src", "-I/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Wire", "-I/Users/ikravets/.platformio/packages/toolchain-atmelavr/avr/include", "-I/Users/ikravets/.platformio/packages/toolchain-atmelavr/bfd/include", "-I/Users/ikravets/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include", "-I/Users/ikravets/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include-fixed", "/tmp/5878bc59-6828-41c1-80f1-40b8890533b1.cpp"]

You can see above that the flag "-DUSB_PRODUCT=Arduino Leonardo" is correctly parsed.

Edit: Just wanted to say that my binary is different because I don't have avr-g++ but everything else should be the same, and I have corrected both the C and C++ flags.

from linter-gcc.

ivankravets avatar ivankravets commented on August 16, 2024

-DUSB_PRODUCT=Arduino Leonardo is not valid option to GCC compiler :(

from linter-gcc.

hebaishi avatar hebaishi commented on August 16, 2024

Are you saying this is actually a compiler issue? I have actually just installed avr-g++. My .gcc-flags.json now looks like this:

{
  "execPath": "avr-g++",
  "gccDefaultCFlags": "-fsyntax-only -std=gnu11 -fPIC -g -Os -Wall -ffunction-sections -fdata-sections -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_LEONARDO -DUSB_VID=0x2341 -DUSB_PID=0x8036 -DUSB_PRODUCT=Arduino\\ Leonardo -DARDUINO=10607 -DPLATFORMIO=020804",
  "gccDefaultCppFlags": "-fsyntax-only -fno-exceptions -fno-threadsafe-statics -std=gnu++11 -fPIC -g -Os -Wall -ffunction-sections -fdata-sections -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO_AVR_LEONARDO -DUSB_VID=0x2341 -DUSB_PID=0x8036 -DUSB_PRODUCT=Arduino\\ Leonardo -DARDUINO=10607 -DPLATFORMIO=020804",
  "gccErrorLimit": 15,
  "gccIncludePaths": "/Users/ikravets/.platformio/packages/framework-arduinoavr/variants/leonardo,/Users/ikravets/.platformio/packages/framework-arduinoavr/cores/arduino,/Users/ikravets/.platformio/lib/DallasTemperature_ID54,/Users/ikravets/.platformio/lib/EngduinoMagnetometer_ID574/src,/Users/ikravets/.platformio/lib/OneWire_ID1,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Audio/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Bridge/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/EEPROM,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Esplora/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Ethernet/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Firmata,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/GSM/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/HID,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Keyboard/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/LiquidCrystal/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Mouse/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/RobotIRremote/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Robot_Control/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Robot_Motor/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SD/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SPI,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Scheduler/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Servo/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SoftwareSerial,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/SpacebrewYun/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Stepper/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/TFT/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Temboo/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/USBHost/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/WiFi/src,/Users/ikravets/.platformio/packages/framework-arduinoavr/libraries/Wire,/Users/ikravets/.platformio/packages/toolchain-atmelavr/avr/include,/Users/ikravets/.platformio/packages/toolchain-atmelavr/bfd/include,/Users/ikravets/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include,/Users/ikravets/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/4.8.1/include-fixed",
  "gccSuppressWarnings": false
}

And everything works. The linter picks up the errors in my C++ file. I'm on Ubuntu 14.04 by the way, and I have avr-g++ 4.8.2.

from linter-gcc.

ivankravets avatar ivankravets commented on August 16, 2024

I don't know which will be result of USB_PRODUCT but it doesn't matter for me, because we check only syntax.

Thanks a lot!!! 👍 🍺

from linter-gcc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.