Comments (3)
Change bulid-main.sh
to:
#!/bin/bash
source ./config.sh
# Build main program.
gcc -g -Wall -Wpedantic -ansi \
"$MAIN_PATH"/main.c \
"$MAIN_PATH"/Circle.c \
"$MAIN_PATH"/CircleV2.c \
"$MAIN_PATH"/CircleV4.c \
"$MAIN_PATH"/CircleV5.c \
"$MAIN_PATH"/CircleV6.c \
"$MAIN_PATH"/CircleV7.c \
"$MAIN_PATH"/CircleV8.c \
-L. "$OUTPUT_LIB_PATH"/"$OUTPUT_LIB_FILE_NAME.a" \
-o "$MAIN_PATH"/a.out
See https://gcc.gnu.org/onlinedocs/gcc-3.4.0/gcc/C-Dialect-Options.html#C%20Dialect%20Options
See https://gcc.gnu.org/c99status.html
from oop.
If we enable -ansi -Wpedantic
, we still get the warnings of (for example):
/mnt/i/Tal/Code/c/class/src/main/../lib/oop/Atomic/../Object/ObjectDefines.r:90:55: warning: type of bit-field ‘<anonymous>’ is a GCC extension [-Wpedantic]
90 | #define ____CLASS_STRUCT_NAME_EXTENSION___ ___
| ^~~
/mnt/i/Tal/Code/c/class/src/main/../lib/oop/Atomic/../Object/Concat.h:13:39: note: in definition of macro ‘__CONCAT_NOT_EXPANDED__’
13 | #define __CONCAT_NOT_EXPANDED__(A, B) A##B
| ^
/mnt/i/Tal/Code/c/class/src/main/../lib/oop/Atomic/../Object/Concat.h:16:5: note: in expansion of macro ‘CONCAT’
16 | CONCAT(whatToSurround, CONCAT(middle, whatToSurround))
| ^~~~~~
/mnt/i/Tal/Code/c/class/src/main/../lib/oop/Atomic/../Object/ObjectDefines.r:99:12: note: in expansion of macro ‘CONCAT_SURROUND’
99 | struct CONCAT_SURROUND(ClassName, ____CLASS_STRUCT_NAME_EXTENSION___) { \
| ^~~~~~~~~~~~~~~
/mnt/i/Tal/Code/c/class/src/main/../lib/oop/Atomic/../Object/ObjectDefines.r:99:39: note: in expansion of macro ‘____CLASS_STRUCT_NAME_EXTENSION___’
99 | struct CONCAT_SURROUND(ClassName, ____CLASS_STRUCT_NAME_EXTENSION___) { \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/mnt/i/Tal/Code/c/class/src/main/CircleV8.h:6:1: note: in expansion of macro ‘DEFINE_CLASS_H’
6 | DEFINE_CLASS_H(CircleV8)
| ^~~~~~~~~~~~~~
And the error gets suppressed if we change the standard to std=c99
or the default value (std=gnu89
).
So instead, we prefer to use std=c99
from now-on.
(and this will allow us to use the //
comments, too)
So we decided to cancel this issue.
from oop.
in case you still want to work on this issue in the future, please checkout it from the tag: v1.1.9-alpha.19.issue-11.2
from oop.
Related Issues (20)
- Implement Try-Catch-Finally-Throw HOT 1
- Add "public" `toString` Methods to `Object` HOT 1
- Fix `getImplmentation` Methods
- Add `setMember` Methods to `Object`
- Rename All Functions In The Whole Project To Have Their Related Object's `CLASS_NAME` Concatted To It
- Make Lambda Functions
- Support `cl.exe` (MSVC) HOT 3
- Update `CONTRIBUTING.md` With MSVC HOT 2
- Bug when building MSVC in x64 (while x86 works fine) HOT 1
- Reorder Release Directory / Zip For Linux And Windows
- Create A Script That Pushes A New Release With Assets To GitHub
- Update `README.md` With `push-release.bat` And `release.bat`
- Support `oop` Compilation For 32bit With GCC And MSVC HOT 3
- Instead Of Using WSL For Executing Shell Scripts When Building With `release.bat` and `push-release.bat` - Use "Git Bash" HOT 1
- Reorder `Release.md`
- Check If `.github/workflows/release.yml` Is Redundant, Or May Be Updated HOT 2
- Add A Well Defined Document For `Object` Usage
- Add Code Examples In New Branches
- Implement All Atomic Objects HOT 1
- Set "ERD" Issue To Be "Pinned"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oop.