Viewing Issue Simple Details
[ Jump to Notes ]
|
[ Issue History ]
[ Print ]
|
ID |
Category |
Severity |
Type |
Date Submitted |
Last Update |
0000650 |
[1003.1(2008)/Issue 7] Shell and Utilities |
Editorial |
Omission |
2013-01-29 00:19 |
2019-06-10 08:55 |
|
Reporter |
dalias |
View Status |
public |
|
Assigned To |
ajosey |
Priority |
normal |
Resolution |
Accepted As Marked |
|
Status |
Closed |
|
|
|
|
Name |
Rich Felker |
Organization |
musl libc |
User Reference |
|
Section |
c99 |
Page Number |
2489 |
Line Number |
79568 |
Interp Status |
--- |
Final Accepted Text |
Note: 0001486 |
|
Summary |
0000650: c99 -E option fails to define "expanding all preprocessor directives" w.r.t. #pragma |
Description |
Per ISO C, #pragma is a preprocessor directive. However, it does not "expand" to any particular text. Thus, it's unclear what "expanding all preprocessor directives" could mean when a source file contains #pragma.
As far as I know, all existing compilers, when given the -E option, pass #pragma directives through. This seems like the most desirable behavior if the intent is that the preprocessed output can be passed back to the compiler later without the separate preprocessing stage having altered the meaning of the program.
|
Desired Action |
Add text to specify the behavior of c99 -E with respect to #pragma, either specifying a particular behavior that matches existing implementations or offering a range of behaviors.
|
Tags |
tc2-2008 |
|
Attached Files |
|
|