[Bug 1075243] Re: continued lines not always merged into one long line
J. Lewis Muir
1075243 at bugs.launchpad.net
Fri Nov 9 20:45:48 UTC 2012
According to the comment made at 2012-11-09 20:23:47 UTC by Dmitry
Gorbachev on the GCC bug report, this behavior is a feature, not a bug.
So, sorry for the trouble; this Ubuntu bug report can be closed.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-defaults in Ubuntu.
https://bugs.launchpad.net/bugs/1075243
Title:
continued lines not always merged into one long line
Status in “gcc-defaults” package in Ubuntu:
New
Bug description:
The GCC C preprocessor sometimes incorrectly handles a line
continuation by not joining a following line with the current line.
Attached is a simple C file called continued-line-test.c. It contains
the following three lines (the first two lines end with a backslash):
struct {\
int x;\
};
Running gcc with the -E option produces the following:
$ gcc -E continued-line-test.c
# 1 "continued-line-test.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "continued-line-test.c"
struct {
int x;};
As you can see, even though the first line in continued-line-test.c
ended with a backslash, the second line was not joined with the first
line. Of course, this is a simple example, but I have software that
depends on correct line continuation processing in order to build.
The GCC documentation (http://gcc.gnu.org/onlinedocs/gcc-4.6.3/cpp
/Initial-processing.html#Initial-processing) says:
"A continued line is a line which ends with a backslash, `\'. The
backslash is removed and the following line is joined with the current
one. No space is inserted, so you may split a line anywhere, even in
the middle of a word. (It is generally more readable to split lines
only at white space.)"
The observed behavior is inconsistent with this statement from the
documentation.
What I expected to see is the following:
$ gcc -E continued-line-test.c
# 1 "continued-line-test.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "continued-line-test.c"
struct { int x;};
Here's my Ubuntu version information:
$ lsb_release -rd
Description: Ubuntu 12.04.1 LTS
Release: 12.04
And here's the package version information:
$ apt-cache policy gcc-4.6
gcc-4.6:
Installed: 4.6.3-1ubuntu5
Candidate: 4.6.3-1ubuntu5
Version table:
*** 4.6.3-1ubuntu5 0
500 http://us.archive.ubuntu.com/ubuntu/ precise/main i386 Packages
100 /var/lib/dpkg/status
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: gcc 4:4.6.3-1ubuntu5
ProcVersionSignature: Ubuntu 3.2.0-32.51-generic 3.2.30
Uname: Linux 3.2.0-32-generic i686
NonfreeKernelModules: prl_fs_freeze prl_fs prl_tg prl_eth
ApportVersion: 2.0.1-0ubuntu14
Architecture: i386
Date: Mon Nov 5 10:29:32 2012
InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release i386 (20100816.1)
ProcEnviron:
TERM=xterm
PATH=(custom, user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: gcc-defaults
UpgradeStatus: Upgraded to precise on 2012-05-03 (186 days ago)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/1075243/+subscriptions
More information about the foundations-bugs
mailing list